首页 >> 民生风情

用Delhi实现对光驱盘盒的开关控制节能

民生风情  2020-10-28 02:09 字号: 大 中 小

通常,我们打开和关闭光驱是通过按动光驱上开关按钮来实现的,但有时候手动方式显得很不方便,尤其是在一台电脑上安装多个光驱的情形下,同时光驱的损耗在手动方式下也是最大的,Delphi是个功能强大且容易的编程工具,可不可以利用编程方法来取代手工操作呢?通过摸索与实践终于将这一想法利用Delphi编程得以实现,该程序不但能够控制一个光驱,而且还可以选择性地控制某个光驱和所有光驱的开启与关闭,这对那些操作多个光驱而又懒得弯腰的电脑人确实会方便许多。

编程思路:通过弹出菜单及事件控制光驱。

1、弹出菜单的实现

运行Delphi并新建一个工程, 在uses部分引用ReGIStry, Mmsystem两个单元文件,在窗体中添加一个名称为PopmenuCDctrl弹出菜单组建,并添加6个菜单项,窗体TForm1的Popupmenu 项设为PopmenuCDctrl。其中mOpenCDROM(打开CDROM盒)和mCloseCDROM(关闭CDROM盒)菜单将根据电脑中光驱个数自动生成相应的菜单栏目。

2、声明的变量和函数:

… …procedure mCloseAppClick(Sender: TObject);procedure mAutorunClick(Sender: TObject);procedure mNotautorunClick(Sender: TObject);procedure PopmenuCDctrlPopup(Sender: TObject);private { Private declara增长可能从第一季度的9.7%左右降至四季度的8.1%附近。展望明年tions } procedure MenuOpenCdrom(Sender : TObject); procedure MenuCloseCdrom(Sender : TObject);var Form1: TForm1; MYDRIVE:char; Mycdrom:pchar; tmppopmenu1,tmpPopmenu2:TMenuItem; function OpenCDROM(Drive:pChar):Boolean; function CloseCDROM(Drive:pChar):Boolean; implementation … …

列出光驱数目和生成子菜单

procedure pupMenu1Popup(Sender: TObject); var Drive :char;begin; ear; //清除打开光驱子菜单项 ear; //清除打开光驱子菜单项 //列出光驱数目和生成子菜单 for Drive:='a' to 'z' do beginCase GetDriveType(Pchar(Drive+':\')) of DRIVE_REMOVABLE: MyDrive:=Drive; DRIVE_FIXED: MyDrive:=Drive;①交换完链接后再删除链接 DRIVE_CDROM:begin MyDrive:=Drive; tmppopmenu1:=eate(Self); toHotkeys:=maManual; Click := menuOpenCdrom; d(tmppopmenu1); ption :=UpperCase(mydrive)+':'; tmppopmenu2:=eate(Self); toHotkeys:=maManual; Click := menuCloseCdrom; d(tmppopmenu2); ption :=UpperCase(mydrive)+':'; end; DRIVE_RAMDISK: MyDrive:=Drive; DRIVE_REMOTE: MyDrive:=Drive;end;end;//当光驱多于1个生成“所有光驱”控制菜单项if unt 1 thenbegin tmppopmenu1:=eate(Self); ption:='所有光驱'; Click := menuOpenCdrom; d(tmppopmenu1); tmppopmenu2:=eate(Self); ption:='所有光驱'; Click := menuCloseCdrom; d(tmppopmenu2);end;查看本文来源

end;

双鸭山治疗白癜风较好的医院
随州白癜风医院在哪
镇江看白癜风专业医院
推荐资讯