设为首页收藏本站新闻投稿

MOD中国同盟社

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1274|回复: 2

[原创] [Delphi]读取显示器支持分辨率/刷新率列表 [复制链接]

Rank: 3Rank: 3

帖子
195
精华
0
声望
762 点
金币
155 Mold
被赞许
0 次
注册时间
2009-7-3
发表于 2010-8-26 05:12:31 |显示全部楼层
本帖最后由 malygros 于 2010-8-26 05:17 编辑

看这区挺冷的
把自己登录器里的扣出来了
  1. procedure TForm1.Button1Click(Sender: TObject);
  2. var
  3.   I : Integer;
  4.   DevMode : TDevMode;
  5.   Temp: String;
  6. begin
  7.     I := 0;
  8. //该函数得到显示设备的一个图形模式设备,通过对该函数一系列的调用可以得到显示设备所有的图形模式信息
  9.     while EnumDisplaySettingsA(nil,I,DevMode) do
  10.     begin
  11.        with Devmode do
  12.        begin
  13.         Temp := Format('%dx%d', [dmPelsWidth,dmPelsHeight]); // 读取并格式化
  14.         if(Pos(Temp,ComboBox1.Items.Text) = 0) then           // 如果列表中不存在
  15.             ComboBox1.Items.Add(Temp);                        // 添加进去
  16.         Temp := Format('%d', [dmDisplayFrequency]);          // 获取列表
  17.         if((Pos(Temp,ComboBox2.Items.Text) = 0) and (dmDisplayFrequency >= 60)) then  // 列表中不存在并且大于等于60Mhz
  18.             ComboBox2.Items.Add(Temp);    // 添加进去
  19.        end;
  20.        Inc(I);  // Inc 加一函数 等同于 I := I + 1;
  21.     end;
  22. end;
复制代码


if(Pos(Temp,ComboBox1.Items.Text) = 0) then
这些判断是因为读取出来的有16Bit 32Bit所以会出现相同的分辨率/刷新率
已有 1 人评分声望 收起 理由
jian894123078 + 10 我很赞同

总评分: 声望 + 10   查看全部评分

使用道具 举报

Honorary Member

地狱恶势力

Rank: 7Rank: 7Rank: 7

帖子
3449
精华
4
声望
15019 点
金币
2052 Mold
被赞许
90 次
注册时间
2010-4-4

Modchina灌水王 可爱小猫 懒人勋章

发表于 2010-8-26 08:59:59 |显示全部楼层
好吧...对于不会的我来说..对此类东西我很支持

使用道具 举报

Rank: 7Rank: 7Rank: 7

帖子
1141
精华
0
声望
2470 点
金币
541 Mold
被赞许
0 次
注册时间
2009-12-27
发表于 2010-8-26 09:03:39 |显示全部楼层
不会用+1.......纯支持!

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

回顶部