80分求救!!关于调用程序的问题 我想在我的程序里面,可以调用另外一个程序,并且把另外的那个程序的界面放到我的程序里面的一个FORM里面来,可以这样实现吗?各外达大多提意见! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 干脆把你要调用的程序做成ocx吧,然后把它安装到delphi上,在你要调用的程序中引入就可了,在delphi用active form 技术把它做成ocx! 步骤:1.使用winexec或者shellexecute调用外部程序2.在FormCreate事件中将外部程序放入自己的控件之中(本例子用scrollbox)//将查找对话框放入自己的窗口中use shellapi;procedure TForm1.FormCreate(Sender: TObject);var h:thandle; rec:trect;begin shellexecute(form1.Handle,'find','c:\',nil,nil,sw_shownormal);//调用外部程序 sleep(300); h:=findwindow(nil,'搜索结果');//外部程序的窗口标题 //放入scrollbox1中 GetWindowRect(h,rec); SetWindowPos(h,HWND_TOP,0,-5-(GetSystemMetrics(SM_CYCAPTION)+GetSystemMetrics(SM_CYBORDER)),ScrollBox1.Width,ScrollBox1.Height,SWP_NOSIZE or SWP_SHOWWINDOW); windows.SetParent(h,ScrollBox1.Handle); ScrollBox1.HorzScrollBar.Range :=rec.Right -rec.Left ; ScrollBox1.VertScrollBar.Range :=rec.Bottom -rec.Top ;end; 你好,我如果想把“D:/winrar/winrar.exe,这个程序运行以后的界面放到我的一个scrollbox是,可以这样做吗,你给我的例子,我怎么实现!??可以的话, 我就给分! 1.窗口中放入scrollbox12.use...3.写FormCreate事件代码use shellapi;procedure TForm1.FormCreate(Sender: TObject);var h:thandle; rec:trect;begin shellexecute(form1.Handle,'open','d:/winrar/winrar.exe','','',sw_shownormal); sleep(300); //注意,这里一定要写对.你可以运行winrar看到它的窗口标题是什么,注意空格之类的东西 h:=findwindow(nil,'????winrar???');//外部程序的窗口标题 //放入scrollbox1中 GetWindowRect(h,rec); SetWindowPos(h,HWND_TOP,0,-5-(GetSystemMetrics(SM_CYCAPTION)+GetSystemMetrics(SM_CYBORDER)),ScrollBox1.Width,ScrollBox1.Height,SWP_NOSIZE or SWP_SHOWWINDOW); windows.SetParent(h,ScrollBox1.Handle); ScrollBox1.HorzScrollBar.Range :=rec.Right -rec.Left ; ScrollBox1.VertScrollBar.Range :=rec.Bottom -rec.Top ;end; Delphi5.0调用存储过程 如何动态生成一个bmp,在其canvas上画一个圆,然后用其做为鼠标形状呢? 如何先将多条多字段临时纪录添加到类似DBGrid的控件中。保存后再统一添加至数据库(保存之前可以随意修改纪录)。 用DBGRID做表格式单据录入,有可能实现吗? 走過路過的都來看看!!!!!怪!! 公司全线上下换液晶,散分 关于ListBox的问题! Delphi中的自动断点 delphi中如何进行乘方计算 怪怪!DLL中的问题,搞不明白了... Delphi的ADO如何连接网上的 SQL服务器数据库???? 急问各位大虾~~~菜鸟问题!!!!!!!!!!!拜谢~~~
1.使用winexec或者shellexecute调用外部程序
2.在FormCreate事件中将外部程序放入自己的控件之中(本例子用scrollbox)//将查找对话框放入自己的窗口中use shellapi;procedure TForm1.FormCreate(Sender: TObject);
var
h:thandle;
rec:trect;
begin
shellexecute(form1.Handle,'find','c:\',nil,nil,sw_shownormal);//调用外部程序
sleep(300);
h:=findwindow(nil,'搜索结果');//外部程序的窗口标题
//放入scrollbox1中
GetWindowRect(h,rec);
SetWindowPos(h,HWND_TOP,0,-5-(GetSystemMetrics(SM_CYCAPTION)+GetSystemMetrics(SM_CYBORDER)),ScrollBox1.Width,ScrollBox1.Height,SWP_NOSIZE or SWP_SHOWWINDOW);
windows.SetParent(h,ScrollBox1.Handle);
ScrollBox1.HorzScrollBar.Range :=rec.Right -rec.Left ;
ScrollBox1.VertScrollBar.Range :=rec.Bottom -rec.Top ;
end;
scrollbox是,可以这样做吗,你给我的例子,我怎么实现!??可以的话, 我就给分!
1.窗口中放入scrollbox1
2.use...
3.写FormCreate事件代码use shellapi;procedure TForm1.FormCreate(Sender: TObject);
var
h:thandle;
rec:trect;
begin
shellexecute(form1.Handle,'open','d:/winrar/winrar.exe','','',sw_shownormal);
sleep(300);
//注意,这里一定要写对.你可以运行winrar看到它的窗口标题是什么,注意空格之类的东西
h:=findwindow(nil,'????winrar???');//外部程序的窗口标题
//放入scrollbox1中
GetWindowRect(h,rec);
SetWindowPos(h,HWND_TOP,0,-5-(GetSystemMetrics(SM_CYCAPTION)+GetSystemMetrics(SM_CYBORDER)),ScrollBox1.Width,ScrollBox1.Height,SWP_NOSIZE or SWP_SHOWWINDOW);
windows.SetParent(h,ScrollBox1.Handle);
ScrollBox1.HorzScrollBar.Range :=rec.Right -rec.Left ;
ScrollBox1.VertScrollBar.Range :=rec.Bottom -rec.Top ;
end;