jjzjj

GetDesktopWindow

全部标签

windows - 强制窗口重绘整个屏幕

我目前正在使用GDI绘制图形,但我需要能够重绘整个桌面/屏幕。我的图形绘制在屏幕上,但是当我移动绘制的像素时,它会变成一条线,因为我没有重绘屏幕(Windows不是)。我需要一些东西来强制它重绘整个屏幕,我尝试了以下方法:UpdateWindow(GetDesktopWindow());InvalidateRect(GetDesktopWindow(),NULL,TRUE);SendMessage(GetDesktopWindow(),WM_PAINT,NULL,NULL);它们似乎都不起作用,我只需要重绘整个屏幕。 最佳答案 如果

c++ - 不打开窗口的 OpenGL 上下文 - 当使用由 GetDesktopWindow 制作的 HWND 时,wglMakeCurrent 因 HDC 和 HGLRC 而失败

这有点重复thisquestion.我正在尝试制作一个无窗口控制台应用程序来检查支持的OpenGL版本。为此,我需要设置渲染上下文——但不创建窗口。我正在尝试使用我不会写入的桌面句柄。我忘记在前面的示例中设置像素格式-这可能是创建渲染上下文失败的原因-但是即使设置了像素格式,我也无法激活它。wglMakeCurrent(hDC,hRC)只返回0。这是完整的源代码转储:#include#include#includeHDChDC=NULL;HGLRChRC=NULL;HWNDhWnd=NULL;HINSTANCEhInstance;intres=0;intpf=0;PIXELFORMAT

windows - Windows 中的 GetDesktopWindow 和 OpenInputDesktop API 之间有什么区别?

GetDesktopWindow和OpenInputDesktopAPI在Windows中的用法区别是什么? 最佳答案 关于他们的工作:GetDesktopWindow()返回调用线程当前关联的任何桌面的“根”HWND;最好将其视为“获取根HWND”。桌面上的所有其他窗口/HWND都是它的后代。顶层窗口是直接子窗口。(仅消息窗口是一种特殊情况,它们不会出现在HWND树上,但仍属于桌面。)请注意,这与在后台显示所有文件和图标的窗口不同在它上面,这可能被恰本地称为“ShellDesktop”窗口,您可以使用GetShellWindow(