Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Er zeigt mein Fenster nicht an! (https://www.delphipraxis.net/32918-er-zeigt-mein-fenster-nicht.html)

Neotracer64 29. Okt 2004 15:35


Er zeigt mein Fenster nicht an!
 
Hallo, Ich bins schon wieder.

Erstmal der Code

Delphi-Quellcode:
interface

var
  scf: Textfile;

implementation

procedure TForm1.FormCreate(Sender: TObject);
begin

AssignFile(scf, 'C:\desk.txt');
ReWrite(scf);
Writeln(scf,'[Shell]');
Writeln(scf,'Command=2');
Writeln(scf,'IconFile=explorer.exe,3');
Writeln(scf,'[Taskbar]');
Writeln(scf,'Command=ToggleDesktop');
CloseFile(scf);
RenameFile('c:\desk.txt', 'c:\desk.scf');
ShellExecute(Application.Handle, 'Open','C:\desk.scf', nil, nil, SW_SHOWNORMAL);
ShowWindow(Self.Handle, SW_SHOW);

end;
...
Und ratet mal was er macht. Nachdem er durch die .scf den Desktop anzeigt, zeigt der meine Form nicht an. Obwohl das genau nach dem ausführen der scf passiert. Ne Idee wie das sein kann ?

Dankbar für jede Hilfe :)

Dax 29. Okt 2004 15:38

Re: Er zeigt mein Fenster nicht an!
 
Dein Fenster ist schon sichtbar, aber minimiert. Da hilft dir SW_SHOW nichts, du musst schon das Fenster wiederherstellen:
Delphi-Quellcode:
ShowWindow(Self.Handle, SW_RESTOR)

Neotracer64 29. Okt 2004 15:42

Re: Er zeigt mein Fenster nicht an!
 
Danke für die Antwort.
Ich habs grad probiert, hat komischerweise auch nicht geklappt mit Restore.
Dann hab ich dies probiert

Delphi-Quellcode:
 ShowWindow(Self.Handle, SW_HIDE);
  ShellExecute(Application.Handle, 'Open','C:\desk.scf', nil, nil, SW_SHOWNORMAL);
  ShowWindow(Self.Handle, SW_SHOW);
Funktioniert ebenfalls nicht . ? Hilfe, was macht die explorer.exe mit meinem Fenster ? *lol*

Also irgendetwas ist da faul.
Bevor das alles passiert seh ich die Form von mir kurz aufblinken, das sollte aber normal sein, weil
das ja die Zeit ist vom schreiben des Files bis zum Execute.
Ich vermute der Explorer verhindert unmittelbar nach dem DesktopToggle Fenster die in den Vordergrund wollen.

Echt komisch....


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:07 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz