请问在自己的软件中如何运行另外一个软件(50分)

  • 主题发起人 主题发起人 ifcansee
  • 开始时间 开始时间
I

ifcansee

Unregistered / Unconfirmed
GUEST, unregistred user!
使用Win32 API:
HINSTANCE ShellExecute(
HWND hwnd, //父窗口句柄
LPCTSTR lpOperation, //字符串指针,指向需要进行的操作
LPCTSTR lpFile, //字符串指针,指向文件名
LPCTSTR lpParameters, //字符串指针,指向命令行参数
LPCTSTR lpDirectory, //字符串指针,指向启始目录
INT nShowCmd //新应用程序的窗口风格
);

其中lpOperation为PChar字符串,指定对文件进行的操作,有效的取值有:
‘open’ 函数将打开lpFile参数指定的文件。该文件可以是可执行文件或文档文件,也可以是文件夹。
‘print’ 函数将打印lpFile参数指定的文件。该文件应该是一个文档文件,如果是可执行文件,函数将打开它,效果同’open’一样。
‘explore’ 函数将浏览lpFile参数指定的文件夹。
例如:
ShellExecute(Handle,’open’,’Http://www.MicroSoft.com’,’’,’’,SW_Show)将打开指定的链接
ShellExecute(Handle,’open’,’C:/Sample.txt’,’’,’’,SW_Show)将打开指定的文件
 
也就是说在按某个按钮的时候, 另外一个程序运行即可
 
在你的BUTTON的ONCLICK中加入
ShellExecute(Handle,’open’,’C:/xxx.exe’,’’,’’,SW_Show);
不就行了!
 
是exe的话可以这么运行

winExec('c:/aa.exe',0);
 
我试一下
 
UINT WinExec(

LPCSTR lpCmdLine, // address of command line
UINT uCmdShow // window style for new application
);
 
忘了告诉你
使用ShellExecute要在USE中加入shellapi
 
一少说的方法对于WIN程序是可行的,但是我要运行的程序是MS-DOS的一个程序,该怎么做?
 
1、CreateProcess API函数
2、ShellExecute API函数
可参考《Delphi6开发人员指南》中第11章的内容

3、如果为Word等OLE Server,请用Delphi提供的控件或COM编程

 
可以试试这一招,将DOS下的执行文件做到批处理中,
再用SHELLEXECUTE执行这个批处理文件,
当然这只是个取巧的办法,不过我试验过,好用
 
zeroyou,谢谢
 
kneey.hu
你的方法我试过了,对于*.exe 很好用,但是我打开*.txt文件不好用,没有反应!
 
接受答案了.
 
后退
顶部