读书人

禁止多实例的有关问题为什么窗口不能

发布时间: 2012-02-11 09:51:35 作者: rapoo

禁止多实例的问题,为什么窗口不能最小化
功能类似:word打开某文件后,最小化到任务栏,再打开这个文件实例的时候,弹出原先的实例到屏幕顶层,窗口大小与最小化到任务栏之前一样

代码如下:
program OneEx;

uses
Forms,
windows, dialogs,
Main in 'Main.pas' {Form1};


{$R *.res}

var
hMutex,hform1: HWND;
Ret: Integer;
begin

Application.Initialize;
hMutex := CreateMutex(nil, False, 'bk');
Ret := GetLastError;
if Ret <> ERROR_ALREADY_EXISTS then
begin
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TRealData, RealData);
Application.CreateForm(TUsbForm, UsbForm);
ReleaseMutex(hMutex);
Application.Run;

end else begin
hform1:= findwindow('tform1', nil);
SetForeGroundWindow(hform1);
showwindow(hform1 ,SW_SHOWNORMAL);//////////aaaaa
end;
ReleaseMutex(hMutex);

end.

注释aaaaa行,是为了再弹出窗口到原先的大小,窗口是从任务栏恢复弹出了
但是请注意,这时候的最小化不好用了!!!
之前是可以的,请问怎么解决
有什么好代码么?

[解决办法]
有好代码:
http://blog.csdn.net/linzhengqun/archive/2005/12/29/564646.aspx

读书人网 >.NET

热点推荐