Page 1 of 1
Region And Language Keyboard Settings
Posted: Tue Feb 24, 2015 7:59 pm
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
Re: Region And Language Keyboard Settings
Posted: Tue Feb 24, 2015 8:34 pm
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")
Re: Region And Language Keyboard Settings
Posted: Tue Feb 24, 2015 9:56 pm
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 !!!
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 !
Re: Region And Language Keyboard Settings
Posted: Wed Feb 25, 2015 1:23 am
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

Re: Region And Language Keyboard Settings
Posted: Wed Feb 25, 2015 10:43 am
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","")
Re: Region And Language Keyboard Settings
Posted: Wed Feb 25, 2015 8:20 pm
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
