mirror of
https://github.com/reactos/reactos.git
synced 2024-12-28 01:55:19 +00:00
- Fixed registry entries for Explorer (once more)
- Added very basic window relinking to WinPosSetWindowPos svn path=/trunk/; revision=6356
This commit is contained in:
parent
e9c87d778a
commit
ed9a0cb22a
4 changed files with 83 additions and 41 deletions
|
@ -10,29 +10,29 @@ HKCU,"Control Panel\Appearance",,0x00000012
|
|||
HKCU,"Environment",,0x00000012
|
||||
|
||||
; application compatibility settings for Windows 95
|
||||
HKCU,"Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers\WIN95","MajorVersion",0x00010001,0x00000004
|
||||
HKCU,"Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers\WIN95","MinorVersion",0x00010001,0x0000000A
|
||||
HKCU,"Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers\WIN95","BuildNumber",0x00010001,0x000003B6
|
||||
HKCU,"Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers\WIN95","PlatformId",0x00010001,0x00000001
|
||||
HKCU,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers\WIN95","MajorVersion",0x00010001,0x00000004
|
||||
HKCU,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers\WIN95","MinorVersion",0x00010001,0x0000000A
|
||||
HKCU,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers\WIN95","BuildNumber",0x00010001,0x000003B6
|
||||
HKCU,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers\WIN95","PlatformId",0x00010001,0x00000001
|
||||
; application compatibility settings for Windows 98/ME
|
||||
HKCU,"Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers\WIN98","MajorVersion",0x00010001,0x00000004
|
||||
HKCU,"Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers\WIN98","MinorVersion",0x00010001,0x00000000
|
||||
HKCU,"Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers\WIN98","BuildNumber",0x00010001,0x000008AE
|
||||
HKCU,"Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers\WIN98","PlatformId",0x00010001,0x00000001
|
||||
HKCU,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers\WIN98","MajorVersion",0x00010001,0x00000004
|
||||
HKCU,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers\WIN98","MinorVersion",0x00010001,0x00000000
|
||||
HKCU,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers\WIN98","BuildNumber",0x00010001,0x000008AE
|
||||
HKCU,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers\WIN98","PlatformId",0x00010001,0x00000001
|
||||
; application compatibility settings for Windows NT 4 Service Pack 5
|
||||
HKCU,"Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers\NT4SP5","MajorVersion",0x00010001,0x00000004
|
||||
HKCU,"Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers\NT4SP5","MinorVersion",0x00010001,0x00000000
|
||||
HKCU,"Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers\NT4SP5","BuildNumber",0x00010001,0x00000565
|
||||
HKCU,"Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers\NT4SP5","PlatformId",0x00010001,0x00000002
|
||||
HKCU,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers\NT4SP5","MajorVersion",0x00010001,0x00000004
|
||||
HKCU,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers\NT4SP5","MinorVersion",0x00010001,0x00000000
|
||||
HKCU,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers\NT4SP5","BuildNumber",0x00010001,0x00000565
|
||||
HKCU,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers\NT4SP5","PlatformId",0x00010001,0x00000002
|
||||
; application compatibility settings for Windows 2000
|
||||
HKCU,"Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers\WIN2000","MajorVersion",0x00010001,0x00000005
|
||||
HKCU,"Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers\WIN2000","MinorVersion",0x00010001,0x00000000
|
||||
HKCU,"Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers\WIN2000","BuildNumber",0x00010001,0x00000893
|
||||
HKCU,"Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers\WIN2000","PlatformId",0x00010001,0x00000002
|
||||
HKCU,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers\WIN2000","MajorVersion",0x00010001,0x00000005
|
||||
HKCU,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers\WIN2000","MinorVersion",0x00010001,0x00000000
|
||||
HKCU,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers\WIN2000","BuildNumber",0x00010001,0x00000893
|
||||
HKCU,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers\WIN2000","PlatformId",0x00010001,0x00000002
|
||||
; application compatibility settings for Windows XP
|
||||
HKCU,"Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers\WINXP","MajorVersion",0x00010001,0x00000005
|
||||
HKCU,"Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers\WINXP","MinorVersion",0x00010001,0x00000001
|
||||
HKCU,"Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers\WINXP","BuildNumber",0x00010001,0x00000A28
|
||||
HKCU,"Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers\WINXP","PlatformId",0x00010001,0x00000002
|
||||
HKCU,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers\WINXP","MajorVersion",0x00010001,0x00000005
|
||||
HKCU,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers\WINXP","MinorVersion",0x00010001,0x00000001
|
||||
HKCU,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers\WINXP","BuildNumber",0x00010001,0x00000A28
|
||||
HKCU,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers\WINXP","PlatformId",0x00010001,0x00000002
|
||||
|
||||
; EOF
|
||||
|
|
|
@ -3,33 +3,29 @@ Signature="$ReactOS$
|
|||
|
||||
[AddReg]
|
||||
|
||||
|
||||
HKLM,"SOFTWARE\ReactOS\Windows NT\CurrentVersion\WinLogon","Shell",0x00020000,"%SystemRoot%\System32\cmd.exe"
|
||||
HKLM,"SOFTWARE\ReactOS\Windows NT\CurrentVersion\WinLogon","StartServices",0x00010001,0x00000001
|
||||
|
||||
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders","Desktop",0x00020000,"%SystemRoot%\Desktop"
|
||||
HKCU,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders","Desktop",0x00020000,"%SystemRoot%\Desktop"
|
||||
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders","AppData",0x00020000,"%SystemRoot%\Application Data"
|
||||
HKCU,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders","AppData",0x00020000,"%SystemRoot%\Application Data"
|
||||
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders","Start Menu",0x00020000,"%SystemRoot%\Start Menu"
|
||||
HKCU,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders","Start Menu",0x00020000,"%SystemRoot%\Start Menu"
|
||||
|
||||
; For Shell32.dll
|
||||
HKLM,"SOFTWARE\Classes\CLSID\{00021400-0000-0000-C000-000000000046}","",0x00020000,"Desktop"
|
||||
HKLM,"SOFTWARE\Classes\CLSID\{00021400-0000-0000-C000-000000000046}\InProcServer32","",0x00020000,"shell32.dll"
|
||||
HKLM,"SOFTWARE\Classes\CLSID\{00021400-0000-0000-C000-000000000046}\InProcServer32","ThreadingModel",0x00020000,"Apartment"
|
||||
HKLM,"SOFTWARE\Classes\CLSID\{00021401-0000-0000-C000-000000000046}","",0x00020000,"Shortcut"
|
||||
HKLM,"SOFTWARE\Classes\CLSID\{00021401-0000-0000-C000-000000000046}\InProcServer32","",0x00020000,"shell32.dll"
|
||||
HKLM,"SOFTWARE\Classes\CLSID\{00021401-0000-0000-C000-000000000046}\InProcServer32","ThreadingModel",0x00020000,"Apartment"
|
||||
HKLM,"SOFTWARE\Classes\CLSID\{00021401-0000-0000-C000-000000000046}\shellex\MayChangeDefaultMenu]","",0x00020000,""
|
||||
HKLM,"SOFTWARE\Classes\CLSID\{00021400-0000-0000-C000-000000000046}","",0x00000002,"Desktop"
|
||||
HKLM,"SOFTWARE\Classes\CLSID\{00021400-0000-0000-C000-000000000046}\InProcServer32","",0x00000002,"shell32.dll"
|
||||
HKLM,"SOFTWARE\Classes\CLSID\{00021400-0000-0000-C000-000000000046}\InProcServer32","ThreadingModel",0x00000002,"Apartment"
|
||||
HKLM,"SOFTWARE\Classes\CLSID\{00021401-0000-0000-C000-000000000046}","",0x00000002,"Shortcut"
|
||||
HKLM,"SOFTWARE\Classes\CLSID\{00021401-0000-0000-C000-000000000046}\InProcServer32","",0x00000002,"shell32.dll"
|
||||
HKLM,"SOFTWARE\Classes\CLSID\{00021401-0000-0000-C000-000000000046}\InProcServer32","ThreadingModel",0x00000002,"Apartment"
|
||||
HKLM,"SOFTWARE\Classes\CLSID\{00021401-0000-0000-C000-000000000046}\shellex\MayChangeDefaultMenu]","",0x00000002,""
|
||||
|
||||
; For Ole32.dll
|
||||
HKLM,"SOFTWARE\Classes\Interface\{00000000-0000-0000-C000-000000000046}","",0x00020000,"IUnknown"
|
||||
HKLM,"SOFTWARE\Classes\Interface\{00000000-0000-0000-C000-000000000046}\BaseInterface","",0x00020000,""
|
||||
HKLM,"SOFTWARE\Classes\Interface\{00000000-0000-0000-C000-000000000046}\NumMethods","",0x00020000,"3"
|
||||
HKLM,"SOFTWARE\Classes\Interface\{00000000-0000-0000-C000-000000000046}\ProxyStubClsid32","",0x00020000,"{00000320-0000-0000-C000-000000000046}"
|
||||
HKLM,"SOFTWARE\Classes\CLSID\{00000320-0000-0000-C000-000000000046}","",0x00020000,"PSFactoryBuffer"
|
||||
HKLM,"SOFTWARE\Classes\CLSID\{00000320-0000-0000-C000-000000000046}\InProcServer32","",0x00020000,"ole32.dll"
|
||||
HKLM,"SOFTWARE\Classes\CLSID\{00000320-0000-0000-C000-000000000046}\InProcServer32","ThreadingModel",0x00020000,"Both"
|
||||
HKLM,"SOFTWARE\Classes\Interface\{00000000-0000-0000-C000-000000000046}","",0x00000002,"IUnknown"
|
||||
HKLM,"SOFTWARE\Classes\Interface\{00000000-0000-0000-C000-000000000046}\BaseInterface","",0x00000002,""
|
||||
HKLM,"SOFTWARE\Classes\Interface\{00000000-0000-0000-C000-000000000046}\NumMethods","",0x00000002,"3"
|
||||
HKLM,"SOFTWARE\Classes\Interface\{00000000-0000-0000-C000-000000000046}\ProxyStubClsid32","",0x00000002,"{00000320-0000-0000-C000-000000000046}"
|
||||
HKLM,"SOFTWARE\Classes\CLSID\{00000320-0000-0000-C000-000000000046}","",0x00000002,"PSFactoryBuffer"
|
||||
HKLM,"SOFTWARE\Classes\CLSID\{00000320-0000-0000-C000-000000000046}\InProcServer32","",0x00000002,"ole32.dll"
|
||||
HKLM,"SOFTWARE\Classes\CLSID\{00000320-0000-0000-C000-000000000046}\InProcServer32","ThreadingModel",0x00000002,"Both"
|
||||
|
||||
; EOF
|
||||
|
|
|
@ -159,6 +159,9 @@ IntGetWindowThreadProcessId(PWINDOW_OBJECT Wnd, PDWORD pid);
|
|||
VOID FASTCALL
|
||||
IntUnlinkWindow(PWINDOW_OBJECT Wnd);
|
||||
|
||||
VOID FASTCALL
|
||||
IntLinkWindow(PWINDOW_OBJECT Wnd, PWINDOW_OBJECT WndParent, PWINDOW_OBJECT WndPrevSibling);
|
||||
|
||||
ULONG
|
||||
UserHasDlgFrameStyle(ULONG Style, ULONG ExStyle);
|
||||
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
/* $Id: winpos.c,v 1.32 2003/10/17 17:38:38 mf Exp $
|
||||
/* $Id: winpos.c,v 1.33 2003/10/18 17:35:44 navaraf Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
|
@ -662,7 +662,50 @@ WinPosSetWindowPos(HWND Wnd, HWND WndInsertAfter, INT x, INT y, INT cx,
|
|||
WvrFlags = WinPosDoNCCALCSize(Window, &WinPos, &NewWindowRect,
|
||||
&NewClientRect);
|
||||
|
||||
/* FIXME: Relink windows. (also take into account shell window in hwndShellWindow) */
|
||||
/*
|
||||
* FIXME: Relink windows. (also take into account shell window in hwndShellWindow)
|
||||
*/
|
||||
if (!(WinPos.flags & SWP_NOZORDER) && WinPos.hwndInsertAfter != WinPos.hwnd)
|
||||
{
|
||||
PWINDOW_OBJECT ParentWindow;
|
||||
PWINDOW_OBJECT InsertAfterWindow;
|
||||
|
||||
ParentWindow = IntGetWindowObject(Window->ParentHandle);
|
||||
if (WndInsertAfter == HWND_TOP)
|
||||
{
|
||||
InsertAfterWindow = NULL;
|
||||
}
|
||||
else if (WndInsertAfter != HWND_BOTTOM)
|
||||
{
|
||||
InsertAfterWindow = ParentWindow->LastChild;
|
||||
}
|
||||
else
|
||||
{
|
||||
InsertAfterWindow = IntGetWindowObject(WinPos.hwndInsertAfter);
|
||||
}
|
||||
|
||||
if (InsertAfterWindow != NULL &&
|
||||
InsertAfterWindow->ParentHandle != Window->ParentHandle)
|
||||
{
|
||||
ExAcquireFastMutexUnsafe(&ParentWindow->ChildrenListLock);
|
||||
IntUnlinkWindow(Window);
|
||||
ExReleaseFastMutexUnsafe(&ParentWindow->ChildrenListLock);
|
||||
ParentWindow = IntGetWindowObject(InsertAfterWindow->ParentHandle);
|
||||
ExAcquireFastMutexUnsafe(&ParentWindow->ChildrenListLock);
|
||||
IntLinkWindow(Window, ParentWindow, InsertAfterWindow);
|
||||
ExReleaseFastMutexUnsafe(&ParentWindow->ChildrenListLock);
|
||||
}
|
||||
else
|
||||
{
|
||||
ExAcquireFastMutexUnsafe(&ParentWindow->ChildrenListLock);
|
||||
IntUnlinkWindow(Window);
|
||||
IntLinkWindow(Window, ParentWindow, InsertAfterWindow);
|
||||
ExReleaseFastMutexUnsafe(&ParentWindow->ChildrenListLock);
|
||||
}
|
||||
|
||||
IntReleaseWindowObject(ParentWindow);
|
||||
IntReleaseWindowObject(InsertAfterWindow);
|
||||
}
|
||||
|
||||
/* FIXME: Reset active DCEs */
|
||||
|
||||
|
@ -857,7 +900,7 @@ WinPosSetWindowPos(HWND Wnd, HWND WndInsertAfter, INT x, INT y, INT cx,
|
|||
/* FIXME: Check some conditions before doing this. */
|
||||
IntSendWINDOWPOSCHANGEDMessage(WinPos.hwnd, &WinPos);
|
||||
|
||||
ObmDereferenceObject(Window);
|
||||
IntReleaseWindowObject(Window);
|
||||
return(TRUE);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue