別の質問のコメントを読むと、 GetWindowThreadProcessId
Windows API メソッドを使用すると競合状態が発生するリスクがあることがわかります。これはどのくらいのリスクですか?
私が試みていることの背景を説明させてください。私は自分の個人的な使用のために C# で計時アプリを作成しています。私の意図は、使用中のアプリケーションに対して時間を記録できるように、アクティブなウィンドウが変更されたときに (Win API 呼び出しを介して) アプリに検出させることでした。アクティブなウィンドウがいつ変更されたかを検出するコードを既に見つけました。現在、そのウィンドウに関連付けられているプロセスを特定しようとしています。解決策として指摘さGetWindowThreadProcessId
れているSOに関するいくつかの投稿を見つけましたが、前述したように、それを使用する際に潜在的な問題があるようです。安全な方法ではない場合GetWindowThreadProcessId
、私は他の選択肢を受け入れます。
私の希望は、コードを完全に C# のままにすることでしたが、必要に応じてコードの一部を C/C++ に移動することに (完全に) 反対しているわけではありません。
ありがとう!