2012-04-28 6 views
0

私は、ウィンドウに焦点を当てていると思うように本質的にどのようにトリックすることができるのか把握しようとしています。私が何らかの検索によって見つけたのは、これを達成するために何らかのサンドボックスが必要だということです。 OSとウィンドウ間の中間層。ウィンドウをフォーカスしています(サンドボックス?、App-V?)

私はC#(pinvokeなど、必要に応じて)でこれを達成する方法を正しい方向で教えていただけると助かります。本質的にC#プログラムから別の実行可能ファイルを起動して、一定のウィンドウフォーカスを使って、偽のデスクトップになるように設定します。しかし、通常のようにウィンドウとやりとりすることができます(ウィンドウラッパーのように、フォーカスを失う可能性がありますが、ウィンドウ内にはフォーカスが外れているとは決して考えられません)。

これは確かに重要なことです(ただし、おそらくそれは誰かがこれに対するエレガントな解決策を知っているかもしれません)。しかし、私はそれが可能であることを知っています。製品。 (私はこのサンドボックス製品の動作の1つをエミュレートしようとしています)。

答えて

0

まず、起動イベントを呼び出してみてください。

任意の機能のうち次に
private void Form1_Activated(object sender, EventArgs e) 
{ 
    //Code 
} 

、eventargを宣言:あなたが偽の焦点にしたいとき

private EventArgs ev; 

最後に、呼び出し活性化された機能:

Form1_Activated(this, ev); 

希望!

+0

申し訳ありませんが、これは実際に私が話していたようなものではありません。私は、第三者のアプリケーションを騙して、それがフォーカスを持っていると信じる(ゲームやそのようなもののように)という行にもっと沿っていました。 – Hydra

0

WM_ACTIVATEメッセージをターゲットウィンドウのメッセージキューに挿入できます。これは、たとえそうでなくても、それがフォーカスを持っていると思うようにそれを騙すかもしれません。実際にアプリケーションがどのようにフォーカスをチェックしているかによって異なります。

関連する問題