質問

実行中のPCへのアクセスをロックダウンする必要があるアプリケーションを構築しようとしています。アプリを全画面モードで最上位に実行し、alt-tabbingが他のアプリやタスクバーへのアクセスを許可しないようにする必要があります。

これまでのところ、TopMost = true、WindowStyle = WindowStyle.None、およびWindowState = WindowState.Maximizedを設定して、必要なもののほとんどを実現していますが、タスクバーが表示されるインスタンスを取得しています。 LostFocusの動作をウィンドウに実装しようとしましたが、必要な動作が得られないようです。

この動作を実装する必要がある方向に誰かが私を指すことができますか?

追加情報
残念ながら、このプロジェクトの性質上、クライアントマシンを変更することはできず、XP、Vista、Win7が混在しています。 PCは当社が所有するものではありませんが、可能な限り安全な方法でコンテンツを配信するために使用するものです。 PCの所有者は、ソフトウェアの実行に関する制限を認識しており、PCが「ロックダウン」されることを喜んでいます。アプリケーションの実行中ですが、変更することはできません。

その他の方法
HakonB はScott HanselmanのBabySmashアプリケーションについて言及したので、探していました状況を処理する彼の方法。 HakonBが言うように、これは失われたフォーカスを処理する最もクリーンな方法ではありませんが、動作しているように見えます。彼は1秒ごとに起動するタイマーを使用し、user32.dllのSetForegroundWindow(IntPtr hWnd)メソッドの呼び出しを起動して、フォーカスがあるかどうかに関係なくフォーカスを取得します。ヘッズアップ、HakonBをありがとう!

役に立ちましたか?

解決

Scott HanselmanのBabySmashをご覧ください。このサイトは BabySmash

で見つけることができます。

彼は、アプリケーションを作成するための作業を説明するブログエントリをいくつか持っていました。キオスクモードのベビーセーフアプリケーションを備えています。

Codeplex

でプロジェクトを見つけることができます。
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top