問題タブ [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.

0 投票する
0 に答える
72 参照

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 システムの制限はありますか?

0 投票する
1 に答える
944 参照

delphi - プログラムを ShellExecute し、コマンド ライン テキストを送信する方法

ShellExec で外部プログラムを正常に開くことができます

しかし、次のようなコマンドを送信したいと思います。

これは可能ですか?

0 投票する
1 に答える
187 参照

visual-c++ - ShellExecuteEx は、以前に開いていたアプリケーションに短時間フォーカスを移し、再び .exe に戻ります

ShellExecuteEx(&ShExecInfo)を起動するために使用しています。アプリケーションから起動する.exe.exe、Windows フォーカスは以前に開いたアプリケーション (Windows エクスプローラーなど) に約 1 秒間移動し、その後 に戻ります.exe。私は、どのアプリケーションにも短時間行かずに、exeに焦点を当てたいと思っています。

参照用のコード:

0 投票する
1 に答える
814 参照

batch-file - ShellExecuteEx を使用して Inno Setup のバッチ ファイルから終了コードを取得する

Inno Setup から実行するバッチ ファイルがいくつかあります。私はShellExecuteEx()バッチファイルを実行するために使用します:

しかし、何を試しても、バッチ ファイルから終了コードを取得できませんResultCode(常に 0 が返されます)。

この問題を調査する際に、バッチで を使用してはならないことを読みましたexit /b NN。そのため、スイッチを削除しました/bが、それでも常に 0 になります。

バッチ ファイルから正常に終了コードを取得するにはどうすればよいですか?

デニス

0 投票する
1 に答える
409 参照

c - ShellExecuteEx() を使用して UAC ウィンドウを一番上に移動する

Microsoft Visual Studio 2010 を使用しており、C/C++ でコードを書いています。

インストール プロセスを自動的に開始するコードがあります。この場合、インストール プロセスには UAC が必要なので、動詞ShellExecuteEx()で API 関数を使用します。runas

InstallCreateWindow()関数は情報ウィンドウを作成し、別のウィンドウ メッセージ スレッドも作成します。ウィンドウは一番上に表示され、メッセージに応答します。UACプロンプトウィンドウを一番上に保つにはhwnd、構造内の正しいパラメーターが必要であることを読んだので、作成する必要があります。SHELLEXECUTEINFO

しかし、これはうまくいきません。UAC ウィンドウが最大化されて実行されることもありますが、主に最小化され、タスクバーで強調表示されます。いずれにしてもUACウィンドウを一番上に表示する方法はありますか?

0 投票する
1 に答える
865 参照

uac - 特定のアプリケーションの UAC プロンプトを無効にする方法

何らかの目的でコマンド ライン ユーティリティを使用しています。ShellExecuteEx 関数を使用して COM DLL からこのユーティリティを起動します。ShellExecuteEx を呼び出すときに、lpVerb パラメーターを "runas" として指定して、ユーティリティが管理者特権で起動されるようにします。起動時に exe クライアントから COM インターフェイス関数を呼び出します。そのため、クライアント exe を起動すると、ユーティリティも起動されます。私の問題は、ユーティリティが昇格して開始されるため、常に UAC 確認プロンプトを要求することです。このプロセス中に手動で介入することはないため、これは我慢できません。そのため、UACプロンプトを表示せずにユーティリティを起動する必要がありますが、クライアントexeを起動すると昇格します。これを達成する方法はありますか?システム設定の変更ではなく、マニフェスト ファイルの変更など、ユーティリティ自体の中でいくつかの変更を行うことをお勧めします。

0 投票する
1 に答える
7706 参照

delphi - Delphi から外部プログラムを開いたり閉じたりする

私のアプリ (Delphi XE10) で、ユーザーのデフォルトのエディター (MSword または OpenOffice ライターなど) でファイル (RTF) を開き、アプリからこのエディターを閉じることができるようにしたいと考えています。以下のコードを使用しようとしましたが、エディターを閉じることに成功しませんでした

どこ:

エディターは開きますが、KillProcess で閉じる必要がある場合、ovExitCode は常にゼロであるため、TerminateProcess は実行されません。どのような場合でも TerminateProcess を実行しようとしましたが、エディター (この場合は MSword) が閉じません。

私を助けてくれませんか?前もって感謝します