OK、名前などでウィンドウを見つけることができました。私が見つけられなかったのは、ウィンドウアプリケーションのフォーカスを最後のアクティブウィンドウに切り替える方法です。私が下に示しているコードは、アクティブなタスクマネージャのアクティブなアプリケーションのリストを私に与えます。Alt-Tabのような最後のアクティブなアプリケーションに切り替えます。
どのようにするかわからないのは、どのアプリケーションが最後のアクティブなアプリケーションであったかを把握してから、それに切り替えます。たとえば...
私は自分のカスタムwinformアプリケーションを開いています。
私は、最後のアクティブなウィンドウ/アプリケーションにボタンを
私のアプリケーション・スイッチをクリックしてください。
これまでの作業コードは次のとおりです。 (これは、ボタン上のアクションであり、それは、アプリケーションがのTextBox1という名前のテキストボックスを持っていることを期待するあなたもたSystem.Diagnosticsを使用して追加する必要があります。
private void button1_Click(object sender, EventArgs e)
{
Process[] procs = Process.GetProcesses();
IntPtr hWnd;
foreach (Process proc in procs)
{
if ((hWnd = proc.MainWindowHandle) != IntPtr.Zero)
{
textBox1.Text += (proc.ProcessName.ToString());
textBox1.Text += "\t";
textBox1.Text += (hWnd.ToString());
textBox1.Text += "\r\n";
}
}
}
http://stackoverflow.com/questions/210504/enumerate-windows-like-alt-tab-does – vulkanino
私はすでにこれを見ました。それは私にとってはうまくいかない。 HWNDはどのクラスですか?私はSystem.Windows.Interopを持っていないようですがSystem.Runtime.InteropServicesがありますが、このクラスには含まれていないようです。 –
HWNDはWindows SDKから提供され、ウィンドウのハンドルを表します。 – vulkanino