您好,感谢您阅读我的帖子! 现在小弟,要做一个驱动程序Aproc,通过Aproc可以去控制另外一个进程Bproc的开启,关闭;而且可以通Aproc去改变Bproc的窗口(有多个窗口),即通Aproc改变Bproc的窗口的显示顺序;怎么样才能获得Bproc的主窗口的指针或句柄;
解决方案 »
- 关于下拉框控件的一些问题,请教大家!!!
- linux下c++弄了一个xml字符串放到activemq队列中,Java从队列中取出来之后,中文是乱码。怎么解决。
- 对话框的popup 、overlapped、child 这三种style有什么区别?特点又是什么?
- 记事本的核心是啥?
- 我是新人,急呀,一个VC++中的简单问题.拜托大家帮个忙
- 下面几个关键字的意义是什么?
- 还是简单
- vc中有没有处理ini文件的类,或请介绍处理ini文件的代码与函数.谢谢(最好有例程)!!!
- 在CListCtrl中加入一行后想将垂直滚动条滑到底?
- 我的毕业设计是在vc下用com+作一个事务处理程序,请问有没有必要学习com?好像com比com+难学,我现在因为时间紧,请问有没有必要学习com原理?谢谢!
- 求调用ATL COM组件的客户端代码,VC6.0,时间紧迫,
- 请教:我在 WIN32 APPLICATION 用 SetTimer 时,出现这样的错误,请各位大哥帮我看看!谢谢!
//进入循环
while (pMainWnd)
{ //该名字用于判断是否是IE浏览器
CString IEName;
//获得该窗口的名字并放入IEName中
GetClassName(pMainWnd->m_hWnd,IEName.GetBufferSetLength(100),100);
pMainWnd->GetWindowText(IEName);
//IE名字是IEFrame,所以判断该名是否于等于它
if(IEName=="与 索尼 聊天中"){
//是的话,获得子窗口句柄
::SetWindowPos(pMainWnd->m_hWnd,HWND_TOPMOST,0,0,0,0,SWP_NOSIZE|SWP_DEFERERASE);
// pMainWnd->ShowWindow(SW_SHOWMINIMIZED);
CWnd* pChildWnd=CWnd::FromHandle(FindWindowEx(pMainWnd->m_hWnd,NULL,"WorkerW",NULL));
if(pChildWnd)
{
// 如果子窗口存在,获得它的风格,如果满足条件,就给它发消息关闭它。
if(!(GetWindowLong(pChildWnd->m_hWnd,GWL_STYLE)&WS_VISIBLE))
{
pMainWnd->PostMessage(WM_CLOSE,0,0);
}
}
}
//继续获得下一个窗口句柄
pMainWnd = pMainWnd->GetWindow(GW_HWNDNEXT);
}要是不给分,也就算了
获得主窗口首先要获得Bproc这个进程的句柄,只有通过它才可以达到目标;因为驱动下面根本不知道可能会有什么窗口,也不知道名字!
只是现在知道进程的HANDLE不知道如何获得该进程的ID