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 !!! :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 !

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
:?: