systemparametersinfo详细用法[1]

[入库:2005年8月18日] [更新:2007年3月24日]

本文简介:选择自 pggpjj 的 blog

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型数据,会设为网格间隔尺寸值
spi_gethighcontrast lpvparam是一个highcontrast结构,用于装载与用户显示器有关的辅助访问特性信息。仅适用于win95
spi_geticonmetrics lpvparam是一个iconmetrics结构,用于装载与图标比例及排列有关的信息。仅适用于windows 95 及 nt 4.0
spi_geticontitlelogfont lpvparam指向一个logfont结构,设置内容取决于图标标题采用的字体
spi_geticontitlewrap lpvparam是一个long型数据,如允许对图标标题进行自动换行,则设为true
spi_getkeyboarddelay lpvparam是一个long型数据,设为键盘重复延时
spi_getkeyboardpref lpvparam是一个long型数据,如用户更喜欢用键盘而不是鼠标,则设为true。如这个参数为真,windows会显示出附加的键盘接口信息,只适用于win95
spi_getkeyboardspeed lpvparam是一个long型数据,设为键盘的重复速率
spi_getmenudropalignment lpvparam是一个long型数据,若弹出式菜单左对齐(默认),则设为false。否则为true
spi_getminimizedmetrics lpvparam是一个minimizedmetrics结构,用于装载与最小化窗口的比例及排列有关的信息。仅适用于win95
spi_getmouse lpvparam是三元素long数组的头一个条目,条目0设为用户配置mousethreshold1字段,条目1设为mousethreshold2字段,条目2设为mousespeed
spi_getmousekeys lpvparam是一个mousekeys结构,要在其中装载与鼠标有关的辅助访问信息。不能在 nt 3.51中使用
spi_getnonclientmetrics lpvparam是一个nonclientmetrics结构,要在其中装载有关字体和环境有关的信息;这些信息会在描绘窗口非客户区域时涉及到,如边框、标题等。只适用于win95
spi_getscreensaveactive lpvparam指向一个整数;倘若屏幕保护程序处于活动状态,则设为true;否则设为false
spi_getscreensavetimeout lpvparam指向一个整数;它设为屏幕保护延时(以秒为单位)
spi_getserialkeys lpvparam是一个serialkeys结构,用于装载与输入设备(用于模拟键盘输入)有关的辅助访问特性信息。只适用于win95
spi_getshowsounds lpvparam是一个long型数据,倘若应用程序应该用可视线索来代替声音,则设为true。它的作用与getsystemmetrics函数的sm_getshowsounds选项是相同的
spi_getsnaptodefbutton lpvparam是一个long型数据,倘若鼠标会自动移到新对话框的默认按钮,则设为true。只适用于nt 4.0
spi_getsoundsentry lpvparam是一个soundsentry结构,用于装载让windows提供可视标志(而不是系统声音)时涉及的辅助访问特征信息。调用之前,必须将uparam设为soundsentry结构的长度
spi_getstickykeys lpvparam是一个stickykeys结构,用于装载允许一名用户顺序按键(而不是同时按下)时涉及的辅助访问特征信息。同时按键的例子包括shift+, ctrl+, alt+ 等。调用之前,必须将uparam设为stickykeys结构的长度
spi_gettogglekeys lpvparam是一个togglekeys结构,要在其中装载按下一个开关键(numlock,capslock,scrolllock)后播放声音提示时涉及的辅助访问特征信息。windows会用一个不同的声音指出开或关状态。调用之前,必须将uparam设为togglekeys结构的长度
spi_getworkarea lpvparam是一个rect结构,用于装载屏幕的工作区
spi_iconhorizontalspacing 如lpvparam为null,则uparam代表桌面图标新的水平间隔距离,以像素为单位
spi_iconverticalspacing 与spi_iconhorizontalspacing相似,只不过指定图标的垂直间距
spi_langdriver lpvparam是一个字串,用于容纳新的语言驱动程序文件的名称
spi_setaccesstimeout 与spi_getaccesstimeout的参数相同
spi_setanimation 与spi_getanimation的参数相同
spi_setbeep uparam为true时打开响铃,false关闭
spi_setborder uparam代表一个乘数,用于控制尺寸可变的的窗口边框的大小
spi_setdefaultinputlang 与spi_getdefaultinputlang的参数相同
spi_setdeskpattern 从注册表或win.ini中强制窗口恢复当前的桌面方案
spi_setdeskwallpaper lpvparam代表一个字串,用于容纳作为桌面墙纸使用的一个位图文件的名称
spi_setdoubleclicktime uparam代表连续两次单击被当作一次双击处理时需要间隔的时间(以毫秒为单位)
spi_setdoubleclkheight uparam代表新的双击高度,可参考getsystemmetrics函数的注解
spi_setdoubleclkwidth uparam代表新的双击宽度,可参考getsystemmetrics函数的注解
spi_dragfullwindows uparam为true时打开全窗口拖动,否则为false。仅适用于win95
spi_setdragheight uparam代表一个矩形的高度(以像素为单位),用于决定拖动操作何时开始。只适用于win95
spi_setdragwidth uparam代表一个矩形的宽度(以像素为单位),用于决定拖动操作何时开始。只适用于win95
spi_setfasttaskswitch uparam为true时打开快速任务切换,false则关闭
spi_filterkeys 参数与 spi_getfilterkeys 相同
spi_setfontsmoothing uparam为true时打开字体修饰(圆润)。只能在nt 4.0 和得到 plus! 支持的 win95(或 windows 95 osr2)中使用
spi_setgridgranularity uparam代表新的网格间距
spi_sethighcontrast 参数与 spi_gethighcontrast 相同
spi_seticonmetrics 参数与 spi_geticonmetrics 相同

本文关键:systemparametersinfo详细用法
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top