如何用程序修改XP的“区域和语言选项”(100)

  • 主题发起人 主题发起人 gboyjuan
  • 开始时间 开始时间
G

gboyjuan

Unregistered / Unconfirmed
GUEST, unregistred user!
如何用程序修改XP的“区域和语言选项”中“区域选项”这页中的“中文(中国)”为“中文(澳门特别行政区)”在网上查找了很多,都是对“区域选项”中日期格式的修改
 
怎么没看到有人啊
 
更改设置前,查看SysUtils单元中的SysLocale变量中各个属性的值,更改为“中文(澳门特别行政区)”后,再次查看SysLocale中各个属性的值。
 
如何通过程序来修改呢,不要告诉我直接改SysLocale这个变量中的属性,呵呵我先试着写段代码来改改
 
和我预想的一样,不能直接改这个变量,对它的修改仅存在与当前程序的所在内存里,要改系统的这个的内容,需有别的办法
 
跟踪看了一下,控制面板主要是更改注册表中的下面的2个节点HKEY_CURRENT_USER/Control Panel/InternationalHKEY_USERS/S-1-5-21-606747145-1275210071-682003330-1003/Control Panel/International你更改区域和语言选项后,查看这2个节点下面的那些属性发送了改变就可以了。找到后,设置该注册表信息即可。
 
HKEY_USERS/S-1-5-21-606747145-1275210071-682003330-1003/Control Panel/International不同的电脑中S-1-5-21-606747145-1275210071-682003330-1003这一项是不一样的,不过这个方法应该可行,但有没有更好的方法呢?我在网上查到有人提出用SetLocaleInfo、SetThreadLocale来修改,但试了几遍都不成功,不知道是参数不正确还是根本就不能用这个方法
 
顺便问一下,znxia,你是如何跟踪的啊,用了什么软件?学习学习
 
在区域和语言选项的第一个页面中,点 自定义按钮,将货币页面中的货币符合设置为“兲”到注册表去查找兲吧。另:有注册表监控软件的,一时间没找到,所以这样来查找了
 
呵呵,这到是一个变通的跟踪方法,值得学习
 
http://www.hellocpp.net/Articles/Article/197.aspx希望能有所帮助
 
Application.Initialize;后加上SetThreadLocale(2052); //中文(中国)怎么得到中文(澳门特别行政区)自己想一下吧。如果你实在不会,我告诉你一个十六进制的值, 你自己转换一下吧。0x1404
 
来自:hendriclee, 时间:2009-5-13 17:01:16, ID:3958285http://www.hellocpp.net/Articles/Article/197.aspx希望能有所帮助 这个朋友给的网站上不错,不过好像没有Delphi的编程语言C/C++C++/CLIC#VB/VB.NETJavaVBScript/JavaScriptXML
 
delhpi:我的意思是通过程序修改windows xp中的相关设置,用你的说的方法SetThreadLocale后,用GetThreadLocale好像是被改了,但实际上,windows中的设置还是没变,关闭程序,重新运行程序后再执行GetThreadLocale,又还原了
 
原来你是要改变xp的设置,不是修改你程序内部的设置。HKEY_CURRENT_USER/Control Panel/InternationalLocale=00001404
 
非常感谢大家的热心帮助
 

Similar threads

D
回复
0
查看
867
DelphiTeacher的专栏
D
D
回复
0
查看
836
DelphiTeacher的专栏
D
D
回复
0
查看
785
DelphiTeacher的专栏
D
后退
顶部