首页 > 电脑

请问,如何用C++实现VBS中sendkeys函数的功能?

更新时间2021-08-17 12:22:36

这个有多个方法的,个人觉得最简单的方法是用WM_CHAR

以下是测试

#include <stdio.h> #include <windows.h> #include <string.h> #include <stdlib.h> int main() { char ConsoleName[100] = {0};    GetConsoleTitle(ConsoleName, 100);    HWND hwnd = FindWindow(NULL, ConsoleName); //找出控制台的句柄 printf("%p ",hwnd);    char input[100]="Hello "; for(size_t i=0;i<strlen(input);i++) {    SendMessage(hwnd,WM_CHAR,(LPARAM)input[i],1); } char get[100]; gets(get); printf("%s ",get);   getchar();    return 0; }

程序的功能是向当前控制台发"Hello"字串,并用gets取加并打印

你可以改为向其它窗口发消息

当然,你可以用其它消息如wm_keyup/wm_keydown

windows还提供了一个复杂的函数sendinput,它可以向系统发任何键盘或鼠标的消息

上一篇:皮秒和点阵有什么区别?

下一篇:数据分析需要掌握哪些有用的知识?