[PS1] Powershell で「タスクバーを自動的に隠す」を設定する

2014年12月20日

 「タスクバーを自動的に隠す」を Script で設定したいのですが、調べたところ、グループポリシー操作でもレジストリ操作でもだめらしいです。
 私が調べた限りにおいては、「タスクバーを自動的に隠す」は GUI から操作する以外に方法はない模様。

 なんでだよ…(汗

 そこで、Powershell で UIAutomation という Extension を使うと、GUI の自動操作ができるという情報をいただいたので試してみました。

 実際に使ってみます

  1. UI Automation PowerShell Extensions のダウンロード

     まずここから、PowerShell の Extension をダウンロードします。
     UI Automation PowerShell Extensions

     使い方一般については以下が親切です。
     WindowsアプリのUI自動操作をUI Automation PowerShell Extensionで行う

  2. ダウンロードした zip を展開する

     ダウンロードした zip を展開します。

  3. Powershell を Version 2 で起動する

     Powershell を Version 2 で起動します。Win8 とかだと Version 4 とかで起動しますが、Vesion 4 だと PowerShell Extensions が使用できません。(12/20現在)

    C> powershell -version 2
    
  4. Import-Module を実行する

     解凍したフォルダに移動して、以下を実行します。

    Import-Module .UIAutomation
    
  5. 以下のスクリプトを実行する

     以下のスクリプトは、「タスクバーを自動的に隠し」「タスクバーの位置を上側に」しています。

    # 「タスク バーとナビゲーションのプロパティ」ウインドウの起動
    Start-Process -FilePath "rundll32.exe" `
                  -ArgumentList "shell32.dll,Options_RunDLL 1"
    
    # 「タスク バーとナビゲーションのプロパティ」ウインドウ
    $win = Get-UiaWindow -Name 'タスク バーとナビゲーションのプロパティ' 
    
    # 「タスクバー」タブ
    $tab = $win |
      Get-UiaTab -Class 'SysTabControl32' | 
      Get-UiaTabItem -Name 'タスク バー'
    
    # 「自動的に隠す」チェックボックス
    $box = $tab | Get-UiaCheckBox -Name 'タスク バーを自動的に隠す(U)'
    
    # 「自動的に隠す」チェックボックスがチェックされていなければ、チェックして OK ボタンを押す
    if (($box | Get-UiaButtonToggleState) -eq $false) { 
      $box | Invoke-UiaCheckBoxToggle
    }
    
    # 「画面上のタスク バーの位置」を変更
    $comboBase = $tab |
     Get-UiaComboBox -Name '画面上のタスク バーの位置(T):'
    
    $comboBase |
     Get-UiaListItem -Name '上' |
     Invoke-UiaListItemSelectItem -ItemName '上'
    
    # ウインドウを閉じる
    $win | Get-UiaButton -Name 'OK' | Invoke-UiaButtonClick
    





カテゴリー: PowerShell, Windows, 環境設定

Follow comments via the RSS Feed | Leave a comment | Trackback URL

コメントを投稿する

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)


«   »
 
Powered by Wordpress and MySQL. Theme by Shlomi Noach, openark.org