悩み多き文教市場のインフラ屋さん

らくがきちょう。日々取組んでみた事や気になった事。何気ない日常の事など。

Windows 8.1 Updateのタスクバーにスクリプトを使用してアプリをピン留めする

with 2 comments


Windows 8.1 Update では、Windows ストアアプリとデスクトップアプリをタスクバーにピン留めして、これらのアプリに簡単にアクセスすることができます。

タスクバーにピン留めされた情報は、簡単にバックアップすることやリストアをすることができません。

また、Sysprep コマンドを実行するとカスタマイズしたタスクバーの情報は標準の状態になってしまいます。

あたらにアプリをタスクバーにピン留めしたい場合には、アプリやショートカットのコンテキストメニューから[タスクバーにピン留め]をクリックしておこなうことができます。

task1

また、タスクバーにピン留めをおこなったアプリは、コンテキストメニューで[タスクバーからピン留めを外す]をクリックすることで削除することができます。

そのほかにも、ピン留めされたアプリのジャンプリストを開き[タスクバーからピン留めを外す]をクリックすることでも可能です。

task3

このような操作をおこなわずにタスクバーにアプリをピン留めや削除をおこなう方法の一つとして VB スクリプトを利用する方法があります。

Windows 7 の環境で、スタートメニューやタスクバーにアプリケーションを固定することができるスクリプトが Windows 8.1 Update でも動作しました。

URL:スタートメニューにアプリケーションを固定する (その3)

参考にした Web サイトです。

URL:The Deployment Guys – Pin Items to the Start Menu or Windows 7 Taskbar via Script

URL:Microsoft Developer Network – CSIDL

URL:Azure フォーラム – Récupérer dossier Menu Démarrer All Users

[タスクバーにアプリをピン留めおよび削除するスクリプト例]

Const CSIDL_COMMON_PROGRAMS = &H17
Const CSIDL_PROGRAMS = &H2
Const CSIDL_STARTMENU = &HB
Const CSIDL_PROGRAM_FILES = &H26
Const CSIDL_PROGRAM_FILESX86 = &H2A
Const CSIDL_WINDOWS = &H24

Dim objShell
Dim objAllUsersProgramsFolder
Dim strAllUsersProgramsPath
Dim objUserProfileFolderFolder
Dim strUserProfileFolderPath
Dim ProgramFilesFolderPath
Dim ProgramFilesFolderPathx86
Dim WindowsFilesFolderPath
Dim objFolder
Dim objFolderItem
Dim colVerbs
Dim objVerb

Set objShell = CreateObject("Shell.Application")

Set objAllUsersProgramsFolder = objShell.NameSpace(CSIDL_COMMON_PROGRAMS)
strAllUsersProgramsPath = objAllUsersProgramsFolder.Self.Path

Set objUserProfileFolderFolder = objShell.NameSpace (CSIDL_STARTMENU)
strUserProfileFolderPath = objUserProfileFolderFolder.Self.Path

Set ProgramFilesFolderPath = objShell.NameSpace (CSIDL_PROGRAM_FILES)
ProgramFilesFolderPath = ProgramFilesFolderPath.Self.Path

Set ProgramFilesFolderPathx86 = objShell.NameSpace (CSIDL_PROGRAM_FILESX86)
ProgramFilesFolderPathx86 = ProgramFilesFolderPathx86.Self.Path

Set WindowsFilesFolderPath = objShell.NameSpace (CSIDL_WINDOWS)
WindowsFilesFolderPath = WindowsFilesFolderPath.Self.Path


‘Taskbar

‘Internet Explorer
Set objFolder = objShell.Namespace (strUserProfileFolderPath & "\Programs")
Set objFolderItem = objFolder.ParseName("Internet Explorer.lnk")
If Not(objFolderItem Is Nothing) Then
Set colVerbs = objFolderItem.Verbs
For Each objVerb in colVerbs
If objVerb.name = "タスク バーからピン留めを外す(&K)" Then objVerb.DoIt
Next
End if

‘Windows Media Player
Set objFolder = objShell.Namespace (ProgramFilesFolderPath & "\Windows Media Player" )
Set objFolderItem = objFolder.ParseName("wmplayer.exe")
If Not(objFolderItem Is Nothing) Then
Set colVerbs = objFolderItem.Verbs
For Each objVerb in colVerbs
If objVerb.name = "タスク バーにピン留め(&K)" Then objVerb.DoIt
Next
End if

‘コマンドプロンプト
Set objFolder = objShell.Namespace (strUserProfileFolderPath & "\Programs\System Tools")
Set objFolderItem = objFolder.ParseName("Command Prompt.lnk")
If Not(objFolderItem Is Nothing) Then
Set colVerbs = objFolderItem.Verbs
For Each objVerb in colVerbs
If objVerb.name = "タスク バーにピン留め(&K)" Then objVerb.DoIt
Next
End if

VBスクリプトを使用してWindows 8.1 Updateのタスクバーにアプリをピン留めする

標準でピン留めされているエクスプローラーを削除する方法が見つかりませんでした。

Written by infra20th

2014年7月3日 @ 14:14

カテゴリー: Windows8.1

Tagged with ,

2件のフィードバック

Subscribe to comments with RSS.

  1. […] 悩み多き文教市場のインフラ屋さん […]

  2. […] Windows 8.1 Updateのタスクバーにスクリプトを使用してアプリをピン留めする … […]


コメントを残す