这个例子是讲 how to 调用桌面应用程序,比如:WPS电子表格
testCom.pas
program testCom;
{$mode objfpc}{$H+}
uses
SysUtils,Variants,ComObj,ActiveX,Windows;
const
Com = 'KET.Application';
var
App :Variant;
wbook :Variant;
Filename :WideString;
begin
if Assigned(InitProc) then
TProcedure(InitProc);
try
App:= CreateOleObject(Com);
App.Visible:= True;
Filename:= App.GetOpenFilename('Excel Files (*.xls), *.xls');
if FileExists(Filename) then
wbook:= App.Workbooks.Open(Filename);
except
writeln(' Open Error ');
end;
end.
注意:Filename :WideString; 不是 String , 也不是 AnsiString .
下一个例子是调用 IE浏览器
testIE.pas
program testIE;
{$mode objfpc}{$H+}
uses
SysUtils,Variants,ComObj,ActiveX,Windows;
const
Com = 'InternetExplorer.Application';
var
App :Variant;
Url,w :WideString;
begin
if ParamCount =1 then
w:= ParamStr(1)
else
exit;
Url:= 'http://www.iciba.com/'+w;
writeln(Url);
if Assigned(InitProc) then
TProcedure(InitProc);
try
App:= CreateOleObject(Com);
App.Visible:= True;
App.Navigate(Url);
except
writeln(' Open Error ');
end;
end.