大家好,我想问一下关于win32 API在qt下调用的问题。我想写一个小的截取某个窗口的图像的小程序,于是,我需要获得那个窗口的ID,然后用qt的grabWindow函数来抓取窗口的图像。可是win32 API函数GetWindowThreadProcessId返回的DWORD类型,grabWindow中窗口的ID是WId类型,那个类型只能获得整个桌面的ID和qt窗口的,其余窗口的好像是不能获得。DWORD类型和WId(Qt::HANLDE)类型不兼容,强制转换后不能获得正确的结果。请问有没有什么替代的方法可以实现此功能?代码如下:
LPCTSTR gameCaption=(LPCTSTR)"MSDN Library - October 2001"; HWND gameh; gameh=FindWindow(NULL,gameCaption); DWORD processid; GetWindowThreadProcessId(gameh,&processid); QPixmap pixmap; QPixmap pix; pix=pixmap.grabWindow((HWND__*)processid,0,0,-1,-1);