向指定HWND发送字符串

 
  1. procedure SendKeys(focushld: hwnd; sSend: string);
  2. var
  3.   i: integer;
  4.   ch: byte;
  5. begin
  6.   if focushld = 0 then Exit;
  7.   i := 1;
  8.   while i <= Length(sSend) do
  9.   begin
  10.     ch := byte(sSend[i]);
  11.     if Windows.IsDBCSLeadByte(ch) then
  12.     begin
  13.       Inc(i);
  14.       SendMessage(focushld, WM_IME_CHAR, MakeWord(byte(sSend[i]), ch), 0);
  15.     end
  16.     else
  17.       SendMessage(focushld, WM_IME_CHAR, word(ch), 0);
  18.     Inc(i);
  19.   end;
  20.   postmessage(focushld, WM_keydown, 130); //按回车键
  21. end;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在VB.NET中,可以使用SendMessage函数来发送字符串。SendMessage函数是Windows API的一部分,它允许你发送消息给指定的窗口或控件。 下面是一个示例代码,演示如何使用SendMessage函数发送字符串: ```vb Imports System.Runtime.InteropServices Public Class Form1 ' 导入Windows API中的SendMessage函数 <DllImport("user32.dll", CharSet:=CharSet.Auto)> Private Shared Function SendMessage(ByVal hWnd As IntPtr, ByVal Msg As Integer, ByVal wParam As IntPtr, ByVal lParam As String) As IntPtr End Function ' 定义常量,用于SendMessage函数的参数 Private Const WM_SETTEXT As Integer = &HC Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click ' 获取目标窗口的句柄 Dim targetHandle As IntPtr = FindWindow(Nothing, "目标窗口标题") ' 发送字符串消息给目标窗口 SendMessage(targetHandle, WM_SETTEXT, IntPtr.Zero, "要发送字符串") End Sub End Class ``` 在上面的示例中,我们首先导入了user32.dll库,并声明了SendMessage函数。然后,我们定义了一个常量WM_SETTEXT,它表示要发送文本消息的消息代码。在按钮的点击事件处理程序中,我们使用FindWindow函数来获取目标窗口的句柄,然后使用SendMessage函数发送字符串消息给目标窗口。 请注意,你需要将"目标窗口标题"替换为实际的窗口标题,将"要发送字符串"替换为你要发送的实际字符串。 希望以上信息对你有帮助!如果你有任何其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值