如何在自己的程序内嵌运行 ghost32.exe ?(300)

  • 主题发起人 主题发起人 zhxdiannao
  • 开始时间 开始时间
Z

zhxdiannao

Unregistered / Unconfirmed
GUEST, unregistred user!
ghost32.exe 是windows下的控制台程序,运行时会打开一个CMD窗口和一个程序窗口,我现在,能在我的程序中运行它,并等待它返回是否成功运行的消息。我想进一步将CMD窗口隐藏,将ghost32的窗口放进我的程序form中,用下面的代码只能实现将cmd窗口放入我的程序且最小化,而ghost32的窗口还是独立的,怎么办?procedure TForm1.FormClick(Sender: TObject);var t1,t2:Integer; wnd:HWND;begin WinExec('e;/ghost32.exe',SW_NORMAL); t1:=GetTickCount; t2:=t1; while t2-t1<2000 do begin t2:=GetTickCount; wnd:=GetForegroundWindow; if wnd<>Handle then begin Windows.SetParent(wnd,Handle); Break; end; end;end;
 
这个问题比较复杂,说不清楚。你加群:12360713来问我吧。
 
1.对于控制台程序可以控制其stdin stdout2.对于窗口 可以设置它的父窗口
 
我已经解决了找到这两个窗口的类名,然后给它指定一个干爸,就行了 var wnd :Thandle; begin Wnd := FindWindow('ConsoleWindowClass',nil); // 查找cmd窗口的类名 Windows.SetParent(Wnd,Panel2.Handle); Wnd := FindWindow('GhostScreen',nil); // 查找ghost32.exe窗口的类名 Windows.SetParent(Wnd,Panel2.Handle); ShowWindow(Wnd,SW_MAXIMIZE); panel2.Visible := true; end;
 
shellexecute(handle,'open',pchar('ghost32'),nil,nil,SW_HIDE);
 
接分。。。。。。。。。。。。。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部