我想做一个程序,功能是:监控另一个程序,当被监控的程序退出时,将它启动起来,并点击界面上的一个按钮。请各位大侠给指导一下,说一下哪几个函数可以实现此类功能?

解决方案 »

  1.   

    起一个线程OpenProcess打开要监控的程序,得到进程句柄hProcess,用WaitForSingleObject(hProcess, INFINATE)去等待进程退出,然后用ShellExecute去启动目标进程。接着用FindWindow找到目标程序主窗口,再用EnumChildWindow枚举到按钮的窗口,组后向按钮窗口发送WM_COMMAND消息
      

  2.   

    查找进程CreateToolhelp32Snapshot,Process32Next
    查找窗口EnumWindows,GetWindowThreadProcessId
    点击按钮PostMessage
      

  3.   

    监视程序: 可以通过查看进程名,或者窗口名,或者窗口类名是否存在.
    启动程序: 可以用ShellExecute或者CreateProcess来启动一个程序.
    发送消息: 得到窗口句柄(可以通过各种枚举方法得到),发送WM_COMMAND消息,也可以发送鼠标点击消息WM_LBUTTONDOWN,或者类似的鼠标消息.也可以直接枚举出那个按钮的窗口句柄,直接发送WM_LBUTTONDOWN
    SendMessage PostMessage