Delphi程序中如何判断DLL中窗体是否显示
functionHookProc(nCode:Integer;WParam:WPARAM;LParam:LPARAM):LRESULT;stdcall;constKeyP...
function HookProc(nCode:Integer;WParam: WPARAM;LParam:LPARAM):LRESULT;stdcall;
const
KeyPressMask = $C0000000 ;
begin
result:=CallNextHookEx(HHK,nCode,WParam,LParam);
if (nCode = HC_ACTION ) then begin
if ((lparam and KeyPressMask) = 0) then begin
//windows.beep(440,100);
if (wParam = VK_HOME) then begin
if not Assigned(mf ) then begin mf :=Tmf.Create(Application); end
//if not Assigned(mf) then begin mf :=Tmf.Create(Nil); mm.GetIni; end
else
if mf.Showing then begin
mf.Hide ; end
else begin
if (Base <> 0) and (integer(pointer(base)^)<> 0) then begin
mf.Show ;
end;
end;
end;
end;
end;
end;
、、、、、、、、、、、、、、、、、、、
这是DLL中显示子窗体地一段代码,设置HOME热键,按HOME判断MF窗体是否存在,不存在执行Tmf.Create;存在就隐藏或者显示窗体。
我得问题是MF窗体(本单元中)可以换成另外一个DLL中地子窗体么?如何实现?
if not Assigned(mf ) then begin mf :=Tmf.Create(Application); end
只换判断这里,后面不换,就是如何判断另外一个DLL中地子窗体是否存在,存在就结束,不存在就继续执行下面地代码!
最好能给出代码!谢谢! 展开
const
KeyPressMask = $C0000000 ;
begin
result:=CallNextHookEx(HHK,nCode,WParam,LParam);
if (nCode = HC_ACTION ) then begin
if ((lparam and KeyPressMask) = 0) then begin
//windows.beep(440,100);
if (wParam = VK_HOME) then begin
if not Assigned(mf ) then begin mf :=Tmf.Create(Application); end
//if not Assigned(mf) then begin mf :=Tmf.Create(Nil); mm.GetIni; end
else
if mf.Showing then begin
mf.Hide ; end
else begin
if (Base <> 0) and (integer(pointer(base)^)<> 0) then begin
mf.Show ;
end;
end;
end;
end;
end;
end;
、、、、、、、、、、、、、、、、、、、
这是DLL中显示子窗体地一段代码,设置HOME热键,按HOME判断MF窗体是否存在,不存在执行Tmf.Create;存在就隐藏或者显示窗体。
我得问题是MF窗体(本单元中)可以换成另外一个DLL中地子窗体么?如何实现?
if not Assigned(mf ) then begin mf :=Tmf.Create(Application); end
只换判断这里,后面不换,就是如何判断另外一个DLL中地子窗体是否存在,存在就结束,不存在就继续执行下面地代码!
最好能给出代码!谢谢! 展开
若以下回答无法解决问题,邀请你更新回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询