高手帮忙啊,主窗体调用计算器,急急急,在线等 我是在一个主窗体的click事件中写,调用这个时,怎样才能让他只在主窗体的前边显示,而不是一点就跑到后面去了,而且一次只能打开一个,赶紧帮我想想办法啊,谢谢啦! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 调用的代码可以看下面的,至于你说道的只能打开一次,你可以在打开前查找是否有calc.exe这个进程。。至于说的只显示在最前面,如果我没理解错,应该是showmodal这个意思吧。这个东西,等高淫。unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs,shellapi, StdCtrls;type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);beginShellExecute(Handle,'open','calc.exe','','',SW_SHOW);end;end. procedure TForm1.Button1Click(Sender: TObject);VAR h: HWND; r: TRect;begin WinExec( 'calc.exe', SW_SHOW ); h := FindWindow( Nil, '计算器' ); GetWindowRect( h, r ); SetWindowPos( h, HWND_TOPMOST, 0, 0, 260, 250, SWP_NOMOVE ); WindowS.SetParent( h, Handle ); //这句很关键,移动Form看看.end; GetWindowRect( h, r );得到的RECT不准确. 直接设计就行了. wudi_1982(︻┳═一) 前边写那么多没用的,你说的那ShellExecute是不是错了啊,报错,看看是不是写错了,quickly,也确实是showmodal的意思,怎么做啊 jjwwang((空园歌独酌,春日赋闲居)):你写的那个确实是不能再往后跑了,真是万分感谢啊,不过在他开着的时候只让他显示一次该怎么设置呢 var h: THandle; r: TRect;begin h := FindWindowEx(Handle, 0, nil, '计算器'); if h = 0 then begin WinExec('calc.exe', SW_SHOW); h := FindWindow(nil, '计算器'); GetWindowRect(h, r); SetWindowPos( h, HWND_TOPMOST, 0, 0, 260, 250, SWP_NOMOVE ); Windows.SetParent( h, Handle ); end;end; timeGetTime返回的DWord如何转换成系统时间!!! delphi dbgrid字段控制問題 求内存流读写组件的状态 小妹求救!如何操作使用Phprpc for Delphi技术. 请问如何用office的ocr进行屏幕识别? 应用程序连接sql问题,在线等待。。 关于ms agent 的使用 关于多文档界面的问题 从今天起,开始征集树性结构的各行各业的数据库,重重给分,分不够继续加分,上不封顶! 我是新手,请问在哪里可以找到delphi的基础类库 请问如果将一个查询出来的表存另存在一个xls里面 请教一个Fastreport主从表设计的问题?
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,shellapi, StdCtrls;type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
begin
ShellExecute(Handle,'open','calc.exe','','',SW_SHOW);end;end.
VAR
h: HWND;
r: TRect;
begin
WinExec( 'calc.exe', SW_SHOW );
h := FindWindow( Nil, '计算器' );
GetWindowRect( h, r );
SetWindowPos( h,
HWND_TOPMOST,
0,
0,
260,
250, SWP_NOMOVE ); WindowS.SetParent( h, Handle ); //这句很关键,移动Form看看.
end;
得到的RECT不准确. 直接设计就行了.
h: THandle;
r: TRect;
begin
h := FindWindowEx(Handle, 0, nil, '计算器');
if h = 0 then
begin
WinExec('calc.exe', SW_SHOW);
h := FindWindow(nil, '计算器');
GetWindowRect(h, r);
SetWindowPos( h,
HWND_TOPMOST,
0,
0,
260,
250, SWP_NOMOVE );
Windows.SetParent( h, Handle );
end;
end;