2016-07-10 3 views
-2

私は、ゲームの実行中はまだアクティブで動作するはずのアプリを書いています。私はまた、フォームを不可視(最小化)にする必要があります。アプリケーションは特定のキー(GetAsyncKeyStateとTimerコントロールを使用)を待ってから、マウス入力を送信します。すべてがWINAPIを使用して行われます。私はSystem.Drawingも使用しています。だから私はコンソールアプリケーションを書くことができません - それはシステムライブラリへのアクセスを提供しません。このコードでこれを実行しようとしました:バックグラウンドでフォームをアクティブにする[C#WinForms]

private void Form1_Deactivate(object sender, EventArgs e) 
    { 
     Activate(); 
     this.Focus(); 
    } 

ただし、動作しません。また、TopMost値をtrueに設定しました。他の提案はありますか?

+0

あなたはマウスとキーボードの入力を受け付け、透明フォームを探しています:これで、あなたはゲームが&集束^^

お役立ちリンク上でいる間、キー/マウス入力を取得することができるでしょうか? [this](http://stackoverflow.com/a/32783251/3110834)の記事を見てください。 –

+0

いいえ、それは私が探しているものではありません。私の問題は、フォームがまだ上にはない(たとえばゲームを起動するときなど)、キーボード入力を受け付けず、マウスのクリックを送信するということです。 – g2556

+0

* Invisible *フォームを上に置いても意味がありません。しかし、* Transparent *フォームの場合は意味があります。 –

答えて

0

アプリケーションが非表示/非表示になっている間にキー/マウス入力を受け取るようにするには、グローバルキーボード/マウスフックを使用する必要があります。 https://keyboardmousehooks.codeplex.com/

+0

私はまた、マウスの入力を送信したいだけでなく、受信します。 – g2556

+0

SendMessage APIでできること^^ – Haytam

+0

ありがとう、ありがとう。私は後でそれを試してみましょう;) – g2556

関連する問題