首页  编辑  

Windows 任务栏和分辨率

Tags: /超级猛料/OS.操作系统/任务栏/   Date Created:

我在程序中将屏幕分辨率由低改到高后,Windows 任务栏总是停留在屏幕中央,我想用

以下代码将它放到屏幕底部,却总是不行,请各位告诉我应该怎样做才行,最好给出代码,

谢谢。

  var abp:Tappbardata;

  begin  

     ……

     abp.hWnd:=FindWindow('shell_traywnd',0);

     abp.uEdge:=ABE_BOTTOM;

     SHAppBarMessage(ABM_SetPos,abp);

     ……

  end;

因为你修改分辨率时,没有更新注册表

function TForm1.DynamicResolution(X, Y: word): BOOL;

var

 lpDevMode: TDeviceMode;

begin

 Result := EnumDisplaySettings(nil, 0, lpDevMode);

 if Result then

 begin

   lpDevMode.dmFields := DM_PELSWIDTH Or DM_PELSHEIGHT;

   lpDevMode.dmPelsWidth := X;

   lpDevMode.dmPelsHeight := Y;

   Result := ChangeDisplaySettings(lpDevMode, CDS_UPDATEREGISTRY) = DISP_CHANGE_SUCCESSFUL;

//                                             ^^^^^^^^^^^^^^^^^^

 end;

end;