2te Taskleiste erstellen (mit GUI)

  • Hallo liebe ProgrammSportsFreunde!!

    Ich habe bisher jedes mal versagt, als ich ein fenster genau gleich wie die Taskleiste erstellen wollte.
    Eine Sidebar wäre ja noch eins, aber das will ich nicht, ich find das ding net schön wenn es immer wieder in den Hintergrund verschwindet...
    ich habe meiner GUI die styles und Exstyles der Taskleiste gegeben, aber als ich die Exstyles hinzugefügt habe, ist das fenster nicht einmal mehr erschienen!
    Ich frage mich ob ich die WindowClass ändern muss.. geht das überhaupt??

    Ich hoffe ihr könnt mir ein bissel helfen :)

    Dies ist ein Arzeneimittel.
    Bei Risiken und Haluzinationen fressen sie die Packungsbeilage und schlagen Sie ihren Arzt oder Apotheker.
    Jede Haftung wird abgelent.

    Vielen Dank für Ihre Kundentreue.
    mfg. TimBlo

    Aperture Science

    http://www.youtube.com/watch?v=Y6ljFaKRTrI

  • Moin,

    da musst Du ein wenig herumprobieren ...
    Ich habe die originale Taskleiste mal ausspioniert.

    In AutoIt würde das dann (ungetestet!) so aussehen:

    Spoiler anzeigen
    [autoit]

    ;««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««

    [/autoit] [autoit][/autoit] [autoit]

    Global Const $HWND_DESKTOP = Ptr (0)

    [/autoit] [autoit][/autoit] [autoit]

    Global Const $WC_PAGESCROLLERW = "SysPager"

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Global Const $PGS_VERT = 0x00000000
    Global Const $PGS_HORZ = 0x00000001
    Global Const $PGS_AUTOSCROLL = 0x00000002
    Global Const $PGS_DRAGNDROP = 0x00000004

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Global $g_hInst = _WinAPI_GetModuleHandle (0)

    [/autoit] [autoit][/autoit] [autoit]

    ;««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««

    [/autoit] [autoit][/autoit] [autoit]

    ;-- Hauptfenster der "Taskleiste"
    $hwnd = GUICreate ( _
    "", _
    @DesktopWidth, 30, 0, @DesktopHeight - 60, _ ; zum Testen erstmal direkt über der echten Taskleiste positionieren
    BitOR ($WS_OVERLAPPED, $WS_POPUP, $WS_VISIBLE, $WS_CLIPSIBLINGS, $WS_CLIPCHILDREN), _
    BitOR ($WS_EX_TOPMOST, $WS_EX_TOOLWINDOW), _
    $HWND_DESKTOP _
    )

    [/autoit] [autoit][/autoit] [autoit]

    ; "Start"-Schaltfläche
    $IDC_START = GUICtrlCreateButton ( _
    "Start", _
    0, 0, 101, 32, _
    BitOR ($WS_CHILD, $WS_VISIBLE, $WS_CLIPSIBLINGS, $BS_LEFT, $BS_TOP, $BS_BOTTOM) _
    )

    [/autoit] [autoit][/autoit] [autoit]

    ;-- Containerfenster für Uhr und Sysinfo Bereich
    $hwndTrayNotify = GUICreate ( _
    "", _
    0, 0, 0, 0, _ ; Größe in WM_SIZE setzen, wenn Größe der Kindfenster ermittelt wurde
    BitOR ($WS_CHILD, $WS_VISIBLE, $WS_CLIPSIBLINGS, $WS_CLIPCHILDREN), _
    $hwnd _
    )

    [/autoit] [autoit][/autoit] [autoit]

    ; "Uhr"
    $IDC_TRAY_CLOCK = GUICtrlCreateLabel ( _
    "", _
    0, 0, 0, 0, _ ; Größe in WM_SIZE setzen, wenn Größe der Kindfenster ermittelt wurde
    BitOR ($WS_CHILD, $WS_POPUP, $WS_VISIBLE, $WS_CLIPSIBLINGS) _
    )

    [/autoit] [autoit][/autoit] [autoit]

    ; Pager Steuerelement
    $hwndSysPager = _WinAPI_CreateWindowEx ( _
    0, _
    $WC_PAGESCROLLERW, _
    "", _
    BitOR ($WS_CHILD, $WS_VISIBLE, $WS_CLIPSIBLINGS, $WS_CLIPCHILDREN, $WS_TABSTOP, $PGS_HORZ), _
    0, 0, 0, 0, _ ; Größe in WM_SIZE setzen, wenn Größe der Kindfenster ermittelt wurde
    $hwndTrayNotify, _
    0, _
    $g_hInst, _
    0 _
    )

    [/autoit] [autoit][/autoit] [autoit]

    ; "Infobereich"
    $hwndSysInfo = _GUICtrlToolbar_Create ( _
    $hwndSysPager, _
    BitOR ($TBSTYLE_TRANSPARENT, $TBSTYLE_WRAPABLE, $TBSTYLE_TOOLTIPS, $TBSTYLE_FLAT), _
    $WS_EX_TOOLWINDOW _
    )

    [/autoit] [autoit][/autoit] [autoit]

    ;-- Containerfenster für Schnellstartleiste und "Ausgeführte Anwendungen"
    $hwndTrayReBar = _GUICtrlRebar_Create ( _
    $hwnd, _
    BitOR ($RBS_AUTOSIZE, $RBS_REGISTERDROP, $RBS_DBLCLKTOGGLE, $RBS_VARHEIGHT) _
    )

    [/autoit] [autoit][/autoit] [autoit]

    ; Schnellstartleiste
    $hwndQuiuckLaunch = _GUICtrlToolbar_Create ( _
    $hwndTrayReBar, _
    BitOR ($TBSTYLE_TRANSPARENT, $TBSTYLE_WRAPABLE, $TBSTYLE_TOOLTIPS, $TBSTYLE_FLAT), _
    $WS_EX_TOOLWINDOW _
    )

    [/autoit] [autoit][/autoit] [autoit]

    ; Containerfenster für "Ausgeführte Anwendungen"
    $hwndTaskSwitch = GUICreate ( _
    "Ausgeführte Anwendungen", _
    0, 0, 0, 0, _ ; Größe in WM_SIZE setzen, wenn Größe der Kindfenster ermittelt wurde
    BitOR ($WS_CHILD, $WS_VISIBLE, $WS_CLIPSIBLINGS, $WS_CLIPCHILDREN), _
    $hwndTrayReBar _
    )

    [/autoit] [autoit][/autoit] [autoit]

    ; "Ausgeführte Anwendungen"
    $hwndQuiuckLaunch = _GUICtrlToolbar_Create ( _
    $hwndTrayReBar, _
    BitOR ($TBSTYLE_TRANSPARENT, $TBSTYLE_WRAPABLE, $TBSTYLE_TOOLTIPS, $TBSTYLE_LIST) _
    )

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    GUISetState (@SW_SHOW, $hwnd)

    [/autoit] [autoit][/autoit] [autoit]

    ;««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««

    [/autoit] [autoit][/autoit] [autoit]

    While (TRUE)

    Switch (GUIGetMsg (FALSE))

    Case $GUI_EVENT_CLOSE
    GUIDelete ($hWnd)
    Exit (0)
    EndSwitch
    WEnd
    ;««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««

    [/autoit]

    Gruß
    Greenhorn


  • Danke!! und was meinst du mit Ich habe die originale Taskleiste mal ausspioniert.?
    herumprobiert hab ich ja schon langeund warum is das AutoIt-ungetestet? hast du etwa C++ Source?

    Dies ist ein Arzeneimittel.
    Bei Risiken und Haluzinationen fressen sie die Packungsbeilage und schlagen Sie ihren Arzt oder Apotheker.
    Jede Haftung wird abgelent.

    Vielen Dank für Ihre Kundentreue.
    mfg. TimBlo

    Aperture Science

    http://www.youtube.com/watch?v=Y6ljFaKRTrI

  • ich habe deinen code inzwischen mal getestet, ich bin noch alle Includes am zusammen suchen (!)
    aber das scheint sehr gute arbeit zu sein. :thumbup:
    Edit: ich weiss nun auch warum man das nicht ausgiebig testen sollte... HAB VOLL DEN ABSTURZ ERLITTEN!! :thumbdown: :cursing:
    irgend was musst du ändern, der ganze Desktop spinnte, die Icons blinkten, und in den Fenstern kam nix mehr, ich konnte den Prozess nicht mehr abbrechen!

    Dies ist ein Arzeneimittel.
    Bei Risiken und Haluzinationen fressen sie die Packungsbeilage und schlagen Sie ihren Arzt oder Apotheker.
    Jede Haftung wird abgelent.

    Vielen Dank für Ihre Kundentreue.
    mfg. TimBlo

    Aperture Science

    http://www.youtube.com/watch?v=Y6ljFaKRTrI

    Einmal editiert, zuletzt von TimBlo (5. September 2009 um 18:38)

  • ...Deshalb mach ich bei Vista den Schirm der sich bei Strg+Alt+Entf öffnet, den alle so nervig finden :D

  • hä, den satz check ich net, hab ne syntax error...
    und nun weiss ich dass dieses ding meinen PC auch zwei mal zum absturz bringen kann...
    ich habe die schleife am ende herausgenommen und sleep(5000) hinen geproggt, aber nach 5 sek war das ding immernoch da!
    ich weiss nicht was ich damit anfangen soll...
    achja, da war nochwas,
    eine meldung mit der anschrift "ERROR" oder "EROR" so genau weiss ich das nicht, dann hatte es noch so ein icon und in der meldung stand was von WinAPI und wegen erfolgreich beendet, daneben was das Icon (rund, rot, mit weissem X drin)...
    ich weiss auch nicht was das bedeuten soll

    Dies ist ein Arzeneimittel.
    Bei Risiken und Haluzinationen fressen sie die Packungsbeilage und schlagen Sie ihren Arzt oder Apotheker.
    Jede Haftung wird abgelent.

    Vielen Dank für Ihre Kundentreue.
    mfg. TimBlo

    Aperture Science

    http://www.youtube.com/watch?v=Y6ljFaKRTrI

  • Es müsste ja nich mal aussehen wie eine Tasklise, es müsste nur immer Ontop sein, und die Desktopelemente müssten dadurch begrenz werden, also dass man fenster mit der maus nich einfach darunter ziehen kann...

    Dies ist ein Arzeneimittel.
    Bei Risiken und Haluzinationen fressen sie die Packungsbeilage und schlagen Sie ihren Arzt oder Apotheker.
    Jede Haftung wird abgelent.

    Vielen Dank für Ihre Kundentreue.
    mfg. TimBlo

    Aperture Science

    http://www.youtube.com/watch?v=Y6ljFaKRTrI

  • ja ich das mit dem child problem dann mit der $hwnd gelöst..
    aber funzen tuts net!!

    Dies ist ein Arzeneimittel.
    Bei Risiken und Haluzinationen fressen sie die Packungsbeilage und schlagen Sie ihren Arzt oder Apotheker.
    Jede Haftung wird abgelent.

    Vielen Dank für Ihre Kundentreue.
    mfg. TimBlo

    Aperture Science

    http://www.youtube.com/watch?v=Y6ljFaKRTrI

  • Alles hinterlässt fingerabdrücke, auch ein Programm auf einem PC - mit oder ohne installation!!
    Und wegen dem UltraMon hab ich mir erst den Virus geholt, ich wollte nen keygen :P :cursing:
    ich könnte mir deshalb nun die birne verhauen, aber ich frage mich was ich davon habe ausser kopfschmerzen - welche ich bereits hab -

    Dies ist ein Arzeneimittel.
    Bei Risiken und Haluzinationen fressen sie die Packungsbeilage und schlagen Sie ihren Arzt oder Apotheker.
    Jede Haftung wird abgelent.

    Vielen Dank für Ihre Kundentreue.
    mfg. TimBlo

    Aperture Science

    http://www.youtube.com/watch?v=Y6ljFaKRTrI