|
systemparametersinfo详细用法(1)
systemparametersinfo详细用法 应一同学要求特把这api详之 设置和取得windows系统参数,现在让我们详细地分析一下(其功能强大) 下面一例取得work区 procedure CenterWindow(winHnd : HWND; winWidth : Integer; winHeight : Integer); var screenDim : TRect; screenLeft : Integer; ScreenTop : Integer; begin SystemParametersInfo(SPI_GETWORKAREA, 0, @screenDim,0); screenLeft := Trunc(((screenDim.Right-screenDim.Left)/2)-(winWidth/2)); screenTop := Trunc(((screenDim.Bottom-screenDim.Top)/2)-(winHeight/2)); SetWindowPos(winHnd,HWND_TOPMOST,screenLeft,screenTop,winWidth,winHeight,0); end; procedure TForm1.Button1Click(Sender: TObject); begin centerwindow(form1.handle,200,200);
end; 下面大家可以试用一下。 SPI_GETAccessTIMEOUT lpvParam是一个AccessTIMEOUT结构,其中要载入辅助访问特性计时信息。在调用函数之前,uParam必须设为AccessTIMEOUT结构的大小 SPI_GETANIMATION lpvParam是一个ANIMATIONINFO结构,将在其中载入窗口最小化和恢复时的动画信息。不能在NT 3.51中使用 SPI_GETBEEP lpvParam是一个Long型数据,若打开了响铃声,则设为TRUE SPI_GETBORDER lpvParam是一个Long型数据,用于接收一个乘数(倍数),对大小可变的窗口的边框尺寸进行控制 SPI_GETDEFAULTINPUTLANG lpvParam是一个Long型数据,用于接收默认键盘布局的一个32位句柄。不能用于NT 3.51 SPI_GETDRAGFULLWINDOWS lpvParam是一个Long型数据,如在整个窗口上拖动,就会设为TRUE。如果只拖出了一个矩形轮廓,则为FALSE。要求NT 4.0 或 Windows 95支持。其中,Windows 95必须有Plus!支持,或直接安装Windows 95 OSR2 SPI_GETFASTTASKSWITCH lpvParam是一个Long型数据,如允许快速任务切换,则为TRUE。在Windows 95 和 NT 4.0中肯定是TRUE SPI_GETFILTERKEYS lpvParam是一个FILTERKEYS结构,用于装载与键盘有关的辅助访问特性信息 SPI_GETFONTSMOOTHING lpvParam是一个Long型数据,如打开了边缘修饰特性(让字体更圆润),则为TRUE。只适用于 NT 4.0 和带 Plus! 支持的 Windows 95 SPI_GETGRIDGRANULARITY lpvParam是一个Long型数据,会设为网格间隔尺寸值
|