WindowsでSteamを起動するとかシャットダウンするとか
すべて PowerShell です
起動確認
function Get-Steam-Process{
return Get-Process -Name "Steam" -ErrorAction SilentlyContinue
}
定数宣言
$script:steamExe = "C:\Program Files (x86)\Steam\steam.exe"
Steamをシャットダウン
function Close-Steam {
$steamProcess = Get-Steam-Process
if ($steamProcess) {
& $script:steamExe -shutdown
} else {
Write-Output "Steam is not running."
}
# wait for steam to shutdown
$steamProcess = Get-Steam-Process
while ($steamProcess) {
Start-Sleep -Seconds 1
$steamProcess = Get-Steam-Process
}
}
Steamを起動
function Start-Steam {
param (
[string]$userName = $script:defaultUserName,
[string]$appId = $script:defaultAppId
)
Close-Steam
Start-Process $script:steamExe -ArgumentList "-login $userName -applaunch $appId"
Write-Output "Steam is starting."
}
あらかじめスクリプトレベルで `$script:defaultUserName` と `$script:defaultAppId` は宣言しておくこと
$appId は Steam のアプリのIDです。ストアページとかのURLにも埋め込まれている。
$userName は(非常に治安が悪いんですが) "<userName> <password>" で指定します。こうすることによって複数ユーザの環境に対応できます。