我想要类似SendKeys.SendWait("some_text")
的东西,但是似乎sendKeys
的pinvoke在我的操作系统上无法正常工作,因此我在许多地方建议使用InputSimulator Library更改为SendInput
库
所以我需要在某处引入一些文本,等待几秒钟,直到目标应用找到该文本并模拟向下键以选择第一个结果。
我正在使用与此类似的东西:
// Clear text Input
sim.Keyboard.KeyPress(VirtualKeyCode.HOME);
sim.Keyboard.ModifiedKeyStroke(VirtualKeyCode.SHIFT, VirtualKeyCode.END);
sim.Keyboard.KeyPress(VirtualKeyCode.DELETE);
// Introducing new text
if (!sMessage.Equals(""))
{
sim.Keyboard.TextEntry(sMessage);
sim.Keyboard.Sleep(3000);
sim.Keyboard.KeyPress(VirtualKeyCode.DOWN);
}
在屏幕上显示的内容是,在3秒钟之后,引入了文本,在按下要结束的文本之前,按下了向下键。所以我要在搜索完成之前选择第一个结果。
我需要的是一种等待输入文本,再等待2/3秒以便可以完成搜索并最终选择第一个结果的方法。
我该如何处理?我还尝试使用Tasks.WaitAll创建和封装每条指令,而没有结果。
希望一切都清楚,否则请告诉我。