如何检查在我的程序运行的控制台上设置了啥字符编码?
Posted
技术标签:
【中文标题】如何检查在我的程序运行的控制台上设置了啥字符编码?【英文标题】:How to check what character encoding is set on a console in which my program run?如何检查在我的程序运行的控制台上设置了什么字符编码? 【发布时间】:2012-05-21 19:51:50 【问题描述】:我知道用户可以使用chcp
命令检查。在这里我问如何使用控制台进程的句柄从另一个程序中做到这一点。
【问题讨论】:
我不相信可以从另一个程序中完成。如果有某种方法可以使 chcp 在控制台中运行,您可以将输出通过管道传输到文件并对其进行解析。粗鲁,但它会做的工作。 【参考方案1】:您可以使用GetConsoleCP
获取附加到当前进程的控制台代码页。我看不到与任意控制台句柄一起使用的相应函数。
【讨论】:
...不幸的是,使用AttachConsole
附加到进程的控制台,然后使用GetConsoleCP
将不会告诉您在目标进程。要获得目标的 CP,您可能只需要向目标注入一个线程并在目标进程的上下文中执行 GetConsoleCP
。以上是关于如何检查在我的程序运行的控制台上设置了啥字符编码?的主要内容,如果未能解决你的问题,请参考以下文章