Last active
January 21, 2022 08:16
-
-
Save okathira/fee86bb21d07515c01236577d9a6dc43 to your computer and use it in GitHub Desktop.
Open preference of individual app volume in Windows 10 (deprecated)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$OutputEncoding='utf-8' | |
Add-type -AssemblyName System.Windows.Forms | |
Add-Type -AssemblyName Microsoft.VisualBasic | |
# original Send-Keys by @nimzo6689 | |
# https://qiita.com/nimzo6689/items/488467dbe0c4e5645745 | |
<# | |
.Synopsis | |
実行中の任意のプロセスにキーストロークを送る操作をします。 | |
.DESCRIPTION | |
パラメータのキーストローク、プロセス名がそれぞれ未指定の場合、何も実行されません。 | |
キーストロークのみが指定された場合は実行時のフォーカスへキーストロークを送り、 | |
プロセス名のみが指定された場合はフォーカスのみが指定されたプロセスに変更します。 | |
.EXAMPLE | |
Send-Keys -KeyStroke "test.%~" -ProcessName "LINE" | |
このコマンドは既に起動中のLINEアプリに対して"test."と入力し、 | |
Altキーを押しながらEnterキーを押下する操作をしています。 | |
#> | |
function Send-Keys | |
{ | |
[CmdletBinding()] | |
[Alias("sdky")] | |
Param | |
( | |
# キーストローク | |
# アプリケーションに送りたいキーストローク内容を指定します。 | |
# キーストロークの記述方法は下記のWebページを参照。 | |
# https://msdn.microsoft.com/ja-jp/library/cc364423.aspx | |
[Parameter(Mandatory=$false, | |
ValueFromPipelineByPropertyName=$true, | |
Position=0)] | |
[string] | |
$KeyStroke, | |
# プロセス名 | |
# キーストロークを送りたいアプリケーションのプロセス名を指定します。 | |
# 複数ある場合は、PIDが一番低いプロセスを対象とする。 | |
# [Parameter(Mandatory=$false, | |
# ValueFromPipelineByPropertyName=$true)] | |
# [string] | |
# $ProcessName, | |
# プロセスタイトル | |
# キーストロークを送りたいアプリケーションのプロセスタイトルを指定します。 | |
[Parameter(Mandatory=$false, | |
ValueFromPipelineByPropertyName=$true)] | |
[string] | |
$ProcessTitle, | |
# 待機時間 | |
# コマンドを実行する前の待機時間をミリ秒単位で指定します。 | |
[Parameter(Mandatory=$false, | |
ValueFromPipelineByPropertyName=$true)] | |
[int] | |
$Wait = 0 | |
) | |
Process | |
{ | |
Write-Verbose $ProcessTitle", KeyStroke = "$KeyStroke", Wait = "$Wait" ms." | |
Start-Sleep -Milliseconds $Wait | |
if ($ProcessTitle -ne $null) | |
{ | |
[Microsoft.VisualBasic.Interaction]::AppActivate($ProcessTitle) | |
} | |
[System.Windows.Forms.SendKeys]::SendWait($KeyStroke) | |
} | |
} | |
Start-Process shell:AppsFolder\windows.immersivecontrolpanel_cw5n1h2txyewy!microsoft.windows.immersivecontrolpanel | |
# send strokes | |
$title = "設定" | |
$wait = 1000 | |
Send-Keys "{TAB}{ENTER}" -ProcessTitle $title -Wait $wait | |
Send-Keys "{TAB}{DOWN}{ENTER}" -ProcessTitle $title -Wait $wait | |
Send-Keys ("{TAB}"*11 + "{ENTER}") -ProcessTitle $title -Wait $wait |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
https://docs.microsoft.com/en-us/windows/uwp/launch-resume/launch-settings-app
use shortcut "ms-settings:apps-volume"