vc++里边,如何获得用户窗口的HDC

来源:百度知道 编辑:UC知道 时间:2024/05/23 14:42:20
比如我用这个语句
HDC hdc=GetWindowDC(0);
就是获得桌面的DC句柄,如何用这个语句获得程序运行的时候弹出的用户窗口的DC句柄
问题是我不知道怎么 获取程序弹出的窗口的句柄,

GetForegroundWindow()获得前台窗口句柄,因为是程序弹出的窗口,所以用这个正合适,
大家给的方法也对,只是我觉得这个更合适我,还是要谢谢大家!!

GetWindowDC函数:返回hWnd参数所指定的窗口的设备环境,所以将你的目标窗口的句柄作为参数即可。窗口句柄的获取方法为:mydlg.GetSafeHWnd();

HWND hWnd = ::FindWindow( NULL, "窗口的名字" );

if ( IsWindow( hWnd ) )
{
HDC hdc = ::GetDC( hWnd ); // 得到指定窗口的DC
}

首先要获取你的程序弹出的窗口的句柄,然后用这个句柄去调用GetWindowDC函数来得到该窗口的DC.