我试图使用CreateProcessW()运行命令并将输出重定向到管道,然后使用ReadFile将字节放入缓冲区。
我这样调用CreateProcessW():
CreateProcessW(NULL, L"cmd.exe /u /c dir", NULL, NULL, TRUE, CREATE_NEW_CONSOLE, NULL, NULL, &si, &pi);
当我使用ReadFile读取将输出重定向到的管道时,得到Unicode。如果我放下“ / u”,它只会给我ANSI。
当我跑步时:
L"cmd.exe /u /c ipconfig"
我不找回Unicode。我回到ANSI,如果域中包含UNICODE,它只会给我问号。
我正试图找到一种方法,使通过cmd.exe运行的所有命令都能获得unicode。