Windows SESSION_CHANGE

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
TerribleCode
Beiträge: 38
Registriert: Di 18. Nov 2014, 22:50
OS, Lazarus, FPC: Windows 7 [x64]; Lazarus 1.6.4 [i386-win32]; FPC 3.0.2 [win32 i386]
CPU-Target: 64Bit

Windows SESSION_CHANGE

Beitrag von TerribleCode »

Hallöchen liebe Community 8)

zur Zeit arbeite ich an einer Anwendung die festhält wieviel Zeit ich mit welchen Programmen so vorm Computer verbringe.
Sprich: ich will tracken wie lange ich zocke, surfe oder der PC sich bloß langweilt...
Das funktioniert auch schon recht gut!
Nun möchte ich aber die Zeit, in der ich den Desktop gesperrt habe (Win+L), ebenfalls erfassen.
Also es soll hinterher im Logbuch sowas stehen wie: "Desktop war gesperrt von X bis Y".
Dafür muss ich die Parameter WTS_SESSION_LOCK und WTS_SESSION_UNLOCK aus der Message WM_WTSSESSION_CHANGE verarbeiten.

Also erstmal mein Fenster dafür registrieren:

Code: Alles auswählen

function WTSRegisterSessionNotification(hWnd: HWND; dwFlags: DWORD): BOOL; stdcall external 'Wtsapi32.dll';
Funktioniert auch prima... (Return=True,GetLastError=0)

Aber meine WindowProc bekommt einfach keine entsprechende Message. :cry:
WM_PAINT, WM_ACTIVE und der Kram kommt aber alles an!

Daher die Frage: hat jemand von euch hier so etwas schon mal benutzt und vieleicht nen Tipp oder Hinweis für mich?

Danke schonmal und Liebe Grüße.

Technische Daten:
  • Windows 7 x64
  • Lazarus 1.4.2
  • FPC 2.6.4
  • Anwendung: Win32/i386
  • Anwendung: requireAdministrator

Socke
Lazarusforum e. V.
Beiträge: 3178
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: Windows SESSION_CHANGE

Beitrag von Socke »

TerribleCode hat geschrieben:Daher die Frage: hat jemand von euch hier so etwas schon mal benutzt und vieleicht nen Tipp oder Hinweis für mich?
Kannst du ein Minimalbeispiel hochladen?
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

TerribleCode
Beiträge: 38
Registriert: Di 18. Nov 2014, 22:50
OS, Lazarus, FPC: Windows 7 [x64]; Lazarus 1.6.4 [i386-win32]; FPC 3.0.2 [win32 i386]
CPU-Target: 64Bit

Re: Windows SESSION_CHANGE

Beitrag von TerribleCode »

Jop, bitteschön ;)
Und nicht vergessen: bei reqAdmin muss auch die IDE Admin-Rechte haben...
Dateianhänge
SessionChangeTest.zip
MD5: 3FD104387CC764ABF4D493CB9A20DC55
(126.28 KiB) 40-mal heruntergeladen

Socke
Lazarusforum e. V.
Beiträge: 3178
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: Windows SESSION_CHANGE

Beitrag von Socke »

Hallo,

ich habe gerade dein Programm bei mir (Windows 8.1 64bit) getestet.

Als Ausgabe erhalte ich immer folgendes:

Code: Alles auswählen

REGISTRED
ERROR: 5
UNREGISTRED
ERROR: 5
5 steht für Access Denied. Das Programm wird als Administrator ausgeführt.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

TerribleCode
Beiträge: 38
Registriert: Di 18. Nov 2014, 22:50
OS, Lazarus, FPC: Windows 7 [x64]; Lazarus 1.6.4 [i386-win32]; FPC 3.0.2 [win32 i386]
CPU-Target: 64Bit

Re: Windows SESSION_CHANGE

Beitrag von TerribleCode »

Hmm... Merkwürdig...
Okay, danke für´s testen!
Werde die Tage mal ein bisschen herum experementieren und vielleicht das ganze als Service umsetzen, vielleicht hilfts.
Wäre auch super wenn mal jemand mit einem 32Bit-System das ganze testen würde ;)
LG

Antworten