我需要找出关键主板值的自动装配?如何将键击发送到应用程序UI自动化?我需要在键盘中自动化页面向上和向下翻页功能。什么是最好的方法 它?
修改 在我的应用程序后面的过程。假设最终用户打开5页的MS Word文档,他按下向上翻页和向下翻页按钮在这些页面中移动。我想使用c#自动化这个场景。目前我使用的是UIAutomationClient.dll和UIAutomationTypes.dll。我能用这些吗?
答案 0 :(得分:3)
自动发送各种击键的一种非常好的方法是AutoIt automation and scripting language。可以使用它完成很多工作,尤其是向上翻页和向下翻页。
我建议用自动编写一个EXE,它将自己连接到它将发送击键的程序。
答案 1 :(得分:2)
SendWait("C")
。E.g。
// Get a handle to an application window.
[DllImport("USER32.DLL", CharSet = CharSet.Unicode)]
public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
// Activate an application window.
[DllImport("USER32.DLL")]
public static extern bool SetForegroundWindow(IntPtr hWnd);
// Send a series of key presses to the Calculator application.
private void button1_Click(object sender, EventArgs e)
{
// Get a handle to the Calculator application. The window class
// and window name were obtained using the Spy++ tool.
IntPtr calculatorHandle = FindWindow("CalcFrame","Calculator");
// Verify that Calculator is a running process.
if (calculatorHandle == IntPtr.Zero)
{
MessageBox.Show("Calculator is not running.");
return;
}
// Make Calculator the foreground application and send it
// a set of calculations.
SetForegroundWindow(calculatorHandle);
SendKeys.SendWait("111");
SendKeys.SendWait("*");
SendKeys.SendWait("11");
SendKeys.SendWait("=");
}
请参阅How to: Simulate Mouse and Keyboard Events in Code> “将击键发送到其他应用程序”
答案 2 :(得分:1)
我认为您希望将键击发送到您没有源代码的应用程序 我无法帮你告诉你如何在C#中直接做到这一点 但是你可以用AutoIt轻松完成;它有一个你可以在C#中引用的DLL,可以完全满足你的需要。
答案 3 :(得分:1)
你读过吗? How to send keys instead of characters to a process?
这将告诉您如何将密钥发送到应用程序。
答案 4 :(得分:0)
在这种情况下,将word文档放到前面,然后在屏幕键盘上使用
System.Diagnostics.Process.Start("osk.exe");
并使用鼠标输入单击向上和向下翻页按钮
因为鼠标点击需要页面向上和向下按钮的屏幕坐标。
(我尝试使用UI自动检测屏幕键盘。但它没有检测到屏幕的键。 https://stackoverflow.com/questions/11077738/windows-sdk-inspect-tool-what-are-the-reasons-on-screen-keyboard-does-not-disp无法找到此问题的解决方案。因为我使用此移动点击方法单击按钮。 )
答案 5 :(得分:0)
// 使用Windows窗体并将此列表与发送键一起使用 https://www.autoitscript.com/autoit3/docs/appendix/SendKeys.htm 我很确定他只是在为他的SendKey.Send(“ {}”);; p