桌面任务栏大小
ï??æ?Œé??区域å,?å??:
int cx = GetSystemMetrics(SM_CXSCREEN);
int cy = GetSystemMetrics(SM_CYSCREEN);
�
HDC hdcScreen = GetDC( NULL );
int cx = GetDeviceCaps( hdcScreen, HORZRES ); int cy = GetDeviceCaps( hdcScreen, VERTRES ); DeleteObject( hdcScreen );
ä??åŠ?æ :
CWnd* pTaskWnd = FindWindow( _T( "Shell_TrayWnd "), NULL );
if( pTaskWnd ) pTaskWnd-> ShowWindow( FALSE );
SystemParametersInfoï?Œç??SPI_GETWORKAREA
RECT rc;
SystemParametersInfo(SPI_GETWORKAREA, 0, (PVOID) &rc, 0);
有ä??ä?ˆå‡?æ??å ?ä??å??åˆ?æ?Œé??区å,?å??å’Œå??åˆ?ä??åŠ?æ çš„é??åº?ï?Ÿ
---------------------------------------------------------------
ä??åŠ?æ çš„é??åº?ï?Ÿ
uses shellapi;
procedure TForm1.Button1Click(Sender: TObject); var
abd:TAppBarData;
begin
abd.cbSize:=sizeof(abd);
SHAppBarMessage(ABM_GETTASKBARPOS,abd);
Caption:=IntToStr(abd.rc.Bottom-abd.rc.Top);
end;
---------------------------------------------------------------
Screen.Height - Screen.WorkAreaHeight
---------------------------------------------------------------
å??åˆ?æ?Œé??区的å,?å??ï?Œä? å??ä?,è??ç??ç??è??ä?ªAPIå‡?æ??ï?š
SystemParametersInfoï?›
å…?ä??ä??ç??å?‚ä?‹ï?š
var
ARect:TRect;
begin
SystemParametersInfo(SPI_GETWORKAREA,0,@ARect,0);
{å…?ä?? ARect å??包å??了ä? æ‰?è??çš„æ?Œé??区的å,?å??}
end;
ä? è??è??看å ?ï?•
---------------------------------------------------------------
APIå‡?æ??æ??SystemParamInfoå‡?æ??ï?•
---------------------------------------------------------------
ç??Screenä??çš„æ??æ??å’Œå??æ??å??å??ä?,æ??ä?œäº†ï?ŒåŒ…æ‹?å,šæ??ç,ºå??é??é??ï?ŒDELPHIä?,å??ç??å?†å…?å??è?…å,?了ï?Œä??ç??è?ƒç??ä??ä?ˆAPIã?‚
å?ƒåœ?Formså??å…ƒä??å?šä?‰ï?Œå??ä?,ç›?æ?,ä??ç??ã?‚