VC如果得到其他程序窗口的控件句柄
问过一些朋友,说用GetDlgItem(),其实是不可以的,因为这个函数需要目标窗口的ID作为参数。我是要得到不是本程序本身窗口的控件句柄,那么我就没有控件的ID,所以不...
问过一些朋友,说用GetDlgItem(),其实是不可以的,因为这个函数需要目标窗口的ID作为参数。我是要得到不是本程序本身窗口的控件句柄,那么我就没有控件的ID,所以不行!比如我要得到QQ登录窗口输入账号的ComboBox的句柄,该怎么做?请讲解+举例。
展开
2个回答
展开全部
思路有问题,应该如下做(只限于有标题栏的窗口)
1.找到窗口,通过标题,如下:
HWND myHwnd;
/////////找到窗口的HDR
myHwnd=::FindWindow( NULL,/* class name*/
"窗口名称" //LPCTSTR lpWindowName // window name
);
if(myHwnd==NULL) //"Cannot Find");
2 //找到窗口的位置及大小
::GetWindowRect( myHwnd, // handle to window
mRect // client coordinates
);
3.获得屏幕句柄
HDC hdc = ::GetDC(NULL);
4.通过mRect 和hdc 对界面进行操作
1.找到窗口,通过标题,如下:
HWND myHwnd;
/////////找到窗口的HDR
myHwnd=::FindWindow( NULL,/* class name*/
"窗口名称" //LPCTSTR lpWindowName // window name
);
if(myHwnd==NULL) //"Cannot Find");
2 //找到窗口的位置及大小
::GetWindowRect( myHwnd, // handle to window
mRect // client coordinates
);
3.获得屏幕句柄
HDC hdc = ::GetDC(NULL);
4.通过mRect 和hdc 对界面进行操作
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询