`

看你知道不知道之-限制软件在规定的本地设置中运行

阅读更多
今天在处理一段程序的时候发现了一些异常情况,就是如果控制面板中的设置采用的是简体中文,程序运行正常,但是如果采用了英文或者其它国家的设置系统就报错误。

一般发生这种错误主要是因为程序与控制面板中的本地设置关系太紧,例如日期格式、本地的金融符号等,但是我的程序是采用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 LongAs 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 StringAs 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

这样就限制用户在规定的本地设置中进行操作,这个并不是很好的办法,但是够用就行了。
分享到:
评论

相关推荐

    好用的 FTP 服务器 Serv-U File Server 15.2.0 中文多语免费版.zip

    如果你不想让陌生人随意进入你的FTP服务器,或想成立VIP会员区,就应该在“匿名账号”窗口中选“否”,这样就只有经过你许可的用户才能登录该FTP。鉴于匿名登录尚有一定的实用需求。 之后就要为匿名账户指定FTP上传...

    Ghost 8.3 系统备份软件

     在 TFTP 服务器的设置中,规定一个服务目录。将制作的 PXE 启动文件 Pxeghost.img、Pxemenu.pxe 放到 TFTP 的服务目录中。TFTP 服务器设置为自动运行。  用 Ghost 多播克隆硬盘  现在运行 Ghost 多播服务器,...

    LaneCat网猫上网行为管理软件 v2.1.1608.2400 内网版.zip

    LaneCat网猫上网行为管理软件内网版是一款基于B/S架构电信级的互联网监控软件,软件可以实时记录局域网内计算机所有用户的在使用计算机时的行为,让你能直观的了解到用户在工作中使用计算机、修改资料和访问互联网的...

    入门学习Linux常用必会60个命令实例详解doc/txt

    因为Linux与Windows不同,其后台运行着许多进程,所以强制关机可能会导致进程的数据丢失,使系统处于不稳定的状态,甚至在有的系统中会损坏硬件设备(硬盘)。在系统关机前使用 shutdown命令,系统管理员会通知所有...

    Ghost 8.3 Enterprise

     在 TFTP 服务器的设置中,规定一个服务目录。将制作的 PXE 启动文件 Pxeghost.img、Pxemenu.pxe 放到 TFTP 的服务目录中。TFTP 服务器设置为自动运行。  用 Ghost 多播克隆硬盘  现在运行 Ghost 多播服务器,...

    国度社区

    在确认您有运行论坛的环境后,您需要做以下工作: 将解压后的文件拷贝到本地WEB目录中,IIS或者PWS默认Web目录为C:inetpubwwwroot,比如您可以装到C:inetpubwwwrootworldcn目录下然后敲入本地测试网址访问,默认为...

    API之网络函数---整理网络函数及功能

    SetFilePointer 在一个文件中设置当前的读写位置 SetFileTime 设置文件的创建、访问及上次修改时间 SetHandleCount 这个函数不必在win32下使用;即使使用,也不会有任何效果 SetVolumeLabel 设置一个磁盘的卷标...

    C#微软培训资料

    在本章中你将了解 Microsoft.NET 的概念 .NET 框架 C#语言在.NET 框架中的作用及其特性 1.1 Microsoft.NET 一场新的革命 1.1.1 什么是.NET 2000 年 6 月 22 日 不论对 Microsoft 还是对整个 ...

    YXBOOKCMS院校图书管控系统普及版 v1.0.2.zip

    2、您可以在遵守本协议规定和约束的基础上,对软件进行程序修改、页面美化,以适合您网站的需求。 3、您拥有使用本软件构建的网站中收集到的全部会员资料、文章、下载、图片、留言及相关信息的所有权,并独立承担与...

    软件工程专题五:计算机网络知识

     在OSI/RM层次模型中,把网络协议规定成7层模型。  I. 物理层  给出了一个通信信道的物理媒体上传输原始的二进制数据流(也称比特流)时的协议。  II. 数据链路层  给出了把二进制数据流划分成数据帧,并依照...

    Java程序设计复习题.docx.docx

    在Java程序中import语句可以有多个 在Java程序中import语句可以没有 在Java程序中import语句必须有一个 在Java程序中import语句引入在所有类定义之前 在编译Java程序时,用于指定生成.class文件位置的选项是 B 。...

    CISCO交换机配置AAA、802.1X以及VACL

    链路层验证方案的一个优点是,它只要求存在链路层连接,客户端(在802.1x中称为请求者)不需要分配供验证用的第3层地址,因而降低了风险。此外,链路层验证涉及了所有能够在链路上工作的协议,从而不必为每种协议...

    Raxco PerfectDisk Pro 12.5 破解补丁

    自动优化不运行在某个时期在白天或用户定义的应用程序正在运行时提供了灵活性。没有其他碎片整理或优化工具证明了这个级别的灵活性。 高级启动时碎片整理 更快的PC性能的一个重要因素是一个彻底的开机时间碎片...

    windows域服务器部署方案.doc

    个别员工私自安装从网络下载安装的软件,这些从网络上下载的软件安装包多数附带各 种插件、木马和病毒,并在安装过程中用户不知情的情况下强行安装在办公电脑上,增 加了办公电脑大量的资源消耗,导致计算机反应...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。  拉里•埃里森  就业前景 从就业与择业的...

    java 面试题 总结

    声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,其...

    集团公司建立域服务器方案.doc

    个别员工私自安装从网络下载安装的软件,这些从网络上下载的软件安装包多数附带各 种插件、木马和病毒,并在安装过程中用户不知情的情况下强行安装在办公电脑上,增 加了办公电脑大量的资源消耗,导致计算机反应...

    超级有影响力霸气的Java面试题大全文档

     声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,...

Global site tag (gtag.js) - Google Analytics