51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2829|回复: 8
打印 上一主题 下一主题

[求助] 哪位达人知道,如何获得操作系统的语言信息?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-6-27 09:53:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
需求是用QTP返回以下三个字段的值。目前OS, ComputerName都可以实现了;但OSLanguage始终没有找到方法。请求达人帮助!

'    Station Name Col
'    ----------------------------
Dim strComputerName
Set WshNetwork = CreateObject("WScript.Network")
strComputerName = WshNetwork.ComputerName
Datatable.Value(1,"Action1")=strComputerName


'    Platform Col
'    ----------------------------
Dim strPlatform
Set WshShell = CreateObject("WScript.Shell")
Set WshSysEnv = WshShell.Environment("SYSTEM")
strPlatform = WshSysEnv("OS")
Datatable.Value(2,"Action1")=strPlatform

'    or using following via QTP environment
'strOS=environment("OS")
'msgbox(strOS)


'    LanguageName Col record
'    ----------------------------
???
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2007-6-27 10:27:17 | 只看该作者

转来的

Function Language()

strComputer = "."
Set objItem = GetObject("winmgmts:\\" &strComputer &"\root\CIMV2")
Set colItems = objItem .ExecQuery("SELECT * FROM Win32_OperatingSystem")
For Each objItem In colItems
    Language = objItem.OSLanguage
If Language = "1033" Then
   Language = "EN"
elseif Language = "2052" then
   Language = "CN"
End If
Next

End Function

[ 本帖最后由 skyzhu 于 2007-6-27 10:31 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2007-6-27 10:41:28 | 只看该作者
谢啦!
原来要搞这么复杂,还以为和OS, ComputerName的获取一样
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2007-7-2 15:14:21 | 只看该作者
如果调用kernel32.dll中的函数,也可以实现:)

Extern.Declare micHwnd, "GetSystemDefaultUILanguage", "kernel32.dll", "GetSystemDefaultUILanguage"
hwnd = Extern.GetSystemDefaultUILanguage()
Select Case hwnd
    Case "1033"
        Msgbox "English - United States"
    Case "2057"   
        Msgbox "English - United Kingdom"
    Case "4105"   
        Msgbox "English - Canada"
    Case "2052"   
        Msgbox "Chinese - China"
    Case Else
        Msgbox "Please refer to LCID list for the language ID:[" & hwnd & "]."
End Select
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2007-7-2 15:36:25 | 只看该作者
支持一下LZ,本来想从Kernel里面找相关函数就是没有找到。2楼的方法也不错。
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2007-10-10 16:39:27 | 只看该作者
GetLocale()

一个现有函数....可以直接获取的...
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2007-10-10 16:56:28 | 只看该作者
OS和LocalHostName在build-in环境参数里就有
而且LZ第二个取OS的方法有点问题
我XP的系统取出来是Windows_NT
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2007-10-10 17:04:14 | 只看该作者
原帖由 martin8310 于 2007-10-10 16:39 发表
GetLocale()

一个现有函数....可以直接获取的...

这个函数返回的是环境的语言设置,并不是操作系统本身的语言
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2007-10-11 09:15:56 | 只看该作者
好多强人啊,在下学习了
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-9-22 03:48 , Processed in 0.087042 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表