小编use*_*611的帖子

为什么SendInput Ctrl + V在Outlook中不起作用?

我有一个使用全系统热键程序Ctrl+ Shift+ a key of the user's choice通过发送到剪贴板中的文本粘贴Ctrl+ V使用SendInput所使用组合在这里。这在大多数程序中都可以正常工作。但是在Outlook的新电子邮件的“收件人”字段中,我尝试使用的每个键最终都会弹出“将项目移到文件夹” Outlook对话框,该对话框应该是Ctrl+ Shift+ V组合键。在“身体”字段中没有任何反应。任何想法在这里发生了什么?请参见下面的代码重现:

procedure TForm1.FormCreate(Sender: TObject);
begin
  If not RegisterHotkey( Handle, 1, MOD_SHIFT or  MOD_CONTROL, Ord('P') ) Then
    ShowMessage('Error');
end;

Procedure TForm1.WMHotkey( Var msg: TWMHotkey );
var
  KeyInputs: array of TInput;

  procedure KeybdInput(VKey: Byte; Flags: DWORD);
  begin
    SetLength(KeyInputs, Length(KeyInputs)+1);
    KeyInputs[high(KeyInputs)].Itype := INPUT_KEYBOARD;
    with  KeyInputs[high(KeyInputs)].ki do
    begin
      wVk := VKey;
      wScan := MapVirtualKey(wVk, 0);
      dwFlags := Flags;
    end;
  end; …
Run Code Online (Sandbox Code Playgroud)

delphi outlook hotkeys sendinput delphi-xe

5
推荐指数
1
解决办法
786
查看次数

标签 统计

delphi ×1

delphi-xe ×1

hotkeys ×1

outlook ×1

sendinput ×1