请问在DELPHI中如何调用外部文件? (100分)

  • 主题发起人 主题发起人 laih
  • 开始时间 开始时间
L

laih

Unregistered / Unconfirmed
GUEST, unregistred user!
请问在DELPHI中如何调用外部文件? 另如何调用WINDOWS 下的"文件查找"(可查找

文章中的某些内容)? 请高手详细回答!

 
uses shellapi;
shellexecute();
 
文件查找有控件,去http://go.163.com/~delphi6下载.
 
应该是
winexec()
里面就是写windows的内部命令,就可实现你的要求
 
就是winexec(路径,文件)

 
uses shellapi
用winexec或shellexecute
finddlg:

unit finddlg;

{**********************************************************}
{ }
{ TFindFilesDialog & TFindComputerDialog Unit }
{ Copyright ?999 Workshell Software. }
{ }
{ Version 1.0 }
{ }
{ }
{ Web -> http://www.workshell.uni.cc/ }
{ E - Mail -> finddlgs@kinsella.u-net.com }
{ }
{**********************************************************}

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ShlObj;

type
TFindFilesDialog = class(TComponent)
private
{ Private declarations }
protected
{ Protected declarations }
public
{ Public declarations }
function Execute: Boolean;
function ExecuteEx(pidlRoot, pidlSavedSearch: PItemIDList): Boolean;
published
{ Published declarations }
end;

type
TFindComputerDialog = class(TComponent)
private
{ Private declarations }
protected
{ Protected declarations }
public
{ Public declarations }
function Execute: Boolean;
function ExecuteEx(pidlRoot, pidlSavedSearch: PItemIDList): Boolean;
published
{ Published declarations }
end;

procedure Register;

implementation

function SHFindFiles(pidlRoot: PItemIDList; pidlSavedSearch: PItemIDList): Boolean;
stdcall; external 'Shell32.dll' index 90;

function SHFindComputer(pidlRoot: PItemIDList; pidlSavedSearch: PItemIDList): Boolean;
stdcall; external 'Shell32.dll' index 91;

function TFindFilesDialog.Execute: Boolean;
begin
Result := SHFindFiles(nil,nil);
end;

function TFindFilesDialog.ExecuteEx(pidlRoot, pidlSavedSearch: PItemIDList): Boolean;
begin
Result := SHFindFiles(pidlRoot,pidlSavedSearch);
end;

function TFindComputerDialog.Execute: Boolean;
begin
Result := SHFindComputer(nil,nil);
end;

function TFindComputerDialog.ExecuteEx(pidlRoot, pidlSavedSearch: PItemIDList): Boolean;
begin
Result := SHFindComputer(pidlRoot,pidlSavedSearch);
end;

procedure Register;
begin
RegisterComponents('Dialogs', [TFindFilesDialog,TFindComputerDialog]);
end;

end.


 
CreateProcess 也可以,不过麻烦一些
 
使用BUPACK中的BuExecute控件和BuSearchFile控件即可。
 
beta说得对,据徐新华得《Delphi5高级编程》介绍,可以使用winexec或shellexecute(我
以前一直用他),但在32位Windows下,最好用CreateProcess 。



 
WinExec('你的exe程序的路径和文件名',SW_SHOW);//这个最好用
shellexecute();
CreateProcess()
查一下帮助文件就知道用法了。
 
多人接受答案了。
 
后退
顶部