Region And Language Keyboard Settings

Just starting out? Need help? Post your questions and find answers here.
User avatar
VB6_to_PBx
Enthusiast
Enthusiast
Posts: 627
Joined: Mon May 09, 2011 9:36 am

Region And Language Keyboard Settings

Post by VB6_to_PBx »

Region And Language Keyboard Settings :

i can do this in PureBasic , but it does not always work in every Window's version
RunProgram("Shell:::{62d8ed13-c9d0-4ce8-a914-47dd628fb1b0}") ;<--- Region And Language

the VB6.0 code works so far in all "tested" Windows versions from 98 to 8.0


how to convert following Visual Basic 6.0 source code To PureBasic ?
i'd like to do the same in PureBasic !

Code: Select all

Private Sub Menu_KeyBoardSettings_Click()

    Dim dblReturn As Double

    dblReturn = Shell("rundll32.exe shell32.dll,Control_RunDLL intl.cpl,,0", 5)

End Sub
 
PureBasic .... making tiny electrons do what you want !

"With every mistake we must surely be learning" - George Harrison
eJan
Enthusiast
Enthusiast
Posts: 366
Joined: Sun May 21, 2006 11:22 pm
Location: Sankt Veit am Flaum

Re: Region And Language Keyboard Settings

Post by eJan »

Code: Select all

RunProgram("RUNDLL32.EXE", "SHELL32.DLL, Control_RunDLL intl.cpl,,0", "")
or

Code: Select all

Procedure RunControlPanelApplet(Appletname.s)
  Protected runstr.s = "rundll32.exe shell32.dll, Control_RunDLL " + Appletname
  ProcedureReturn WinExec_(runstr, #SW_SHOWNORMAL)
EndProcedure

RunControlPanelApplet("intl.cpl")
Image
User avatar
VB6_to_PBx
Enthusiast
Enthusiast
Posts: 627
Joined: Mon May 09, 2011 9:36 am

Re: Region And Language Keyboard Settings

Post by VB6_to_PBx »

eJan wrote:

Code: Select all

RunProgram("RUNDLL32.EXE", "SHELL32.DLL, Control_RunDLL intl.cpl,,0", "")
or

Code: Select all

Procedure RunControlPanelApplet(Appletname.s)
  Protected runstr.s = "rundll32.exe shell32.dll, Control_RunDLL " + Appletname
  ProcedureReturn WinExec_(runstr, #SW_SHOWNORMAL)
EndProcedure

RunControlPanelApplet("intl.cpl")
eJan , awesome ... super quick response !!! :shock: :D

i still have some Customers using Win98 , maybe even Win95 :)
going test what you Posted on Win98 computer :)
i'm pretty sure it will work

thanks a bunch !
 
PureBasic .... making tiny electrons do what you want !

"With every mistake we must surely be learning" - George Harrison
User avatar
VB6_to_PBx
Enthusiast
Enthusiast
Posts: 627
Joined: Mon May 09, 2011 9:36 am

Re: Region And Language Keyboard Settings

Post by VB6_to_PBx »

eJan wrote:

Code: Select all

RunProgram("RUNDLL32.EXE", "SHELL32.DLL, Control_RunDLL intl.cpl,,0", "")
or

Code: Select all

Procedure RunControlPanelApplet(Appletname.s)
  Protected runstr.s = "rundll32.exe shell32.dll, Control_RunDLL " + Appletname
  ProcedureReturn WinExec_(runstr, #SW_SHOWNORMAL)
EndProcedure

RunControlPanelApplet("intl.cpl")
i tested your 2 examples
and modified one to this :

Code: Select all

RunProgram("RUNDLL32.EXE", "SHELL32.DLL, Control_RunDLL intl.cpl,,0","5")
but all 3 did not work in Win98 :(

ERROR in SHELL32.DLL
missing entry:

nothing showing after "missing entry:"
no indication of what's missing :(
 
PureBasic .... making tiny electrons do what you want !

"With every mistake we must surely be learning" - George Harrison
User avatar
Bisonte
Addict
Addict
Posts: 1305
Joined: Tue Oct 09, 2007 2:15 am

Re: Region And Language Keyboard Settings

Post by Bisonte »

VB6_to_PBx wrote:

Code: Select all

RunProgram("RUNDLL32.EXE", "SHELL32.DLL, Control_RunDLL intl.cpl,,0","5")
you try to set the "WorkDirectory" to 5... that doesn't exit.

Code: Select all

RunProgram("RUNDLL32.EXE", "SHELL32.DLL, Control_RunDLL intl.cpl,,0","5")
....
This should work....

Code: Select all

RunProgram("RUNDLL32.EXE", "SHELL32.DLL, Control_RunDLL intl.cpl,,5","")
PureBasic 6.21 (Windows x64) | Windows 11 Pro | AsRock B850 Steel Legend Wifi | R7 9800x3D | 64GB RAM | RTX 5080 | ThermaltakeView 270 TG ARGB | build by vannicom​​
English is not my native language... (I often use DeepL.)
User avatar
VB6_to_PBx
Enthusiast
Enthusiast
Posts: 627
Joined: Mon May 09, 2011 9:36 am

Re: Region And Language Keyboard Settings

Post by VB6_to_PBx »

Code: Select all

RunProgram("RUNDLL32.EXE", "SHELL32.DLL, Control_RunDLL intl.cpl,,5","")
still did not work in WIN98

i installed PureBASIC v4.51 in my WIN98 Computer
and tested 5 variations of Code posted above ... still does not work ... creates same ERROR messages in v4.51 to v5.31 tested

i'll just offer my VB6.0 program version EXE for Users with Windows below WINXP
and use new PureBASIC EXE for User with WIN-XP upwards to WIN8.1 :)

i guess its time to drop Support for Users below WIN-XP :)

PS: i'm still wondering why PureBasic code which appears similar to this VB6.0 will not work ??

Code: Select all

Private Sub Menu_KeyBoardSettings_Click()

    Dim dblReturn As Double

    dblReturn = Shell("rundll32.exe shell32.dll,Control_RunDLL intl.cpl,,0", 5)

End Sub
:?:
 
PureBasic .... making tiny electrons do what you want !

"With every mistake we must surely be learning" - George Harrison
Post Reply