|
c++ 获取窗口句柄的代码
在C++中,获取窗口句柄通常需要使用操作系统提供的API。以下是一个使用WinAPI获取当前窗口句柄的示例代码:
- #include <Windows.h>
- #include <iostream>
-
- int main() {
- // 获取当前进程的句柄
- HWND hwnd = GetForegroundWindow();
-
- if (hwnd != NULL) {
- std::cout << "当前窗口句柄: " << hwnd << std::endl;
- } else {
- std::cout << "无法获取窗口句柄" << std::endl;
- }
-
- return 0;
- }
复制代码 在这个例子中,GetForegroundWindow 函数用于获取当前拥有焦点的窗口句柄。如果成功,它会返回窗口句柄,否则返回NULL。
如果你需要根据窗口的标题来获取句柄,可以使用 FindWindow 函数:
- HWND hwnd = FindWindowA(NULL, "你的窗口标题");
复制代码 如果你需要从一个窗口类的实例获取句柄,可以使用 GetWindowLongPtr 函数:
- HWND hwnd = GetWindowLongPtr(hWnd, GWLP_HWNDPARENT);
复制代码 请注意,这些API函数都是Windows特有的,不适用于其他操作系统。如果你需要跨平台解决方案,可能需要使用其他库或者多平台的解决方案,如Qt、wxWidgets等。
|
|