外部アプリケーションにキーストロークを送り操作する

「外部アプリケーションにキーストロークを送り操作する」の編集履歴(バックアップ)一覧に戻る

外部アプリケーションにキーストロークを送り操作する - (2010/06/12 (土) 14:04:53) のソース

外部プロセスにキーをストロークする。

[DllImport("User32.dll", EntryPoint = "FindWindow")]
private static extern IntPtr FindWindow(String lpClassName, String lpWindowName);
[DllImport("user32.dll", CharSet = CharSet.Unicode)]
private static extern bool PostMessage(int hWnd, Int32 Msg, int wParam, int lParam);

private const Int32 WM_KEYDOWN = 0x0100;

// IEのウィンドウハンドル取得
IntPtr hWnd = FindWindow(null, "Yahoo! JAPAN - Windows Internet Explorer");
// ハンドル取得失敗時
if (hWnd == IntPtr.Zero)
{
  Console.WriteLine("ハンドルが取得できません");
  return;
}

// メッセージPOST
bool result = PostMessage((int)hWnd, WM_KEYDOWN, (int)(Keys.F11),0);