中国开发网: 论坛: 程序员情感CBD: 贴子 350748
Fish
介个不是普通程序当service。不过守护服务的事情么,俺原来尝试这么做
// 这是俺用来启动新进程的函数
function ExecuteExeFile( const FileName, Params, DefaultDir : string; ShowCmd : Integer ) : Boolean;
var
zFileName, zParams, zDir : array[ 0..200 ] of Char;
lpStartupInfo : TStartupInfo;
lpProcessInformation : TProcessInformation;
begin
FillChar(lpStartupInfo, Sizeof(TStartupInfo), #0);
lpStartupInfo.cb := Sizeof(TStartupInfo);
lpStartupInfo.dwFlags := STARTF_USESHOWWINDOW;
lpStartupInfo.wShowWindow := ShowCmd;

Result := CreateProcess( StrPCopy( zFilename, Filename ), StrPCopy( zParams, Params ),
nil, nil, False, 0, nil, StrPCopy( zDir, DefaultDir ), lpStartupInfo, lpProcessInformation );
end;

// 这是俺的 onServiceStart 里面的部分代码
// 之前,从 ini 里面读取了若干个程序的路径,放在 Apps[] 数组里
// AppCount 是数量

for i := 0 to AppCount - 1 do
begin
LogMsg( sLogFilename, 'Starting application of : ' + Apps[ i ] );
// h := ExecuteFile( Apps[ i ], '', ExtractFilePath( Apps[ i ] ), SW_MINIMIZE );
if ExecuteExeFile( Apps[ i ], '', ExtractFilePath( Apps[ i ] ), SW_MINIMIZE ) then
LogMsg( sLogFilename, 'Starting Result : Successed' )
else
LogMsg( sLogFilename, 'Starting Result : Not successed' );
end;


以上代码很奇怪,在俺测试的时候不行,写个GUI程序,执行这些就可以
大家都是出来卖的,何苦自己人为难自己人
那些活好的,或者活新的,或者花样多的,
或者老板拉皮条功夫好能拉到肯多花钱的客的,
拜托不要老是打击年老色衰的同行了

老鱼记事 老鱼侃棋 老鱼围脖


相关信息:


欢迎光临本社区,您还没有登录,不能发贴子。请在 这里登录