問題タブ [shellexecuteex]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
windows - ShellExecuteEx によって開始される最大プロセスの Windows Server 制限
ShellExecuteEx を介して定期的に .cmd ファイルを実行する小さな Windows サービスを C++ で作成しました。時々問題が発生します: ShellExecute が true を返します - すべて問題ありません - ただし、SHELLEXECUTEINFO.fMask = SEE_MASK_NOCLOSEPROCESS を指定したにもかかわらず、子の cmd.exe プロセスが開始されず、SHELLEXECUTEINFO.hProcess が NULL です。simple.cmd: date /T >> file.txt を開始しませんでした
通常、.cmd ファイルには、php スクリプトを実行するための php コマンドが含まれています。
この問題は、NETWORK_SERVICE アカウントで実行されるこの Windows サービスを介して、システム全体で約 100 の子 cmd.exe プロセスが実行されるときに発生します。エクスプローラーから手動で、そのような cmd プロセスを実行できました。
ShellExecuteEx によって開始されるプロセスの最大数に Windows システムの制限はありますか?
delphi - プログラムを ShellExecute し、コマンド ライン テキストを送信する方法
ShellExec で外部プログラムを正常に開くことができます
しかし、次のようなコマンドを送信したいと思います。
これは可能ですか?
visual-c++ - ShellExecuteEx は、以前に開いていたアプリケーションに短時間フォーカスを移し、再び .exe に戻ります
ShellExecuteEx(&ShExecInfo)
を起動するために使用しています。アプリケーションから起動する.exe
と.exe
、Windows フォーカスは以前に開いたアプリケーション (Windows エクスプローラーなど) に約 1 秒間移動し、その後 に戻ります.exe
。私は、どのアプリケーションにも短時間行かずに、exeに焦点を当てたいと思っています。
参照用のコード:
batch-file - ShellExecuteEx を使用して Inno Setup のバッチ ファイルから終了コードを取得する
Inno Setup から実行するバッチ ファイルがいくつかあります。私はShellExecuteEx()
バッチファイルを実行するために使用します:
しかし、何を試しても、バッチ ファイルから終了コードを取得できませんResultCode
(常に 0 が返されます)。
この問題を調査する際に、バッチで を使用してはならないことを読みましたexit /b NN
。そのため、スイッチを削除しました/b
が、それでも常に 0 になります。
バッチ ファイルから正常に終了コードを取得するにはどうすればよいですか?
デニス
c - ShellExecuteEx() を使用して UAC ウィンドウを一番上に移動する
Microsoft Visual Studio 2010 を使用しており、C/C++ でコードを書いています。
インストール プロセスを自動的に開始するコードがあります。この場合、インストール プロセスには UAC が必要なので、動詞ShellExecuteEx()
で API 関数を使用します。runas
InstallCreateWindow()
関数は情報ウィンドウを作成し、別のウィンドウ メッセージ スレッドも作成します。ウィンドウは一番上に表示され、メッセージに応答します。UACプロンプトウィンドウを一番上に保つにはhwnd
、構造内の正しいパラメーターが必要であることを読んだので、作成する必要があります。SHELLEXECUTEINFO
しかし、これはうまくいきません。UAC ウィンドウが最大化されて実行されることもありますが、主に最小化され、タスクバーで強調表示されます。いずれにしてもUACウィンドウを一番上に表示する方法はありますか?
uac - 特定のアプリケーションの UAC プロンプトを無効にする方法
何らかの目的でコマンド ライン ユーティリティを使用しています。ShellExecuteEx 関数を使用して COM DLL からこのユーティリティを起動します。ShellExecuteEx を呼び出すときに、lpVerb パラメーターを "runas" として指定して、ユーティリティが管理者特権で起動されるようにします。起動時に exe クライアントから COM インターフェイス関数を呼び出します。そのため、クライアント exe を起動すると、ユーティリティも起動されます。私の問題は、ユーティリティが昇格して開始されるため、常に UAC 確認プロンプトを要求することです。このプロセス中に手動で介入することはないため、これは我慢できません。そのため、UACプロンプトを表示せずにユーティリティを起動する必要がありますが、クライアントexeを起動すると昇格します。これを達成する方法はありますか?システム設定の変更ではなく、マニフェスト ファイルの変更など、ユーティリティ自体の中でいくつかの変更を行うことをお勧めします。
delphi - Delphi から外部プログラムを開いたり閉じたりする
私のアプリ (Delphi XE10) で、ユーザーのデフォルトのエディター (MSword または OpenOffice ライターなど) でファイル (RTF) を開き、アプリからこのエディターを閉じることができるようにしたいと考えています。以下のコードを使用しようとしましたが、エディターを閉じることに成功しませんでした
どこ:
エディターは開きますが、KillProcess で閉じる必要がある場合、ovExitCode は常にゼロであるため、TerminateProcess は実行されません。どのような場合でも TerminateProcess を実行しようとしましたが、エディター (この場合は MSword) が閉じません。
私を助けてくれませんか?前もって感謝します