次のコードを使用して、ウィンドウ (この場合はメモ帳ウィンドウ) にフォーカスを置き、ボタン 2 がクリックされるたびにいくつかのキー操作をウィンドウに送信します。ただし、ボタン 2 を押しても何も起こりません。sendkeys コマンドが失敗する理由を教えてもらえますか?
public partial class Form1 : Form
{
[DllImport("user32.dll")]
static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);
private Process s;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
this.s = new Process();
s.StartInfo.FileName = "notepad";
s.Start();
s.WaitForInputIdle();
}
private void button2_Click(object sender, EventArgs e)
{
ShowWindow(s.MainWindowHandle, 1);
SendKeys.SendWait("Hello");
}
}