如何实现让别人的软件,在我们软件中的panel中显示?(20+100分)(20分)

  • 主题发起人 主题发起人 laohe
  • 开始时间 开始时间
L

laohe

Unregistered / Unconfirmed
GUEST, unregistred user!
例如,让记事本套用在我们软件中的panel中

 
ft,
在panel中不知道行不行,
前几天看到一个套在窗口中的,
用了几个api,但具体的也记不清了,ft
 
兄弟,想想看,这个功能我是看过的,最不知道怎么实现
 
已经可以了。还有待完善——刚刚实验的成果吆!
procedure TForm1.Button1Click(Sender: TObject);
var
a: THandle;
begin
a := FindWindow(nil, '无标题 - 记事本');
Caption := IntToStr(a);
Windows.SetParent(a, Panel1.handle);
end;
 
就是一句API
Windows.SetParent(a, Panel1.handle);
但是移动等还需要完善。必须父窗体的Top=0才能很好的移动子
 
yzhshi:

真的可以?我试了一点都没有反应,只是窗体的标题变为0

其它的不变

 
你手工打开记事本,然后运行。
我的是测试代码,使用Caption标志获得的句柄,当然以后真正使用绝对不会使用类似的代码获得句柄的。
只是测试,主要使用的是SetParent。
 
我用计数器倒可以了,就是计算器的标题栏没办法去掉
 
那个就需要使用其他的API了,也许SystemParametersInfo可以。
 
如果想打开c:/test.exe文件怎么调??
 
uses shlapi;
Shellexecute
 
Shellexecute(handle,'Open','C:/aa.exe',nil,'C:/',SW_Normal);
如果是你自己创建的,那么最好直接使用CreateProcess将它直接创建在你的窗体上,应该可以的。
 
谢谢大侠指点,请到问题列表,请你再拿100分,谢谢

标题栏还是去不掉,气死了


 
无所谓了,我在这里就够了,那一百分你暂时留着继续问这个问题吧。
也许会有更好的办法出现。
 
后退
顶部