如何以编程方式双击Windows xp / 7中的系统任务栏图标并导致应用程序窗口打开?
答案 0 :(得分:1)
您想要打开自己的应用程序吗?然后,您可以向此过程发送消息以强制它打开。
本文可以帮助您在进程之间发送消息。 send message to other process
答案 1 :(得分:1)
你做不到。使用Spy ++看起来“用户升级通知区域”无法单击按钮,您无法控制哪些图标可见。
答案 2 :(得分:0)
您可以使用http://msdn.microsoft.com/en-us/library/ms646310.aspx向操作系统发送输入并双击特定位置:
void MouseMove (double x, double y )
{
double fx = x*65535.0f;
double fy = y*65535.0f;
INPUT Input={0};
Input.type = INPUT_MOUSE;
Input.mi.dwFlags = MOUSEEVENTF_MOVE|MOUSEEVENTF_ABSOLUTE;
Input.mi.dx = (long)fx;
Input.mi.dy = (long)fy;
::SendInput(1,&Input,sizeof(INPUT));
}
void lClick(){
INPUT Input={0};
// left down
Input.type = INPUT_MOUSE;
Input.mi.dwFlags = MOUSEEVENTF_LEFTDOWN;
::SendInput(1,&Input,sizeof(INPUT));
::ZeroMemory(&Input,sizeof(INPUT));
// left up
Input.type = INPUT_MOUSE;
Input.mi.dwFlags = MOUSEEVENTF_LEFTUP;
::SendInput(1,&Input,sizeof(INPUT));
}
然后在图标所在的位置调用mousemove,然后单击两次。 但这会暗示程序任务栏图标不会移动...取决于程序是什么,以及您是否知道计算机。