![]() |
Anzeige:
|
|
|||||||
| XProfan Alles rund um die Programmiersprache XProfan. |
|
![]() |
|
|
LinkBack | Themen-Optionen | Ansicht |
|
|
#1 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 15.02.2009
Beiträge: 10.786
|
Wie kann man die für den eigenen Prozess eingestellte Sprache ermitteln?
__________________
______________ Bitte Schnelltest durchführen: Neuer Virus, ahnungslose User seit Monaten infiziert! Mfg AHT |
|
|
|
|
|
|
#2 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 15.02.2009
Beiträge: 10.786
|
Weder das
Code:
'#####################################################################################
'######### Testcode von AHT #########
'######### gepostet in Paules PC Forum #########
'#####################################################################################
Declare Lang#, CCHDATA&, Size&
CLS
CreateMultiEdit(%HWND,"",300,30,200,300)
CCHDATA&=0
DIM Lang#,1
Clear Lang#
External("Kernel32","SetLastError",0)
Size&=External("Kernel32","GetLocaleInfoA",$400,$1 | $20000000,Lang#,addr(CCHDATA&))
Dispose Lang#
DIM Lang#,Size&+1
CCHDATA&=Size&
Print External("Kernel32","GetLocaleInfoA",$400,$1 | $20000000,Lang#,addr(CCHDATA&))
PRINT External("Kernel32","GetLastError")
PRINT "Language: $"+Hex$(long(Lang#,0))
Print "User Primary Lanuage Identifier: $"+Hex$(Byte(Lang#,0))
Print "User Sublanuage Identifier: $"+Hex$(Byte(Lang#,1))
IF long(Lang#,0)=$407
Print "Sprache: deutsch"
endif
Dispose Lang#
CCHDATA&=0
DIM Lang#,1
Clear Lang#
Size&=External("Kernel32","GetLocaleInfoA",$400,$4 | $0,Lang#,addr(CCHDATA&))
Dispose Lang#
DIM Lang#,Size&+1
CCHDATA&=Size&
Print External("Kernel32","GetLocaleInfoA",$400,$4 | $0,Lang#,addr(CCHDATA&))
PRINT External("Kernel32","GetLastError")
PRINT "Language: "+String$(Lang#,0)
Dispose Lang#
CCHDATA&=0
DIM Lang#,1
Clear Lang#
Size&=External("Kernel32","GetLocaleInfoA",$400,$5 | $20000000,Lang#,addr(CCHDATA&))
Dispose Lang#
DIM Lang#,Size&+1
CCHDATA&=Size&
Print External("Kernel32","GetLocaleInfoA",$400,$5 | $20000000,Lang#,addr(CCHDATA&))
PRINT External("Kernel32","GetLastError")
Print "Country: "+Str$(Long(Lang#,0))
Dispose Lang#
CCHDATA&=0
DIM Lang#,1
Clear Lang#
Size&=External("Kernel32","GetLocaleInfoA",$400,$3 | $0,Lang#,addr(CCHDATA&))
Dispose Lang#
DIM Lang#,Size&+1
CCHDATA&=Size&
Print External("Kernel32","GetLocaleInfoA",$400,$3 | $0,Lang#,addr(CCHDATA&))
PRINT External("Kernel32","GetLastError")
PRINT "Language: "+String$(Lang#,0)
Dispose Lang#
waitkey
Code:
'#####################################################################################
'######### Testcode von AHT #########
'######### gepostet in Paules PC Forum #########
'#####################################################################################
Declare Lang#
DIM Lang#,2
CLS
Clear Lang#
word lang#,0=External("Kernel32","GetSystemDefaultLangID")
Print "System Primary Lanuage Identifier: $"+Hex$(Byte(Lang#,0))
Print "System Sublanuage Identifier: $"+Hex$(Byte(Lang#,1))
Print ""
Clear Lang#
word lang#,0=External("Kernel32","GetUserDefaultLangID")
Print "User Primary Lanuage Identifier: $"+Hex$(Byte(Lang#,0))
Print "USer Sublanuage Identifier: $"+Hex$(Byte(Lang#,1))
Print ""
Clear Lang#
word lang#,0=External("Kernel32","GetSystemDefaultUILanguage")
Print "SystemUI Primary Lanuage Identifier: $"+Hex$(Byte(Lang#,0))
Print "SystemUI Sublanuage Identifier: $"+Hex$(Byte(Lang#,1))
Print ""
Clear Lang#
word lang#,0=External("Kernel32","GetUserDefaultUILanguage")
Print "UserUI Primary Lanuage Identifier: $"+Hex$(Byte(Lang#,0))
Print "UserUI Sublanuage Identifier: $"+Hex$(Byte(Lang#,1))
Print ""
Create("MultiEdit",%HWND,"",20,200,500,180)
Dispose Lang#
While 1
Waitinput
wend
__________________
______________ Bitte Schnelltest durchführen: Neuer Virus, ahnungslose User seit Monaten infiziert! Mfg AHT |
|
|
|
|
|
#3 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.094
|
__________________
Gruß, Frank ![]() Webpage http://frabbing.bplaced.net mit Freeware - Tools, Spiele und Grafiken. |
|
|
|
|
|
#4 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 15.02.2009
Beiträge: 10.786
|
Geht ebenfalls nicht. Eingabegebietschema-Leiste ist auf Englisch umgestellt, der Code zeigt aber Deutsch an:
Code:
'##################################################################################### '######### Testcode von AHT ######### '######### gepostet in Paules PC Forum ######### '##################################################################################### Def GetSystemDefaultLocaleName(2) !"Kernel32","GetSystemDefaultLocaleName" Declare LOCALE_NAME# DIM LOCALE_NAME#,1000 Print GetSystemDefaultLocaleName(LOCALE_NAME#,1000) Print Char$(Locale_Name#,0,85) Dispose Locale_Name# While 1 Waitinput wend
__________________
______________ Bitte Schnelltest durchführen: Neuer Virus, ahnungslose User seit Monaten infiziert! Mfg AHT |
|
|
|
|
|
#5 (Direktlink) |
|
Stammuser
![]() Registriert seit: 08.02.2009
Ort: Bielefeld
Alter: 53
Beiträge: 428
|
Probiers mal hiermit.
Bei mir funktioniert es. Code:
cls
Print External("Kernel32.dll","GetUserDefaultLangID")
waitinput
end
__________________
Gruss Andreas ______________________ http://www.ampsoft.eu Profan 3.3 - XProfanX2 Windows 95,98,ME,2000,XP Vista - Windows 7 32 / 64 Bit ASUS X93S - Intel Core I7 - NVIDIA GForce GT540M - 8GB Arbeitsspeicher |
|
|
|
|
|
|
#6 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 15.02.2009
Beiträge: 10.786
|
Habe ich schon, geht ebenfalls nicht. Aber GetKeyboardLayout scheint aber zu klappen:
Code:
'#####################################################################################
'######### Testcode von AHT #########
'######### gepostet in Paules PC Forum #########
'#####################################################################################
Declare Lang#
DIM Lang#,2
CLS
Clear Lang#
word lang#,0=External("Kernel32","GetSystemDefaultLangID")
Print "System Primary Lanuage Identifier: $"+Hex$(Byte(Lang#,0))
Print "System Sublanuage Identifier: $"+Hex$(Byte(Lang#,1))
Print ""
Clear Lang#
word lang#,0=External("Kernel32","GetUserDefaultLangID")
Print "User Primary Lanuage Identifier: $"+Hex$(Byte(Lang#,0))
Print "USer Sublanuage Identifier: $"+Hex$(Byte(Lang#,1))
Print ""
Clear Lang#
word lang#,0=External("Kernel32","GetSystemDefaultUILanguage")
Print "SystemUI Primary Lanuage Identifier: $"+Hex$(Byte(Lang#,0))
Print "SystemUI Sublanuage Identifier: $"+Hex$(Byte(Lang#,1))
Print ""
Clear Lang#
word lang#,0=External("Kernel32","GetUserDefaultUILanguage")
Print "UserUI Primary Lanuage Identifier: $"+Hex$(Byte(Lang#,0))
Print "UserUI Sublanuage Identifier: $"+Hex$(Byte(Lang#,1))
Print ""
Dispose Lang#
DIM Lang#,1000
Clear Lang#
Long lang#,0=External("User32","GetKeyboardLayout",External("Kernel32","GetCurrentThreadId"))
Print "Keyboard Primary Lanuage Identifier: $"+Hex$(Byte(Lang#,0))
Print "Keyboard Sublanuage Identifier: $"+Hex$(Byte(Lang#,1))
Print ""
Create("MultiEdit",%HWND,"",20,200,500,180)
Dispose Lang#
While 1
Waitinput
wend
__________________
______________ Bitte Schnelltest durchführen: Neuer Virus, ahnungslose User seit Monaten infiziert! Mfg AHT |
|
|
|
|
|
#7 (Direktlink) |
|
Forenmaskottchen
![]() Registriert seit: 09.02.2009
Ort: Bangkok
Beiträge: 686
|
ich weiß zwar nicht genau was du suchst, das Gebietsschema oder was. Du könntest es mal mit
GetKeyboardLayout versuchen.
__________________
Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai. http://dieterzornow.gmxhome.de |
|
|
|
|
|
#8 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 15.02.2009
Beiträge: 10.786
|
Siehe oben, das wars.
__________________
______________ Bitte Schnelltest durchführen: Neuer Virus, ahnungslose User seit Monaten infiziert! Mfg AHT |
|
|
|
|
|
#9 (Direktlink) | |
|
Stammuser
![]() Registriert seit: 08.02.2009
Ort: Bielefeld
Alter: 53
Beiträge: 428
|
Zitat:
Code:
cls
If Hex$(External("Kernel32.dll","GetUserDefaultLangID"))=$407
Print "Deutsch(Deutschland)"
Elseif Hex$(External("Kernel32.dll","GetUserDefaultLangID"))=$409
Print "Englisch(USA)"
Endif
'Umstellen
waitinput
If Hex$(External("Kernel32.dll","GetUserDefaultLangID"))=$407
Print "Deutsch(Deutschland)"
Elseif Hex$(External("Kernel32.dll","GetUserDefaultLangID"))=$409
Print "Englisch(USA)"
Endif
waitinput
end
__________________
Gruss Andreas ______________________ http://www.ampsoft.eu Profan 3.3 - XProfanX2 Windows 95,98,ME,2000,XP Vista - Windows 7 32 / 64 Bit ASUS X93S - Intel Core I7 - NVIDIA GForce GT540M - 8GB Arbeitsspeicher Geändert von Andreas Miethe (16.11.2009 um 18:22 Uhr) |
|
|
|
|
|
|
#10 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 15.02.2009
Beiträge: 10.786
|
__________________
______________ Bitte Schnelltest durchführen: Neuer Virus, ahnungslose User seit Monaten infiziert! Mfg AHT |
|
|
|
|
|
|
#11 (Direktlink) |
|
Stammuser
![]() Registriert seit: 08.02.2009
Ort: Bielefeld
Alter: 53
Beiträge: 428
|
Windows7 nicht war ?
__________________
Gruss Andreas ______________________ http://www.ampsoft.eu Profan 3.3 - XProfanX2 Windows 95,98,ME,2000,XP Vista - Windows 7 32 / 64 Bit ASUS X93S - Intel Core I7 - NVIDIA GForce GT540M - 8GB Arbeitsspeicher |
|
|
|
|
|
#12 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 15.02.2009
Beiträge: 10.786
|
Nein, Vista.
__________________
______________ Bitte Schnelltest durchführen: Neuer Virus, ahnungslose User seit Monaten infiziert! Mfg AHT |
|
|
|
|
|
#13 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 15.02.2009
Beiträge: 10.786
|
Einmal eine kurze Erklärung, wo meiner Meinung nach das Problem liegt:
Bereits beim Namen der API sieht man eigentlich schon, was ausgelesen wird: GetUserDefaultLangID -> das was standardmäßig eingestellt ist. Über die Eingabegebietschemaleiste kann man aber diese Einstellung threadspezifisch setzen -> GetKeyboardLayout.
__________________
______________ Bitte Schnelltest durchführen: Neuer Virus, ahnungslose User seit Monaten infiziert! Mfg AHT |
|
|
|
|
|
#14 (Direktlink) |
|
Stammuser
![]() Registriert seit: 08.02.2009
Ort: Bielefeld
Alter: 53
Beiträge: 428
|
Das was Du da einstellst ist aber auch nur das Tastaturlayout und nicht nicht die eingestellte Sprache.
War wohl ein Missverständnis. Ich habe das Gebietsschema bzw Format geändert.
__________________
Gruss Andreas ______________________ http://www.ampsoft.eu Profan 3.3 - XProfanX2 Windows 95,98,ME,2000,XP Vista - Windows 7 32 / 64 Bit ASUS X93S - Intel Core I7 - NVIDIA GForce GT540M - 8GB Arbeitsspeicher |
|
|
|
|
|
#15 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 15.02.2009
Beiträge: 10.786
|
Ja, damit funktioniert dein Code, wollte aber die Eingabegebietschemaleiste haben. Hier mal mein Vorschlag dafür:
Code:
'#####################################################################################
'######### Testcode von AHT #########
'######### gepostet in Paules PC Forum #########
'#####################################################################################
Declare Lang#
CLS
Create("MultiEdit",%HWND,"",20,200,500,180)
Usermessages $51,$44
Print GetLanguage()
While 1
Waitinput
IF %UMESSAGE=($51)
CLS
Print GetLanguage()
SendMessage(%Hwnd,$44,0,0)
endif
wend
Proc GetLanguage
Declare Sprache$
DIM Lang#,4
Clear Lang#, Sprache$
Clear Lang#
Long lang#,0=External("User32","GetKeyboardLayout",External("Kernel32","GetCurrentThreadId"))
IF Byte(Lang#,0)=$7
Sprache$="deutsch"
Elseif Byte(Lang#,0)=$9
Sprache$="english"
else
Sprache$="unknown"
endif
Dispose Lang#
Return Sprache$
endproc
__________________
______________ Bitte Schnelltest durchführen: Neuer Virus, ahnungslose User seit Monaten infiziert! Mfg AHT |
|
|
|
|
![]() |
|
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
|
|
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| DDR Ram Speicher ermitteln | Tight-Girl | Hardware - Problemlösungen | 2 | 19.06.2008 12:04 |
| Bildgröße ermitteln | Green Ali3n | PHP/MySQL | 2 | 17.10.2006 22:23 |
| Arbeitspeicher ermitteln | rawie87 | Allgemein | 4 | 11.09.2005 10:53 |
| Leistung des PC ermitteln? | AndreasM | Software - Allgemein | 2 | 31.05.2005 19:37 |
| IP Adresse ermitteln | Schublade02 | Software - Allgemein | 7 | 01.11.2004 14:28 |