zoukankan      html  css  js  c++  java
  • c++ 创建进程设置窗口标题模拟键盘鼠标例子

    很简单

    // 鼠标键盘.cpp : Defines the entry point for the console application.
    //
    
    #include "stdafx.h"
    #include <windows.h>
    
    void creatqq()
    {
    STARTUPINFO si = {0};           
    PROCESS_INFORMATION pi;        
    si.cb = sizeof(si);        
    
    TCHAR qqname[]=TEXT("C:/Users/CSXJJ/Desktop/2.exe");
    BOOL res = CreateProcess(    qqname,     
        NULL,     
        NULL,     
        NULL,     
        FALSE,     
        CREATE_NEW_CONSOLE,     
        NULL,     
        NULL, &si, &pi);     
    if (res==NULL)
    {
    MessageBox(NULL,TEXT("进程创建失败"),0,0);
    }
    Sleep(1000);
    }
    
    
    
    
    int main(int argc, char* argv[])
    {
    creatqq();
    HWND hwnd=::FindWindow(TEXT("WTWindow"),TEXT(""));
    if(hwnd != NULL)                                
    {                                
        //修改窗口标题                            
        ::SetWindowText(hwnd,"新的窗口标题");                            
    }                                
    else                                
    {                                
        ::MessageBox(NULL,TEXT("窗口没有找到"),TEXT("[ERROR]"),MB_OK);                            
    }    
    
    
    HWND htext = FindWindowEx(hwnd,NULL,"Edit","");//获取子窗口 用ex函数
    //printf("%d",htext);
    //模拟鼠标单击
    RECT r; //获得编辑框输出的矩形区域
    ::GetWindowRect(htext,&r);
    ::SetCursorPos(r.left+10,r.top+10);
    //printf("%d",r.left+10);
    //鼠标左键单击
    mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);//点下左键 
    mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);//松开左键
    
    //模拟键盘
    keybd_event(97,0,0,0);
    keybd_event(97,0,KEYEVENTF_KEYUP,0);
    Sleep(1000);
    keybd_event(66,0,0,0);
    keybd_event(66,0,KEYEVENTF_KEYUP,0);
    
                                
    ::SendMessage(htext,WM_SETTEXT,NULL,(LPARAM)"4756");;//设置文字
    Sleep(1000);
    ::SendMessage(hwnd,WM_CLOSE,NULL,NULL);
        return 0;
    }

    参照代码

  • 相关阅读:
    Junit单元测试
    Stream流方法引用
    Stream流思想和常用方法
    算法
    函数式接口
    Zookeeper理解
    GreenPlum学习之(Share-nothing)架构
    链表反转问题
    KMP算法的java实现
    KMP详解之二
  • 原文地址:https://www.cnblogs.com/xuexidememeda/p/12821502.html
Copyright © 2011-2022 走看看