Im using a 3rd Party Application that exports a file. The application uses a hot key (Ctrl + E) as a shortcut for this function.
如何将这个组合键从我的 Delphi XE 应用程序发送到第 3 方应用程序?
Here is an example which shows how to send Ctrl+E to the foreground application using SendInput:
var
Inputs: array [0..3] of TInput;
begin
// press
Inputs[0].Itype := INPUT_KEYBOARD;
Inputs[0].ki.wVk := VK_CONTROL;
Inputs[0].ki.dwFlags := 0;
Inputs[1].Itype := INPUT_KEYBOARD;
Inputs[1].ki.wVk := Ord('E');
Inputs[1].ki.dwFlags := 0;
// release
Inputs[2].Itype := INPUT_KEYBOARD;
Inputs[2].ki.wVk := Ord('E');
Inputs[2].ki.dwFlags := KEYEVENTF_KEYUP;
Inputs[3].Itype := INPUT_KEYBOARD;
Inputs[3].ki.wVk := VK_CONTROL;
Inputs[3].ki.dwFlags := KEYEVENTF_KEYUP;
SendInput(Length(Inputs), Inputs[0], SizeOf(TInput));
end;
我还使用 Steve Seymour 的 SendKeys.pas 的稍微修改版本。它在不同的键盘布局上存在一些问题,并且是 1999 年的。在网络上找不到它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)