実行中に PC へのアクセスをロックダウンする必要があるアプリケーションを構築しようとしています。アプリを全画面モードで最上位で実行し、alt-tab キーで他のアプリやタスクバーにアクセスできないようにする必要があります。
これまでのところ、TopMost = true、WindowStyle = WindowStyle.None、および WindowState = WindowState.Maximized を設定して、必要なもののほとんどを実現しましたが、タスクバーが表示されるインスタンスがまだ取得されています。ウィンドウに LostFocus 動作を実装しようとしましたが、必要な動作が得られないようです。
この動作を実装するために必要な方向を誰か教えてもらえますか?
追加情報
残念ながら、このプロジェクトの性質上、クライアント マシンを変更することはできず、XP、Vista、および Win7 が混在して実行されています。PC は私たちの所有ではありませんが、可能な限り安全な方法でコンテンツを配信するために使用されます。PC の所有者は、ソフトウェアを実行するための制限を認識しており、アプリケーションの実行中に「ロックダウン」されることを喜んでいますが、それ以外の方法で変更することはできません。
別の方法で
HakonBが Scott Hanselman の BabySmash アプリケーションについて言及していたので、私は彼がこの状況に対処する方法を探しに行きました。HakonB が言うように、これは失われたフォーカスを処理する最もクリーンな方法ではありませんが、うまくいくようです。少なくとも、より良い解決策が見つかるまではうまくいくはずです。彼は毎秒起動するタイマーを使用し、フォーカスがあるかどうかに関係なく、user32.dll の SetForegroundWindow(IntPtr hWnd) メソッドへの呼び出しを起動してフォーカスを取得します。ヘッズアップありがとう、HakonB!