| ||||
■ タスク切り替えを行う(指定したウィンドウをフォアグラウンドにする)C#では(.NET Frameworkではと言うべきか)実行中のプロセスの一覧が取得できる。しかしながら、何故かそのプロセスのウィンドウをフォアグラウンドにするような機構は実装されていないようである。ここではWin32 APIのSetForegroundWindowを利用してタスク切り替えを行ってみる。 [DllImport("user32.dll")] extern static bool SetForegroundWindow(IntPtr hWnd); private void listBox1_DoubleClick(object sender, System.EventArgs e) { Process process = (Process)((ListBox)sender).SelectedItem; bool b = SetForegroundWindow(process.MainWindowHandle); } 上記の例ではリストボックスにProcessインスタンスがいくつか格納されているものとしている。SetForegroundWindowにはウィンドウハンドルを渡す必要があるが、これにはProcessインスタンスからMainWindowHandleを取得すれば良い。ただし、条件によってはうまくいかない場合もあるようだ。 "タスク切り替えを行う(指定したウィンドウをフォアグラウンドにする)"のサンプル (2005/07/12)
Copyright(C) 2004-2012 モバイル開発系(K) All rights reserved.
[Home]
|