Hallo,
falls mein Programm schon einmal gestartet wurde und minimiert ist, <br> möchte ich es bei einem neuen Startversuch nur wieder so anzeigen, <br> wie es vor dem Minimieren war. Das klappte auch mit der nachstehenden<br> Projektdatei.<br>
Dann kann ich jedoch nicht mehr minimieren (weder über das Systemmenü <br>
noch über den Schalter - klar, macht ja das gleiche).<br>
Warum geht das nicht mehr? Was mache ich falsch?<br>
Im Folgenden nur die Projektdatei. Allse andere ist (fast) unwichtig. <br>
Nur: Mein Hauptformular heißt THauptF. <br>
program Project1;<br>
uses<br>
Windows,<br>
Forms,<br>
Unit1 in 'Unit1.pas' {HauptF};<br>
{$R *.RES}<br>
var<br>
hTargetWnd: hWnd;<br>
hTargetMut,h1: THandle;<br>
begin<br>
hTargetMut:=CreateMutex(nil,True,Pchar('Project1') );<br>
If getlasterror=ERROR_ALREADY_EXISTS Then Begin<br>
hTargetWnd:=FindwindowEx(0,0,nil,pchar('Project1') );<br>
If hTargetWnd<>0 Then Begin<br>
h1:=FindWindow(PChar('THauptf'), nil);<br>
if h1<>0 then showWindow(h1, SW_Show);<br>
End End Else Begin<br>
Application.initialize;<br>
Application.CreateForm(THauptF, HauptF);<br>
Application.Run;<br>
End;<br>
If hTargetMut>0 Then closehandle(hTargetMut);<br>
end.<br>
Vielen Dank!<br>
Matthias
falls mein Programm schon einmal gestartet wurde und minimiert ist, <br> möchte ich es bei einem neuen Startversuch nur wieder so anzeigen, <br> wie es vor dem Minimieren war. Das klappte auch mit der nachstehenden<br> Projektdatei.<br>
Dann kann ich jedoch nicht mehr minimieren (weder über das Systemmenü <br>
noch über den Schalter - klar, macht ja das gleiche).<br>
Warum geht das nicht mehr? Was mache ich falsch?<br>
Im Folgenden nur die Projektdatei. Allse andere ist (fast) unwichtig. <br>
Nur: Mein Hauptformular heißt THauptF. <br>
program Project1;<br>
uses<br>
Windows,<br>
Forms,<br>
Unit1 in 'Unit1.pas' {HauptF};<br>
{$R *.RES}<br>
var<br>
hTargetWnd: hWnd;<br>
hTargetMut,h1: THandle;<br>
begin<br>
hTargetMut:=CreateMutex(nil,True,Pchar('Project1') );<br>
If getlasterror=ERROR_ALREADY_EXISTS Then Begin<br>
hTargetWnd:=FindwindowEx(0,0,nil,pchar('Project1') );<br>
If hTargetWnd<>0 Then Begin<br>
h1:=FindWindow(PChar('THauptf'), nil);<br>
if h1<>0 then showWindow(h1, SW_Show);<br>
End End Else Begin<br>
Application.initialize;<br>
Application.CreateForm(THauptF, HauptF);<br>
Application.Run;<br>
End;<br>
If hTargetMut>0 Then closehandle(hTargetMut);<br>
end.<br>
Vielen Dank!<br>
Matthias