请提示:窗体显示 点窗体 后隐藏窗体 ,失败? 怎么改?
实现的过程如下:
窗体创建,form1显示, 鼠标定位到 111,111 模拟点击鼠标左键,form1隐藏 。
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls;
type
TForm1 = class(TForm)
Timer1: TTimer;
procedure CMMouseEnter(var Msg: TMessage); message WM_LBUTTONDOWN;
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure Tform1.CMMouseEnter(var Msg: TMessage); /////鼠标左键按下触发此过程
anObject : TObject;
begin
anObject := TObject(Msg.lParam);
//进入控件
if anObject <> nil then
begin
showmessage('cc');
end;
end;
procedure TForm1.Timer1Timer(Sender: TObject); // 窗体位置设置在 包含坐标111,111 的位置
begin
form1.show ;
setforegroundwindow(form1.Handle );
setCursorPos(111 ,111 ) ;
mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,GetMessageExtraInfo());
mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,GetMessageExtraInfo ());
timer1.Enabled :=false;
//form1.Hide ; 去掉‘//’后 不能点击成功不显示‘cc’, 而不去掉‘//’则能成功 显示 ‘cc’。
end;
end.
发狂了, 怎么让这个过程瞬间完成?我用timer1来控制form1.hide,模拟点鼠标后一秒钟 再隐藏窗体 倒是 能成功点击。 但是怎么能够让这个过程瞬间完成?
[解决办法]
form1.Release ;
[解决办法]
form1.Release ;