AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Herausfinden welche Anwendung vorher aktiv war
Thema durchsuchen
Ansicht
Themen-Optionen

Herausfinden welche Anwendung vorher aktiv war

Ein Thema von relocate · begonnen am 30. Jan 2013 · letzter Beitrag vom 30. Jan 2013
Antwort Antwort
relocate

Registriert seit: 26. Mai 2009
60 Beiträge
 
#1

Herausfinden welche Anwendung vorher aktiv war

  Alt 30. Jan 2013, 08:55
Hallo,

gibt es die Möglichkeit (wenn möglich ohne großen Aufwand, also z.B. ständig das System zu überwachen) welche Anwendung vorher aktiv war, also quasi von welcher Anwendung der Benutzer zur eigenen Anwendung gewechslt ist, wenn möglich sogar dann, wenn zwischenzeitlich der Anwender in/auf dem Desktop unterwegs war.

Gruß relocate
  Mit Zitat antworten Zitat
WM_CLOSE

Registriert seit: 12. Mai 2010
Ort: königsbronn
398 Beiträge
 
RAD-Studio 2009 Pro
 
#2

AW: Herausfinden welche Anwendung vorher aktiv war

  Alt 30. Jan 2013, 09:54
ALT-Tab kann das, vllt geht das auch programmatisch?
Delphi programming
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.622 Beiträge
 
Delphi 12 Athens
 
#3

AW: Herausfinden welche Anwendung vorher aktiv war

  Alt 30. Jan 2013, 10:04
Manche Messages (WM_SETFOCUS, WM_ACTIVATE) enthalten doch IIRC auch fremde Fensterhandles, könnte man da vielleicht ansetzen?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
relocate

Registriert seit: 26. Mai 2009
60 Beiträge
 
#4

AW: Herausfinden welche Anwendung vorher aktiv war

  Alt 30. Jan 2013, 10:32
@ WM_CLOSE

Es scheint tatsächlich zu stimmen, dass bei Alt-Tab die Reihenfolge der jeweils angeklickten Anwendungen quasi gespeichert wird. Ist mir bisher so nicht aufgefallen.

@DeddyH
Per Google bin ich auf diesen Beitrag gestoßen
http://www.entwickler-ecke.de/topic_..._101932,0.html

Es scheint bei OnActivate und OnDeactivate nur innerhalb der eigenen Anwendung geklappt zu haben, ich wollte das schon testen nur ein paar Ansätze sammeln, ggf. hat jemand ja so etwas schon gemacht.
Da gibt es mal wieder ein Suchwort Problem, nach welchen Stichwörtern soll ich suchen, ich habe schon einige probiert Anwendung wechseln / vorher aktive Anwendung /~s Programm etc. gibt alles leider nichts her.

Gruß relocate
  Mit Zitat antworten Zitat
Benutzerbild von lbccaleb
lbccaleb

Registriert seit: 25. Mai 2006
Ort: Rostock / Bremen
2.037 Beiträge
 
Delphi 7 Enterprise
 
#5

AW: Herausfinden welche Anwendung vorher aktiv war

  Alt 30. Jan 2013, 11:37
Das ist einfach über WM_ACTIVATE herauszubekommen!

1.Einfach die Message abfangen
2.LoWord von wParam auf (WA_ACTIVE or WA_CLICKACTIVE) checken
3.Das Handle zum deaktivierten Fenster ist in lParam gespeichert
Martin
MFG Caleb
TheSmallOne (MediaPlayer)
Die Dinge werden berechenbar, wenn man die Natur einer Sache durchschaut hat (Blade)
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

AW: Herausfinden welche Anwendung vorher aktiv war

  Alt 30. Jan 2013, 11:39
IMHO wird mit Alt-TAB die Z-Order der Anwendungsfenster durchlaufen.

Jedes Fenster liegt entweder vor oder hinter einem Fenster. Wird eine Anwendung aktiviert, dann liegt dieses Fenster vor den anderen. Daran kann man das erkennen.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
relocate

Registriert seit: 26. Mai 2009
60 Beiträge
 
#7

AW: Herausfinden welche Anwendung vorher aktiv war

  Alt 30. Jan 2013, 12:52
Durch das Durchwandern mit der EnumWindows Funktion klappt es soweit, nur habe ich bemerkt, beim Durchklicken der Tasks in der Taskbar erhält teilweise beim Umschalten von einem zum anderen Tasks ein bereits davor angeklickter Task wieder kurz den Fokus und bringt damit die Reihenfolge durcheinander. Arrgh.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:35 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz