プロが教える店舗&オフィスのセキュリティ対策術

PCをロックするショートカットをvbScriptで作成したく以下を作成しました。
実行したところ、
ショートカットの検索 rundll32.exe user32.dll を探しています。
とでてきます。

ショートカットのプロパティでリンク先を確認したところ、 
"C:\WINDOWS\system32\rundll32.exe user32.dll,LockWorkStation"
と先頭と最後に” がついていました。
ためしに ” を削除したところ、 解決しました。

そこで質問なのですが 下のスクリプトだと、リンク先の最初と最後に ”  がついてしまいます。
” がつかないようにするにはどうすればよいのでしょうか

よろしくお願いいたします。

set WshShell = WScript.CreateObject("WScript.Shell")
strDesktop = WshShell.SpecialFolders("Desktop")
set oShellLink = WshShell.CreateShortcut(strDesktop & "\PCのロック.lnk")
oShellLink.TargetPath = "C:\WINDOWS\system32\rundll32.exe user32.dll,LockWorkStation"
oShellLink.WindowStyle = 1
oShellLink.Hotkey = "CTRL+SHIFT+F"
oShellLink.IconLocation = "notepad.exe, 0"
oShellLink.Description = "Shortcut Script"
oShellLink.WorkingDirectory = "C:\WINDOWS\system32"
oShellLink.Save

A 回答 (1件)

こんばんは。



ご質問のコード自体は、
oShellLink.TargetPath = "C:\WINDOWS\system32\rundll32.exe user32.dll,LockWorkStation"
TargetPath には、本体だけ書いて
oShelllink.Arguments に命令を入れてあげないといけません。

oShellLink.TargetPath = "C:\WINDOWS\system32\rundll32.exe"
oShellLink.Arguments ="user32.dll,LockWorkStation"

と分けます。

それで、私も別なものを作りたいと思いまして、今回のロックについても、私なりのコードを書いてみました。

Set WshShell = WScript.CreateObject("WScript.Shell")
strDesktop = WshShell.SpecialFolders("Desktop")
Set oShellLink = WshShell.CreateShortcut(strDesktop & "\PCのロック.lnk")
oShellLink.TargetPath = "%WinDir%\system32\rundll32.exe"
oShellLink.WorkingDirectory = "%WinDir%\system32"
oShelllink.Arguments ="user32.dll,LockWorkStation"
oShellLink.WindowStyle = 1
oShellLink.Hotkey = "CTRL+SHIFT+F"
oShellLink.IconLocation = "shell32.dll,211"
oShellLink.Description = "Shortcut Script"
oShellLink.Save

WScript.Echo "ショートカットを作成しました。"
    • good
    • 0
この回答へのお礼

C:\WINDOWS\system32\rundll32.exe user32.dll,LockWorkStation
の意味を分かっていなかったので、引数と気が付きませんでした。
お手本もありがとうございました。
解決しました。

お礼日時:2018/03/29 23:31

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!