我需要在一个程序(A)点击一个按钮,先用FINDWINDOW去判断另一个程序(B)是否打开,如果没有则用shellexecute打开(用shellexecute打开的程序B的窗口是前置激活的);如果打开了,就用FINDWINDOW获取的窗口句柄去激活另一个程序的窗口状态(如果它最小化就将其最大化然后激活),现在窗口句柄能够获取,但是用了好几种办法都无法将另一个程序(B)的窗口激活,SendMessage(_hwnd, WM_SYSCOMMAND, SC_MAXIMIZE ,0)、SendMessage(_hwnd, WM_SYSCOMMAND, SC_RESTORE,0)、SHOWWINDOW(hwnd,SW_SHOWMAXIMIZED)都试过了,都不行,是不是在点击程序(A)的按钮时,无法让(B)激活?有什么办法可以解决?请赐教,急!!!!
解决方案 »
- cwgraph源代码
- 状态栏显示鼠标当前的坐标
- 我用vc做了一个简单的人事管理系统,时间字段无法关联,其他正常
- winpcap捕捉到的包,分析时出的问题
- 关于自定义消息的发送与接受
- ActiveX事件很不好回答的问题,莫非个中高手,可能没有人回得对
- 请问如何在ActiveX控件上显示图像,并可对图像做简单处理。例如:扩大,局部扩大,可做文字注释,调整对比度等。多谢!急
- 我该怎样设一个全局变量??
- 数据类型转换的问题:如何将一个float型数据转换为CString型?
- 执行程序的时候显示“应用程序无法启动,配置不正确”怎么办?
- 请问怎样用纯C代码实现对一个BMP图片的读取和显示啊?
- 小弟现在在做一个通讯录程序,不知道用什么数据库,XDM给个建议吧
hwnd=::FindWindow(NULL,"程序窗口名称");
::SetForegroundWindow(hwnd);
::ShowWindow(hwnd,SW_RESTORE);
如过不能激活,准是要被激活的程序有问题,HOHO~~~
HWND hwnd;
hwnd=::FindWindow(NULL,"程序窗口名称");
::ShowWindow(hwnd,SW_HIDE);