LS,我在 C# 应用程序中使用 FindWindow 方法从 Web 浏览器获取窗口句柄
[DllImport("user32.dll")]
public static extern int FindWindow(string lpClassName, string lpWindowName );
当窗口标题不包含像这里这样的 utf 字符时,它工作得很好:
string caption1 = "pinvoke.net: findwindow (user32) - Google Chrome";
int hwnd = FindWindow(null, caption1);
但是当窗口标题中存在 utf 字符时它会失败:
string caption2 = "Słownik języka polskiego - Google Chrome";
int hwnd2 = FindWindow(null, caption2);
例如 hwnd == 0
您能否向我提供任何建议,如何在 c# 应用程序中获取包含 utf-8 字符的浏览器窗口的句柄。提前致谢。
ps 我已经看到关于在 c++ 中使用 FindWindow 和 utf 的评论,说:“你可以显式地使用 Unicode 版本的 API HWND windowHnd = FindWindowW(NULL, L"Minesweeper");” 但我仍然不知道如何在 c# 中正确地做到这一点