Announcement

Collapse
No announcement yet.

Das Icon in der Taskliste verschwinden lassen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Das Icon in der Taskliste verschwinden lassen

    Hallo Zusammen<br>

    Wie kann ich das Icon des gestarteten Programms in der Taskliste<br>
    verschwinden lassen?<br>
    Mit der Eigenschaft BorderIcon habe ich es schon probiert, aber<br>
    ohne Erfolg.<br>

    Bitte um Hilfe. Vielen Dank im Voraus<br>
    Nik

  • #2
    Hallo,

    über die folgenden 3 Arbeitsschritte sollte sich das Ziel in jedem Fall erreichen lassen: <br>
    1. Application.ShowMainForm := False nach Application.Initialize<br>
    2. ShowWindow(Application.Handle, SW_HIDE) vor Application.Run<br>
    3. ShowWindow(Application.Handle, SW_HIDE) im Initialization-Block jeder Formular-Unit
    <pre>
    ...
    Application.Initialize;
    Application.ShowMainForm := False;
    Application.CreateForm(TFormLogin, FormLogin);
    ShowWindow(Application.Handle, SW_HIDE);
    Application.Run;
    ...
    </pre&gt

    Comment


    • #3
      Vielen Dank für die Antwort. Doch das Programm verschwindet<br>
      ganz

      Comment


      • #4
        Hallo,

        mein Beispiel stammt aus einem Projekt, in dem das eigene Programm als Icon in der <b>TBNA</b> (Task Bar Notification Area) läuft und bei dem es Sinn macht, das Icon für das (unsichtbare) Formular aus der Taskleiste verschwinden zu lassen.

        Falls tatsächlich ein sichtbares Hauptformular kein Icon in der Taskleiste verwenden soll, muss das versteckte Application-Fenster manipuliert werden (allerdings verstösst das gegen die Win32-Knigge, so dass ich nicht sagen kann, welche Nebenwirkungen sich daraus ergeben):
        <pre>
        procedure TForm1.FormCreate(Sender: TObject);
        begin
        SetWindowLong(Application.Handle, GWL_EXSTYLE,
        GetWindowLong(Application.Handle, GWL_EXSTYLE )
        or WS_EX_TOOLWINDOW and not WS_EX_APPWINDOW );
        end;
        </pre&gt

        Comment


        • #5
          Vielen Dank für die Hilfe. Diese Programmzeilen funktionieren

          Comment


          • #6
            Es klappt übrigens auch mit einem <b>DestroyWindowHandle</b> im FormDestroy..

            Comment


            • #7
              Es klappt auch mit
              <br>
              Form1.Hide;
              ShowWindow(GetWindow(handle, GW_OWNER), SW_HIDE);
              <br>

              Jürgen Kort

              Comment

              Working...
              X