所以嘿,我们试图创建一个汽车类型,例如Internet Explorer中的自动类型
此脚本
Process[] processes = Process.GetProcessesByName("JLauncher");
foreach (Process proc in processes)
PostMessage(proc.MainWindowHandle, WM_KEYDOWN, detail, 0);
int detail = 0x33
基本上,此脚本仅在过程JLauncher
我想知道是否有办法将这个脚本与:
结合起来SendKeys.Send();
基本上是这样的:
Process[] processes = Process.GetProcessesByName("JLauncher");
foreach (Process proc in processes)
PostMessage(proc.MainWindowHandle, WM_KEYDOWN, SendKeys.Send("Hello"), 0);
据我所知,这个论坛不适合你们为别人编写代码,但我真的需要一行脚本
anny1可以帮忙吗?
答案 0 :(得分:1)
您需要发送多个WM_KEYDOWN事件才能输入字符串。为此,您首先必须将字符串解析为wParam
的相应PostMessage
值(virtual key codes)。您可以使用KeyInterop.VirtualKeyFromKey来获取这些内容。
为了帮助您入门,简化版(不处理大写/小写字符)可能如下所示:
private static void SendKeysTo(Process proc, string str)
{
foreach (var ch in str)
{
Key result;
if (Enum.TryParse(ch + "", true, out result))
{
PostMessage(proc.MainWindowHandle, WM_KEYDOWN, KeyInterop.VirtualKeyFromKey(result), 0);
}
}
}