我需要在发送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}");
    }
}

我需要在发送SendKeys.SendWait("^ ")后获得SaveFileDialog,但下面

改变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