DaniWeb IT Discussion Community

DaniWeb IT Discussion Community (http://www.daniweb.com/forums/index.php)
-   Visual Basic 4 / 5 / 6 (http://www.daniweb.com/forums/forum4.html)
-   -   Can you fix the problem (http://www.daniweb.com/forums/thread18585.html)

Seyha Eng Feb 13th, 2005 1:55 pm
Can you fix the problem
 
1 Attachment(s)
Hi,
I have code to open program that work(on attach files).
My problem is when I change code to open another file it error.
Ex:
Right code:
Call Shell(li & "\" & "Program Files\Microsoft Office\Office10\POWERPNT.EXE", 1)
Error code:
Call Shell(li & "\" & "aa.pdf", 1)
Error say:"Invalid procedure call or argument"
I have file on my computer.
Can anyone help me with this problem please?
Thanks!
seyha

koolsid Feb 13th, 2005 5:14 pm
Re: Can you fix the problem
 
Call statement Transfers control to a Sub procedure, Function procedure, or dynamic-link library (DLL)procedure.

I believe that you cannot use "CALL" to call a file which is not executable.
same goes with SHELL...

Call Shell(AppName, 1) Where AppName contains the path of the Executable file.

try it with any other directory and try calling an executable.. it will work.

If you try calling a .txt or .bmp, it will give you the same error message...

Seyha Eng Feb 13th, 2005 9:45 pm
Re: Can you fix the problem
 
So what can I do with the problem? Can you make the file for me please?
Thanks! I hope will here from you soon.
seyha


Quote:

Originally Posted by koolsid
Call statement Transfers control to a Sub procedure, Function procedure, or dynamic-link library (DLL)procedure.

I believe that you cannot use "CALL" to call a file which is not executable.
same goes with SHELL...

Call Shell(AppName, 1) Where AppName contains the path of the Executable file.

try it with any other directory and try calling an executable.. it will work.

If you try calling a .txt or .bmp, it will give you the same error message...


koolsid Feb 14th, 2005 2:55 am
Re: Can you fix the problem
 
Quote:

Originally Posted by Seyha Eng
So what can I do with the problem? Can you make the file for me please?
Thanks! I hope will here from you soon.
seyha

Sure, I'll give the code in the evening when i come back from office.... Leaving for office now :-)

Try using commondialog controls with FSO (file system objects....)

Comatose Feb 14th, 2005 9:40 am
Re: Can you fix the problem
 
the problem is you are trying to launch a PDF file, not an EXE file. If you want to open the pdf file, you'll have to use the path to adobe. Something like "c:\program files\adobe\adobe.exe aa.pdf" or something along those lines. the Shell function doesn't decipher extentions. It runs an application. Plain and simple. For a POSSIBLE solution to launching a program based on the extention (in cahoots with the registries, HKCR) you might want to look at the API call "shellexecute." That one does wonders ;)

koolsid Feb 14th, 2005 1:04 pm
Re: Can you fix the problem
 
Quote:

Originally Posted by Comatose
the problem is you are trying to launch a PDF file, not an EXE file. If you want to open the pdf file, you'll have to use the path to adobe. Something like "c:\program files\adobe\adobe.exe aa.pdf" or something along those lines. the Shell function doesn't decipher extentions. It runs an application. Plain and simple. For a POSSIBLE solution to launching a program based on the extention (in cahoots with the registries, HKCR) you might want to look at the API call "shellexecute." That one does wonders ;)

You are right that it runs only applications. Even if you mention the filename with the path and the corresponding exe ("c:\program files\adobe\adobe.exe aa.pdf") or as a matter of fact ("c:\windows\notepad.exe aaa.txt") it still won't run... that's what i am trying to imply. working on it right now. should come up with the code ASAP :-)

Comatose Feb 14th, 2005 5:19 pm
Re: Can you fix the problem
 
the way to go is the shellexecute api.... it launches the default application for the specified file. It's how a lot of VB app's launch the default web browser to visit a specific URL (or whatever the case may be). ShellExecute is powerful, it can run an EXE or figure out which program to call for a specific extention!

thread reference (possible answer): http://www.daniweb.com/techtalkforums/thread18470.html


All times are GMT -4. The time now is 2:00 am.

Forum system based on vBulletin Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
©2003 - 2009 DaniWeb® LLC