0

Alt + Tab 入力を処理するプログラムは、タスク スイッチャーと呼ばれると言われています。しかし、ストックから提供されるタスクスイッチャーには満足できません。

誰かが正しい方向にプッシュしてくれるので、自分で書いて古いものを新しいものに置き換える方法がわかりますか?

プログラミングの経験がないわけではありません。この特別な経験をどこから始めればよいかわかりません。:D

ありがとうございました!

4

2 に答える 2

2

Windows で代替スイッチャーを作成するには、3 つの重要な要素があります (これらは Windows 7 でテストされています)。

  1. Alt+Tab をキャプチャ: これにはSetWindowsHookEx低レベルのキーボード フック( WH_KEYBOARD_LL) を使用します。

  2. 切り替えることができるウィンドウを列挙します。これに関する 2 つのオプションは、EnumWindowsまたは UI オートメーション フレームワーク (マネージ コードで を使用できますSystem.Windows.Automation) です。

  3. 切り替えを実行します。SwitchToThisWindowまたはを使用できますSetForegroundWindowが、どちらの場合もuiAccess=trueマニフェストで設定する必要があります。これにはさらに、実行可能ファイルに署名して Program Files にインストールする必要があります。他のそのような悪ふざけを呼び出したり、実行したりする必要はありません。AttachThreadInput

詳細については、このブログ投稿を参照してください。

于 2014-02-10T02:32:52.777 に答える
0

このリンクであなたの質問に答えました: 最後にアクティブ化されたプログラムに集中する方法は? そのコードの代わりにこのコードを使用すると、開いているウィンドウのリストを取得できます。

string name = GetWindowTextRaw((IntPtr)hwnd);
if (name.Length > 0)
{
     windowArray.Add(hwnd);
}

これで、次のコードを使用してウィンドウを切り替えることができます。

SetForegroundWindow((IntPtr)windowArray.sth);
于 2012-12-02T11:55:31.957 に答える