- Сообщения
- 8,673
- Репутация
- 2,486
Medic84
У меня это спотыкается на .Verbs:
Добавлено:
Мда, это проявляется если программу закрепить нельзя, т.е если она находится например, на рабочем столе.
Вот что у меня получилось из этого слепить:
У меня это спотыкается на .Verbs:
Test.au3 (4) : ==> The requested action with this object has failed.:
$objVerbs = $objFolderItem.Verbs
$objVerbs = $objFolderItem.Verbs^ ERROR
Добавлено:
Сообщение автоматически объединено:
Мда, это проявляется если программу закрепить нельзя, т.е если она находится например, на рабочем столе.
Вот что у меня получилось из этого слепить:
Код:
_FilePinShortcutToTaskbar(@StartMenuCommonDir & "\Programs\Accessories\Paint.lnk")
Func _FilePinShortcutToTaskbar($sFile, $bPin = Default)
Local $sFileDir, $sFileName, $oShell, $oFolder, $oFolderItem, $oVerbs, $sVNames, $sVNames_Toggle, $sVNames_Pin, $sVNames_UnPin
If Not FileExists($sFile) Then Return SetError(-1)
$sFileDir = StringRegExpReplace($sFile, "\\[^\\]*$", "")
$sFileName = StringRegExpReplace($sFile, "^.*\\", "")
$oShell = ObjCreate("Shell.Application")
$oFolder = $oShell.Namespace($sFileDir)
$oFolderItem = $oFolder.ParseName($sFileName)
$oVerbs = $oFolderItem.Verbs
$sVNames_Toggle = "|Pin to Taskbar|Unpin from Taskbar|Закрепить программу в панели задач|Изъять программу из панели задач|Закрепить на панели задач|Открепить от панели задач|"
$sVNames_Pin = "|Pin to Taskbar|Закрепить программу в панели задач|Закрепить на панели задач|"
$sVNames_UnPin = "|Unpin from Taskbar|Изъять программу из панели задач|Открепить от панели задач|"
If (IsKeyword($bPin) And $bPin = Default) Or (IsNumber($bPin) And $bPin = -1) Then
$sVNames = $sVNames_Toggle
ElseIf $bPin = True Then
$sVNames = $sVNames_Pin
ElseIf $bPin = False Then
$sVNames = $sVNames_UnPin
Else
Return SetError(1)
EndIf
For $oVerb In $oVerbs
If StringInStr($sVNames, "|" & StringReplace($oVerb.Name, "&", "") & "|") Then
$oVerb.DoIt
ExitLoop
EndIf
Next
EndFunc