如何检测鼠标和键盘的类型
最后给出完整源代码

解决方案 »

  1.   

    转贴,请参考:
    case getkeyboardtype(0) of  // 获取键盘类型     1: buffer:='   键盘 : IBM PC/XT 或兼容类型 (83 键 )';    2: buffer:='   键盘 : Olivetti "ICO"(102 键 )';    3: buffer:='   键盘 : IBM PC/AT(84 键 )';    4: buffer:='   键盘 : IBM 增强型 (101 或 102 键 )';    5: buffer:='   键盘 : Nokia 1050';    6: buffer:='   键盘 : Nokia 9140';    7: buffer:='   键盘 : Japanese';  end;
    // 获取键盘功能键数目   memo1.lines.add('  功能键数目 :  '+inttostr(getkeyboardtype(2)));// 获取鼠标按键数目   memo1.Lines.add('  鼠标 :  '+inttostr(getsystemmetrics(SM_CMOUSEBUTTONS))+' 键 ');globalmemorystatus(meminfo); // 获取系统内存数量   memo1.lines.add('    物理内存 :  '+inttostr(meminfo.dwTotalPhys div 1024)+' KB');x:=getsystemmetrics(SM_ARRANGE);  // 获取系统最小化窗口的起始位置和排列方式   y:=x;  x:=x and 3;  y:=y and 12;  case x of    ARW_BOTTOMLEFT :  buffer:='  最小化窗口 : 自左下角 ';    ARW_BOTTOMRIGHT : buffer:='  最小化窗口 : 自右下角 ';    ARW_TOPLEFT :  buffer:='  最小化窗口 : 自左上角 ';    ARW_TOPRIGHT : buffer:='  最小化窗口 : 自右上角 ';  end;  case y of    ARW_LEFT : buffer:=buffer+' 横向排列 ';    ARW_UP :   buffer:=buffer+' 纵向排列 ';    ARW_HIDE : buffer:=buffer+' 隐藏 ';  end;  memo1.lines.add(buffer);