問題タブ [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 投票する
1 に答える
2214 参照

excel - Excel VBA で ShellExecuteEx がクラッシュする

Windows の更新が発生したため、次のように API 呼び出しがShellExecuteEx(sExecuteInfo)クラッシュします。

0x75F7A529 (shell32.dll) で未処理の例外が発生しました アクセス違反の読み取り場所 0x68686903

ここで何が問題なのかわかりません。助けてもらえますか?

意味 :

コード:

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

c++ - ShellExecuteEx runas の lpParameters

ShellExecuteEx を使用してアプリケーションを起動する必要がある qt でアプリケーションに取り組んでいます。バッチ ファイルを実行していますが、2 つの引数を渡す必要があります。最初の引数は単なる文字ですが、2 番目の引数はスペースを含む場合と含まない場合があるパスです。私が何をしても、それはスペースを逃れません。エスケープされた引用符を含めると、実際には呼び出し全体が壊れているようです。問題はルナにあると思います。それがどのように機能するかは100%わかりませんが、呼び出しをコピーしてエスカレートされたシェルで実行しているようです。このプロセスは、追加された引用符で壊れているようです。

これが私のShellExecuteコードです。引数を 1 つ渡すように簡略化しましたが、それでも壊れます。

完全を期すために、ここに test.bat があります

私が得るシェル出力は次のとおりです。

スクリプトへのパスは

元のパスを台無しにするため、最初のコマンドが失敗することがわかります。

このような runas コマンドで引数に引用符を含める方法はありますか?

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) が閉じません。

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

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

c++ - 複数の cmd.exe パラメータ/引数を ShellExecute(Ex) に渡しますか?

と を使用してcmd.exe /c /v:on実行しようとしています。ただし、どちらの方法も 1 つのパラメーターしか受け付けないように見えます。これは、Windows 7で aが表示されるためです。ShellExecuteShellExecuteEx/v:onThe filename, directory name, or volume label syntax is incorrect.

これは私が試したコードで、現在いじっています(運が悪い):