投稿

ラベル(AutoHotkey)が付いた投稿を表示しています

AutoHotkey+powershell タスクバーをバーを自動的に隠すショートカット

Quick Edit Pencil
タスクバーの表示と非表示.ahk
#Persistent
  ; タスクバーの非表示化
  TaskBarHide = 1
return

!2::
  ; タスクバーの非表示化
  if TaskBarHide =
  {
    WinHide,ahk_class Shell_TrayWnd
    TaskBarHide = 1
  }
  else
  {
    WinShow,ahk_class Shell_TrayWnd
    TaskBarHide =
  }
return
Windowsでタスクバーを消す - Liner Note on Hatena
WinHide - Syntax & Usage | AutoHotkey

タスクバーを自動で隠す設定(コンパネ表示).ahk
#Persistent
#NoEnv
#SingleInstance, Force

psScript =
(
Get-ControlPanelItem -CanonicalName """Microsoft.Taskbar""" | Show-ControlPanelItem
)

!2::
Run PowerShell.exe -Command %psScript%
[PS1] Powershell で「タスクバーを自動的に隠す」を設定する | オールトの雲

タスクバーを自動で隠す(レジストリ値).ahk
#Persistent
psScript =
(
$regp = """HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\StuckRects3""";
$regv = (get-item $regp).getvalue("""Settings""");
if(($regv[8] -band 0x01) -eq 0x00){$regv[8] = $regv[8] -bor 0x01}else{$regv[8] = $regv[8] -band 0xFE};
set-itemproperty $regp -name """Settings""" -value $regv -type """binary""";
stop-process -name """explorer""";
)

!2::
Run PowerShell.exe -NoExit -Command %psScript%
Windows10で「タスクバーを自動的に隠す」をバッチファイルで設定する方法について - マイクロソフト コミュニティ

備考
ホットキー - AutoHotkey Wiki
スクリプティング - AutoHotKeyスクリプトを使ってpowershellコマンドを実行する - Stack Overflow
【PowerShell】コントロールパネルの項目を表示する | ほそぼそプログラミング日記

Windows10: 外付けUSキーボードの配列設定と日本語切り替え、IME左右Altキーでストレスフリー

Quick Edit Pencil
こういうケース

(2021年の夏、出来事)Windows10 1809以降ではこの設定が効かなくなっているらしいリンク

日本語配列のノートパソコンでUSB英語配列キーボードを使う場合


ノート本体の日本語キーボードは日本語配列のままで、つないだ英語キーボードは英語配列として認識させる

解決策Step1 キーボード配列正常化 ステップ1

1-1 外付けキーボードが一つでUS配列しか使わない場合に有効です。
※外付けキーボードはすべてUS配列で認識されます。


  1. レジストリエディタで「LayerDriver JPN」を検索
  2. 値を「kbd106.dll」から「kbd101.dll」に変更し再起動

1-2 配列の異なるキーボードごとに配列を固定したい場合は次の記事を参照

再起動後、正しく認識されない場合は次のステップも試みる

解決策Step2 キーボード配列正常化 ステップ2

ウインドウズ設定から英語米国の言語を追加し後順位として設定
オプションでキーボード配列が選べるようであれば英語配列を選んでおく

参考にした記事


英語配列キーボードで日本語切り替えをカスタマイズ

スペースキー左右のAltキーで入力切り替え
右Altは日本語
左Altは半角英数

AutoHotkeyのコマンドファイルで実現します
AutoHotkey - ウィキペディア

alt-ime-ahk
Releases · karakaram/alt-ime-ahk · GitHub

exeファイルの提供もあります。

ソースコードをダウンロードして実行する方法もあります。

参考記事
英語キーボードで英語/日本語入力を切替えるWindowsアプリ「Alt-ime-ahk」 – カラバリ
英語キーボードの [Alt] キーで日本語入力切替 – ありふれた備忘録


Windows 10で、Explorerのナビゲーション ウィンドウの表示/非表示を、キーボードショートカットで切り替える方法

Quick Edit Pencil
AutoHotkeyを使いキーボードショートカットを割り当てます。AutoHotkeyについては最後に説明。

AutoHotkeyをインストールします。

メモ帳で次のコードをコピペして保存します。
任意の名前.ahk
とりあえずデスクトップに保存しダブルクリックして実行します。

/*
Author:  
Date:    
Contact: 
*/

#NoTrayIcon
#Persistent
#NoEnv
#SingleInstance, Force

#IfWinActive ahk_class CabinetWClass
#z::
Send !v{n}{enter}

エクスプローラーをアクティブにして Winキー + z でナビゲーション ウィンドウの表示/非表示を切り替えられます。

ウインドウズエクスプローラーにはナビゲーション ウィンドウの表示/非表示を切り替えるショートカットは提供されていないため、キーボードから操作するならば次のようにキーを組み合わせて実行するしかありません。

エクスプローラー>Alt>v>n>Enter

このキーの組み合わせをAutoHotkeyを使いExplorerがアクティブな時にWin+zに割り当てます。(リマップする)。このスクリプト(マクロ)が上記のコードです。リマップ - AutoHotkey Wiki

ちなみにエクスプローラー標準のショートカットでは Alt+p でプレビューパネル
Alt+Shift+p で詳細パネルの表示/非表示を表示できます。

AutoHotkeyとは

ユーティリティソフトで、ユーザーがマクロ言語を記述して実行するとこで様々な機能を拡張することができるスクリプトエンジンです。AutoHotkey本体を実行してもヘルプしか出てきません。

AutoHotkey ダウンロード

AutoHotkey - Wikipedia 日本語

windows 7 - Keyboard shortcut to hide/show Explorer navigation - Super User

Windows10でアプリケーションごとに輝度を設定、自動で変更する - AutoHotkey

Quick Edit Pencil
AutoHotkeyスクリプトで実現。
AutoHotkeyをダウンロードしてスクリプトをコピペして輝度を変更したいソフトを指定してファイル保存、保存したファイルをダブルクリックして実行するとタスクバーの通知エリアに常駐するので、不要になれば終了する。とても簡単です。

グラフィック系アプリを使うときは最大輝度にて、ブラウザやオフィス系アプリに移動したらデフォルトの輝度に戻す-という使い方が最近多い。

チャームから輝度を変更できるが都度面倒なので、アプリを切り替える度に、設定した輝度に自動で変更するスクリプトを調べてみた。(イベントはアクティブウインドウの変更又はActiveWindowの切り替え)

フリーソフトなども調べてみたがアプリ毎に輝度を設定できるユーティリティは見つけられなかった。

当初、PowerShellで実現できる予定だったが、アクティブウインドウ変更のイベント取得方法がわからなかったので、AutoHotkeyを使いアプリ毎に輝度の変更を自動で行うスクリプトをつくってみた。(ほぼコピペでスミマセン、一応思い通りの結果が得られて満足)マーカー部分が追記分

60行目に輝度を設定するアプリを文字列で指定。アプリ毎に識別できる文字列を含む変数が違うのでウィンドウを特定する - hogeを参考に設定。

ノートやタブレットなどの液晶一体型でウインドウズから輝度を調整できるパソコンでのみ効きます。

#Persistent ; スクリプトを常駐させる

/*
GPD WINの画面輝度をあれこれするAutoHotkeyスクリプト
http://qiita.com/diaphragm/items/9769c79789d7a9958f8a
輝度を変更するスクリプト
*/

prev_brightness := GetBrightness()

GetBrightness()
{
    WMI := "winmgmts:{impersonationLevel=impersonate}!\\.\root\WMI"
    MonitorBrightness := ComObjGet(WMI).ExecQuery("SELECT * FROM WmiMonitorBrightness WHERE Active=TRUE")

    for i in MonitorBrightness {
        brightness := i.CurrentBrightness
        break
    }

    Return, %brightness%
}

SetBrightness(value)
{
    WMI := "winmgmts:{impersonationLevel=impersonate}!\\.\root\WMI"
    MonitorBrightnessMethods := ComObjGet(WMI).ExecQuery("SELECT * FROM wmiMonitorBrightNessMethods WHERE Active=TRUE")

    if value < 0
        value := 0
    for i in MonitorBrightnessMethods {
        i.WmiSetBrightness(5, value)
        break
    }
}

/*
Windowsのイベントを拾う
https://sites.google.com/site/agkh6mze/howto/winevent#TOC-WinEvent-
ここではアクティブウィンドウが切り替わった時に、指定の関数が呼ばれるようにしてみる。
*/

myFunc := RegisterCallback("WinActivateHandler")

myHook := DllCall("SetWinEventHook"
 , "UInt", 0x00000003 ; eventMin      : EVENT_SYSTEM_FOREGROUND
 , "UInt", 0x00000003 ; eventMax      : EVENT_SYSTEM_FOREGROUND
 , "UInt", 0          ; hModule       : self
 , "UInt", myFunc     ; hWinEventProc : 
 , "UInt", 0          ; idProcess     : All process
 , "UInt", 0          ; idThread      : All threads
 , "UInt", 0x0003     ; dwFlags       : WINEVENT_SKIPOWNTHREAD | WINEVENT_SKIPOWNPROCESS
 , "UInt")

WinActivateHandler(hWinEventHook, event, hwnd, idObject, idChild, thread, time) {
 WinGetTitle, title, ahk_id %hwnd%
 WinGetClass, class, ahk_id %hwnd%

    global prev_brightness
    if (RegExMatch(title, "^Blender")) {
        ;Tooltip, カスタム輝度 %prev_brightness%
        prev_brightness := GetBrightness()
        SetBrightness(100)
    } else {
        ;Tooltip, デフォルト輝度 %prev_brightness%
        SetBrightness(prev_brightness)
    }

 ;Tooltip, 「%title% ahk_class %class%」がアクティブになった
}