1 に答える
1
CreateEvent、SetEvent、および WaitForSingleObject を使用できます。イベントを通知する必要がある実行可能ファイルによって dll がロードされた場合、必要なのはそれだけです。個別の実行可能ファイルからのものである場合は、少しだけ複雑になります。CreateEvent を呼び出すと、名前付きイベントが作成されます。この名前付きイベントには、複数のプロセスからアクセスできます。ログインしているさまざまなユーザー間で機能する必要がある場合は、名前の前に「Global\」を付けると、すべてのユーザーのすべてのプロセスで同じイベントになります。
//in dll
HANDLE eventHandle = CreateEvent( NULL, TRUE, FALSE, "Global\\My-Unique-Trigger-Event" );
//do stuff
WaitForSingleObject( eventHandle, INFINITE);
//exit
//in executable
HANDLE eventHandle = CreateEvent( NULL, TRUE, FALSE, "Global\\My-Unique-Trigger-Event" );
SetEvent( eventHandle );
于 2011-06-21T16:09:43.603 に答える