public
end;
varform1: tform1;
implementation
//createprocess執行程式
procedure tform1.button3click(sender: tobject);
varstartupinfo: tstartupinfo;
processinfo: tprocessinformation;
begin
fillchar(startupinfo, sizeof(tstartupinfo), 0);
with startupinfo do
begin
cb := sizeof(tstartupinfo);
dwflags := startf_useshowwindow;
wshowwindow := sw_shownormal;
end;
createprocess(pchar(cmd), //程式名
pchar(para), //引數
nil,
nil,
false,
normal_priority_class,
nil,
nil,
startupinfo,
processinfo);
end;
//winexec執行程式
procedure tform1.button1click(sender: tobject);
begin
winexec(pchar(cmd+' '+para),sw_shownormal); //命令列+引數
end;
//shellexecute執行程式,需要新增shellapi單元
procedure tform1.button2click(sender: tobject);
begin
shellexecute(handle,
'open',
pchar(cmd), //程式名
pchar(para), //引數
nil, //預設資料夾
sw_shownormal);//正常顯示
end;
//createprocessasuser執行程式
procedure tform1.button4click(sender: tobject);
varhtoken:thandle;
ph:thandle;
si:startupinfo;
pi:process_information;
begin
ph:=openprocess(process_all_access ,
false,
getcurrentprocessid());
if ph<=0 then exit;
openprocesstoken( ph,token_all_access,htoken); //去當前程序token等同於取當前帳戶token
tryzeromemory( @si, sizeof( startupinfo ) );
si.cb := sizeof( startupinfo );
si.lpdesktop := pchar('winsta0/default');
si.wshowwindow:=sw_shownormal;
createprocessasuser(htoken,
pchar(cmd) , //程式名
pchar(para), //引數
nil,
nil,
false,
create_default_error_mode, //normal_priority_class or
create_new_console,
nil,
nil,
si,pi );
finally
closehandle(ph);
end;
end;
stdcall;external 'advapi32.dll';
//結束定義
//createprocesswithlogonw執行程式
procedure tform1.button5click(sender: tobject);
varsi: startupinfow;
pif: process_information;
spath:array[0..max_path] of widechar;
begin
if not fileexists(cmd) then exit;
stringtowidechar(cmd+' '+para,@spath,sizeof(spath));
si.cb := sizeof(startupinfow);
si.dwflags := startf_useshowwindow;
si.wshowwindow := sw_showdefault;
si.lpreserved := nil;
si.lpdesktop := nil;
si.lptitle := 'jjony';
createprocesswithlogonw('test', //使用者名稱,必須是已存在的帳戶
nil, //網域名稱,不在域中為空
'123456', //密碼,一定要和指定帳戶對應哦
logon_with_profile,
nil, //程式名
@spath, //命令列+' '+引數
create_default_error_mode,
nil,
nil,
si,pif);
end;
end.
delphi刪除自身執行程式的方法
procedure deleteme varbatchfile textfile batchfilename string processinfo tprocessinformation startupinfo tstartupinfo begin batchfilename extractfile...
linux 開機執行程式的方法
開機執行程式的方法 1.在 etc rc.d rc.local檔案中加入程式路徑及程式名 或2.在 etc rc.d init.d 中新增可執行程式,然後在 etc rc.d rcn.d 中新增符號鏈結 n表示執行級別 先檢視 etc inittab檔案中當前系統設定的預設級別,再將符號連線新增到對...
Linux定時啟動執行程式的方法
參考 cron 是乙個可以用來根據時間 日期 月份 星期的組合來排程對重複任務的執行的守護程序。cron 假定系統持續執行。如果當某任務被排程時系統不在執行,該任務就不會被執行。要使用 cron 服務,你必須安裝了 vixie cron rpm 軟體包,而且必須在執行cron服務。要判定該軟體包是否...