我需要在发送SendKeys.SendWait("^ ")后获得SaveFileDialog,但下面
本文关键字:quot SaveFileDialog SendKeys SendWait | 更新日期: 2023-09-27 18:08:20
我希望下面的代码显示发送SendKeys.SendWait("^(s)")后的savefiledialog;到记事本文件。但是代码不工作,有什么问题吗?
IntPtr handle = FindWindow("Notepad", "15 - Notepad");
if (!handle.Equals(IntPtr.Zero))
{
// activate Notepad window
if (SetForegroundWindow(handle))
{
Thread.Sleep(1000);
// send "Hello World!"
SendKeys.SendWait("Hello World!");
Thread.Sleep(1000);
//to show savefiledialog
SendKeys.SendWait("^(s)");
// to enter save button on savefiledialog
SendKeys.SendWait("{ENTER}");
}
}
改变SendKeysWait("^(s)");
来SendKeysWait("(^s)");
同样在模拟保存调用时,我发现它打开了保存对话框,但你点击了文件名。你可以添加
SendKeysWait("filesname.txt");
给它一个名字。
然后使用SendKeysWait("{TAB}");
tab over,使save被突出显示,然后输入{ENTER}
。
这个适合我。
SendKeys.SendWait("(^s)");
SendKeys.Flush();
SendKeys.Flush();
System.Threading.Thread.Sleep(100);
SendKeys.SendWait("filename.txt");
System.Threading.Thread.Sleep(100);
SendKeys.SendWait("{TAB}");
System.Threading.Thread.Sleep(100);
SendKeys.SendWait("{TAB}");
System.Threading.Thread.Sleep(100);
SendKeys.SendWait("{Enter}");
如果有一个同名的文件,你会遇到问题。可能有一种更好的方法来实现记事本操作的自动化。您可以使用文件io流来创建和写入.txt文件。Msdn在这方面做得很好。
https://msdn.microsoft.com/en-us/library/8bh11f1k.aspx