起動時に実行可能ファイルを呼び出そうとしていますが、別の実行可能ファイル自体が呼び出されます。最初の部分では、実行可能ファイルへのパスを に追加しただけHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
で動作します。私の実行可能ファイルは起動時に呼び出されます。
後者には、特に次の行が含まれています。
startupinfo = subprocess.STARTUPINFO()
startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW
startupinfo.wShowWindow = subprocess.SW_HIDE
proc = subprocess.Popen(command, startupinfo=startupinfo)
ただし、コンピューターの起動時にコマンド シェル (cmd) が表示されます。すべて正常に動作しますが、非表示ではなく表示されます...基本的に、このコマンドシェルを非表示にするにはどうすればよいですか?
を使用する場合ProcessExplorer
、次の階層があります。
+ System
|_ Interrupts
|_ smss.exe
|_ some processes...
+ explorer.exe
|_ some processes...
|_ MYSCRIPT.EXE
これが私が達成しようとするシーケンスです:
- VM で実行するすべての Python 実行可能ファイルを含む ISO ファイルを作成します。そのうちの 1 つ (
master.exe
) が他の人を呼び出します。 - 後者を自動的にマウントする VM を作成します
- 準備された VM には、次を呼び出すスケジュールされたタスクがあります。
D:\master.exe
master.exe
(ここでは関係のない他のタスクの中でも)に価値D:\myscript.exe
を追加しますHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
- VM が再起動します
D:\myscript.exe
実行されます(そして、それは正常に機能し、有人で機能します)が、コマンドプロンプトで実行されます。