Thanks, Mike - those were the bits that I had - just about - guessed!!

Regards,
Alastair.



----- Original Message ----- From: "MikeB" <[EMAIL PROTECTED]>
To: "RBASE-L Mailing List" <[email protected]>
Sent: Wednesday, August 06, 2008 12:26 PM
Subject: [RBASE-L] - Re: Silent LAUNCH command.


Understood. As a place to start, substitute your batch or executable for "testbat.bat" and put your argument list in the lpParameters text value.

----- Original Message ----- From: "Alastair Burr" <[EMAIL PROTECTED]>
To: "RBASE-L Mailing List" <[email protected]>
Sent: Wednesday, August 06, 2008 4:15 AM
Subject: [RBASE-L] - Re: Silent LAUNCH command.


Many thanks, Mike.

To be honest I do not understand what you are telling me.

But, before I ask for any further help, I'd like to try for myself to see if I can work out for myself what to do with what you have given me. I have read it through a few times and there is at least a faint glow of light at the end of the tunnel. I might learn what the code is doing that way and then be able to adapt it in the future but I need to do a bit of reading of the help files first.

Regards,
Alastair.



----- Original Message ----- From: "MikeB" <[EMAIL PROTECTED]>
To: "RBASE-L Mailing List" <[email protected]>
Sent: Wednesday, August 06, 2008 1:25 AM
Subject: [RBASE-L] - Re: Silent LAUNCH command.


Alastair,

The WScript.Shell object is a COM object wrapper for the ShellExecute API, which you can call directly from RBase using the DLCall function. The parameters argument for ShellExecute is where you would put your comma separated values (or whatever separator the executable is expecting). Another thing, since RBase uses single quotes, and these APIs expect double quotes, it takes the work out of the quote business. This is guaranteed to be silent and zippier, since there is no COM overhead.

--Begin code
{
ShellExecute.rmd example by Mike Byerley
}
{

The Windows API declaration of Shellexecute:

HINSTANCE ShellExecute(          HWND hwnd,
   LPCTSTR lpOperation,
   LPCTSTR lpFile,
   LPCTSTR lpParameters,
   LPCTSTR lpDirectory,
   INT nShowCmd
);
Syntax located at:
http://msdn.microsoft.com/en-us/library/bb762153(VS.85).aspx

}
SET VAR nShowCmd Integer = 0  { SW_HIDE }
SET VAR lpDirectory TEXT = NULL
SET VAR lpParameters TEXT = NULL
SET VAR lpFile TEXT = 'TestBat.bat'
SET VAR lpOperation TEXT = 'open'
SET VAR HWND Integer = 0 { since it runs hidden, pass HWND as null }

SET VAR vRetVal Integer = NULL

IF (chkfunc('ShellExecuteA')) = 0 THEN
 STDCALL function 'ShellExecuteA' ALIAS 'ShellExecute' +
 (Integer, ptr TEXT (256), ptr TEXT (128), +
 ptr TEXT (128), ptr TEXT (32), Integer) : Integer
ENDIF

SET VAR vi = (dlcall('shell32.dll', 'ShellExecuteA', +
nShowCmd, lpDirectory, lpParameters, lpFile, lpOperation, HWND))

RETURN

--End code






----- Original Message ----- From: "Alastair Burr" <[EMAIL PROTECTED]>
To: "RBASE-L Mailing List" <[email protected]>
Sent: Tuesday, August 05, 2008 6:06 PM
Subject: [RBASE-L] - Re: Silent LAUNCH command.


Many thanks, Larry.

I had already tried the double quotes and even found something on the internet that used double double quotes but had no luck with it.

From your first response I'll try a new version of my InvisibleDOS.VBS file

CreateObject("Wscript.Shell").Run """" & WScript.Arguments(0) & WScript.Arguments(1)& WScript.Arguments(2)"""", 0, False

and play with that to see if I can make it work somehow - at least that gives me something to work on.

Again, thanks,
Regards,
Alastair.

----- Original Message ----- From: Lawrence Lustig
 To: RBASE-L Mailing List
 Sent: Tuesday, August 05, 2008 9:35 PM
 Subject: [RBASE-L] - Re: Silent LAUNCH command.


Additionally, if your problem is that the batch file is getting executed _without_ the parameters, the problem is the script is being passed three parameters, but uses only the first as the command line to execute.

You may be able to fix this by passing the entire command line in quote characters:

 LAUNCH InvisibleDOS.VBS|"C:\DosPrograms\Attrib.BAT I: -R|W"

And, depending on your own quote settings, you may need to surround the whole launch string in quotes and/or double up your double quotes.
 --
 Larry


No virus found in this incoming message.
Checked by AVG - http://www.avg.com
Version: 8.0.138 / Virus Database: 270.5.12/1592 - Release Date: 05/08/2008 06:03

--- RBASE-L
================================================
TO POST A MESSAGE TO ALL MEMBERS:
Send a plain text email to [email protected]

(Don't use any of these words as your Subject:
INTRO, SUBSCRIBE, UNSUBSCRIBE, SEARCH,
REMOVE, SUSPEND, RESUME, DIGEST, RESEND, HELP)
================================================
TO SEE MESSAGE POSTING GUIDELINES:
Send a plain text email to [email protected]
In the message SUBJECT, put just one word: INTRO
================================================
TO UNSUBSCRIBE: Send a plain text email to [email protected]
In the message SUBJECT, put just one word: UNSUBSCRIBE
================================================
TO SEARCH ARCHIVES:
Send a plain text email to [email protected]
In the message SUBJECT, put just one word: SEARCH-n
(where n is the number of days). In the message body, place any text to search for.
================================================



No virus found in this incoming message.
Checked by AVG - http://www.avg.com Version: 8.0.138 / Virus Database: 270.5.12/1592 - Release Date: 05/08/2008 06:03









No virus found in this incoming message.
Checked by AVG - http://www.avg.com Version: 8.0.138 / Virus Database: 270.5.12/1594 - Release Date: 05/08/2008 21:49





Reply via email to