访问其他过程的menustrip

时间:2014-01-14 13:59:22

标签: c# .net winapi automated-tests

我致力于在C#中自动化科学测量程序的行为。

该程序确实有一个.net API,但该程序的开发人员还没有包含所有必要的命令,例如。他们没有包含一个简单的“另存为”命令,我需要它来保存测量数据。

enter image description here

有没有办法操作应用程序的菜单条,例如按“另存为”按钮。

我通过Process.Start();

从我自己的应用程序启动程序

1 个答案:

答案 0 :(得分:0)

一个简单的解决方案 - 将目标路径复制到剪贴板,然后使用例如SendKeys.SendWait()将以下密钥发送到目标应用程序(在它们之间有足够的暂停)Ctrl + S "^s",Ctrl + V "^v",输入"{ENTER}"

验证文件夹是否存在也是个好主意,文件没有,否则保存显然会失败,或者会弹出覆盖确认。

P.S。但在此之前,请使用例如.NET Reflector确保他们的.NET API没有保存功能:在许多情况下,SendKeys方法将失败。