Desktop verstecken



  • Hallo,

    ich wollte mal mit Visual c++ 2005 von Microsoft ein Anmeldefenster programmieren (Windows-Forms...) und dabei auch als Feature einbauen, dass der Desktop bis auf dem Bildschirmhintergrund versteckt ist, also keine Icons, Taskleiste usw..
    Kann mir das jemand erklären?

    MFG Toddy


  • Mod

    Erzeuge ein Fenster, dass alle anderen Fenster überlagert (WS_EX_TOPMOST), das ist IMHO einfacher.



  • Martin Richter schrieb:

    Erzeuge ein Fenster, dass alle anderen Fenster überlagert (WS_EX_TOPMOST), das ist IMHO einfacher.

    Nicht wirklich einfacher - eine fixierte Taskleiste beispielsweise zeigt sich ziemlich unbeeindruckt ...



  • schmidt-webdesign.net schrieb:

    Nicht wirklich einfacher - eine fixierte Taskleiste beispielsweise zeigt sich ziemlich unbeeindruckt ...

    Irgendwie nicht, die wird auch überdeckt!



  • ..... und kann ganz leicht ausgeblendet werden, zur Sicherheit....

    Und eben das ist sinnvoller, taskleiste ausblenden, desktopbild ermitteln und voll auf dem desktop zeichnen (hdc bla bla), dein krams zeigen und gut ist, danach eben wieder Taskleiste aktivieren und desktop aktualisieren.

    Höhrt sich schwerer an als es ist



  • Aber das Anmeldefenster soll ja auch so klein wie das "alte von Windows sein, bei dem man Benutzernamen und Kennwort eingeben will. Daher kann ich das doch nicht über alles andere decken.

    MFG Toddy



  • hast du meinen Beitrag übersehen, oder nur falsch gelesen?



  • Ich habe dann wohl deinen Beitrag nicht verstanden. Wird das dann mit Visual C++ 2005 mit #include<windwos.h> programmiert? ich hab da keine ahnung da ich erst platform SDK installiert hab und da dauenrd fehler erscheinen

    MFG Toddy



  • Wenn du kein C kannst, was suchst du denn dann im WinAPI Forum? Du mußt dir glaube ich erstmal klar werden, in welcher Programmiersprache du programmieren willst.



  • hat schon nen sinn das in meinem Namen ein "lol" drinn ist, wenn ich solche Beiträge wie von gain80 sehe.

    Ich sehe du stehst am Anfang, das wird für dich sicher noch zu komplex sein, aber nun gut, benutze mal das ShowWindow() wie im anderen Thread per Button klick, sollte der Compiler meckern das er das nicht kennt, nimmst du #include <windows.h> mit rein.



  • Erzeige einen neuen Desktop und zeige dein Fenster in diesem an.



  • Das ist ja das Problem:

    Ich kann zwar C nach dem ISO-Standard aber mit .NET hab ich erst angefangen. Ich habe da erst Platform SDK von Microsoft runtergeladen und da stand dass man das mit
    in die VC -Verzeichnisse mit aufnehmen soll. Ich habe aber 2 Ordner in "Programme": "Microsoft Platform SDK" und "Microsoft SDKs". Ich habe nun den Ordner
    "Microsoft Platform SDK" hinzugefügt aber wenn ich in "Name des Projekts".cpp #include <windows.h> hineinschreibe, erscheinen einige Warnungen:
    h(65) : warning C4394: "_ctype": Ein anwendungsdomänenspezifisches Symbol sollte nicht mit __declspec(dllimport) markiert werden.
    1>C:\Programme\Microsoft Platform SDK\Include\crt\ctype.h(66) : warning C4394: "_wctype": Ein anwendungsdomänenspezifisches Symbol sollte nicht mit __declspec(dllimport) markiert werden.
    1>C:\Programme\Microsoft Platform SDK\Include\crt\ctype.h(69) : warning C4394: "_pctype": Ein anwendungsdomänenspezifisches Symbol sollte nicht mit __declspec(dllimport) markiert werden.
    1>C:\Programme\Microsoft Platform SDK\Include\crt\ctype.h(70) : warning C4394: "_pwctype": Ein anwendungsdomänenspezifisches Symbol sollte nicht mit __declspec(dllimport) markiert werden.
    1>C:\Programme\Microsoft Platform SDK\Include\crt\ctype.h(172) : warning C4394: "__mb_cur_max": Ein anwendungsdomänenspezifisches Symbol sollte nicht mit __declspec(dllimport) markiert werden.
    1>C:\Programme\Microsoft Platform SDK\Include\crt\stdlib.h(216) : warning C4394: "_sys_errlist": Ein anwendungsdomänenspezifisches Symbol sollte nicht mit __declspec(dllimport) markiert werden.
    1>C:\Programme\Microsoft Platform SDK\Include\crt\stdlib.h(217) : warning C4394: "_sys_nerr": Ein anwendungsdomänenspezifisches Symbol sollte nicht mit __declspec(dllimport) markiert werden.
    1>C:\Programme\Microsoft Platform SDK\Include\crt\stdlib.h(220) : warning C4394: "__argc": Ein anwendungsdomänenspezifisches Symbol sollte nicht mit __declspec(dllimport) markiert werden.
    1>C:\Programme\Microsoft Platform SDK\Include\crt\stdlib.h(221) : warning C4394: "__argv": Ein anwendungsdomänenspezifisches Symbol sollte nicht mit __declspec(dllimport) markiert werden.
    1>C:\Programme\Microsoft Platform SDK\Include\crt\stdlib.h(222) : warning C4394: "__wargv": Ein anwendungsdomänenspezifisches Symbol sollte nicht mit __declspec(dllimport) markiert werden.
    1>C:\Programme\Microsoft Platform SDK\Include\crt\stdlib.h(227) : warning C4394: "_environ": Ein anwendungsdomänenspezifisches Symbol sollte nicht mit __declspec(dllimport) markiert werden.
    1>C:\Programme\Microsoft Platform SDK\Include\crt\stdlib.h(228) : warning C4394: "_wenviron": Ein anwendungsdomänenspezifisches Symbol sollte nicht mit __declspec(dllimport) markiert werden.
    1>C:\Programme\Microsoft Platform SDK\Include\crt\stdlib.h(231) : warning C4394: "_pgmptr": Ein anwendungsdomänenspezifisches Symbol sollte nicht mit __declspec(dllimport) markiert werden.
    1>C:\Programme\Microsoft Platform SDK\Include\crt\stdlib.h(232) : warning C4394: "_wpgmptr": Ein anwendungsdomänenspezifisches Symbol sollte nicht mit __declspec(dllimport) markiert werden.
    1>C:\Programme\Microsoft Platform SDK\Include\crt\stdlib.h(234) : warning C4394: "_fmode": Ein anwendungsdomänenspezifisches Symbol sollte nicht mit __declspec(dllimport) markiert werden.
    1>C:\Programme\Microsoft Platform SDK\Include\crt\stdlib.h(235) : warning C4394: "_fileinfo": Ein anwendungsdomänenspezifisches Symbol sollte nicht mit __declspec(dllimport) markiert werden.
    1>C:\Programme\Microsoft Platform SDK\Include\crt\stdlib.h(240) : warning C4394: "_osplatform": Ein anwendungsdomänenspezifisches Symbol sollte nicht mit __declspec(dllimport) markiert werden.
    1>C:\Programme\Microsoft Platform SDK\Include\crt\stdlib.h(241) : warning C4394: "_osver": Ein anwendungsdomänenspezifisches Symbol sollte nicht mit __declspec(dllimport) markiert werden.
    1>C:\Programme\Microsoft Platform SDK\Include\crt\stdlib.h(242) : warning C4394: "_winver": Ein anwendungsdomänenspezifisches Symbol sollte nicht mit __declspec(dllimport) markiert werden.
    1>C:\Programme\Microsoft Platform SDK\Include\crt\stdlib.h(243) : warning C4394: "_winmajor": Ein anwendungsdomänenspezifisches Symbol sollte nicht mit __declspec(dllimport) markiert werden.
    1>C:\Programme\Microsoft Platform SDK\Include\crt\stdlib.h(244) : warning C4394: "_winminor": Ein anwendungsdomänenspezifisches Symbol sollte nicht mit __declspec(dllimport) markiert werden.

    Aber wenn ich dann noch diese ShowWindow-Funktion in private: System::Void Form1_Load(System::Object^ sender, System::EventArgs^ e) { aufrufe, erscheinen diese Fehlermeldungen:

    \Form1.h(218) : error C2065: 'NULL': nichtdeklarierter Bezeichner
    \Form1.h(218) : error C2065: 'SW_HIDE': nichtdeklarierter Bezeichner
    \Form1.h(218) : error C3861: "ShowWindow": Bezeichner wurde nicht gefunden.
    \Form1.h(218) : error C3861: "FindWindow": Bezeichner wurde nicht gefunden.
    1>C:\Programme\Microsoft Platform SDK\Include\winuser.h(3781) : error C2365: "ShowWindow": Erneute Definition; vorherige Definition war "Ehemals unbekannter Bezeichner".

    Kann jemand was damit anfangen?

    Gruß Toddy



  • C< und .NET vertragen sich auch nicht.



  • showwindow funzt aber ich will jetzt auch die tastatureingaben (strg-alt-entf,alt-f4,Strg-Shift-Esc,Alt-Tab,Alt-f4)sperren. Wie kann ich das tun? Ich hab da schon mal was von hooken gehört aber ich hab keine ahnung wies geht. kann mir jemand mal einen code schreiben der diese tastatureingaben blockiert oder irgendwie umgeht da es ja etwas doof wäre wenn jemand mein anmeldefenster einfach mit alt-f4 ausschaltet^^.

    MFG Toddy



  • Guck in die FAQ du Troll, da steht 's doch nur groß und breit!



  • gosha16 schrieb:

    Guck in die FAQ du Troll, da steht 's doch nur groß und breit!

    Mein Gott! Warum immer so unfreundlich. wenn er erst angefangen hat, dann kann er doch noch fragen oder?

    Das hab ich anfangs auch gemacht.



  • Wenn er erst angefangen hat soll er sich von solchen schwierigen Dingen fernhalten! Ich war auch hellauf begeistert als ich in der FAQ was von hooks gelesen hab, sofort rumprobiert und es ist absolut nichts gegangen, aber statt hier im Forum rumzunerven hab ichs ein Jahr lang sein gelassen und mich erst wieder damit befasst als ich mir dachte, "jetz weis ich mehr über dieses Thema - jetz kann ich mich nochmal damit befassen".
    Copy & past ist kein programmieren!

    Das hab ich anfangs auch gemacht.

    Und damit mehr als genung genervt...



  • hehe 🙂 😉



  • Ich weiß schon wie Hooks ungefähr funktionieren nur ich weiß die ganzen Tastennamen nich tdie man dort eingeben muss.

    MFG Toddy



  • und weiß jemand, wie man diese Windows-Taste und die Tastenkombinationen Strg+Alt+Entf oder Strg+Shift+Esc wegkriegt? Die krieg ich einfach nicht deaktiviert.

    MFG Toddy



  • War da nicht irgendwas in der Registry mit den Hotkeys??


Anmelden zum Antworten