高い優先度またはリアルタイムの優先度でプログラムを実行します(はい、他のスレッドを読みました)

Aug 23 2020

私は取得しようとしています:

start "" /high "c:\software\mysoftware.exe"

または

start "" /realtime "c:\software\mysoftware.exe"

Windows 10で作業するには、もちろんできません。次のようなスレッドで判断します。.batファイルで/ realtimeを開始しますが、プロセスはまだリアルタイムではありません。

ただし、その中で、ユーザーはWindowsの起動時に、プログラムを高い優先度で起動させようとしています。私は、恣意的に始めたいと思います。そこで、タスクスケジューラを使用してスレッドを解決しました。

したがって、私の質問は、同様の代替手段または回避策を使用して、通常よりも高い優先度でソフトウェアを任意に実行できるかどうかです。

これにはたくさんのスレッドがあることがわかりましたが、それらのほとんどはユースケースに適合しないか、単に機能しません。ここにあるようなもの:優先度の高いプロセスを開始する

私は試した:

start "Frozen Throne" /high "C:\Users\Valeri\Saved Games\Warcraft III\Frozen Throne.exe"

最初の答えのように、それはうまくいきませんでした…

私は次の解決策に興味があります:高い優先度でファイルを実行する

しかし、誰かが私のシナリオにそのようなものをどのように適用するかについてフィードバックを与えることができますか?Windowsからのこの絶対的な失敗を解決するためのフィードバックは、歓迎です...

編集1:ユーザーの1人が、start /b /High "c:\software\mysoftware.exe"私が過去に行ったを使用することを提案しましたが、役に立たず、今すぐ再試行しました。何が起こるかというと、アプリケーションがまったく起動せず、CMD内でこれを取得するだけです。

編集2:start "" /high notepad @harrymcの投稿で述べたように、私はテストしました、そしてメモ帳は確かに高い優先度で開きました、しかしこれと他のすべての試みはまったくうまくいかないようですC:\Users\Valeri\Saved Games\Warcraft III\Frozen Throne.exe、私はどちらかリアルタイムとして開きたいですまたは高い

最終的な編集と解決策:結局のところ、私はあまり注意を払っていませんでした。起動するとC:\Users\Valeri\Saved Games\Warcraft III\Frozen Throne.exewar3.exe代わりに自動的に開きます...

start "" /b /High "C:\Users\Valeri\Saved Games\Warcraft III\war3.exe"@DavidPostillまたはの推奨に従って適用する

Start-Process "C:\Users\Valeri\Saved Games\Warcraft III\Frozen Throne.exe"
Get-WmiObject Win32_process -filter 'name = "Frozen Throne.exe"' | foreach-object { $_.SetPriority(256) }

、@ Steven S.が推奨するように、右側の.exeは、場合によっては最初の.exeの後に開く可能性があり、この問題を解決します...すべての助けに感謝します!

回答

1 SteffenS. Aug 23 2020 at 02:32

PowerShellを使用してアプリケーションを起動した後、プロセスを優先的に変更できるはずです。'Realtime'では、PowerShellコマンドを管理者権限で実行する必要があることに注意してください。優先しない場合は、代わりに「高」に設定されます。

Get-WmiObject Win32_process -filter 'name = "Frozen Throne.exe"' | foreach-object { $_.SetPriority(32768) }

したがって、完全なps1-fileは次のようになります。

Start-Process "C:\Users\Valeri\Saved Games\Warcraft III\Frozen Throne.exe"
Get-WmiObject Win32_process -filter 'name = "Frozen Throne.exe"' | foreach-object { $_.SetPriority(256) }

参照:SetPriorityメソッド

2 harrymc Aug 23 2020 at 03:25

標準的な方法でうまくいくので、あなたのセットアップと私のセットアップの違いは何ですか?

管理者としてCMDを起動しnotepad、通常の起動に加えて、次のコマンドを実行しました。

結果は、ドキュメントで予測されたとおりです。

製品またはその他の制限startにより、コンピューターでのコマンドの正しい機能がブロックされている可能性があります。セーフモードで起動しながらテストして、Microsoft以外のすべてのプログラムとドライバを無効にしてください。

これを妨げているのは、プログラムのプロパティ、またはウイルス対策ソフトウェアや別のセキュリティソフトウェアである可能性もあります。