我对C ++还是很陌生,我正在为刺客信条奥德赛做一个破解,但是我找不到获取代码的窗口。
HWND hwnd = FindWindowA(NULL, "Assassin's Creed® Odyssey");
窗口名称:
编辑:它可以正常工作,撇号与普通撇号不同,对于需要它的人,这是正确的窗口名称Assassin’s Creed® Odyssey
答案 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'结尾)之间的区别。