問題タブ [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.
jobs - GetCurrentProcessを使用したIsProcessInJobはtrueを離れます
(Visual Studio 2010-C ++)こんにちは、
JOBをプロセスに設定しようとしていますが、AssignProcessToJobObjectはACCESS_DENIEDを返し、IsProcessInJobはTRUEを返します。
CreateProcess(Suspended)を呼び出した直後にIsProcessInJobをプロセスに呼び出し、プロセスを使用してIsProcessInJobを呼び出しようとしました(メインエントリポイントの数行後)。trueが返されます。
誰かが前にそれを見ましたか?
助けてくれてありがとう。ソース: 親プロセスが強制終了されたときに子プロセスを強制終了 するWindowsで子プロセスを自動的に破棄するにはどうすればよいですか?
winapi - CreateProcess を使用して非表示のウィンドウでメディアを再生する
テキストモード C++ で小さな小さなゲームを開発しました。実際にやりたかったことは、ゲームの開始時にメディア プレーヤーを非表示モードで生成し、mp3 ファイルを再生することです。また、プログラムを閉じるときにメディア プレーヤーを閉じたいと考えています。または、必要に応じて、インターネットで検索したところ、CreateProcess() (shellapi.h に含まれています) がこの仕事をしていることがわかりましたが、ShellExecute() を使用してアプリを生成する方がはるかに簡単ですが、それができないme 必要に応じて閉じます。そのため、メディア プレーヤーが「C:\wmplayer.exe」で、mp3 ファイルが「C: \1.mp3"... mp3 プレーヤーを開くことには少し成功しましたが、mp3 を再生できませんでした。ここで助けてくれることを願っています。よろしく
windows - PSExec はどのように SYSTEM ユーザーとしてアプリケーションを実行しますか?
sysinternals の psexec.exe がどのように SYSTEM ユーザーとしてプロセスを実行するのか疑問に思いました。SYSTEM プロセスでツールを実行する必要がありますが、サービスとして登録せずに実行する方法がわかりません。
誰にもアイデアはありますか?
ps 私は WINAPI (C++) でそれを行うことを本当に好みます。ありがとう!:-)
ありがとう!
windows - CreateProcess は 0 以外を返しますが、GetExitCodeProcess() は 128 を返します
CreateProcess() を使用して別のプロセスを開始するアプリケーションを作成しています。親プロセスでは、GetExitCodeProcess() を使用して、プロセスがアクティブかどうかを確認します。
ここで、CreateProcess() は成功しました (負でない値を返しました) が、GetExitCodeProcess() は 128 を返しました (待機する子プロセスはありません)。子プロセスが開始された痕跡は見られません (通常、いくつかのデバッグ)。断続的に発生します。
子プロセスに実際に何が起こったのか考えていますか?. 詳細情報はどこから入手できますか (システム/アプリケーション イベント ログで?)。
私を案内してください。
ありがとう、ナガ
c++ - CreateProcess は、一部のコンピューターでは機能しますが、他のコンピューターでは機能しません。なんで?
CreateProcess を介して別のアプリを呼び出すアプリに取り組んでいます。私はWin7 64ビットを使用しています。呼び出されたアプリは、パイプを介してデータを受信するコンソールです。呼び出しコードは次のようになります。
私のコンピューター (2 台で試しました) では、動作します。他のものでは、(bRet=)FALSE を返し、GetLastError() は 5 を返します。これは ACCESS_DENIED を意味します。
どこに問題があるのか わかりません。そして悪いことに、それは私にとってはうまくいくので、デバッグすることはできません!
私のセットアップは次のとおりです。
Win7 プロ 64 ビット SP1
VStudio 2005 SP1
(使用コンパイラ: Intel C++ 9.1
必要に応じて、より多くのセットアップ情報を提供させていただきます。
何か案が?
c++ - Visual Studio 2008 の cl.exe ラッパー
cl.exe
(Visual Studio コンパイラ)のラッパーを C++ で作成しました。これを行うPATH
ために、Visual Studio がcl.exe
最初のものを見つけるように環境変数を変更しました。myで、取得したパラメーターを使用しcl.exe
て real を実行するプロセスを作成します。cl.exe
cl.exe
これの目的は、実際の出力をフィルタリングして、cl.exe
何もできない警告を取り除くことです。「64 ビットの確率の問題を検出する」は素晴らしいのでオンにしたいのですが、警告が表示されます。
警告:
cl : コマンド ライン警告 D9035 : オプション 'Wp64' は廃止され、将来のリリースで削除される予定です
この特定の警告を削除する方法について何日も検索しましたが、コードや通常の警告のようなオプションでオフにできる警告ではありません。
問題: Visual Studio が my を実行しcl.exe
、次に mycl.exe
が realcl.exe
を実行しますが、それ以降、 mycl.exe
は出力を受け取りません。私は実際のもの以外のものを呼び出すことによってこれをテストしました、cl.exe
そして私cl.exe
は出力を完全に制御しています...
いずれかのcl.exe
ファイルからの出力は、Visual Studio の出力ボックスに表示されますがcl.exe
、実際のファイルからの出力を受信しなくなりましたcl.exe
...
で出力を処理するためにパイプを使用していますcl.exe
が、実際のcl.exe
.
cl.exe
出力を管理しないのはなぜですか? Visual Studio は my のことを忘れて、cl.exe
どうにかして実際のものにアタッチしますか?
cl.exe
また、この警告を取り除くためのラッパーを作成する以外の解決策はありますか?
windows - 非同期CreateProcess?
私のアプリケーションでは、CreateProcessWithTokenW が戻る前に非常に長い時間 (最大 20 秒) ブロックすることがあります。メイン スレッドをこれほど長くブロックすることは受け入れられないため、呼び出しをバックグラウンド スレッドに移動することを検討しています。ただし、おそらくオーバーラップ操作などを使用して、非同期の CreateProcess を実行するためのより良い組み込みの方法があるかどうか疑問に思っています。そのようなものが存在するかどうか誰かが知っていますか?
c++ - CreateProcessW のエラー: パラメータ 9 を 'STARTUPINFO' から 'LPSTARTUPINFO &' に変換できません
それが構造体startup_info
へのポインタであることを理解していますSTARTUPINFO
参照によって startup_info を渡す関数があります。したがって、参照によってポインターを渡していると言えます
この関数 caller() で関数 cp を呼び出すと仮定しましょう
エラー メッセージが表示されます: CreateProcessW のエラー: パラメータ 9 を 'STARTUPINFO' から 'LPSTARTUPINFO &' に変換できません
しかし、statup_info はポインタなので、これを関数 cp に渡すことができるはずですよね?
編集:アドバイスありがとうございますが、私にとっては次のように機能します:
構造LPSTARTUPINFO
へのポインタですSTARTUPINFO
だから私はに変更します
c++ - DEBUGフラグを使用してプロセスを開く際の問題
とフラグを使用CreateProcess
してデバッガーでプロセスを開こうとすると、プロセスが開かれますが、受け取ったハンドルで呼び出そうとすると失敗します。DEBUG_PROCESS
DEBUG_ONLY_THIS_PROCESS
SymInitialize
これは私のコードです:
作成フラグなしでCreateProcessを呼び出すと、symInitializeは成功します。
私は何が間違っているのですか?
winapi - Unix に fork() があるのに CreateProcess() がないのはなぜですか?
fork()
Unix が新しいプロセスを作成する理由がわかりません。Win32 API ではCreateProcess()
、新しいプロセスを作成し、実行可能ファイルをそのアドレス空間にロードしてから、エントリ ポイントから実行を開始します。しかし、Unix は新しいプロセスを作成するための fork を提供しています。別のプロセスを実行したいのに、なぜプロセスを複製する必要があるのか わかりません。
そこで、次の 2 つの質問をさせてください。
fork()
and thenがより効率的である場合、ほぼすべての場合にafterを呼び出すためexec()
、関数がないのはなぜですか?forkexec(const char *newProc)
exec()
fork()
- より効率的でない場合、なぜ
fork()
存在するのでしょうか?