如何执行任意类型文件(先答对有分)(10分)

  • 主题发起人 主题发起人 腾龙
  • 开始时间 开始时间

腾龙

Unregistered / Unconfirmed
GUEST, unregistred user!
我在程序中保存有文件地址,想在程序中调用WIN的其他程序运行所文件地址所指的文件。
但是此文件打开究竟用什么程序未知。想直接交给WINDOWS,让它去处理。
 
shellexecuteEx
 
一般使用ShellExecute就可以了。
ShellExecute(Handle,'open','C:/NETLOG.TXT',nil,nil,SW_Normal);
 
请说明各个参数的意思,如果没有,那用什么代替。
我现在的基本上就只有文件地址(像 c:/xx/xx.txt)……
 
uses shellapi;
function ShellExecute(hWnd: HWND; Operation, FileName, Parameters,
; Directory: PChar; ShowCmd: Integer): HINST; stdcall;
第一个:调用程序的句柄
第二个:操作,一般是open,可以有print等。
第三个:文件名,可以是任何文件
第四个:执行目录
第五个:运行方式,如最大化、正常等,但是SW_Hide隐藏不知道为什么对有些程序不行。

HINSTANCE ShellExecute(
; ; HWND hwnd, // handle to parent window
; ; LPCTSTR lpOperation, // pointer to string that specifies operation to perform
; ; LPCTSTR lpFile, // pointer to filename or folder name string
; ; LPCTSTR lpParameters, // pointer to string that specifies executable-file parameters
; ; LPCTSTR lpDirectory, // pointer to string that specifies default directory
; ; INT nShowCmd // whether file is shown when opened
; ;);
;
 
接受答案了.
 
后退
顶部