`
jie2workjava
  • 浏览: 151151 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

sendMessage实现按键盘

 
阅读更多

测试了好久终于解决了按键盘的方法sendMessage

LRESULT SendMessage(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM IParam);

 hWnd:其窗口程序将接收消息的窗口的句柄。如果此参数为HWND_BROADCAST,则消息将被发送到系统中所有顶 

              层窗口,包括无效或不可见的非自身拥有的窗口、被覆盖的窗口和弹出式窗口,但消息不被发送到子窗口。

 Msg:指定被发送的消息。

 wParam:指定附加的消息指定信息。

 IParam:指定附加的消息指定信息。

   1的ASCII值:49
   2的ASCII值:50
   a的ASCII值:97
   A的ASCII值:65 
  

const CString title = "无标题 - 记事本"; 
void CTxttestDlg::OnButton1() 
{ 
HWND hwnd = ::FindWindow("Notepad",NULL); 
HWND hwnd1 = ::FindWindowEx(hwnd,NULL,"Edit",0); 

::SendMessage(hwnd1,WM_COPY,0,0); 
} 

void CTxttestDlg::OnButton2() 
{ 
// TODO: Add your control notification handler code here 
//HWND hwnd = ::FindWindow(NULL,title); 

HWND hwnd = ::FindWindow("Notepad",NULL); 
HWND hwnd1 = ::FindWindowEx(hwnd,NULL,"Edit",0); 

::SendMessage(hwnd1,WM_PASTE,0,0); 
} 

void CTxttestDlg::OnButton3() 
{ 

HWND hwnd = ::FindWindow("Notepad",NULL); 
HWND hwnd1 = ::FindWindowEx(hwnd,NULL,"Edit",0); 
//::SendMessage(hwnd1,WM_PASTE,0,0); 
//::SendMessage(hwnd1,WM_CHAR,'A',0); 
::PostMessage(hwnd1,WM_KEYDOWN,50,0); //2 
::PostMessage(hwnd1,WM_KEYUP,51,0);      //3 
//用PostMessage可以输出,SendMessage不行 
//::PostMessage(hwnd1,WM_KEYDOWN,VK_F1,0);//按下F1 
} 

void CTxttestDlg::OnButton4() 
{ 
// TODO: Add your control notification handler code here 
HWND hwnd = ::FindWindow(NULL,title); 
::SendMessage(hwnd,WM_CLOSE,0,0); 
} 

 

͔±¦ƷƆ¾«ѡʌƷ

 

分享到:
评论

相关推荐

    SendMessage之模拟按键

    总结,`SendMessage`函数在VB编程中用于模拟按键,通过发送特定的消息来实现键盘输入的效果。组合键的模拟则需要考虑到不同键的按下单次顺序和状态,确保正确地发送相应的虚拟键码。通过这样的方式,开发者可以在...

    API模拟鼠标键盘动作四种方法.doc

    驱动程序可以直接控制键盘的输入设备,从而实现键盘模拟。这需要对驱动程序有深入的了解,并且需要管理员权限。 4. 骨灰级模拟:通过直接控制键盘硬件来模拟键盘操作。这需要对键盘硬件的深入了解,并且需要管理员...

    模拟键盘鼠标实现虚拟按键.zip

    本教程"模拟键盘鼠标实现虚拟按键.zip"正是针对这一需求,通过C# .NET编程语言提供了详细的解决方案。下面将深入探讨相关知识点。 首先,我们来看C#中的`MySendKeys.cs`文件,它可能包含了自定义的模拟键盘输入的类...

    c# sendmessage 回车

    在C#编程中,`SendMessage`函数是Windows API(应用程序接口)的一部分,它允许程序员向其他窗口发送消息,包括模拟用户输入,例如按下回车键。`SendMessage`函数的使用通常涉及以下知识点: 1. **Windows API调用*...

    sendkey 与 sendmessage_sendmessage_sendkey_vb6_

    `SendMessage` 可以发送各种类型的消息,包括键盘和鼠标事件,但并不直接模拟用户输入,而是通过向目标窗口发送WM_KEYDOWN或WM_KEYUP等消息来实现。例如,可以使用以下代码向指定窗口发送'a'键: ```vb6 Declare ...

    C# Winform中使用SendMessage消息发送拦截

    总之,`SendMessage`和`WndProc`是C# Winform开发中的两个核心工具,它们允许开发者以低级别方式控制窗口和消息处理,从而实现更复杂的功能。通过理解和熟练使用这些工具,你可以创建出更强大、更具交互性的用户界面...

    Delphi SendMessage

    在这个"Delphi SendMessage Demo"中,我们很可能会看到如何利用`SendMessage`来实现各种功能。 `SendMessage`函数的基本语法如下: ```delphi function SendMessage(hWnd: HWND; Msg: UINT; wParam: WPARAM; ...

    sendmessage.zip

    《使用sendMessage工具实现Windows进程间通信》 在Windows操作系统中,进程间的通信(Inter-Process Communication, IPC)是一项重要的技术,使得不同的程序能够共享数据、协调工作。在各种IPC方法中,利用系统消息...

    SendMessage函数完全使用手册

    了解和熟练使用SendMessage函数对于Windows应用程序的开发至关重要,它可以帮助我们实现丰富的用户交互和窗口间的通信。在实际编程中,应根据具体需求选择合适的消息传递方式,以确保程序的稳定性和效率。通过深入...

    C# findwindow及sendmessage外挂

    "C# findwindow及sendmessage外挂"这个主题就是关于如何利用C#的FindWindow和SendMessage这两个API函数来实现程序间的通信,尤其是创建外挂程序。下面我们将深入探讨这两个函数以及它们在创建外挂中的应用。 ...

    C#_SendMessage

    ### C# SendMessage与...在C#中利用P/Invoke技术调用`SendMessage`函数,可以实现向窗口发送各种Windows消息,从而控制窗口的行为或响应特定事件。理解这些消息及其含义对于开发高质量的Windows应用程序至关重要。

    VC++鼠标键盘的录制与回放

    综上所述,实现"VC++鼠标键盘的录制与回放"涉及到的技术点包括:安装和管理钩子、使用SendMessage和PostMessage发送消息、链表的数据结构应用、处理鼠标和键盘事件以及文件的读写操作。掌握这些技术不仅可以用于制作...

    如何查找sendmessage最后两个参数的方法

    模拟按下指定键可以使用 SendMessage 函数发送 WM_KEYDOWN 消息,wParam 指定键盘消息,lParam 可以传递 0。 SendMessage 函数的最后两个参数的用法是灵活多变的,需要根据要发送的消息来确定其用法。通过查找 MSDN...

    C#调用API控禁用键盘鼠标

    ### C#调用API控制禁用键盘鼠标及锁屏功能详解 ...通过本文介绍的知识点,读者可以了解并掌握如何在C#中利用Windows API实现对键盘鼠标输入的控制以及工作站的锁定等功能。这对于开发特定类型的系统工具非常有用。

    SendMessage 参数与例子

    1. 发送键盘事件:如果你想模拟用户按下某个键,可以使用`WM_KEYDOWN`消息,如`SendMessage(hWnd, WM_KEYDOWN, VK_A, 0)`将模拟按下'A'键。 2. 获取控件值:例如,要获取一个编辑框(Edit Control)的文本,可以...

    (hook)实现C#的屏幕键盘效果

    4. **模拟键盘输入**:使用Windows API函数如`SendInput`来模拟键盘键的按下和释放。 5. **注销钩子**:在应用程序退出或不再需要监听键盘事件时,应通过`UnhookWindowsHookEx`函数注销钩子。 #### 示例代码分析 ...

    KeyBoard_cannotl1c_数字键盘_mfc键盘_字母键盘_

    综上所述,创建一个MFC应用来实现字母键盘和数字键盘功能,涉及到的主要步骤包括设计对话框、创建控件、处理用户输入事件、以及实现键盘切换逻辑。通过熟练掌握MFC库,开发者可以轻松构建出功能丰富的Windows应用...

    易语言 后台 自动 打字 不占用键盘

    SendInput函数可以模拟键盘按下和释放的事件,INPUT结构体包含了模拟键盘事件的具体信息。 4. **窗口句柄获取**:在易语言中,通常需要先找到目标窗口的句柄,以便将键盘事件发送到正确的位置。这可以通过“窗口....

    模拟键盘输入,串口通信

    具体实现可能涉及到解析接收到的串口数据,然后调用前面提到的`KeyboardSimulator`类的`SendKeyPress`方法来模拟键盘输入。 总的来说,通过C#的Winform应用,我们可以结合模拟键盘输入和串口通信,实现如游戏控制、...

Global site tag (gtag.js) - Google Analytics