WshShortcut オブジェクト
本ページには広告が含まれています。
ショートカットの作成、読み込み、および編集に使用されます。WshShortcutオブジェクトは、ショートカットのプロパティを設定および取得するために使用できるプロパティを提供します。WshShortcutオブジェクトは、WshShellオブジェクトのCreateShortcutメソッドを使用して作成されます。
メソッド
<表示切り替え>- Save
- ショートカットオブジェクトを保存します。
プロパティ
<表示切り替え>- Arguments
- ショートカットが起動されたときに、実行ファイルに渡すことができるコマンドライン引数を表します。
- Description
- WshShortcutオブジェクトのDescription属性を取得または設定します。
- FullName
- ショートカットが指し示すファイルの完全なパスを表します。
- Hotkey
- ショートカットに対して割り当てられたホットキーのキーコードを表します。
- IconLocation
- ショートカットが参照するアイコンのファイルパスとインデックスを取得または設定するために使用されます。
- RelativePath
- TargetPath
- ショートカットが指し示すファイルまたはプログラムのパスを取得または設定するために使用されます。ショートカットが指し示すファイルまたはプログラムは、このプロパティによって取得されたパスで表されます。
- WindowStyle
- 作成されたショートカットを実行したときに表示されるウィンドウの大きさを取得または設定します。
- WorkingDirectory
- ショートカットを実行する際の作業ディレクトリを表します。
WshShortcut オブジェクト を返すメソッド・プロパティ
- WshShell.CreateShortcut メソッド
- ショートカットまたはURLショートカットへのオブジェクト参照を作成します。
プログラム実行例
デスクトップにChromeのショートカットを作成
デスクトップにGoogle Chromeで[createLink url="https://google.co.jp" title="https://google.co.jp"]をシークレットモードで起動するショートカットを作成します。
CONST ssfDesktop = 0
DIM Shell = CREATEOLEOBJ("Shell.Application")
DIM FSO = CREATEOLEOBJ("Scripting.FileSystemObject")
DIM WshShell = CREATEOLEOBJ("WScript.Shell")
DIM Folder2 = Shell.NameSpace(ssfDesktop)
DIM path = Folder2.Self.Path + "\Chrome.lnk"
DIM WshShortcut = WshShell.CreateShortcut(path)
WITH WshShortcut
DIM chromePath = "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"
.Description = "Chromeをシークレットモードで起動します。"
.Hotkey = "Ctrl+Shift+C"
.IconLocation = chromePath + ",7"
.TargetPath = chromePath
.WindowStyle = 3
.Save
ENDWITH
Folder = Shell.NameSpace(FSO.GetParentFolderName(path))
DIM FolderItem = Folder.ParseName(FSO.GetFileName(path))
DIM ShellLinkObject = FolderItem.Getlink()
DIM Args[] = "--incognito", "https://google.co.jp"
WITH ShellLinkObject
.Arguments = JOIN(Args)
.Save
ENDWITH
結果
解説
- 1行目
- ssfDesktopに0を代入。
- 3行目
DIM Shell = CREATEOLEOBJ("Shell.Application")
Shell オブジェクトを生成しShellに代入します。
- 4行目
DIM FSO = CREATEOLEOBJ("Scripting.FileSystemObject")
FileSystemObject オブジェクトを生成しFSOに代入します。
- 5行目
DIM WshShell = CREATEOLEOBJ("WScript.Shell")
WshShell オブジェクトを生成しWshShellに代入します。
- 7行目
DIM Folder2 = Shell.NameSpace(ssfDesktop)
デスクトップのFolder2 オブジェクトを取得し、Folder2に代入。
- 8行目
DIM path = Folder2.Self.Path + "\Chrome.lnk"
デスクトップ\Chrome.lnkのパスをpathに代入。
- 9行目
DIM WshShortcut = WshShell.CreateShortcut(path)
pathが示すパスにショートカットリンクを生成します。
- 11,19行目
WITH WshShortcut
…
ENDWITH
- 12行目
DIM chromePath = "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"
Google ChromeがあるパスをChromePathに代入。
- 13行目
.Description = "Chromeをシークレットモードで起動します。"
ショートカットが指し示すプログラムにChromePathのパスを設定。
- 14行目
.Hotkey = "Ctrl+Shift+C"
ChromePathのインデックス番号が7のアイコンを指定。
- 15行目
.IconLocation = chromePath + ",7"
ショートカットを実行したときに表示されるウィンドウの大きさを[最大化]に設定。
- 16行目
.TargetPath = chromePath
WshShortcut オブジェクトに加えた変更を保存します。
- 17行目
- 18行目
- 21行目
Folder = Shell.NameSpace(FSO.GetParentFolderName(path))
pathの親フォルダ名のFolder オブジェクトを取得し、Folderに代入します。
- 22行目
DIM FolderItem = Folder.ParseName(FSO.GetFileName(path))
- 23行目
DIM ShellLinkObject = FolderItem.Getlink()
- 24行目
DIM Args[] = "--incognito", "https://google.co.jp"
リンクに渡す引数を格納する配列。"--incognito"はシークレットモードで起動。"https://google.co.jp"は開くURL。
- 26,29行目
WITH ShellLinkObject
…
ENDWITH
- 27行目
.Arguments = JOIN(Args)
Args配列を、半角スペースで結合した文字列をリンク先の引数に指定。
- 28行目
- Shell.WshShortcutに加えた変更を保存します。