我已经搜索了很多关于sendinput到非活动窗口的内容。 但是,我发现的所有方法都会使目标窗口获得焦点。这是一个例子:
IntPtr NotepadHandle = FindWindow("Notepad", "Untitled - Notepad");
uint noteid = GetWindowThreadProcessId(NotepadHandle, IntPtr.Zero);
uint selfid = GetCurrentThreadId();
bool attach = AttachThreadInput(selfid, noteid, true);
SetFocus(NotepadHandle);
//sendInput"a"=================================================
INPUT Input = new INPUT();
Input.type = 1; //keyboard_input
Input.ki.wVk = 65; //a
Input.ki.dwFlags = 0;
SendInput(1, ref Input, Marshal.SizeOf(Input));
Input = new INPUT();
Input.type = 1;
Input.ki.wVk = 65;
Input.ki.dwFlags = 2;//key_up
SendInput(1, ref Input, Marshal.SizeOf(Input));
//sendInput"a"=================================================
bool cutattach = AttachThreadInput(selfid, noteid, false);
它可以发送" a"到非活动记事本,但我想要的是保持记事本非强制或甚至最小化。
有没有这样做?谢谢!
我问这个的原因是我发现了一个名为" WindClick"这可以做我想要的。 " WindClick"我在使用电脑时可以继续点击其他窗口。 但它无法保存配置,所以我正在尝试制作类似的应用程序。 我怎样才能制作这样的应用程序?