MSG_WM_WTSSESSION_CHANGE cracks lParam as PWTSSESSION_NOTIFICATION, which is only used in the service control handler callback function. The correct type to cast to is simply a DWORD.
... or ULONG
Anonymous
You seem to have CSS turned off. Please don't fill out this field.
It is probably DWORD, at least according to the WTS_SESSION_INFO structure
The confusion here was because of WTSSESSION_NOTIFICATION struct defined in WinUser.h
Fixed now.
Commit: https://sourceforge.net/p/wtl/git/ci/622dcae573a4c3eb7329e6c6eaac854f119dd4af/
Thanks and already in use :)
Not DWORD but LPARAM. (DWORD - unsigned but LPARAM - signed) Because LPARAM is declared as
#typedef LONG_PTR LPARAM;
And LONG_PTR as
#if defined (_WIN64) typedef __int64 LONG_PTR; #else typedef long LONG_PTR; #endif
There will be problems in 64-bit system
I don't think that will be a problem, WPARAM and LPARAM can be anything
It can be anything if it is passed as a pointer, and here is the value.
Why would this be different than WM_ACTIVATEAPP? Look for it in windowsx.h
Sorry. You right.
typedef unsigned long DWORD;
and
typedef long LONG_PTR;
The same.
... or ULONG
It is probably DWORD, at least according to the WTS_SESSION_INFO structure
The confusion here was because of WTSSESSION_NOTIFICATION struct defined in WinUser.h
Fixed now.
Commit: https://sourceforge.net/p/wtl/git/ci/622dcae573a4c3eb7329e6c6eaac854f119dd4af/
Thanks and already in use :)
Not DWORD but LPARAM. (DWORD - unsigned but LPARAM - signed)
Because LPARAM is declared as
And LONG_PTR as
There will be problems in 64-bit system
I don't think that will be a problem, WPARAM and LPARAM can be anything
It can be anything if it is passed as a pointer, and here is the value.
Why would this be different than WM_ACTIVATEAPP? Look for it in windowsx.h
Sorry. You right.
and
The same.