功能类似: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行,是为了再弹出窗口到原先的大小,窗口是从任务栏恢复弹出了
但是请注意,这时候的最小化不好用了!!!
之前是可以的,请问怎么解决
有什么好代码么?
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