VC++模拟鼠标点击
来源:互联网 发布:安卓按键软件 编辑:程序博客网 时间:2024/05/16 17:56
VC++模拟鼠标点击
flyfish
POINT m_mainPoint;//其他窗体 主窗体坐标
//该回调函数可以是全局或者类的静态成员函数
void Test(){ // TODO: 在此添加控件通知处理程序代码 CWnd *p = FindWindow(NULL, _T("测试")); HWND h = p->GetSafeHwnd(); if (h) { WINDOWINFO wndInfo = { sizeof(WINDOWINFO) }; ::GetWindowInfo(h, &wndInfo); m_mainPoint.x = wndInfo.rcWindow.left; m_mainPoint.y = wndInfo.rcWindow.top; EnumChildWindows(h, EnumChildWndProc, LPARAM(&m_mainPoint)); }}
BOOL CALLBACK EnumChildWndProc(HWND hWnd, LPARAM lParam){ if (NULL == hWnd) return FALSE; int id = ::GetDlgCtrlID(hWnd); if (id == 0x42C) // 0x42C为spy++显示的控件ID, 也是其他程序resource.h 文件中定义的Button控件ID { ::SendMessage(hWnd, WM_SETTEXT, NULL, (LPARAM)(_T("TEST"))); //模拟鼠标点击 POINT* pMainPoint = (POINT*)(lParam);//如果要传递主窗体坐标 可以这样传递 WINDOWINFO wndInfo = { sizeof(WINDOWINFO) }; ::GetWindowInfo(hWnd, &wndInfo); int x = wndInfo.rcWindow.left +2; int y = wndInfo.rcWindow.top + 2; x = 65535 * x / ::GetSystemMetrics(SM_CXSCREEN); y = 65535 * y / ::GetSystemMetrics(SM_CYSCREEN); INPUT input; input.type = INPUT_MOUSE; input.mi.dx = x; input.mi.dy = y; input.mi.mouseData = 0; input.mi.dwFlags = MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_MOVE | MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP; input.mi.time = 0; input.mi.dwExtraInfo = 0; SendInput(1, &input, sizeof(INPUT)); return FALSE; } return TRUE; //To continue enumeration, the callback function must return TRUE; to stop enumeration, it must return FALSE.}
0 0
- VC++模拟鼠标点击
- vc++6.0 模拟鼠标点击代码 木马程序的编写 VC 模拟键盘输入
- 模拟鼠标点击事件
- 模拟鼠标点击
- Java模拟鼠标点击
- 实现模拟鼠标点击
- 模拟鼠标点击
- 模拟鼠标点击
- 模拟鼠标点击
- select鼠标模拟点击
- 模拟窗口鼠标点击
- JS 模拟鼠标点击
- 模拟鼠标点击
- 模拟鼠标点击
- python模拟鼠标点击
- mouse_event模拟鼠标点击
- vb 模拟鼠标点击
- c# 模拟鼠标点击
- php 中文转换拼音
- String、String.valueOf、toString 它们三者的区别总结
- Scheduler和Job的基本概念
- 【综述】TCP/IP协议栈
- spring中的bean何时被实例化
- VC++模拟鼠标点击
- Java中的Static关键字
- 链式队列定义以及应用
- 常用性能分析工具之sar、iostat
- Bakery Algorithm的c#实现用于多线程互斥访问临界资源
- Linux命令发送Http的get或post请求(curl和wget两种方法)
- 文件默认权限
- swift中UINavigationController的使用
- java 原码、反码、补码计算 以及 取反(~)运算