免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3030 | 回复: 9

win32 中perl 怎么取得屏幕高和宽? [复制链接]

论坛徽章:
0
发表于 2010-03-26 22:23 |显示全部楼层
win32 中perl 怎么取得屏幕高和宽?就像get_screen()类似.

论坛徽章:
0
发表于 2010-03-26 23:19 |显示全部楼层
回复 1# ggglw


    拿个尺子量一下?

论坛徽章:
0
发表于 2010-03-26 23:22 |显示全部楼层
仙子真会开玩笑,如果换了机子又量一下?

论坛徽章:
0
发表于 2010-03-26 23:23 |显示全部楼层
仙子真会开玩笑,如果换了机子又量一下?
ggglw 发表于 2010-03-26 23:22



    恩,偶说的方法是跨OS平台,可没说跨硬件平台哦。

论坛徽章:
0
发表于 2010-03-26 23:28 |显示全部楼层
呵呵,见笑了,应该是屏幕像素.或分辨率.

论坛徽章:
0
发表于 2010-03-26 23:29 |显示全部楼层
仙子说话真有意思.

论坛徽章:
0
发表于 2010-03-27 00:28 |显示全部楼层
win32 中perl 怎么取得屏幕高和宽?就像get_screen()类似.
ggglw 发表于 2010-03-26 22:23


Hello,

I have used  a rule with perl OLE + WMI to messure the screen size.
this is the sample code:

  1. use strict;
  2. use Win32::OLE qw(in);
  3. use Win32::OLE::Variant;

  4. my $strComputer = '.';
  5. my $objWMIService = Win32::OLE->GetObject('winmgmts:' .
  6.     '{impersonationLevel=impersonate}!\\\\' . $strComputer .
  7.     '\\root\\cimv2');
  8. my $wql = 'SELECT * FROM Win32_DisplayConfiguration';
  9. my $results = $objWMIService->ExecQuery($wql);

  10. foreach my $obj (in $results) {
  11.     print "Graphic device        : ", $obj->DeviceName, "\n";
  12.     print "Color depth           : ", $obj->BitsPerPel, "\n";
  13.     print "Horizontal resolution : ", $obj->PelsWidth,  "\n";
  14.     print "Vertical resolution   : ", $obj->PelsHeight, "\n";
  15.    
  16. }
复制代码

D:\programming\perl>perl -w get_windows_screensize.pl
Graphic device        : Intel(R) 82852/82855 GM/GME Graphics Controller
Color depth           : 32
Horizontal resolution : 1024
Vertical resolution   : 768

论坛徽章:
0
发表于 2010-03-29 20:44 |显示全部楼层
谢谢ulmer ,能成功获得当前显示的分辨率.
G:\>screen.pl
Graphic device        : ATI MOBILITY RADEON 7500
Color depth           : 16
Horizontal resolution : 1024
Vertical resolution   : 768

论坛徽章:
0
发表于 2010-03-29 22:37 |显示全部楼层
仙子真会开玩笑,如果换了机子又量一下?
ggglw 发表于 2010-03-26 23:22



    错,应该换个监视器再量一下。别忘了用实际长度和实际像素长度来进行计算。

论坛徽章:
0
发表于 2010-03-30 20:01 |显示全部楼层
嗯,玩本本习惯了,竟然忘了台式机换显示器的方便性.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP