Create GUI ohne wirklich im Vordergrund zu sein, möglich?

  • Hallo,

    ihr kennt das doch sicher, dass wenn man z.B: eine MSGBOX öffnet, die dann im Vordergrund ist, wenn man dann z.B: gerade am zocken ist, dann wird mehr wegen der MSGBOX erstmal auf den Desktop geschickt. Mir geht es hier nicht wirklich um eine MSGBOX, sondern das ist eigentlich einer generelle Frage zur GUI, z.B: wenn man eine MSGBOX selbst bastelt. Ist es möglich, die dann in den Vordergrund zu schicken, ohne wirklich im Focus zu sein? Quasi nur sichtbar, aber eben nicht als das Fenster das man gerade fokusiert hat, wie z.B. bei Skype, da tauchen ja unten rechts am Rand immer Mitteilungen auf, wenn man eien Nachricht erhalten hat, das ist bei mir im Vordergrund, aber wirft mich z.B: nicht aus Games raus.

    Gruß

  • Wie würde ich folgendes nicht direkt in der Vordergrund schießen?

    [autoit]

    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 262, 210, 192, 124)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    EndSwitch
    WEnd

    [/autoit]
  • So, falls ich verstanden hab was du meinst:

    [autoit]

    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>

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

    $Form1 = GUICreate("Form1", 262, 210, 192, 124)
    GUISetState(@SW_HIDE)

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

    Sleep(5000)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    EndSwitch
    WEnd

    [/autoit]

    ich würde dir raten deine guis nicht nur mit dem FD zu erstellen, denn wenn man sie selbst erstellt bleibt einem die übersicht meistens besser im kopf

  • So wie ichs verstanden habe soll das Fenster erstellt werden, aber nicht das Momentan active Fenster deaktivieren.
    Dazu sieh dir mal die Makros mit SW am anfang an:

    [autoit]

    @SW_SHOWNA

    [/autoit][autoit]

    guisetstate(@SW_SHOWNA) ;stattguisetstate(@SW_SHOW)

    [/autoit]


    Andernfalls könnte man noch mit

    [autoit]

    $activeGui=WinGetTitle("[active]")guisetstate(@SW_SHOW)winactivate($activeGui)

    [/autoit]


    Wobei das mit dem makro natürlcih besser wäre ;)