unsichtbare anwedung...



  • ...bzw. anwendung ohne fenster

    wie kann ich es mit der MFC schaffen, dass 1. kein fenster angezeigt wird?
    2. kein icon in der taskleiste (auch nicht im systray) ?

    ich hab mal paar sachen versucht, also irgendwelche create-aufrufe auskommentiert ... nur dann hatte ich das problem, dass die anwendung gleich geschlossen wurde (das soll natürlich nicht passieren ;))

    thx4help



  • Ist bestimmt nicht die beste Lösung, aber immerhin !

    Füge in die OnPaint() Anweisung am Anfang folgendes ein.

    ShowWindow(SW_HIDE);
    

    Das Fenster blinkt zwar einmal kurz auf, aber dannach ist es verschwunden !



  • Zu 1.
    Fensterlose Anwendung schreiben
    Zu 2.
    Siehe 1.

    Achtung, es gibt keine MessageLoop!



  • Die Lösung von ektoplasma2000 niemals verwenden, dass ist der allerdreckigste Stil.



  • @<dirtyprogrammer-hasser>: das kommentar zeugt von deiner kompetenz...



  • Naja, aber du must doch zugeben, dass er irgendwie recht hat, oder? Er hat sich eben unangemessen ausgedrückt...



  • Ich denke aber, das jemand eine Frage stellt, und darauf hin erstmal eine Antwort erhält, ist es doch erstmal in Ordnung, ob es dann der sauberste Weg ist, das ist eine andere Frage...(der Ausdruck kommt dann in dem fall hinzu)
    Wenn alle so super sauber Programmieren würden, gäbs bei Windows keine BlueScreens, oder es gäbe keinen BufferOverflows etc...
    Ich denke ihr versteht was ich damit sagen will..
    Wenn jemand der Meinung ist, das es nicht der beste Weg ist, dann kann man darauf "freundlichen" Hinweisen und oder eine bessere Lösung posten.

    so long...



  • Hi!
    Schau dir mal folgenden Beitrag an:
    http://f25.parsimony.net/forum63133/messages/2833.htm

    mfg



  • Hi !

    Melde dein Programm einfach als Service an !
    Unter Win9x/me wird es dann gar nicht mehr angezeigt, und XP/2k nur unter Taskmanager->Prozesse

    Ich hab da glaubich auch noch ein Tutorial zu... Mail mir wenn du es haben willst.



  • @ <:D>
    danke ... aber was da steht funzt bei windows 2000 und nt grade nicht *gg*

    soll es aber 😉



  • @ReneG

    wie genau macht man das??

    Das steht dazu in der FAQ
    Dialogbasierend: Unsichtbar starten

    aber dieses Beispiel wird nach dem unsichtbaren Starten geschlossen. 😕



  • Wenn du ganz lustig bist (:D ) mach mit dem Klassen-Assi ne Dialog-Anwendung, entferne den Dialog aus den Resourcen und die ganze Dialog-Klasse + .cpp's
    Dann murkst du dir das Programm in der Klasse CProgrammApp wieder zurecht - Dort wird nämlich in der Funktion InitInstance() dein Dialog-Objekt erzeugt, und das wollen wir ja nich mehr. Also nehmen wir den Teil raus, entfernen die Includes für CProgrammDlg und dann sollte es laufen (ohne Fenster, ohne Task-Icon) Unter Sinnlows98 geht das ab wie Schmidt's Katze (:D - Ne, watt bin ich heute wieder lustig) , obs auch unter Win2000 geht weiss ich nich. Probiers mal aus und sag uns das Ergebnis



  • @Cpp_Junky na tool das wußte ich auch, aber wenn ich das weglasse geht er in der InitInstance() funktion einfach bis ans ende und Beenden die Anwendung, dies ist aber nicht gewünscht.



  • 😃 😃 😃
    Preisfrage: Warum baust du deinen Programmcode dann nicht in InitInstance ein bzw rufst die Funktionen (/deiner Klasse bspw) von dort aus auf ??? 😕 Oder bist du unbedingt auf CDialog-Funktionen angewiesen ?



  • @Cpp_Junky oh man

    das ich das tun kann ist mir bewußt.

    Ich will ein Errinerungsprogramm bastelt und dazu in WM_TIMER message reagieren.

    Daher hab ich ja auch "und Beenden die Anwendung" geschrieben!!!!!!!!

    😡



  • Bitte freundlich bleiben, wenn ne Antwort erwünscht ist. Sonst ist hier ganz schnell dicht.

    EDIT:
    Satz deutsch gemacht 😉

    [ Dieser Beitrag wurde am 02.10.2002 um 15:03 Uhr von dEUs editiert. ]



  • Was ist ???
    Also so richtig weißt Du nicht, was Du willst, oder??

    Siehe:

    - wie kann ich es mit der MFC schaffen, dass 1. kein fenster angezeigt wird?
    2. kein icon in der taskleiste (auch nicht im systray) ?
    - Ich will ein Errinerungsprogramm bastelt und dazu in WM_TIMER message reagieren.

    Bedeutet also folgendes: Ich will mir keinen Fernseher kaufen, aber trotzdem abends zu Hause TVTotal schauen, wie mach ich das?



  • Original erstellt von RenéG:
    **Was ist ???
    Also so richtig weißt Du nicht, was Du willst, oder??

    Siehe:
    Bedeutet also folgendes: Ich will mir keinen Fernseher kaufen, aber trotzdem abends zu Hause TVTotal schauen, wie mach ich das?**

    Mit einer TV-Karte! 😃 ...nee Spaß beiseite...

    - wie kann ich es mit der MFC schaffen, dass 1. kein fenster angezeigt wird?
    2. kein icon in der taskleiste (auch nicht im systray) ?
    - Ich will ein Errinerungsprogramm bastelt und dazu in WM_TIMER message reagieren

    Ich würde mir ein kleines Progg basteln(Win32) und es per "Geplante Tasks" starten...



  • @Hexagon

    Ich würde mir ein kleines Progg basteln(Win32) und es per "Geplante Tasks" starten...

    geht leider nicht da es auch unter nt 4 laufen soll und es dort sowas nicht gibt.

    @RenéG

    - wie kann ich es mit der MFC schaffen, dass 1. kein fenster angezeigt wird?
    2. kein icon in der taskleiste (auch nicht im systray) ?
    - Ich will ein Errinerungsprogramm bastelt und dazu in WM_TIMER message reagieren.

    Ich will ein Dialog nicht sichtbar und nicht in der Taskleiste. Wiso geht beides nicht??

    <:D> Hi!
    Schau dir mal folgenden Beitrag an:
    http://f25.parsimony.net/forum63133/messages/2833.htm

    hat diesen link gepostet und dort wurde eine Möglichkeit beschrieben die bei mir nicht funkts.

    Gibt es keine weitere Möglichkeit z.B. mit der win api ???



  • @Deadmaker_HUNTER:
    Timer lassen sich auch ohne Dialog-Klasse programmieren.


Anmelden zum Antworten