gpt4 book ai didi

c++ - FindWindow 没有找到窗口

转载 作者:可可西里 更新时间:2023-11-01 17:04:10 27 4
gpt4 key购买 nike

我计划用 C++ 制作一个简单的训练控制台,但第一步我遇到了 FindWindow() 的问题

#include <stdio.h>
#include <cstdlib>
#include <windows.h>
#include <winuser.h>
#include <conio.h>

LPCTSTR WindowName = "Mozilla Firefox";
HWND Find = FindWindow(NULL,WindowName);
int main(){
if(Find)
{
printf("FOUND\n");
getch();
}
else{
printf("NOT FOUND");
getch();
}
}

上面的代码我用FindWindow()试试看是否执行命令但是执行输出的时候总是显示

NOT FOUND

我已经从 property Project 中替换了 Character Set

Use Unicode Character Set

Use Multi-Byte Character Set

LPCTSTR

LPCSTR

LPCWSTR

但结果总是一样,希望有人能帮助我。

最佳答案

FindWindow 仅在窗口具有准确指定的标题时才查找窗口,而不仅仅是子字符串。

或者你可以:


搜索窗口类名:

HWND hWnd = FindWindow("MozillaWindowClass", 0);

enumerate所有窗口并对标题执行自定义模式搜索:

BOOL CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lParam)
{
char buffer[128];
int written = GetWindowTextA(hwnd, buffer, 128);
if (written && strstr(buffer,"Mozilla Firefox") != NULL) {
*(HWND*)lParam = hwnd;
return FALSE;
}
return TRUE;
}

HWND GetFirefoxHwnd()
{
HWND hWnd = NULL;
EnumWindows(EnumWindowsProc, &hWnd);
return hWnd;
}

关于c++ - FindWindow 没有找到窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16530871/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com