EXE如何在另一个EXE中运行?(100分)

  • 主题发起人 主题发起人 留香客
  • 开始时间 开始时间

留香客

Unregistered / Unconfirmed
GUEST, unregistred user!
EXE如何在另一个EXE中运行?就想联众一样。在线等待…………………………
 
winexec
shellexecute
createprocess
 
楼上说得对
 
可以具体点吗?
 
winexec(pchar(edit1.text),9);
CreateProcess(nil,
'notepad.exe',
nil,nil,false,
CREATE_NEW_CONSOLE or NORMAL_PRIORITY_CLASS,
nil, nil, sInfo, pInfo);

//点击用户自定义的菜单的事件
//简亮 2003-1-18
procedure Tmainform.ToolsMenuClick(sender: Tobject);
var
title:STring;
i:Integer;
aListITem:TListItem;
begin
title := TMenuItem(sender).Caption;
for i:= 0 to toolList.Items.Count -1 do
begin
if toolList.Items.Caption = title then
begin
aListITem := toolList.Items;
break;
end;
end;
if aListItem = nil then
begin
Informationbox('error!');
exit;
end;
//winexec(Pchar(aListItem.SubItems[0]),9);
shellExecute(self.Handle,nil,PChar(aListItem.SubItems[0]),
PChar(aListItem.SubItems[2]),PChar(aListItem.SubItems[1]),SW_SHOW);
end;
 
EXE之间是父子关系吗?好像不大对呀
 
这个问题几乎没什么可多说的,jianl说的完全对,如果你想用主程序(.exe)调用DLL,看下面
这个帖子中我给你的回答,
http://www.delphibbs.com/delphibbs/DispQ.asp?LID=1731766
 
子EXE在父EXE中运行,就象是一个程序一样
 
TO 小笨苯,
不过一次只能运行一个DLL呀!我想多个DLL FORM 协作,该怎么办,我看联众的是
子EXE在父EXE中运行,就象是一个程序一样。
 
留香客:
可以,可以,一次运行多少个,随便
 
可是窗体是SHOWMODEL呀,怎么多个DLL FORM 协作?
 
我没仔细观察过联众游戏的程序是怎么组织的,不过,我想应该是这样的:
下面是我假设的:
1.大厅程序是一个.exe文件A
2.围棋程序是一个.exe文件B,加上一些.dll文件C
3.其他游戏和围棋差不多
这样在运行时,是这样的,如果你要上网玩游戏,那么必须执行A,如果要玩围棋,A就调用C
而不是象你想象的(A去执行B);如果你自己复盘,那么就无需执行A,直接用B执行C,
你说这样是不是合理一些呢?
 
TO 小笨苯,
不是吧。不管了。
当DLL显示窗体后,调用他的EXE窗体还可以点击?就是说还可以有焦点,再由使用者
调用另一个DLL?
 
>>可是窗体是SHOWMODEL呀,怎么多个DLL FORM 协作?
可以不SHOWMODEL啊,而是Show,这样不是就可以同时执行多个了吗,要例子我发给你。
 
>>你的意思是,当DLL显示窗体后,EXE窗体还可以点击?就是说还可以有焦点?
当然!!
但联众是不是允许在同一台机器上同时玩多种游戏,我不太清楚,如果我设计的话,肯定
允许,而不会造成混乱,就看你的脑子和眼睛够不够用了,呵呵[:D]
 
发个例子给我吧!
我SHOW他只闪一下。
z109@163.com
谢了(包括EXE吧)。
 
好,你稍等。。。
我给你发的例子中,只是Show了一个窗体,你可以仿照这种做法,再多做些。
 
我用WinRar做成自解压文件了,302K。
发过去了,你收一下吧
 
附源码和可执行文件
 
谢谢!高兴死了!!给分了。
 
后退
顶部