ソースを持っていないアプリケーションの単一インスタンス制限をオーバーライドしようとしています。私は、アプリが CreateMutex を使用して実行中の別のインスタンスがあるかどうかを判断するという古き良きトリックを使用していることを知っています。(ミューテックスが正常に作成された場合は処理が続行されます。ミューテックスが作成されたと getlasterror が通知した場合は、すぐに終了します)。Win32 api 呼び出しをスニッフィングして見つけました。Detours を使えばうまくいくと思ったのですが、うまくいきません。CreateMutexW をインターセプトしていますが、何らかの理由で最初の 4 つの呼び出しをキャッチできません。(ここでも、win32 呼び出しをスニッフィングし、ミューテックスの名前を調べることで、これらの呼び出しが何であるかを知っています)。5 番目のものは傍受されますが、実際に傍受したいのは 1 番目のものです。
サンプル アプリケーション withdll を迂回して使用しています。問題は、回り道の開始が遅すぎることなのか、それともこれらの呼び出しが持つ何らかの保護のためなのか疑問に思います。迂回は最善のアプローチですか?おそらく、何か他のものを使用する方が良い考えかもしれませんか?