2012-10-12 1 views
1

VBScript를 사용하여 작업 표시 줄에 "스티커 메모"또는 "스니핑 도구"바로 가기를 고정시키고 "오류 메시지가 나타납니다 시스템에서 DoIt 메소드를 호출 할 때 지정된 파일을 찾을 수 없습니다. 그러나 다른 바로 가기 (예 : Caclulator, 메모장, Internet Explorer, MS Word)를 고정하면 스크립트가 완벽하게 작동합니다.FolderItemVerb.DoIt 스티커 메모 또는 스니핑 도구에 "지정한 파일을 찾을 수 없습니다."라는 메시지가 나타납니다.

Dim Application, FileSystem, Shell, PinnedFolder, PinnedItem, Verb, Shortcut 
Set Application = CreateObject("Shell.Application") 
Set FileSystem = CreateObject("Scripting.FileSystemObject") 
Set Shell = CreateObject("WScript.Shell") 
Set Shortcut = FileSystem.GetFile(Shell.ExpandEnvironmentStrings("%ProgramData%\Microsoft\Windows\Start Menu\Programs\Accessories\Sticky Notes.lnk")) 
Set PinnedFolder = Application.Namespace(Shortcut.ParentFolder.Path) 
Set PinnedItem = PinnedFolder.ParseName(Shortcut.Name) 

For Each Verb In PinnedItem.Verbs 
    If "Pin to Tas&kbar" = Verb.Name Then 
     Verb.DoIt 
    End If 
Next 


내가 "%ProgramData%\Microsoft\Windows\Start Menu\Programs\Accessories\Calculator.lnk"의 경로를 변경하는 경우 예를 들어, 다음은 하지는 오류가 발생하지 않습니다, 그리고 계산기에 대한 바로 가기가 성공적으로 작업 표시 줄에 고정되어 있습니다.

두 가지 바로 가기에서만이 기능이 실패하는 이유를 찾을 수 없습니다. 단축키를 다시 만들고 다른 위치로 옮겨 보았습니다. 두 번 클릭하면 바로 가기가 작동하는지 확인했습니다. 아무도 왜 이것이 일어나고 있는지 또는 내가 시도하지 않은 아이디어가 있는지 알고 있습니까?


** EDIT * *

이 이제 두 개의 추가 윈도우 7 64 비트 PC의 테스트 및 윈도우 7 32 비트 PC되었다. 모두 Sticky Notes 응용 프로그램을 성공적으로 고정했습니다. Windows 7 64 비트 PC와 32 비트 PC 중 적어도 하나는 영향을받는 PC와 동일한 설정, 소프트웨어 및 환경을 사용합니다. 그러나 여전히 문제는 원래 PC에서 계속됩니다.

답변

0

귀하의 코드는 Windows 7 x64 시스템에서 작동합니다. 그러나 이것을 시도해보십시오 (또한 내 작품).

Dim Application, FileSystem, Shell, PinnedFolder, PinnedItem, Verb, Shortcut 
Set Application = CreateObject("Shell.Application") 
Set FileSystem = CreateObject("Scripting.FileSystemObject") 
Set Shell = CreateObject("WScript.Shell") 
Set Shortcut = FileSystem.GetFile(Shell.ExpandEnvironmentStrings("%windir%\system32\StikyNot.exe")) 
Set PinnedFolder = Application.Namespace(Shortcut.ParentFolder.Path) 
Set PinnedItem = PinnedFolder.ParseName(Shortcut.Name) 

For Each Verb In PinnedItem.Verbs 
    If "Pin to Tas&kbar" = Verb.Name Then 
     Verb.DoIt 
    End If 
Next 

그래도 해결되지 않으면 관리자로 실행 해보십시오.

+0

'% windir % \ system32 \ stikynot.exe'를 사용하면 작동하지 않습니다. 대신 'Set Shortcut ...'줄에 오류를 던집니다. 그러나 동일한 경로를 복사하여 실행 대화 상자에 붙여 넣을 수 있으며 문제없이 Sticky Notes를 시작할 수 있습니다. 그것은'% windir % \ system32 \ notepad.exe'를 사용하면 작동합니다. 이것이 기계 특정 문제인 것처럼 보입니다. –

+0

관리자로 실행 중이십니까? – RLH

+0

UAC를 "Never notify ..."로 설정하고 동일한 설정으로 다른 Windows 7 64 비트 시스템에서이 작업을 시도했습니다. –