unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, TntForms, StdCtrls;const wm_user_MY = Wm_User+123 ;
const wm_AppName='[email protected]';type
TTntForm1 = class(TTntForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
protected
procedure CreateParams(var Params:TCreateParams);override;
private
{ Private declarations }
public
procedure zMyMsg(var MSG:TMessage);message wm_user_My;
{ Public declarations }
end;var
TntForm1: TTntForm1;implementation{$R *.DFM}procedure TTntForm1.Button1Click(Sender: TObject);
var f:HWND;
begin
f:=FindWindow(wm_AppName,nil);
if f>0 then
SendMessage(Application.Handle,wm_user_MY,0,0);
end;procedure TTntForm1.CreateParams(var Params: TCreateParams);
begin
inherited CreateParams(Params);
Params.WinClassName:=wm_AppName; //是不是赋这个值不对
end;procedure TTntForm1.zMyMsg(var MSG: TMessage);
begin
showmessage('get');
end;end.
代码如上
如果窗体是 TForm 该代码正常
如果窗体是 TTntForm 该代码失效,因为 findWindow 找不到该窗体。
晕死 ...
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, TntForms, StdCtrls;const wm_user_MY = Wm_User+123 ;
const wm_AppName='[email protected]';type
TTntForm1 = class(TTntForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
protected
procedure CreateParams(var Params:TCreateParams);override;
private
{ Private declarations }
public
procedure zMyMsg(var MSG:TMessage);message wm_user_My;
{ Public declarations }
end;var
TntForm1: TTntForm1;implementation{$R *.DFM}procedure TTntForm1.Button1Click(Sender: TObject);
var f:HWND;
begin
f:=FindWindow(wm_AppName,nil);
if f>0 then
SendMessage(Application.Handle,wm_user_MY,0,0);
end;procedure TTntForm1.CreateParams(var Params: TCreateParams);
begin
inherited CreateParams(Params);
Params.WinClassName:=wm_AppName; //是不是赋这个值不对
end;procedure TTntForm1.zMyMsg(var MSG: TMessage);
begin
showmessage('get');
end;end.
代码如上
如果窗体是 TForm 该代码正常
如果窗体是 TTntForm 该代码失效,因为 findWindow 找不到该窗体。
晕死 ...
const
UNICODE_CLASS_EXT = '.UnicodeClass';begin
//...
with Params do begin
WideWinClassName := WinClassName + UNICODE_CLASS_EXT;
//...
end;