私は自分でスクリプトを作成しようとしています。これは、複数のプログラムを一度に開くことができますが、非侵襲的な方法で実行できます。 Steamなどの1つのプログラムは、コンピュータを起動するときに必ず起動する必要はありませんので、起点/ gtalk /それがプログラムを開くものと一緒にスクリプトを作成したいのですが、特定のプログラムのメインウィンドウを閉じます/起源、私はちょうど私のスタートメニューやタスクバーを使用してゲームを開始する)。powershellでプロセスのメインウィンドウを操作する
私の研究を行ってみると、そうするのはあまりにも複雑すぎるとは思われません。
get-process steam, origin | where {$_.closeMainWindow()}
私はこれで大丈夫だよ、私はそれが複数回実行できますが、私はそれがもう少し凝った作りで、私の手をしようと思いました。蒸気と原点では、コマンドが終了するメインタイトルウィンドウとみなされるいくつかのウィンドウがあります。ただし、コマンドは一度に1つだけ閉じるので、コマンドを閉じるには複数回実行する必要があります。私の考えは、while演算子を持つ関数を作成することです。
これはかなりうまくいきません。これは、私がpowerershellのすべての概念/機能にかなり新しいので、これを行う簡単な方法があるかどうかはよく分かりません。私はこれが有効なwhileループであるかどうかは、状況が何かと比較されていないと考えているのかどうかもわかりません。-eq $true
のようになりますが、これはwhile ((get-process steam, origin | where {$_.mainWindowTitle}) -eq $true)
ですがエラーが発生しました。第三行に渡される
function test {
while (get-process steam, origin | where {$_.mainWindowTitle}) {
$_.closeMainWindow;
}
}
出力は次のようになりますのヘルプを依頼する愚かな事の
Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName
------- ------ ----- ----- ----- ------ -- -----------
1161 97 97776 123000 334 3.62 4468 Origin
570 73 175252 58392 484 10.65 1484 Steam
種類、それが持っている非常に貴重なスクリプトではありませんが、私はそれはクールだと思う:P
私がプロセスを停止した場合、バックグラウンドでの実行が中止され、蒸気や起源のゲームを起動できなくなったり、再びウィンドウを開くことになります。あなたのスクリプトを少し変更してスクリプトを修正しました。あなたのスクリプトは継続的に実行されていましたので、 '{$ _。mainWindowTitle}'に 'while($ p = Get-Process steam、origin -ErrorAction silentlycontinue | _.mainWindowTitle})-ne $ null) ' – smierdziel