在C ++中找不到窗口

时间:2018-11-14 01:59:12

标签: c++

我对C ++还是很陌生,我正在为刺客信条奥德赛做一个破解,但是我找不到获取代码的窗口。

HWND hwnd = FindWindowA(NULL,  "Assassin's Creed® Odyssey");

窗口名称:

image

编辑:它可以正常工作,撇号与普通撇号不同,对于需要它的人,这是正确的窗口名称Assassin’s Creed® Odyssey

1 个答案:

答案 0 :(得分:1)

啊。 FindWindowA需要一个ANSI字符串。要在Microsoft Windows中使用®,您应该使用wstring变体,并使用wstring文字:

HWND hwnd = FindWindowW(NULL, L"Assassin's Creed® Odyssey");

请检查您使用的是正确的撇号类型。从屏幕截图中我看不出是ANSI撇号还是右单引号。

“之前的L表示它是wstring。在Windows计算机中,这几乎是UTF-16,尽管Microsoft Windows并不完全符合所有UTF-16标准。

有关各种类型的字符串文字的更多信息,请参见https://en.cppreference.com/w/cpp/language/string_literal

这篇Microsoft文章:https://docs.microsoft.com/en-us/windows/desktop/learnwin32/working-with-strings,解释了ANSI函数(以'A'结尾)和Unicode函数(以'W'结尾)之间的区别。