sendtojp
asked on
From 'run' Hello.exe "My String" passes String in program
Is it possible to pass a variable from the command line ('Run' in windows) just by opening it providing a parameter from the command line.
Example:
I have a VB EXE called 'Hello.exe'
using a Short-Cut or user types under 'run'
Hello.exe "My String"
The program receieves a String to use in code
What data types may you pass.
-JP
Example:
I have a VB EXE called 'Hello.exe'
using a Short-Cut or user types under 'run'
Hello.exe "My String"
The program receieves a String to use in code
What data types may you pass.
-JP
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
use the following string:
Shell "Hello.exe " & yourString
For example I use the following code to open a picture file in IExplorer:
Dim TaskID As Long
TaskID = Shell("C:\Program Files\Internet Explorer\iexplore.exe " & txtFoto.Value, vbNormalFocus)
Shell "Hello.exe " & yourString
For example I use the following code to open a picture file in IExplorer:
Dim TaskID As Long
TaskID = Shell("C:\Program Files\Internet Explorer\iexplore.exe " & txtFoto.Value, vbNormalFocus)
Shell works fine, an alt. solution is using ShellExecute. Still uses Shell if fails but handles more types
Private Declare Function ShellExecute Lib "shell32.dll" _
Alias "ShellExecuteA" _
(ByVal hwnd As Long, _
ByVal lpOperation As String, _
ByVal lpFile As String, _
ByVal lpParameters As String, _
ByVal lpDirectory As String, _
ByVal nShowCmd As Long) _
As Long
'***App Window Constants***
Public Const WIN_NORMAL = 1 'Open Normal
Public Const WIN_MAX = 3 'Open Maximized
Public Const WIN_MIN = 2 'Open Minimized
'***Error Codes***
Private Const ERROR_SUCCESS = 32&
Private Const ERROR_NO_ASSOC = 31&
Private Const ERROR_OUT_OF_MEM = 0&
Private Const ERROR_FILE_NOT_FOUND = 2&
Private Const ERROR_PATH_NOT_FOUND = 3&
Private Const ERROR_BAD_FORMAT = 11&
'***************Usage Examples****************** *****
'Open a folder: ?fHandleFile("C:\TEMP\",WI N_NORMAL)
'Call Email app: ?fHandleFile("mailto:xxx@h otmail.com ",WIN_NORM AL)
'Open URL: ?fHandleFile("http://www.bbc.co.uk/", WIN_NORMAL)
'Handle Unknown extensions (call Open With Dialog):
' ?fHandleFile("C:\TEMP\Test This",Win_ Normal)
'Start Access instance:
' ?fHandleFile("I:\mdbs\Code NStuff.mdb ", Win_NORMAL)
'************************* ********** ********** *******
Function fHandleFile(stFile As String, lShowHow As Long)
Dim lRet As Long, varTaskID As Variant
Dim stRet As String
'First try ShellExecute
lRet = ShellExecute(hWndAccessApp , vbNullString, _
stFile, vbNullString, vbNullString, lShowHow)
If lRet > ERROR_SUCCESS Then
stRet = vbNullString
lRet = -1
Else
Select Case lRet
Case ERROR_NO_ASSOC:
'Try the OpenWith dialog
varTaskID = Shell("rundll32.exe shell32.dll,OpenAs_RunDLL " _
& stFile, WIN_NORMAL)
lRet = (varTaskID <> 0)
Case ERROR_OUT_OF_MEM:
stRet = "Error: Out of Memory/Resources. Couldn't Execute!"
Case ERROR_FILE_NOT_FOUND:
stRet = "Error: File not found. Couldn't Execute!"
Case ERROR_PATH_NOT_FOUND:
stRet = "Error: Path not found. Couldn't Execute!"
Case ERROR_BAD_FORMAT:
stRet = "Error: Bad File Format. Couldn't Execute!"
Case Else:
End Select
End If
fHandleFile = lRet & _
IIf(stRet = "", vbNullString, ", " & stRet)
End Function
'************ Code End **********
this particular code was nicked from
http://www.mvps.org/access/api/api0018.htm
Ive since tailored mine
Private Declare Function ShellExecute Lib "shell32.dll" _
Alias "ShellExecuteA" _
(ByVal hwnd As Long, _
ByVal lpOperation As String, _
ByVal lpFile As String, _
ByVal lpParameters As String, _
ByVal lpDirectory As String, _
ByVal nShowCmd As Long) _
As Long
'***App Window Constants***
Public Const WIN_NORMAL = 1 'Open Normal
Public Const WIN_MAX = 3 'Open Maximized
Public Const WIN_MIN = 2 'Open Minimized
'***Error Codes***
Private Const ERROR_SUCCESS = 32&
Private Const ERROR_NO_ASSOC = 31&
Private Const ERROR_OUT_OF_MEM = 0&
Private Const ERROR_FILE_NOT_FOUND = 2&
Private Const ERROR_PATH_NOT_FOUND = 3&
Private Const ERROR_BAD_FORMAT = 11&
'***************Usage Examples******************
'Open a folder: ?fHandleFile("C:\TEMP\",WI
'Call Email app: ?fHandleFile("mailto:xxx@h
'Open URL: ?fHandleFile("http://www.bbc.co.uk/", WIN_NORMAL)
'Handle Unknown extensions (call Open With Dialog):
' ?fHandleFile("C:\TEMP\Test
'Start Access instance:
' ?fHandleFile("I:\mdbs\Code
'*************************
Function fHandleFile(stFile As String, lShowHow As Long)
Dim lRet As Long, varTaskID As Variant
Dim stRet As String
'First try ShellExecute
lRet = ShellExecute(hWndAccessApp
stFile, vbNullString, vbNullString, lShowHow)
If lRet > ERROR_SUCCESS Then
stRet = vbNullString
lRet = -1
Else
Select Case lRet
Case ERROR_NO_ASSOC:
'Try the OpenWith dialog
varTaskID = Shell("rundll32.exe shell32.dll,OpenAs_RunDLL " _
& stFile, WIN_NORMAL)
lRet = (varTaskID <> 0)
Case ERROR_OUT_OF_MEM:
stRet = "Error: Out of Memory/Resources. Couldn't Execute!"
Case ERROR_FILE_NOT_FOUND:
stRet = "Error: File not found. Couldn't Execute!"
Case ERROR_PATH_NOT_FOUND:
stRet = "Error: Path not found. Couldn't Execute!"
Case ERROR_BAD_FORMAT:
stRet = "Error: Bad File Format. Couldn't Execute!"
Case Else:
End Select
End If
fHandleFile = lRet & _
IIf(stRet = "", vbNullString, ", " & stRet)
End Function
'************ Code End **********
this particular code was nicked from
http://www.mvps.org/access/api/api0018.htm
Ive since tailored mine
ASKER
-JP
I hope someone can answer it here!