- 浏览: 257320 次
文章分类
- 全部博客 (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 961MDAC得打包通常都是很讨厌得,一直没有太好的办法。以前得解决 ... -
不要忽视细节,由调用一个SqlServer系统存储过程想到的
2005-11-22 13:21 624今天在调用SqlServer中的系统存储过程sp_droplo ... -
小毛病,大问题
2005-11-24 11:19 620今天用户抱怨,为什么数据库中条目的计数越来越大,而且清空数据库 ... -
CMD命令也要用好
2005-11-30 13:30 994以前一些程序需要执行 ... -
一步一个脚印-产品升级随笔(1)-vision
2005-12-18 08:17 679产品的维护和升级总是困扰着我,犯过很多的错误,吃过很多的亏,如 ... -
一步一个脚印-产品升级随笔(4)-波浪
2005-12-30 11:10 698产品的升级不是一次就可以完成的,需求会像洪水一样永远都不会停止 ... -
国民党的800万军队不是一天消灭的
2006-01-09 15:58 620这几天又去了一趟京城,刚刚回到家里,特别的疲惫,昨天美美的在家 ... -
还不如扔掉
2006-01-12 12:42 587周六、周日打算搬回学校的单身宿舍了,把租的房子退掉,但是屋子里 ... -
看你知道不知道之-全局对象
2006-02-10 12:49 652这几天在整理类库,想通过VB6来提供全局函数,将公司常用的函数 ... -
看你知道不知道之-制作数据字典
2006-02-10 17:49 1016这部分内容和VB6的关系不大,但是确是困扰我的一个问题。 这几 ... -
看你知道不知道之-为进程内部件设置基地址
2006-02-13 11:17 694在用Project Analyzer 进行 ... -
看你知道不知道之-Call转义序列
2006-02-14 13:00 654今天在整理代码的时候,需要修改一个函数,使这个函数可以通过AD ... -
看你知道不知道之-使用SET NOCOUNT优化存储过程
2006-02-15 14:51 768每次我们在使用查询分析器调试SQL语句的时候,通常会看到一些信 ... -
看你知道不知道之-你注意Where子句的次序了吗?
2006-02-16 08:12 605这个系列越来越多的是和SQL语句相关的问题了,因为这段时间工作 ... -
看你知道不知道之-用好sp_depends
2006-02-21 12:25 1141前几天检查一个兄弟写的存储过程,我想知道这个存储过程到底涉及到 ... -
今天20,明天21
2006-03-06 15:58 565这几天一直封闭,昨天刚刚放出来,感觉十分的疲惫。在封闭的过程中 ... -
重构代码-随笔(1)
2006-03-09 10:32 577原始代码: If txt ... -
干这行最重要的是要坐住板凳
2006-03-12 20:40 726我们周五的时候刚刚辞退的一个试用期员工,给我在QQ留言,内容大 ... -
看你知道不知道之-别惹我Msgbox的Title
2006-03-13 19:40 606在VB6中,MsgBox是比较讨厌的,我在整理代码的时候,通常 ... -
Windows Server 2003 R2 修复Windows Server 2003
2006-03-19 13:05 1185最近特别喜欢去反波上听平客的段子,有一些也下载到本地了,但是我 ...
相关推荐
在IT领域,尤其是在移动通信和网络安全中,"电信设备-限制进程的方法、设备、移动终端及计算机存储介质"是一个重要的话题。这个主题涉及到如何管理和控制移动设备上的进程,以保护设备安全、优化性能以及防止恶意...
9. **安全考虑**:本地应用分发应遵循苹果的开发规定,确保只对授权的设备和用户开放,防止恶意软件的传播。同时,应用的更新也需要相应的机制来确保用户能够接收到最新的版本。 10. **iOS SDK和Xcode**:整个过程...
在IT行业中,软件限制使用次数是一种常见的授权策略,主要用于保护软件开发商的知识产权并控制软件的非法复制。在本教程中,我们将重点讨论如何使用C#编程语言实现这一功能。C#是微软公司推出的面向对象的编程语言,...
USB Redirector 6.1客户端是一款专为远程访问USB设备设计的软件,它允许用户将本地USB设备重定向到远程服务器或虚拟机上,以便在不同的环境中使用硬件设备,如软件加密狗或U盘。这款工具特别适用于需要在虚拟化项目...
在Windows网络服务器配置中,尤其是针对Windows Server 2016的操作,本地策略和组策略是安全管理的核心部分。这些策略有助于确保网络环境的安全性,控制用户权限,以及定制工作环境以满足企业的需求。让我们详细探讨...
【网络RTK测量技术规定】是宁波连续运行卫星定位服务系统(NBCORS)为了规范城市测量活动而设立的标准。该规定适用于2021至2022年期间的网络RTK测量工作,旨在推广这一高效精准的测量技术在全市范围内的应用。 1. *...
如果你不想让陌生人随意进入你的FTP服务器,或想成立VIP会员区,就应该在“匿名账号”窗口中选“否”,这样就只有经过你许可的用户才能登录该FTP。鉴于匿名登录尚有一定的实用需求。 之后就要为匿名账户指定FTP上传...
安装前的注意事项也非常重要,如电脑上若存有重要数据,在不清楚安装过程的情况下,不要轻易安装或卸载软件,以免造成数据丢失。若是在原有软件基础上升级,需要确保原软件已卸载。此外,安装者必须拥有Windows的...
计算机软件许可协议是软件供应商(如Adobe)与其用户之间的一种法律合同,旨在规定软件的使用范围、权限及限制等内容。本协议针对Adobe软件的使用进行了详尽的规定。 #### 二、免责声明与约束性协议 **1. 免责声明...
这款软件的独特之处在于它不限制解密的版本,这意味着无论你的PLC运行的是哪个版本的固件,都可以使用此软件进行解密。然而,解密过程中有一个关键的注意事项:在使用编程软件读取PLC程序时,读取进度条必须完整执行...
在Citrix环境中,由于应用运行在服务器端,有时默认情况下可能不支持本地输入法,这对于需要使用中文或其他语言输入的用户来说会带来不便。然而,通过特定的配置或批处理命令,我们可以启用Citrix的本地输入法功能。...
如果回收工作进程的时间设置不合理,或者关闭时间限制设置过短,就会导致进程无法在规定时间内关闭,从而记录错误日志。 2. 内存使用问题:当独立进程的内存堆耗尽,IIS无法创建更多的进程工作空间来处理请求,因此...
- 在用户属性中调整最大传输速率设置。 - 可分别针对上传和下载进行速度限制。 #### 设置Serv-U FTP服务器最大连接数 - 在“Domains”->“Properties”中调整最大同时连接数。 - 控制并发连接的数量,以避免服务器...
标题中的“-远程文件共享工具-”指的是用于在网络上分享文件的工具,这类工具允许用户将本地计算机上的文件通过网络提供给他人访问或下载。在描述中提到的功能是生成临时网址,然后将这个网址发送给朋友,使他们...
【2021华为软件精英挑战赛-工程编译指导书-C&C++-v1.01】是针对参赛者的一份详细指南,旨在帮助他们理解如何在比赛中使用C++进行开发、编译、运行和打包提交代码。以下是这份指南的关键知识点: 1. **整体说明**:...
在IT行业中,软件限制使用次数是一种常见的商业模式,它允许开发者为他们的产品提供试用期,以便潜在用户在购买前能够体验软件的功能。这种方式通常应用于商业软件,尤其是那些专业级的应用程序,例如图像编辑、视频...
- **5.3 可移植性**:强调了软件可以在不同平台或操作系统上运行的能力。 ##### 6. 其他需求 这部分涵盖了除上述内容外的其他特殊需求: - **6.1 数据库**:指出了软件所需数据库的相关要求。 - **6.2 本地化**...
用户应仔细阅读,以了解客户端软件的使用规定、激活过程和任何可能的限制。 5. **readme.txt**:这是开发者提供的一个简短指南或说明文档,通常包含软件的快速入门指南、系统需求、已知问题、更新信息或其他重要...
这些限制可能在某些场景下不足以满足安全性需求,特别是在需要高强度加密的商业环境中。"jce_policy-8.zip" 提供了无限制的政策文件,允许开发者使用更长的密钥长度,从而提高加密强度,防止潜在的密码破解。 当您...