winapi – Windows API中的HANDLE和HWND之间的区别?

前端之家收集整理的这篇文章主要介绍了winapi – Windows API中的HANDLE和HWND之间的区别?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图使用函数SetForegroundWindow(HWND hWnD).我有一些句柄,但它不能作为上述函数的参数.我的句柄是一个线程,我想在前台运行它.

HWND和手柄之间有什么区别?

他们只是 abstract data types.

根据MSDN,HANDLE和HWND定义为:

> HANDLE是一个对象的handle.
> HWND是窗口的句柄.

所以,HWND是一个HANDLE,但并不是所有的HANDLE都是HWND.事实上:

typedef void *PVOID;
typedef PVOID HANDLE;
typedef HANDLE HWND;

除非你知道你在做什么,否则你只应将HWND传递给SetForegroundWindow.

HWND hWnd = FindWindow(NULL,"Calculator");
SetForegroundWindow(hWnd);

这首先使用FindWindow获取名为“Calculator”的窗口的句柄,然后将该窗口转到前台.

原文链接:https://www.f2er.com/windows/371056.html

猜你在找的Windows相关文章