上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
Batman
註冊時間: 2003-11-15 文章: 348
第 1 樓
|
發表於: 星期一 二月 24, 2014 10:41 am 文章主題: 請問vfp 如何檢測簡體版,繁體版或是英文版Window? |
|
|
同上 |
|
回頂端 |
|
 |
ckp6250
註冊時間: 2004-07-30 文章: 1645
第 2 樓
|
發表於: 星期一 二月 24, 2014 11:46 am 文章主題: |
|
|
查 CodePage 的屬性值就行了
vfp 的 help 中有範例 |
|
回頂端 |
|
 |
oldbb
註冊時間: 2007-02-28 文章: 83
第 3 樓
|
發表於: 星期一 二月 24, 2014 8:21 pm 文章主題: |
|
|
oService = Getobject("winmgmts:")
oClasses = oService.InstancesOf("Win32_OperatingSystem")
FOR EACH oClass IN oClasses
? "OperatingSystem..." + NVL(oClass.Caption, "<NULL>")
? "MUILanguages......" + NVL(oClass.MUILanguages[0], "<NULL>")
ENDFOR |
|
回頂端 |
|
 |
Batman
註冊時間: 2003-11-15 文章: 348
第 4 樓
|
發表於: 星期二 二月 25, 2014 9:08 am 文章主題: |
|
|
謝謝oldbb,ckp6250兩位回覆及幫助, 立即測試, 謝謝 |
|
回頂端 |
|
 |
Batman
註冊時間: 2003-11-15 文章: 348
第 5 樓
|
發表於: 星期二 二月 25, 2014 9:14 am 文章主題: |
|
|
回oldbb, 第一句沒問題, 出現如下
OperatingSystem...Microsoft Windows XP Professional
第二句出現錯誤, 出現如下
OLE error code 0x8002006: Unknown name
不知什麼原因, 請再幫忙一下 |
|
回頂端 |
|
 |
tuberose
註冊時間: 2006-05-02 文章: 33
第 6 樓
|
發表於: 星期二 二月 25, 2014 6:31 pm 文章主題: |
|
|
Clear
oService = Getobject("winmgmts:")
oClasses = oService.InstancesOf("Win32_OperatingSystem")
For Each oClass In oClasses
? "OperatingSystem : " + Nvl(oClass.Caption, "<NULL>")
OSLanguage = oClass.OSLanguage
Endfor
Do Case
Case OSLanguage = 1031
strDisplay = "German"
Case OSLanguage = 1032
strDisplay = "Greek"
Case OSLanguage = 1034
strDisplay = "Spanish"
Case OSLanguage = 1036
strDisplay = "French"
Case OSLanguage = 1040
strDisplay = "Italian"
Case OSLanguage = 1041
strDisplay = "Japanese"
Case OSLanguage = 1042
strDisplay = "Korean"
Case OSLanguage = 1043
strDisplay = "Dutch"
Case OSLanguage = 1044
strDisplay = "Norwegian Bokmal"
Case OSLanguage = 1045
strDisplay = "Polish"
Case OSLanguage = 1048
strDisplay = "Romanian"
Case OSLanguage = 1049
strDisplay = "Russian"
Case OSLanguage = 1051
strDisplay = "Slovak"
Case OSLanguage = 1053
strDisplay = "Swedish"
Case OSLanguage = 1060
strDisplay = "Slovenian"
Case OSLanguage = 1028
strDisplay = "Chinese (Traditional) - TaiWan"
Case OSLanguage = 2052
strDisplay = "Chinese (Simplified) - PRC"
Case OSLanguage = 4100
strDisplay = "Chinese (Simplified) - Singapore"
Case OSLanguage = 2070
strDisplay = "Portuguese"
Case OSLanguage = 3076
strDisplay = "Chinese Hong Kong"
Otherwise
strDisplay = "English US" && 1033
Endcase
? "Detected Language : " + Alltrim(Str(OSLanguage)) + " (" + strDisplay + ")"
tuberose 在 星期二 二月 25, 2014 8:10 pm 作了第 2 次修改 |
|
回頂端 |
|
 |
Batman
註冊時間: 2003-11-15 文章: 348
第 7 樓
|
發表於: 星期二 二月 25, 2014 6:48 pm 文章主題: |
|
|
謝謝tuberose幫助, 可以了 |
|
回頂端 |
|
 |
tuberose
註冊時間: 2006-05-02 文章: 33
第 8 樓
|
發表於: 星期二 二月 25, 2014 8:22 pm 文章主題: |
|
|
*!* Retrieving national language settings
Clear
DO declare
? "System Default LangID :", GetSystemDefaultLangID()
? "User Default LangID :", GetUserDefaultLangID()
? "System Default LCID :", GetSystemDefaultLCID()
? "User Default LCID :", GetUserDefaultLCID()
? "Current Thread Locale :", GetThreadLocale()
? "OEM code-page identifier :", GetOEMCP()
? "ANSI code-page identifier :", GetACP()
? "Current code page (should be the same as GetOEMCP):", GetKBCodePage()
PROCEDURE declare
DECLARE SHORT GetThreadLocale IN kernel32
DECLARE SHORT GetSystemDefaultLangID IN kernel32
DECLARE SHORT GetUserDefaultLangID IN kernel32
DECLARE SHORT GetSystemDefaultLCID IN kernel32
DECLARE SHORT GetUserDefaultLCID IN kernel32
DECLARE INTEGER GetOEMCP IN kernel32
DECLARE INTEGER GetACP IN kernel32
DECLARE INTEGER GetKBCodePage IN user32 |
|
回頂端 |
|
 |
Batman
註冊時間: 2003-11-15 文章: 348
第 9 樓
|
發表於: 星期三 二月 26, 2014 9:31 am 文章主題: |
|
|
再次謝謝tuberose的額外資料 |
|
回頂端 |
|
 |
|