delphi 启动外部程序
procedureTForm1.XPButton2Click(Sender:TObject);beginif(suiedit1.Text='1234')and(suied...
procedure TForm1.XPButton2Click(Sender: TObject);
begin
if (suiedit1.Text='1234')and(suiedit2.Text='1234') then
begin
SetCurrentDirectory('internet');
winexec('hypmain.exe',WS_ACTIVECAPTION);
//ShellExecute(self.Handle,'open','internet\hypmain.exe', nil, nil, SW_NORMAL);
end
else
begin
Showmessage('输入的用户名或密码错误!');
end;
end;
在启动internet\hypmain.exe 的同时 启动 c:\windows\2.exe 求修改后的代码 展开
begin
if (suiedit1.Text='1234')and(suiedit2.Text='1234') then
begin
SetCurrentDirectory('internet');
winexec('hypmain.exe',WS_ACTIVECAPTION);
//ShellExecute(self.Handle,'open','internet\hypmain.exe', nil, nil, SW_NORMAL);
end
else
begin
Showmessage('输入的用户名或密码错误!');
end;
end;
在启动internet\hypmain.exe 的同时 启动 c:\windows\2.exe 求修改后的代码 展开
2个回答
展开全部
Delphi 启动外部程序,,推荐使用 ShellExecute ,不推荐winexec!
winexec是16位代码,,有时会被杀软误报。。;另外winexec不能指定默认目录,有时启动的外部程序会出错!
在使用,ShellExecute 启动外部程序的时候,,如果这个外部程序不是和你的程序在同一个目录里,一定要指定一下,默认目录。例如,你启动的是 c:\windows\2.exe ,加上他的默认目录,如下:
ShellExecute(Handle,'open','c:\windows\2.exe', nil, {这里写2.exe的默认目录}'c:\windows\', SW_NORMAL);
你的意思是不是,象你这样写,就是先启动hypmain.exe 完以后才启动的2.exe!你想在同一时间启动这两个程序!
其实你就直接写成如下的,,时间间隔也就是几毫秒而已:
procedure TForm1.XPButton2Click(Sender: TObject);
begin
if (suiedit1.Text='1234')and(suiedit2.Text='1234') then
begin
ShellExecute(self.Handle,'open','internet\hypmain.exe', nil, nil, SW_NORMAL);
ShellExecute(self.Handle,'open','c:\windows\2.exe ', nil, nil, SW_NORMAL);
end
else
begin
Showmessage('输入的用户名或密码错误!');
end;
end;
winexec是16位代码,,有时会被杀软误报。。;另外winexec不能指定默认目录,有时启动的外部程序会出错!
在使用,ShellExecute 启动外部程序的时候,,如果这个外部程序不是和你的程序在同一个目录里,一定要指定一下,默认目录。例如,你启动的是 c:\windows\2.exe ,加上他的默认目录,如下:
ShellExecute(Handle,'open','c:\windows\2.exe', nil, {这里写2.exe的默认目录}'c:\windows\', SW_NORMAL);
你的意思是不是,象你这样写,就是先启动hypmain.exe 完以后才启动的2.exe!你想在同一时间启动这两个程序!
其实你就直接写成如下的,,时间间隔也就是几毫秒而已:
procedure TForm1.XPButton2Click(Sender: TObject);
begin
if (suiedit1.Text='1234')and(suiedit2.Text='1234') then
begin
ShellExecute(self.Handle,'open','internet\hypmain.exe', nil, nil, SW_NORMAL);
ShellExecute(self.Handle,'open','c:\windows\2.exe ', nil, nil, SW_NORMAL);
end
else
begin
Showmessage('输入的用户名或密码错误!');
end;
end;
展开全部
难道不是一样的么?
procedure TForm1.XPButton2Click(Sender: TObject);
begin
if (suiedit1.Text='1234')and(suiedit2.Text='1234') then
begin
SetCurrentDirectory('internet');
winexec('hypmain.exe',WS_ACTIVECAPTION);
//ShellExecute(self.Handle,'open','internet\hypmain.exe', nil, nil, SW_NORMAL);
SetCurrentDirectory('c:\windows');
winexec('2.exe',WS_ACTIVECAPTION);
end
else
begin
Showmessage('输入的用户名或密码错误!');
end;
end;
procedure TForm1.XPButton2Click(Sender: TObject);
begin
if (suiedit1.Text='1234')and(suiedit2.Text='1234') then
begin
SetCurrentDirectory('internet');
winexec('hypmain.exe',WS_ACTIVECAPTION);
//ShellExecute(self.Handle,'open','internet\hypmain.exe', nil, nil, SW_NORMAL);
SetCurrentDirectory('c:\windows');
winexec('2.exe',WS_ACTIVECAPTION);
end
else
begin
Showmessage('输入的用户名或密码错误!');
end;
end;
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询