I need some immediate guidance with an error I am facing using an
ActiveXObject to instantiate a DLL and use the object to launch a
command on the local client. I use this great DLL called LaunchinIE
which works for the most part. But I am running into a hurdle in my
application, as described below...
I have set up an ASP page with the following code on the web server:
<html>
<head>
<title>Testing Application Launch In IE</title>
<script language="JavaScript">
function launchApp(strCmdLine)
{
var obj = new ActiveXObject("LaunchinIE.Launch");
obj.LaunchApplication(strCmdLine);
}
</script>
</head>
<body>
<script language="JavaScript">
var qt = '"';
var strCmdLine = 'C:\\ddc32\\ddc32.exe ';
strCmdLine += 'ddc(dsp(30, Application Login, Logging in to
Application..., 3) if w4w(2, Missing Client ID) else if w4i(40,GenQL,)
wait(6) skw(0,GenQL TSTUSER{enter}TSTPWD{enter}) endif endif dsp()) &&
';
strCmdLine += qt+'C:\\Program Files\\GenQL\\genql.exe'+qt + ' ';
strCmdLine += 'GenQL.App Name=Desktop70';
launchApp(strCmdLine);
</script>
</body>
</html>
On the client system, I registered the launchinIE.dll component that
suppresses the IE security prompt for opening or saving an executable.
Now, when I try to access this page from the client, the first part of
the command works, i.e. the ddc32 winbatch executable. But the second
part of the command is not recognized and a message box shows up
stating that the command is unknown.
Surprisingly, if I try the exact two commands from the DOS command
line, i.e.
C:\ddc32\ddc32.exe ddc(dsp(30, Application Login, Logging in to
Application..., 3) if w4w(2, Missing Client ID) else if w4i(40,GenQL,)
wait(6) skw(0,GenQL TSTUSER{enter}TSTPWD{enter}) endif endif dsp()) &&
"C:\Program Files\GenQL\genql.exe" GenQL.App Name=Desktop70
.... both commands are executed in sequence and work just fine. Since
the command is included in JavaScript, I had to escape the reverse
slash and alias the double quote character with a variable "qt". Also,
the && is more like Unix, where the result of the first command
decides whether or not to execute the second command. In other words,
if the first command returns TRUE, the second command is executed only
then. I know your DLL works just fine, because if I replace this long
command with something simpler like...
C:\ddc32\display1.bat ashwin && C:\ddc32\display2.bat raj
.... it works just fine. I feel this may be a JavaScript type of issue,
and it is somehow unable to parse the argument to the first command
ddc32, thereby failing the second command.
I greatly appreciate any help! 5 12419
> ... I use this great DLL called LaunchinIE which works for the most part. But I am running into a hurdle in my application, as described below...
In that you are callng a method of a 3rd party component, your best bet is
to contact the author (email address from the site:
rockin_AT_whirlywiryweb.com).
--
Michael Harris
Microsoft.MVP.Scripting
Sammamish WA US
Mike,
I have done that too, and I think the author has been very forthcoming
in his support. Even then, this is an issue related to JavaScript,
because I can replace that long command string with something similar
like...
myObj.launchApplication("mdisplay1.bat ashwin && display2.bat raj");
....within LaunchinIE and it works just fine. But the similar syntax
and a different pair of commands (below) do not work. I think it may
have something to do with escaping the parentheses, ampersands or some
other character(s). The exact same pair of commands executed in a DOS
window works just fine, but not when invoked from the LaunchinIE
component the exact same way.
Thanks for your response.
--Ashwin
"Michael Harris \(MVP\)" <mikhar at mvps dot org> wrote in message news:<eh**************@TK2MSFTNGP11.phx.gbl>... ... I use this great DLL called LaunchinIE which works for the most part. But I am running into a hurdle in my application, as described below...
In that you are callng a method of a 3rd party component, your best bet is to contact the author (email address from the site: rockin_AT_whirlywiryweb.com).
forum7 wrote: Mike,
I have done that too, and I think the author has been very forthcoming in his support. Even then, this is an issue related to JavaScript, because I can replace that long command string with something similar like...
myObj.launchApplication("mdisplay1.bat ashwin && display2.bat raj");
The rules for command lines executed via the component's LaunchApplication
method are probably the same as those for WshShell.Run since it is likely
just a wrapper around ShellExecuteEx.
Since the && only has meaning to the command shell (e.g. cmd.exe), you have
to be explicit and include the command processor in your command line
"%comspec% /c ...all that other stuff..."
A command line like
c:\foo.bat && c:\foo.bat
works because the command shell instance is started implicitly via the BAT
file association.
A command line like
notepad.exe && notepad.exe
would fail at the && since the command shell is not launched implicitly.
A command line like
%comspec% /c notepad.exe && notepad.exe
would work because the command shell is launched explicitly...
...within LaunchinIE and it works just fine. But the similar syntax and a different pair of commands (below) do not work. I think it may have something to do with escaping the parentheses, ampersands or some other character(s). The exact same pair of commands executed in a DOS window works just fine, but not when invoked from the LaunchinIE component the exact same way.
Thanks for your response.
--Ashwin
"Michael Harris \(MVP\)" <mikhar at mvps dot org> wrote in message news:<eh**************@TK2MSFTNGP11.phx.gbl>... ... I use this great DLL called LaunchinIE which works for the most part. But I am running into a hurdle in my application, as described below...
In that you are callng a method of a 3rd party component, your best bet is to contact the author (email address from the site: rockin_AT_whirlywiryweb.com).
--
Michael Harris
Microsoft.MVP.Scripting
Mike,
Your suggestion did help! Now, I am able to get the two commands to
get executed via the component's LaunchApplication method. The
problem, however, is that the command shell window (blank) is open for
the duration of execution of the two commands. I tried looking up the
argument list for cmd.exe to see if there was some way to suppress
this window or auto-close in a given amount of time. I could not find
anything. This is not a show-stopper, but there may be risks
associated with having that window open for a long time. Do you have
any suggestions?
You have been extremely helpful -- thank you so much!
--Ashwin
"Michael Harris \(MVP\)" <mi****@mvps.org> wrote in message news:<ew**************@TK2MSFTNGP12.phx.gbl>... The rules for command lines executed via the component's LaunchApplication method are probably the same as those for WshShell.Run since it is likely just a wrapper around ShellExecuteEx.
Since the && only has meaning to the command shell (e.g. cmd.exe), you have to be explicit and include the command processor in your command line
"%comspec% /c ...all that other stuff..."
A command line like
c:\foo.bat && c:\foo.bat
works because the command shell instance is started implicitly via the BAT file association.
A command line like
notepad.exe && notepad.exe
would fail at the && since the command shell is not launched implicitly.
A command line like
%comspec% /c notepad.exe && notepad.exe
would work because the command shell is launched explicitly...
> Your suggestion did help! Now, I am able to get the two commands to get executed via the component's LaunchApplication method. The problem, however, is that the command shell window (blank) is open for the duration of execution of the two commands. I tried looking up the argument list for cmd.exe to see if there was some way to suppress this window or auto-close in a given amount of time. I could not find anything. This is not a show-stopper, but there may be risks associated with having that window open for a long time. Do you have any suggestions?
Unless the author of the component included support in the LaunchApplication
method for a window style argument (such as WshShell.Run does) to run in a
hidden window, then I don't know of any way for cmd.exe to hide itself.
--
Michael Harris
Microsoft.MVP.Scripting
Sammamish WA US This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics
by: Don |
last post by:
I'm writing an html page with some JavaScript that reads a web page
into a client-side temp file, then reformats it, then submits that
same file as a URL to the browser for display, via...
|
by: William |
last post by:
I have the following javascript function that updates a scroll_list and
sends the updated entry (with its index) to a server script
( i.e. http://mkmxg00/cgi/confirmUpload.pl ) for further...
|
by: acord |
last post by:
Hi,
In a html page, I don't know how to load in a php page from javascript.
I've already defined a <div id="treemenu"> in the html page. The
executed content from the php script is supposed...
|
by: seanism |
last post by:
Hello all I am new to javascript and I am attempting to write a site in
JS / PHP to jump on the ajax band wagon. I am getting the following
error and have not been able to locate a solution for it...
|
by: julian.tklim |
last post by:
Hi,
I need to build an editable Datagrid with add & delete buttons on each
row using javascript.
DataGrid need not be pre-populated with values.
To make the thing complicated, one of the...
|
by: charlesmusco |
last post by:
Hi all. I have the following problem. I have an xml file, while I will
list below and I am trying to add nodes to the xml document based on
user input to a form.
The XML doc is ...
<?xml...
|
by: SM |
last post by:
Hello,
Im trying to access elements in my XML file using the JavaScript DOM
but i'm not sure how. I use AJAX to access the XML and then use the
responseXML property to access the XML file data.
I...
|
by: critchey1 |
last post by:
Hey everyone, i've been playing around with trying to get some scripts to work with detecting whether flash player is installed on your computer or not. I found a flash detection kit on the adobe...
|
by: joelkeepup |
last post by:
Hi, I made a change this morning
and now im getting an error that says either "a is undefined or null"
or "e is undefined or null"
the microsoft ajax line is below, I have no idea how to...
|
by: DolphinDB |
last post by:
Tired of spending countless mintues downsampling your data? Look no further!
In this article, you’ll learn how to efficiently downsample 6.48 billion high-frequency records to 61 million...
|
by: isladogs |
last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM).
In this month's session, we are pleased to welcome back...
|
by: isladogs |
last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM).
In this month's session, we are pleased to welcome back...
|
by: Vimpel783 |
last post by:
Hello!
Guys, I found this code on the Internet, but I need to modify it a little. It works well, the problem is this: Data is sent from only one cell, in this case B5, but it is necessary that data...
|
by: ArrayDB |
last post by:
The error message I've encountered is; ERROR:root:Error generating model response: exception: access violation writing 0x0000000000005140, which seems to be indicative of an access violation...
|
by: CloudSolutions |
last post by:
Introduction:
For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
|
by: Defcon1945 |
last post by:
I'm trying to learn Python using Pycharm but import shutil doesn't work
|
by: Faith0G |
last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...
|
by: isladogs |
last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM).
In this session, we are pleased to welcome former...
| |