- 浏览: 243946 次
文章分类
- 全部博客 (395)
- Tech (0)
- [随笔分类]心情 (95)
- [随笔分类]技术 (112)
- [随笔分类]管理心得 (13)
- [随笔分类]Code SOP (5)
- [随笔分类]望图知意 (11)
- [网站分类]1.首页原创精华.NET区(包含架构设计、设计模式)(对首页文章的要求:原创、高质量、经过认真思考并精心写作) (8)
- [随笔分类]重构代码 (1)
- [随笔分类]童童 (2)
- Program (1)
- [随笔分类]看你知道不知道 (1)
- [网站分类]4.其他技术区 (31)
- [网站分类]3.非技术区(技术之外的文章,但不要涉及任何政治内容) (21)
- [网站分类]9.求职招聘区(个人求职、企业招聘) (0)
- [随笔分类]昨日关注 (15)
- [网站分类]6.读书区(技术书籍阅读心得、书籍推荐) (3)
- [随笔分类]一步一个脚印 (2)
- [网站分类]网站管理区(网站管理方面的疑问、建议、意见, 寻求管理员帮助) (1)
- [网站分类]2..NET新手区(用于发表不合适发表在首页的.NET技术文章,包括小经验、小技巧) (3)
最新评论
今天在处理一段程序的时候发现了一些异常情况,就是如果控制面板中的设置采用的是简体中文,程序运行正常,但是如果采用了英文或者其它国家的设置系统就报错误。
一般发生这种错误主要是因为程序与控制面板中的本地设置关系太紧,例如日期格式、本地的金融符号等,但是我的程序是采用RC6的算法进行一些字符串的加密,如果加解密的两端,本地设置不一样,解出来的内容就不一致。
呵呵,我的解决办法是限制用户必须是在简体中文的环境中使用,反正都是中国人使用,这样我就偷懒了,采用的如下代码。
这样就限制用户在规定的本地设置中进行操作,这个并不是很好的办法,但是够用就行了。
一般发生这种错误主要是因为程序与控制面板中的本地设置关系太紧,例如日期格式、本地的金融符号等,但是我的程序是采用RC6的算法进行一些字符串的加密,如果加解密的两端,本地设置不一样,解出来的内容就不一致。
呵呵,我的解决办法是限制用户必须是在简体中文的环境中使用,反正都是中国人使用,这样我就偷懒了,采用的如下代码。
'读取本地的语言码
Private Const LOCALE_USER_DEFAULT = &H400
Private Const LOCALE_ILANGUAGE = &H1
Private Declare Function GetLocaleInfo Lib "kernel32" Alias "GetLocaleInfoA" (ByVal Locale As Long, ByVal LCType As Long, ByVal lpLCData As String, ByVal cchData As Long) As Long
'获得本地语言码
Private Function GetLocalLanguageCode() As String
Dim buffer As String * 100
Dim dl As Long
#If Win32 Then
dl = GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_ILANGUAGE, buffer, 99)
GetLocalLanguageCode = LPSTRToVBString(buffer)
#End If
End Function
'转换字符串
Private Function LPSTRToVBString(ByVal s As String) As String
Dim nullpos As Long
nullpos = InStr(s, Chr(0))
If nullpos > 0 Then
LPSTRToVBString = Left$(s$, nullpos - 1)
Else
LPSTRToVBString = ""
End If
End Function
'应用如下
If GetLocalLanguageCode <> "0804" Then
MsgBox "本地控制面板设置错误,必须将控制面板设置为中文简体.", vbCritical, "提示"
End
End If
Private Const LOCALE_USER_DEFAULT = &H400
Private Const LOCALE_ILANGUAGE = &H1
Private Declare Function GetLocaleInfo Lib "kernel32" Alias "GetLocaleInfoA" (ByVal Locale As Long, ByVal LCType As Long, ByVal lpLCData As String, ByVal cchData As Long) As Long
'获得本地语言码
Private Function GetLocalLanguageCode() As String
Dim buffer As String * 100
Dim dl As Long
#If Win32 Then
dl = GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_ILANGUAGE, buffer, 99)
GetLocalLanguageCode = LPSTRToVBString(buffer)
#End If
End Function
'转换字符串
Private Function LPSTRToVBString(ByVal s As String) As String
Dim nullpos As Long
nullpos = InStr(s, Chr(0))
If nullpos > 0 Then
LPSTRToVBString = Left$(s$, nullpos - 1)
Else
LPSTRToVBString = ""
End If
End Function
'应用如下
If GetLocalLanguageCode <> "0804" Then
MsgBox "本地控制面板设置错误,必须将控制面板设置为中文简体.", vbCritical, "提示"
End
End If
这样就限制用户在规定的本地设置中进行操作,这个并不是很好的办法,但是够用就行了。
发表评论
-
打包应该注意MDAC的安装次序
2005-11-14 16:06 928MDAC得打包通常都是很讨厌得,一直没有太好的办法。以前得解决 ... -
不要忽视细节,由调用一个SqlServer系统存储过程想到的
2005-11-22 13:21 592今天在调用SqlServer中的系统存储过程sp_droplo ... -
小毛病,大问题
2005-11-24 11:19 592今天用户抱怨,为什么数据库中条目的计数越来越大,而且清空数据库 ... -
CMD命令也要用好
2005-11-30 13:30 958以前一些程序需要执行 ... -
一步一个脚印-产品升级随笔(1)-vision
2005-12-18 08:17 637产品的维护和升级总是困扰着我,犯过很多的错误,吃过很多的亏,如 ... -
一步一个脚印-产品升级随笔(4)-波浪
2005-12-30 11:10 656产品的升级不是一次就可以完成的,需求会像洪水一样永远都不会停止 ... -
国民党的800万军队不是一天消灭的
2006-01-09 15:58 586这几天又去了一趟京城,刚刚回到家里,特别的疲惫,昨天美美的在家 ... -
还不如扔掉
2006-01-12 12:42 545周六、周日打算搬回学校的单身宿舍了,把租的房子退掉,但是屋子里 ... -
看你知道不知道之-全局对象
2006-02-10 12:49 620这几天在整理类库,想通过VB6来提供全局函数,将公司常用的函数 ... -
看你知道不知道之-制作数据字典
2006-02-10 17:49 962这部分内容和VB6的关系不大,但是确是困扰我的一个问题。 这几 ... -
看你知道不知道之-为进程内部件设置基地址
2006-02-13 11:17 669在用Project Analyzer 进行 ... -
看你知道不知道之-Call转义序列
2006-02-14 13:00 595今天在整理代码的时候,需要修改一个函数,使这个函数可以通过AD ... -
看你知道不知道之-使用SET NOCOUNT优化存储过程
2006-02-15 14:51 735每次我们在使用查询分析器调试SQL语句的时候,通常会看到一些信 ... -
看你知道不知道之-你注意Where子句的次序了吗?
2006-02-16 08:12 572这个系列越来越多的是和SQL语句相关的问题了,因为这段时间工作 ... -
看你知道不知道之-用好sp_depends
2006-02-21 12:25 1097前几天检查一个兄弟写的存储过程,我想知道这个存储过程到底涉及到 ... -
今天20,明天21
2006-03-06 15:58 534这几天一直封闭,昨天刚刚放出来,感觉十分的疲惫。在封闭的过程中 ... -
重构代码-随笔(1)
2006-03-09 10:32 552原始代码: If txt ... -
干这行最重要的是要坐住板凳
2006-03-12 20:40 698我们周五的时候刚刚辞退的一个试用期员工,给我在QQ留言,内容大 ... -
看你知道不知道之-别惹我Msgbox的Title
2006-03-13 19:40 576在VB6中,MsgBox是比较讨厌的,我在整理代码的时候,通常 ... -
Windows Server 2003 R2 修复Windows Server 2003
2006-03-19 13:05 1156最近特别喜欢去反波上听平客的段子,有一些也下载到本地了,但是我 ...
相关推荐
如果你不想让陌生人随意进入你的FTP服务器,或想成立VIP会员区,就应该在“匿名账号”窗口中选“否”,这样就只有经过你许可的用户才能登录该FTP。鉴于匿名登录尚有一定的实用需求。 之后就要为匿名账户指定FTP上传...
在 TFTP 服务器的设置中,规定一个服务目录。将制作的 PXE 启动文件 Pxeghost.img、Pxemenu.pxe 放到 TFTP 的服务目录中。TFTP 服务器设置为自动运行。 用 Ghost 多播克隆硬盘 现在运行 Ghost 多播服务器,...
LaneCat网猫上网行为管理软件内网版是一款基于B/S架构电信级的互联网监控软件,软件可以实时记录局域网内计算机所有用户的在使用计算机时的行为,让你能直观的了解到用户在工作中使用计算机、修改资料和访问互联网的...
因为Linux与Windows不同,其后台运行着许多进程,所以强制关机可能会导致进程的数据丢失,使系统处于不稳定的状态,甚至在有的系统中会损坏硬件设备(硬盘)。在系统关机前使用 shutdown命令,系统管理员会通知所有...
在 TFTP 服务器的设置中,规定一个服务目录。将制作的 PXE 启动文件 Pxeghost.img、Pxemenu.pxe 放到 TFTP 的服务目录中。TFTP 服务器设置为自动运行。 用 Ghost 多播克隆硬盘 现在运行 Ghost 多播服务器,...
在确认您有运行论坛的环境后,您需要做以下工作: 将解压后的文件拷贝到本地WEB目录中,IIS或者PWS默认Web目录为C:inetpubwwwroot,比如您可以装到C:inetpubwwwrootworldcn目录下然后敲入本地测试网址访问,默认为...
SetFilePointer 在一个文件中设置当前的读写位置 SetFileTime 设置文件的创建、访问及上次修改时间 SetHandleCount 这个函数不必在win32下使用;即使使用,也不会有任何效果 SetVolumeLabel 设置一个磁盘的卷标...
在本章中你将了解 Microsoft.NET 的概念 .NET 框架 C#语言在.NET 框架中的作用及其特性 1.1 Microsoft.NET 一场新的革命 1.1.1 什么是.NET 2000 年 6 月 22 日 不论对 Microsoft 还是对整个 ...
2、您可以在遵守本协议规定和约束的基础上,对软件进行程序修改、页面美化,以适合您网站的需求。 3、您拥有使用本软件构建的网站中收集到的全部会员资料、文章、下载、图片、留言及相关信息的所有权,并独立承担与...
在OSI/RM层次模型中,把网络协议规定成7层模型。 I. 物理层 给出了一个通信信道的物理媒体上传输原始的二进制数据流(也称比特流)时的协议。 II. 数据链路层 给出了把二进制数据流划分成数据帧,并依照...
在Java程序中import语句可以有多个 在Java程序中import语句可以没有 在Java程序中import语句必须有一个 在Java程序中import语句引入在所有类定义之前 在编译Java程序时,用于指定生成.class文件位置的选项是 B 。...
链路层验证方案的一个优点是,它只要求存在链路层连接,客户端(在802.1x中称为请求者)不需要分配供验证用的第3层地址,因而降低了风险。此外,链路层验证涉及了所有能够在链路上工作的协议,从而不必为每种协议...
自动优化不运行在某个时期在白天或用户定义的应用程序正在运行时提供了灵活性。没有其他碎片整理或优化工具证明了这个级别的灵活性。 高级启动时碎片整理 更快的PC性能的一个重要因素是一个彻底的开机时间碎片...
个别员工私自安装从网络下载安装的软件,这些从网络上下载的软件安装包多数附带各 种插件、木马和病毒,并在安装过程中用户不知情的情况下强行安装在办公电脑上,增 加了办公电脑大量的资源消耗,导致计算机反应...
ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。 拉里•埃里森 就业前景 从就业与择业的...
声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,其...
个别员工私自安装从网络下载安装的软件,这些从网络上下载的软件安装包多数附带各 种插件、木马和病毒,并在安装过程中用户不知情的情况下强行安装在办公电脑上,增 加了办公电脑大量的资源消耗,导致计算机反应...
声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,...