我基本上是用这个:
[DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Unicode)]
public static extern bool SetWindowTextW(IntPtr hWnd, string lpString);
SetWindowTextW(HWnd, "лфорфпылвоарпфлыьтвмлафывафыва")
设置窗口的标题,但标题最终显示为ð╗Ðäð¥ÐÇÐäð┐Ðïð╗ð▓ð¥ð░ÐÇð┐Ðäð╗ÐïÐîÐéð▓ð╝ð╗ð░ÐäÐïð▓ð░ÐäÐïð▓ð░
我认为这与编码错误有关。有趣的是,如果我在TextBox中键入字符串并将属性textbox.Text
发送到相同的函数,它似乎可以工作。
我从API获得了类似的字符串,因此仅键入它并保存输出是不可能的。
((我知道上面代码中的文本只是随机字符,但结果是与实际单词类似的混乱)
尝试使用L进行字面量前缀。
SetWindowTextW(HWnd, L"лфорфпылвоарпфлыьтвмлафывафыва")