Einzelnen Beitrag anzeigen

bluescreen25

Registriert seit: 27. Nov 2005
Ort: Geldern
229 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: ext. Programmstart + maximieren

  Alt 24. Aug 2007, 09:41
Zitat von Luckie:
Das liegt daran, dass die Taskleiste als Appbar registriert ist und somit den Arbeitsbereich des Desktops entsprechend verkleinert. Soll sich das Programm über den ganzen Bildschirm maximieren, musst du den Workspace entsprechend anpassen. Natürlich muss du ihn wieder zurücksetzen.

Aber was ist das:
Delphi-Quellcode:
repeat
    Handle := FindWindow('Shell_TrayWnd', nil);
    Sleep(200);
  until Handle <> 0;
Entweder wird das Fenster gefunden oder nicht. Wozu die Schleife?
Upps, ja ich habs im Moment mit den Schleifen...Ziel der Angelegenheit hier ist das Starten und verwalten externer Anwendung aus meiner heraus. Lol, hast Recht, die Taskbar ist ja schon da im Gegensatz zu den ext. Anwendungen.

Nochmal zum Workspace....hilf mir mal auf die Sprünge....ich habe folgendes:

Delphi-Quellcode:
procedure TForm1.SetWorkArea;
 var w:TRect;
   begin
      // Aktuellen Zustand auslesen
      SystemParametersInfo(SPI_GetWorkArea, 0, Pointer( @MerkScreen), 0);
      ShowTaskBar(false);//Taskleiste verstecken
      SetWindowPos(Form1.Handle,HWND_TOPMOST,0, 0, 0, 0,SWP_NOMOVE or SWP_NOSIZE or SWP_SHOWWINDOW);
      w := MerkScreen;
      w.Top := w.top + Height;
      // neues WorkArea festlegen
      SystemParametersInfo( SPI_SetWorkArea,0,Pointer( @w),0);
      MakeWindowOpaque (Form1, Transparenz); //Transparenz an
      SetCursorPos(extFloating_X+(extFloating_W div 2),extFloating_Y+(extFloating_H div 2));
   end;


procedure TForm1.RestoreWorkArea;
 begin
   SetWindowPos(Form1.Handle,HWND_NOTOPMOST,0, 0, 0, 0,SWP_NOMOVE or SWP_NOSIZE or SWP_SHOWWINDOW);
   SystemParametersInfo(SPI_SetWorkArea, 0, Pointer( @RootScreen), 0);
   ShowTaskBar(true);
 end;
das ist eine alte Appbarsache, die aber nicht zum tragen gekommen ist. Wie kann ich hier den Workspace auf Fullscreen bekommen, nachdem die Taskleiste ausgeblendet ist. Eine Merkfunktion ist zumindest schon vorhanden. Nach "SetWorkArea" würde dann das ext. Programm starten.

Gruß,bluescreen25
...und ich dachte, Delphi ist ein Programmgenerator mit nur einem Button......tzzz
  Mit Zitat antworten Zitat