hBifTs

山自高兮水自深!當塵霧消散,唯事實留傳.荣辱不惊, 看庭前花开花落; 去留随意, 望天上云展云舒.

导航

DelUniLdr...

Posted on 2004-03-29 14:28  hbiftsaa  阅读(3723)  评论(10编辑  收藏  举报

文件地址已更新..内含源码:)

曾经使用过FeedDemon.我的系统是E文的Win2003,发现在使用FeedDemon的时候中文字不能正常显示...
到smth上面问过别人,说是Unicode的问题..
哦,原来这样子的.
Delphi的VCL(好像是这个吧)一直以来对Unicode支持不是很好,特别是在E文的操作系统,区域设置又不是CHS的情况下面,软件中的中文字符不能正常显示.如果把区域改为CHS就OK了.但是偶又不想改区域设置的说....
smth上面有人给了一个解法,在程序运行开始设置一下此线程的区域,改为CHS就OK了:P

Good~找到方法了.于是就做了一个小程序.DelUniLDR.
这个程序通过APC(可以查MSDN)把那个执行修改线程区域的代码动态插到目标程序中,而且在线程的最开始执行它...

以下是说明:

hBifTs@smth

由于Delphi Unicode的问题,当使用Delphi编写的程序的时候,由于系统区域设置不同,可能
出现不能正常显示中方(表现为类似???的乱码)的情况.如FeedDemon,QQRTF等程序.此程序是
用来解决此问题.

原理:
使用Windows API SetThreadLocale,将此程序的区域改为China RPC.

使用方法如下:
delunildr.exe [程序文件名]
如:    DelUnicLdr.exe FeedDemon.exe
或是   DelUnicLdr.exe D:\Program Files\Bradbury\FeedDemon\FeedDemon.exe


                                                                2004.1.31