2011-01-11 11 views
3

私はhttp://inputsimulator.codeplex.com/でホストされているプロジェクトを使用しています。実際に押されたキーをSendKeysに送るために、デフォルトのMicrosoftキーボード入力コードを使用しています。winformsアプリケーションは、フォーカスを持たずにユーザー入力を受け入れることができますか?

Microsoftのツール、オンスクリーンキーボードなどのキーボード機能を実行するためにwinformをキーボードとして使用する必要がある場合は、編集が必要なアプリケーションにフォーカスを合わせる必要があります。

たとえば、Wordで文書を入力する必要があるため、フォーカスがあります。しかし、フォームボタンをクリックすると、フォーカスがフォームに転送され、Word上に何も書き込まれません。

だから... ...私が欲しいもの

はフォーカスを取らないフォームコントロールを作成することですが、機能的に実行します。

+0

あなたの質問を完了することができます。 –

+0

質問が必要です。 ;) –

+0

マットボールとは、あなたが実際に質問していないということです。あなたは何を試しましたか、何が効いていないのですか?あなたが説明している2つのテクノロジーに慣れていない人にとっては、もう少し詳しく説明できますか? 「マイクロソフトのキーボードと同様に」 - マイクロソフトのキーボードの仕組みを理解していると仮定しています。問題をより詳細に説明し、解決する方法を概説し、成功を妨げる特定の問題について具体的な質問をしてください。 –

答えて

2

WS_EX_NOACTIVATEウィンドウスタイルフラグは、これを行うために設計されました。

public partial class Form1 : Form { 
    public Form1() { 
     InitializeComponent(); 
     this.TopMost = true; 
    } 
    protected override CreateParams CreateParams { 
     get { 
      var cp = base.CreateParams; 
      cp.ExStyle |= 0x08000000; // Turn on WS_EX_NOACTIVATE; 
      return cp; 
     } 
    } 
} 
+0

すばらしい作品 –

関連する問題