Application aus Taskleiste entfernen



  • Oh ja klar, ich hatte noch den Code

    hwnd = FindWindow(NULL,"118591517");
    

    vergessen... (war ja auch halb 3 :))
    Aber das geht aber auch nicht - Das Fenster verschwindet aber nicht aus der Taskleiste, sonder einfach nur so.

    J0



  • J0 schrieb:

    Das Fenster verschwindet aber nicht aus der Taskleiste, sonder einfach nur so.

    Das liegt daran, dass die Formulare einer VCL-Anwendung nicht in der TaskBar registriert werden, dort erscheint nur das (ansonsten unsichtbare) Application-Fenster.



  • hallo bin neu hier weil ich genau das wissen will was im thread-titel steht

    ich will nämlich ein tray-icon only application programmieren
    bc++ hat ja die class TTrayIcon in den Beispiel-Codes. Wie kann ich aber mein Programm aus der Taskleiste entfernen?



  • DEvent schrieb:

    hallo bin neu hier weil ich genau das wissen will was im thread-titel steht

    Dann lies dir mal das durch, was im Thread steht, inbesondere die Code-Beispiele im ersten Beitrag.

    Nicht zu vergessen der entsprechende FAQ-Beitrag unter "Forms".



  • du musst einfach in der WinMain
    "WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)"
    (um da hinzugelangen gehe im Menü auf Projekt->Quelltext anzeigen)
    nach
    Application->Initialize();

    ShowWindow(Application->Handle,SW_HIDE);
    Application->ShowMainForm = false;
    

    schreiben.

    mfg
    VergissEs



  • Hi DEvent,

    Unter dem Titel steht steht doch wie's geht! 😉



  • ich dacht ...
    äh ok
    habt ja recht 🤡



  • sagmal
    ich hab das jetzt soweit das mein proggy trayicon only ist,
    aber wenn ich das prog anzeigen will hab ich dann sowas gemacht:

    void __fastcall TForm1::MIBringOnFrontClick(TObject *Sender)
    {
        Visible = true;
        Enabled = true;
        ShowWindow(Application->Handle, SW_HIDE);
        BringToFront();
    }
    

    Das ShowWindow(Application->Handle, SW_HIDE); ist das ich auch dann nicht will das das prog in taskleiste angezeigt wird
    aber ich hab ein problem das mein TMemo Object nach dem wieder einblenden auf keine ereignisse mehr reagiert ( tastatureingabe oder mausklicks )
    das is komisch, weil andere Objecte ( meine TImage-Objecte ) weiterhin auf Mausklicks reagieren. Kann man da abhilfe verschafen?

    achja und wo kann man darauf reagieren, wenn das proggy wieder im hintergrund verschwindet? also wenn es aktiv ist und man dann auf ein anderes prog klickt, dann verschwindet ja ein trayicon-only proggy wieder,
    also wo kann man darauf reagieren?



  • ich hab ein prob mit dem ShowWindow(Application->Handle, SW_HIDE);...

    WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
    {
    /*        DWORD dwExStyle = GetWindowLong(Application->Handle, GWL_EXSTYLE);
            dwExStyle |= WS_EX_TOOLWINDOW;
            SetWindowLong(Application->Handle, GWL_EXSTYLE, dwExStyle);  */
            try
            {
                     Application->Initialize();
                     ShowWindow(Application->Handle, SW_HIDE);
    

    so sieht bei mir der code aus,funzen tuts leider nicht,also das icon ist immernoch in der taskleiste





  • sagtmal gibt es eine möglichkeit das programm auch aus der Alt+Tab Leiste zu entfernen, ohne mein form als tool-fenster zu machen so wie es in
    http://www.bcbdev.com/faqs/faq4.htm steht ?
    aus der tasks-leiste kein prob aber aus dieser alt+tab


Anmelden zum Antworten