.NET ランタイムをホストし、アプリケーションの Win32 部分から .NET 管理フォームを開く Win32 アプリケーションがあります。
これらのウィンドウは、常にモーダル ウィンドウとして開かれます。
一部のマシンでは、これらのウィンドウが閉じられると、後ろにある Win32 ウィンドウにフォーカスが移らず、Word、Outlook、または開いているその他のウィンドウの後ろに送られます。
また、そのような .NET フォームを開き、alt-tab キーを押して Word またはその他のアプリケーションに移動し、アプリのタスクバー アイコンをクリックすると、Win32 ウィンドウが表示されることがあります。もちろん、これはまだモーダル .NET ウィンドウが閉じるのを待っているため、もちろん使用できません。alt-tab キーを押して別の場所に移動し、その場所を最小化すると、.NET ウィンドウが再び表示されます。
一貫性のない部分は、これがすべてのマシンではなく一部のマシンでのみ発生することです。私のものを含め、多くのマシンで、期待どおりに動作します。右ウィンドウへのフォーカスは毎回機能します。
私たちが何か間違ったことをしたことは間違いありませんが、何が問題なのかわかりません。
誰が私が何を探しているべきか知っていますか? インストールされている .NET ランタイムを確認しました。一方では動作し、他方では動作しない 2 つのマシンは両方とも開発者用マシンであるため、.NET などの同じサービス パックが含まれています。
編集:まあ、@ サム、このレーンにいくつかの異なるセットアップがあったという点で、あなたは正しかった. どちらのマシンも Windows XP SP3 を実行していますが、私のマシンは従来の Windows テーマを実行しており、もう 1 つは新しい XP テーマを実行していました。他のコンピューターのテーマをクラシックに変更すると問題は解決しましたが、XP テーマに戻しても問題は再現しませんでした。
これで 2 台のマシンが動作するようになりましたが、顧客はクラシック テーマを実行しているように見えますが、まだ問題を抱えています。