用一个简单的Windows服务,操作系统启动后能自动启动一些自定义的程序(ini文件配置的)现在发现一个问题,在Win7下,不能显示XE2的VCL窗体,但是任务管理器有进程存在。同样的在XP系统,服务能正常启动窗体,并显示出来。
procedure TVCOM.ServiceStart(Sender: TService; var Started: Boolean);
var i:integer;
str: string;
begin
for i:=1 to 5 do
begin
str:= GetDataByINIFile(i);
if Trim(str) <> EmptyStr then
ShellExecute(0,'open',PChar(str), nil, nil,SW_SHOWNORMAL);
end;
end;
procedure TVCOM.ServiceStart(Sender: TService; var Started: Boolean);
var i:integer;
str: string;
begin
for i:=1 to 5 do
begin
str:= GetDataByINIFile(i);
if Trim(str) <> EmptyStr then
ShellExecute(0,'open',PChar(str), nil, nil,SW_SHOWNORMAL);
end;
end;
只跟Win7操作系统有关。
服务运行打开记事本也是一样的,跳转到交互式服务检测界面。ShellExecute(0,'open','notepad.exe',nil, nil,SW_SHOWNORMAL);