3

まとめ

explorer.exe を起動しない変更された Windows ボックスで、Windows の起動時に GUI アプリケーションを実行するにはどうすればよいですか。

  • Programs -> Startup フォルダにリンクを配置しても実行されません。
  • 私のアプリケーションはグラフィカルなので、アプリケーションを変更してサービスとして実行することはできません。

バックグラウンド

のコンテンツを生成する専用の PC で実行する必要があるアプリケーションがありますDigital Signage。これは、大規模な組織でプラズマ / LCD 画面に表示されるアナウンスやさまざまなスライドショー コンテンツを生成するタイプのソフトウェアです。

私はそのようなコンテンツ管理ソフトウェアのいくつかの異なるベンダーとの経験があり、それらはすべて基本的にWindowsアプリケーションを構築し、ウィンドウから何かを取り除いて、あらゆる種類のポップアップが表示されないようにします。私が扱っているベンダーの1つ現在、Windowsはexplorer.exe起動しないように変更されています。

プログラムの起動時の実行機能は、スタートアップ フォルダ内のリンクを利用します。私が見つけたのはexplorer.exe、私のアプリケーションも実行されていないということです。

コンピュータが起動すると、プログラム可能なコンテンツの表示を開始するデジタル サイネージ アプリケーションの実行モードで自動的に起動します。CTRL-を押してプログラムを強制終了ALTし、. 約 1 秒後... アプリケーションの開始が表示されます。DELETEexplorer.exetaskmanager

だから、私の質問は - どうすれば起動しない Windows ボックスにアプリケーションをロードできますかexplorer.exe? Runフォルダーでレジストリキーを使用すると、エクスプローラーがなくても機能するかどうか知っている人はいますか? 起動時にプログラムを実行する他の方法はありますか?


編集:受け入れられた回答の実装に関する注意事項

受け入れられた回答にアプローチを実装しました。これを実装するのに役立つリンクを次に示します。レジストリ キーのアプローチを試したことはありません。誰かがexplorer.exeロードなしで実行されることを確認した場合は、コメントを残してください。

4

4 に答える 4

6

アプリケーションをサービスに変換し、自動開始として設定します。または、任意の exe をサービスとして実行するためのオンライン ツールがあります。自分で書くのはとても簡単です。

アプリケーションがデスクトップと対話して UI を作成する必要がある場合は、サービスが適切なデスクトップで exe を起動する必要があります。これを行うには、WTSEnumerateSessions を使用してインタラクティブなユーザー セッションを見つけ、WTSQueryUserToken を使用してそのトークンを取得し、次に CreateProcessAsUser を使用してそのユーザーとして正しいデスクトップでアプリケーションを起動します。

于 2009-07-13T20:28:50.760 に答える
2

<HKLM|HKCU>\Software\Microsoft\Windows\CurrentVersion\Runは通常のものを置く場所ですが、それが十分でない場合はHKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon、「Userinit」と呼ばれる文字列があり、複数のコンマ区切りの値をサポートしています。

文書化されていない土地に行きたい場合は、レジストリに何百万もの場所があり、RegMon/ProcessMonitor で監視しながら Sysinternals から Autoruns を開始します。

于 2009-07-14T11:00:45.733 に答える
0

変更を試みることができます

[HKEY_CLASSES_ROOT\Folder\shell] 

デフォルト値を実行可能ファイルのパス/名前に設定します

これは危険です..それを台無しにすると、システムの動作に大きな問題が発生する可能性があります..VMで試してみるのが最善です.

于 2009-07-13T20:42:35.400 に答える
0

レジストリにエントリを追加できますか

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run

鍵?

この領域にあるプログラムの起動に explorer.exe が関与しているのか、それとも Windows バックエンドが関与しているのかはわかりませんが、試してみる価値はあります。

于 2009-07-13T20:47:51.863 に答える