模拟键盘发送文字(使用SendInput函数)

Posted 朝闻道

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了模拟键盘发送文字(使用SendInput函数)相关的知识,希望对你有一定的参考价值。

嗯...老生常谈的话题, 不过系统的总结了一下, 找了个相对简单的实现方式, 可以方便的发送任何文字

参考另一片文章: http://www.cnblogs.com/-clq/archive/2011/10/01/2197047.html

直接贴代码: 

复制代码
var
  nInputs: array[0..1] of tagINPUT;
  nData: WideChar;
  nStr: WideString;
  i: Integer;
begin
  nStr := \'测试内容123\';
  for I := 1 to Length(nStr) do
  begin
    nData := nStr[i];
    with nInputs[0] do
    begin
      Itype := INPUT_KEYBOARD;
      ki.wVk := 0;
      ki.wScan := Word(nData);
      ki.dwFlags := KEYEVENTF_UNICODE;
    end;
    SendInput(1, nInputs[0], SizeOf(nInputs[0]));
    with nInputs[1] do
    begin
      Itype := INPUT_KEYBOARD;
      ki.wVk := 0;
      ki.wScan := Word(nData);
      ki.dwFlags := KEYEVENTF_KEYUP or KEYEVENTF_UNICODE;
    end;
    SendInput(1, nInputs[1], SizeOf(nInputs[1]));
  end;
end;
复制代码

 

http://www.cnblogs.com/hs-kill/p/4761297.html

以上是关于模拟键盘发送文字(使用SendInput函数)的主要内容,如果未能解决你的问题,请参考以下文章

如何正确使用 SendInput() 在 C# 中模拟鼠标输入

SendInput() 不等于在 C++ 中手动按下键盘上的键?

在 Node-FFI 中使用 SendInput

模拟鼠标键盘相关

使用 C# 模拟键盘

反模拟类游戏外挂 转