如何检查在我的程序运行的控制台上设置了啥字符编码?

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

以上是关于如何检查在我的程序运行的控制台上设置了啥字符编码?的主要内容,如果未能解决你的问题,请参考以下文章

为啥这会在我的控制台上打印两次? [复制]

monodevelop gdb 设置控制终端失败

如何防止健康检查请求在我的数据库中存储不需要的会话?

如何在 Google Play 控制台上记录卸载?

如何在 Google Play 控制台上记录卸载?

上古卷轴5控制台上怎样修改字体大小