z018196
asked on
Passing Parameters thrrough and HTML link to an .exe
How do I create an link that passes parameters to an .exe?
Pretty much I needed to give my users a link that has the password ingrained in it already.
Pretty much I needed to give my users a link that has the password ingrained in it already.
ASKER
The only problem is that I'd need a seperate script/command-file for each user... I was hoping only to have to make a unique link. Is there any coding I can embed in the link?
> I'd need a seperate script/command-file for each user
Perhaps, but not necessarily. You could retrieve the username in the script and use a CASE or IF ... THEN sequence to get the right password. Something like this:
Set WshProcessEnvironment = WshShell.Environment("Proc ess")
varUsername = wshProcessEnvironment.Item ("UserName ")
Select Case varUsername
Case "Username1"
varPassword = "PasswordA"
Case "Username2"
varPassword = "PasswordB"
End Select
Set objShell = WScript.CreateObject("WScr ipt.Shell" )
objShell.Run "C:\Somepath\MyExecutable. exe " & varPassword
Perhaps, but not necessarily. You could retrieve the username in the script and use a CASE or IF ... THEN sequence to get the right password. Something like this:
Set WshProcessEnvironment = WshShell.Environment("Proc
varUsername = wshProcessEnvironment.Item
Select Case varUsername
Case "Username1"
varPassword = "PasswordA"
Case "Username2"
varPassword = "PasswordB"
End Select
Set objShell = WScript.CreateObject("WScr
objShell.Run "C:\Somepath\MyExecutable.
ASKER
I don't know if that will work in my case though. Think of it like this. I have a database(table) with a bunch of records and each of them has a unique identifier. I was hoping I could send out an email, when a record is created, that would have the unique Id for that record included. When the link was pushed, a report would get generated for that record. I can create a VB.Net app that just asks for the unique ID but I was hoping to embed it into the link so that people couldn't just enter in any number. Does that make sense?
Sure. All you need to do is send a link with a parameter. Something like
http://company.com/somepage.aspx?id=UniqueID
http://company.com/somepage.aspx?id=UniqueID
ASKER
how to capture that parameter? Below is my code... can you tell me what I'm missing? I can access the application correctly, which is good, now I just need to capture the parameter.
link in email:
file:///C:\Misc\App\App\bi n\Release\ App.exe?id =52
code in executable:
Dim str as String
Dim param as Integer
For Each str in Environment.GetCommandLine Args()
param = str
Next
I don't think the GetCommandLineAgrs() is correct.
Thanks,
link in email:
file:///C:\Misc\App\App\bi
code in executable:
Dim str as String
Dim param as Integer
For Each str in Environment.GetCommandLine
param = str
Next
I don't think the GetCommandLineAgrs() is correct.
Thanks,
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
I took a look at the article but couldn't find what I needed. I can't get the GetCommandLineAgrs() to work right. It doesn't get the parameter I pass to it, just the link to the executable.
Any suggestions?
Any suggestions?
Please show me the link that you're using.
ASKER
file:///C:\Misc\App\bin\Re lease\App. exe?id=52
Try this instead
file:///C:\Misc\App\bin\Re lease\App. exe%2052
or
file:///C:\Misc\App\bin\Re lease\App. exe%20-id% 2052
Look back at that article I linked to and check the section titled "Generic Parsing Guidelines".
file:///C:\Misc\App\bin\Re
or
file:///C:\Misc\App\bin\Re
Look back at that article I linked to and check the section titled "Generic Parsing Guidelines".
Create a script or command file that launches the exe and passes whatever information it requires. Link to the script/command file.