向命令行窗口发送中文的有关问题,出现乱码
向命令行窗口发送中文的问题,出现乱码!
我用上面的方法去想命令行窗口发送字符串,中文就是乱码,有没有办法解决?
------解决思路----------------------
SendMessage(hwd, WM_IME_CHAR, MakeWord(byte(str[i]), byte(str[i-1])), 0);
这句下边加一句inc(i)
procedure SendMessageToCMD(hwd:HWND; str:string);
var
i:integer;
begin
i:=1;
while i<=length(str)do
begin
if IsDBCSLeadByte(byte(str[i])) then
begin
inc(i);
SendMessage(hwd, WM_IME_CHAR, MakeWord(byte(str[i]), byte(str[i-1])), 0);
end else
begin
sendmessage(hwd,WM_IME_CHAR,word(byte(str[i])),0) ;
inc(i);
end;
end;
end;
我用上面的方法去想命令行窗口发送字符串,中文就是乱码,有没有办法解决?
------解决思路----------------------
SendMessage(hwd, WM_IME_CHAR, MakeWord(byte(str[i]), byte(str[i-1])), 0);
这句下边加一句inc(i)