Seite 1 von 2

Event in der Taskleiste

Verfasst: 15.10.2007 14:11
von marco2007
Hallo liebe Kollegen,

kann mir jemand sagen, wie man einen Click auf ein geöffnetes Programm in der Taskleiste abfragt?

Sprich: Ich öffne einige Programme, wie Outlook, Explorer, .... Nun kann man diese in der Taskleiste sehen...und es gibt zwei States - eins gedrückt oder keines (wie Option)...Wie frag ich das ab? Hat da jemand eine Idee?


Danke
Marco

Verfasst: 15.10.2007 15:08
von #NULL
ist der zustand in der taskleiste nicht einfach analog zum maximiert-/minimiert-status des fensters?

Verfasst: 15.10.2007 15:24
von AND51
Würd ich auch sagen. Dann sind isIconic_() und GetForegroundWindow_() deine Freunde.

Verfasst: 15.10.2007 15:36
von marco2007
Mein Problem ist folgendes:

Ich habe eine Anwendung mit drei Fenster (2 davon mit Parentwindow, da sie in der Taskleiste unsichtbar sein sollen).

Wenn ich jetzt andere Fenster in der Vordergrund und ich drücke auf mein Programm, wird nur das eine in den Vordergrund geholt.

Darum wäre es toll, wenn man den Click abfragen könnte....

Verfasst: 15.10.2007 15:41
von #NULL
würde es sowas nicht machen?

Code: Alles auswählen

  event=WaitWindowEvent()
  Select event
    Case #PB_Event_ActivateWindow
      SetActiveWindow(#child1)
      SetActiveWindow(#child2)
      SetActiveWindow(#main)
  EndSelect

Verfasst: 15.10.2007 16:03
von marco2007
...da haut`s erm her....weil mit SetActiveWindow gibt`s wieder ein #PB_Event_ActivateWindow .... damit wieder ein Setactive....

IsIonic()?

Ich werde, wenn ich daheim bin ein Beispielcode posten...ich habe ja bereits einiges probiert, vielleicht habe ich etwas nur falsch umgesetzt.

Verfasst: 15.10.2007 16:14
von #NULL
IsIonic_(), winAPI, brauchst du aber nicht, es gibt GetWindowState(#PB_Window_Minimize)

Verfasst: 15.10.2007 16:26
von marco2007
Ich habe das ganze bereits mit Getwindowstate()...das funkt aber nur, wenn man erst minimiert und dann wieder normalisiert..nicht aber, wenn man ein anderes fremdes Fenster in den Vordergrund bringt (mein Programm ist dann normal im Hintergrund) und dann in der Taskleiste auf das Fenster klickt, dann erscheint nur das eine. Mit GetForegroundWindow_() habe ich mich auch bereits gespielt, da haut`s erm a her...das Optimale wäre, die Abfrage des Clicks in der Taskleiste (glaube ich)....

Verfasst: 15.10.2007 16:31
von Kiffi
marco2006 hat geschrieben:das Optimale wäre, die Abfrage des Clicks in der Taskleiste (glaube ich)....
poste erstmal Deinen Beispielcode, dann schauen wir weiter. ;-)

Grüße ... Kiffi

Verfasst: 15.10.2007 16:57
von edel
marco2006 hat geschrieben:das Optimale wäre, die Abfrage des Clicks in der Taskleiste (glaube ich)....
Das glaubst aber auch nur du, kannst dich ja schonmal ueber Hooks
informieren ;)

Ein kleiner Code waere hier wirklich sinnvoll, allein schon dewegen weil
es kein reiner PB Code zu sein scheint (SetParent ?).