Lazarus中文社区

 找回密码
 立即注册(注册审核可向QQ群索取)

QQ登录

只需一步,快速开始

Lazarus IDE and 组件 下载地址版权申明
查看: 2685|回复: 2

如何在wince下执行外部程序,非等待模式

[复制链接]

该用户从未签到

发表于 2012-5-17 12:51:22 | 显示全部楼层 |阅读模式
如何在wince下执行外部程序,非等待模式。调用ExecuteProcess,必须等待外部执行文件关闭才能继续执行。
我按WIKI上的说明写了个函数,一直报错:TApplication.HandleException Failed to execute \windwos\explorer.exe : 87。MSDN上说error 87 表示 ERROR_INVALID_PARAMETER,无效的参数。不知道哪位遇到过?

procedure RunProgram(ExeStr: string);
var
  AProcess: TProcess;
begin
  AProcess := TProcess.Create(nil);
  AProcess.CommandLine := ExeStr;
  AProcess.Execute;
  AProcess.Free;
end;
回复

使用道具 举报

该用户从未签到

发表于 2012-5-23 16:15:10 | 显示全部楼层
顶下
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2013-1-12 11:28:12 | 显示全部楼层
procedure exec();
var
     ShExecInfo: SHELLEXECUTEINFO;
     dwretWORD;
begin
   ShExecInfo.cbSize:= sizeof(SHELLEXECUTEINFO);
   ShExecInfo.fMask:= SEE_MASK_NOCLOSEPROCESS;
   ShExecInfo.hwnd:= NULL;
   ShExecInfo.lpVerb:='';
   ShExecInfo.lpFile:='cmd.exe';
   ShExecInfo.lpParameters:='';
   ShExecInfo.lpDirectory:='';
   ShExecInfo.nShow:= SW_SHOW;
   ShExecInfo.hInstApp := NULL;
   ShellExecuteEx(@ShExecInfo);
   //dwret:=WaitForSingleObject(ShExecInfo.hProcess,INFINITE);  //等待结束
   CloseHandle(ShExecInfo.hProcess);
end;
回复 支持 反对

使用道具 举报

*滑块验证:

本版积分规则

QQ|手机版|小黑屋|Lazarus中国|Lazarus中文社区 ( 鄂ICP备16006501号-1 )

GMT+8, 2025-5-2 23:15 , Processed in 0.029779 second(s), 11 queries , Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表