作者fo40225 (靖)
标题Re: [问题] 请问sendkeys在指定档案中使用
时间Thu Aug 27 22:45:51 2015
※ 引述《dedicationsh (ddd)》之铭言:
: 我开了一个记事本
: 我有办法设一个click botton然後我点一下
: 他就让个记事本多一个讯息吗
: 一直用不出来 附上程式码
: private void button1_Click_1(object sender, EventArgs e)
: {
: Process notePad = new Process();
: // FileName 是要执行的档案
: notePad.StartInfo.FileName = @"C:\Users\JA\Desktop\test.txt";
: notePad.Start();
: }
: private void button3_Click(object sender, EventArgs e)
: {
: SendKeys.Send("-----123\t-----\n");
: }
: 我是想要我点button3就出现那段讯息 不知怎麽设定
msdn.microsoft.com/zh-tw/library/system.windows.forms.sendkeys.send.aspx
MSDN与推文里都有人说了 你需要先把目标视窗带到前台 再发送按键
不过这事情需要直接呼叫Win32 API 实作上可能比较麻烦点
HandleRef wndHandle;
private void button1_Click(object sender, EventArgs e)
{
var notePad = new Process();
notePad.StartInfo.FileName = "test.txt";
notePad.Start();
while (notePad.MainWindowHandle == default(IntPtr))
{
}
wndHandle = new HandleRef(notePad, notePad.MainWindowHandle);
}
[DllImport("user32.dll", ExactSpelling = true, CharSet = CharSet.Auto)]
public static extern bool SetForegroundWindow(HandleRef hWnd);
private void button2_Click(object sender, EventArgs e)
{
SetForegroundWindow(wndHandle);
SendKeys.Send("123");
}
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 61.230.143.123
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_Sharp/M.1440686755.A.99F.html
1F:推 dedicationsh: 感谢大大热心地指导^^ 08/28 14:38