mirror of
https://github.com/reactos/reactos.git
synced 2025-06-03 00:10:39 +00:00
Partially implement:
NtUserCallHwndOpt NtUserGetThreadState Implement GetProgmanWindow GetTaskmanWindow This is (kinda)part of bug 1668 svn path=/trunk/; revision=23227
This commit is contained in:
parent
db04986dce
commit
25b81049eb
3 changed files with 14 additions and 16 deletions
|
@ -1586,25 +1586,23 @@ SetProgmanWindow(HWND hWnd)
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* @unimplemented
|
* @implemented
|
||||||
*/
|
*/
|
||||||
HWND
|
HWND
|
||||||
STDCALL
|
STDCALL
|
||||||
GetProgmanWindow(VOID)
|
GetProgmanWindow(VOID)
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED;
|
return (HWND)NtUserGetThreadState(THREADSTATE_PROGRAMWINDOW);
|
||||||
return FALSE;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* @unimplemented
|
* @implemented
|
||||||
*/
|
*/
|
||||||
HWND
|
HWND
|
||||||
STDCALL
|
STDCALL
|
||||||
GetTaskmanWindow(VOID)
|
GetTaskmanWindow(VOID)
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED;
|
return (HWND)NtUserGetThreadState(THREADSTATE_TASKMANWINDOW);
|
||||||
return FALSE;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -8,6 +8,8 @@ typedef struct _DESKTOP
|
||||||
{
|
{
|
||||||
HANDLE hKernelHeap;
|
HANDLE hKernelHeap;
|
||||||
WCHAR szDesktopName[1];
|
WCHAR szDesktopName[1];
|
||||||
|
HWND hTaskManWindow;
|
||||||
|
HWND hProgmanWindow;
|
||||||
} DESKTOP, *PDESKTOP;
|
} DESKTOP, *PDESKTOP;
|
||||||
|
|
||||||
typedef struct _CALLPROC
|
typedef struct _CALLPROC
|
||||||
|
@ -1117,6 +1119,8 @@ NtUserGetThreadDesktop(
|
||||||
#define THREADSTATE_GETTHREADINFO (0)
|
#define THREADSTATE_GETTHREADINFO (0)
|
||||||
#define THREADSTATE_FOCUSWINDOW (1)
|
#define THREADSTATE_FOCUSWINDOW (1)
|
||||||
#define THREADSTATE_INSENDMESSAGE (2)
|
#define THREADSTATE_INSENDMESSAGE (2)
|
||||||
|
#define THREADSTATE_PROGMANWINDOW (3)
|
||||||
|
#define THREADSTATE_TASKMANWINDOW (4)
|
||||||
DWORD
|
DWORD
|
||||||
NTAPI
|
NTAPI
|
||||||
NtUserGetThreadState(
|
NtUserGetThreadState(
|
||||||
|
|
|
@ -856,19 +856,11 @@ NtUserCallHwndOpt(
|
||||||
switch (Routine)
|
switch (Routine)
|
||||||
{
|
{
|
||||||
case HWNDOPT_ROUTINE_SETPROGMANWINDOW:
|
case HWNDOPT_ROUTINE_SETPROGMANWINDOW:
|
||||||
/*
|
GetW32ThreadInfo()->Desktop->hProgmanWindow = Param;
|
||||||
* FIXME
|
|
||||||
* Nothing too hard...validate the hWnd and save it in the Desktop Info
|
|
||||||
*/
|
|
||||||
DPRINT1("HWNDOPT_ROUTINE_SETPROGMANWINDOW UNIMPLEMENTED\n");
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case HWNDOPT_ROUTINE_SETTASKMANWINDOW:
|
case HWNDOPT_ROUTINE_SETTASKMANWINDOW:
|
||||||
/*
|
GetW32ThreadInfo()->Desktop->hTaskManWindow = Param;
|
||||||
* FIXME
|
|
||||||
* Nothing too hard...validate the hWnd and save it in the Desktop Info
|
|
||||||
*/
|
|
||||||
DPRINT1("HWNDOPT_ROUTINE_SETTASKMANWINDOW UNIMPLEMENTED\n");
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -902,6 +894,10 @@ NtUserGetThreadState(
|
||||||
|
|
||||||
case THREADSTATE_FOCUSWINDOW:
|
case THREADSTATE_FOCUSWINDOW:
|
||||||
RETURN( (DWORD)IntGetThreadFocusWindow());
|
RETURN( (DWORD)IntGetThreadFocusWindow());
|
||||||
|
case THREADSTATE_PROGMANWINDOW:
|
||||||
|
RETURN( (DWORD)GetW32ThreadInfo()->Desktop->hProgmanWindow);
|
||||||
|
case THREADSTATE_TASKMANWINDOW:
|
||||||
|
RETURN( (DWORD)GetW32ThreadInfo()->Desktop->hTaskManWindow);
|
||||||
}
|
}
|
||||||
RETURN( 0);
|
RETURN( 0);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue