「入力」を待つためにDLL関数を作成する方法やDLLエクスポートの特定のインスタンスを呼び出す方法については、誰も知りませんか?EXEによってトリガされるまでDLLエクスポートを一時停止
私はWindowsサービスをDLLに変換しようとしています。起動情報を記録し、終了するまで待つ機能を持っています。ロギング機能は有効ですが、私は2つの問題を把握する必要があります。
- それはその主な機能を実行した後、輸出は(古典
Press any key to continue…
のように、しかしマイナスインタフェース)が座って待つ必要がある - 私は実行可能ファイルを持つことの方法が必要ですその後、それはだと一時停止したインスタンスを伝えます第一の問題について
を終了する時は、私がループに入ると、トリガのいくつかの並べ替えを待っていると考えられるが、もちろん、それは100%の-CPUサイクルに入るべきではない、ので、多分WaitForSingleObject
または多分待っていますメッセージ(例えば、WM_APP)。
私は何らかのプロセス間通信を考えましたが、共有メモリーやセマフォーのように乱雑ではないことを願っていました(私はUnixではUnixでは共有mem、セマフォー、シグナルなどを使用しましたがこれはWindows上にあります)。もちろん、呼び出されるエクスポートの特定のインスタンスにアクセスする方法が必要です。
有望なサウンド。 DLLは実際には別のプロセス(OS)から呼び出され、後で別のEXEで終了するように指示する必要があります。 – Synetech
私は 'OpenEvent(EVENT_MODIFY_STATE ...'を 'CreateEvent'ではなくEXEで使っていましたが)' rundll32'でテストしましたが、両方のパーツが動作しているように見えます。期待どおりに動作することを確認してください。 – Synetech