共勉:perl实现同win32 ::OnDeviceChange一样的功能

lhy2199 2010-03-13 10:26:16
用perl 实现同win32 ::OnDeviceChange一样 获取系统中磁盘信息的功能:

#vicky finished by 10-03-13 22:10
#!/usr/bin/perl
#use Win32::kernel32;
use win32;
use win32::api;
use Win32API::File 0.08 qw( :ALL );


my $total_disk=GetLogicalDriveStrings(4*26+1,$osBuffer);
my $len=length $osBuffer;
print "$len- $osBuffer\n";
my $rec_diskinfo="*** logical disk info ***\n";


for(my $index=0;$index<$len; $index += 4)
{
my $getdrive= substr($osBuffer, $index, 2);
$rec_diskinfo .="$getdrive-->";
my $type = GetDriveType($getdrive);
if( $type==1)

{ $rec_diskinfo .="The root directory does not exist\n";next; }
if( $type==2){ $rec_diskinfo .="floppy drive\n";next; }
if( $type==3){ $rec_diskinfo .="fixed drive\n"; $savdisk=$getdrive;next;}
if( $type==4){ $rec_diskinfo .= "remote (network) drive\n";next; }
if( $type==5){ $rec_diskinfo .="CD-ROM drive\n";next; }
if( $type==6){ $rec_diskinfo .="A RAM disk\n";next; }
if( $type<=0||$type>6){ $rec_diskinfo .= "UNKNOWN Disk\n";next; }
}


open DRVIF,">f:\\logicaldisk.inf"||die "can save logical disk info";
printf DRVIF $rec_diskinfo ;
close DRVIF;



本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/lhy2199/archive/2010/03/13/5377573.aspx
...全文
70 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
thy38 2010-03-14
  • 打赏
  • 举报
回复
等我看看《Python Programming on Win32》也用Python实现一下

37,720

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧