問題タブ [createprocess]

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 に答える
10295 参照

php - CreateProcessエラーコードの詳細はどこにありますか?

私は次のPHPで実行しています:

問題は、次のエラーが発生することです。

エラーの意味はどこで確認できますか?

PS:WindowsServer2007上にあります。SP2。ユーザーは管理者であり、完全なアクセスです。PHPはバージョン5.3.1です

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

pthreads - pthread_create() を呼び出すよりも fork() を呼び出す方が時間がかかるのはなぜですか?

私はこれを疑問に思っていました.レジスタ用のスタックとストレージのみが必要なため、安価に作成できるのでしょうか?

どうもありがとう :)

0 投票する
2 に答える
1293 参照

winapi - CreateProcess が実際にいつプロセスを開始したかを知るにはどうすればよいですか?

要するに が欲しいという問題CreateProcessがありStartProcessます。問題は、プロセスを作成CreateProcessしたときに true が返されたにもかかわらず、システムがプロセスを開始できなかった状況があることです。たとえば、起動対象のインポートの 1 つが解決できない場合でも成功します。CreateProcess

このプロセスを開始することによって、私が何を達成したいのかに応じて、おそらく多くの提案が可能です。ただし、このプロセスを開始することによって特に何かを達成することを望んでいないため、これらの提案はどれも役に立たない可能性が高いと思います.

WaitForSingleObject一例として、プロセス ハンドルに対してを呼び出してからGetExitCodeProcess. しかし、プロセスが永遠に残る可能性があるため、プロセスが終了するのが待ちきれません。

もう 1 つの提案例はWaitForInputIdle、 を呼び出すことです。これは、起動対象が作成することを合理的に期待できるウィンドウを使用して、起動対象と通信したい場合にうまく機能します。しかし、私はそれを望んでおらず、合理的に期待することはできません. 私が知っている限りでは、起動対象はコンソール プロセスであり、メッセージ キューはありません。同様に、(ヒューリスティックな意図で) 見つけ出すのを待つ余裕もありません。

実際、ランチャーについては何も推測できません。

ここで私がどのように考えているかをよりよく理解するために、この問題の裏側を見てみましょう。プロセスが開始されない場合、ユーザーにアドバイスする方法を示すエラー コードが必要です。インポートがすべて解決され、メイン スレッドが CRT スタートアップ コード (または同等のコード) にジャンプしようとしていることを認識し、返されたエラー コードがERROR_SUCCESS. しかし、私は実際にはランチャーに興味がなく、ランチャーで優れたユーザー エクスペリエンスを提供したいと思っているだけです。

ああ、もう 1 つ: これをシンプルにしたいのです。デバッガーを書きたくありません。:-)

アイデア?

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

c++ - CreateProcessAsUserを作成して、フォアグラウンドウィンドウにする方法は?

を使用してUIを開始しようとしてCreateProcessAsUserいますが、ウィンドウがフォアグラウンドウィンドウとして表示されません。

通常のウィンドウであるかどうかは気になりませんが、このウィンドウはUACプロンプトをトリガーし、フォアグラウンドにも表示されません。

0 投票する
5 に答える
18208 参照

.net - exeをロードせずに.NET dllを実行することは可能ですか?

.EXE を作成せずに新しいプロセスで静的な .DLL メソッドを実行する方法があるかどうか知りたいです。

私の知る限り、これはネイティブの Win32/64 DLL では不可能です。.NET DLL アセンブリはどうですか?

更新:私は主にこれをプログラムで行うことに興味があることを忘れていました(具体的にはC#コードから)。

ありがとう!

結論: 誰も「敢えて」それを綴ろうとはしませんでしたが、答えはすべて「いいえ」に傾いているようです。従来の方法 (EXE、PowerShell など) のいずれかを使用してプロセスを開始し、そのプロセスに DLL をロードしてコードを実行させる必要があります。私は、マネージド DLL がより多くの機能を備えていることを誤って望んでいたと思います。

声をかけてくれた皆さん、ありがとうございました!

0 投票する
2 に答える
5119 参照

c++ - 独立したプロセスを作成します!

C++ でサービスからプロセスを作成しようとしています。この新しいプロセスは、子プロセスとして作成されています。子プロセスではなく、独立したプロセスを作成したい...

同じために CreateProcess 関数を使用しています。私が作成した新しいプロセスは子プロセスであるため、サービスレベルでプロセスツリーを強制終了しようとすると、子プロセスも強制終了されます...これが発生したくありません。作成した新しいプロセスをサービスから独立して実行したい。

同じことについてアドバイスしてください..ありがとう..

コード

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

winapi - CreateProcess():「プログラムが大きすぎてメモリに収まりません」

現在、クラッシュハンドラーをデバッグしようとしています。これは、プログラムが未処理の構造化例外を検出したときに呼び出される外部実行可能ファイルです。クラッシュハンドラ実行可能ファイルを再コンパイルしました。テストすると、「プログラムが大きすぎてメモリに収まりません」というメッセージが表示されました。

少し調べてみると、これは未処理の例外フィルター内のCreateProcess呼び出しが原因であることがわかりました。このエラーメッセージは実行可能ファイルが破損していることを示しているというこの投稿を見つけましたが、コマンドラインからCrashHandler.exeを呼び出しても、そのようなエラーは発生しません。

その他の情報:

  • デバッグモードとリリースモードの両方で、アプリケーションとクラッシュハンドラーを複数回再構築しようとしました。
  • 実行中のスレッドに2桁多くのスタックスペースを与えてみました。
  • 同じCrashHandler.exeを、すでに使用している別のアプリケーションでテストしましたが、問題はありませんでした。
  • 以前に機能していた以前のバージョンのexeを使用してみましたが、同じ結果になりました。
  • システムを再起動します。

CreateProcessへの私の呼び出し:

0 投票する
2 に答える
519 参照

delphi - Delphi7のCreateprocessで開いたプロセスに文字列または情報を送信するにはどうすればよいですか。

createprocessを使用して開いたプロセスに文字列を送信するにはどうすればよいですか?

私はここStackoverflowで見つけたものの助けを借りてこのようなものを書きました:

だから私が欲しいのは、プロセスが終了したときに(singleobjectを待つ直後に)行を書き、次に「Enter」ボタンを押して、最後にプロセスが終了したときにプロセスを閉じることです。誰かが外部プロセスと対話する方法を知っていますか?プログラミングに関しては、私はまったくの初心者です。

よろしくお願いします

0 投票する
2 に答える
1223 参照

c - プロセスを起動してその出力を取得するにはどうすればよいですか?

Windows APIを使用するC言語で、プロセス情報を取得したときにプロセスの出力を取得するにはどうすればよいですか?

私はこのようなコードを持っています:

プロセスasd.exeは特定の出力を出力します。それを自分のプロセス(上記のコードを使用したプロセス)に送りたいと思います。

0 投票する
3 に答える
1416 参照

c++ - c ++ CreateProcess()は、スラッシュ「/」を含むアプリおよび引数では機能しません-App=NULLで機能します

解決:"

stringstreamを使用してAppとArgを_FinalShellStrCmdに結合し、最初のargをNULLのままにします。スラッシュまたはバックスラッシュのいずれでも正常に機能しました。どうもありがとうございました。

Boostを使用して現在のパスを取得すると、 "d:/ bin / testが取得されます。次に、CreateProcess()ライブラリ関数を使用して以下のShellAndWait()を呼び出そうとします。ディレクトリパスにバックスラッシュ" \を使用します。例:d: \ bin\test。それは魅力のように機能します。

アプリのパスと引数をdosプロンプトに出力し、それらをコピーしてdosプロンプトに貼り付けると、正常に実行されました。例、D:/bin/test/test.exe d:/bin/test/test.dat app-path args

以下のShellWandWait関数にapp-pathとargsを配置しても、何も実行されませんでした。CreateProcess()は、スラッシュ「/」を含むパスまたはディレクトリを取得しないと思われます。誰かが私にここにいくつかのライトをくれますか?再度、感謝します。