如何禁止光驱弹出

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

如何禁止光驱弹出

光驱只要是正常的,按下光驱按钮都能弹出,除非光驱坏了才会不弹出。

如果要禁止系统弹出光驱,一个方法是在设备管理器里把驱动禁用,要使用的时候再启用

如何禁用光驱弹出?

问题补充:

如何禁止光驱"弹出"?

让光驱可以正常读取,但不能弹出

其他回答共2条

2009-11-7 20:34 1131438680|一级

点击关闭光驱就可以了

2009-11-8 03:47 b877025685|二级

把DVD从硬件里禁止或是删掉。

我的电脑-属性-硬件-设备管理器-找到光驱-停用.

1、我想禁止光驱的弹出,无论是按弹出按纽还是别的程序发出弹出命令,光驱门都不会打

开,但是光驱的读写功能不变。

2、如果要用全局钩子,该钩什么类型的消息呢?

调用的动态连接库吧,

能否知道动态连接库的控制光驱的函数,然后重载它

先使用CreateFile()获得光驱的HANDLE

然后HOOK函数DeviceIoControl(),只要是第一个参数为该HANDLE的都拒绝执行

谢谢两位。昨天晚上19:57分时已经找到方法。jiangfb(干是一种美德) 的方法与我的实现方法相同,我已经验证,可行。代码如下:

......

HANDLE hODD;

hODD = CreateFile( "\\\\.\\Cdrom0 ", // drive to open

GENERIC_READ, // no access to the drive

FILE_SHARE_READ | // share mode

FILE_SHARE_WRITE,

NULL, // def ault security attributes

OPEN_EXISTING, // disposit ion

0, // file attributes

NULL);

if(hODD==INV ALID_HANDLE_V ALUE)

{

::AfxMessageBox( "Create Handle Failed! ");

}

PREVENT_MEDIA_REMOV AL *lpInBuffer= new (PREVENT_MEDIA_REMOV AL); lpInBuffer-> PreventMediaRemoval=TRUE;

DWORD nInBufferSize=sizeof(PREVENT_MEDIA_REMOV AL);

DWORD dwBytesReturned;

BOOL bResult;

bResult = DeviceIoControl(hODD, // device to be queried

IOCTL_STORAGE_MEDIA_REMOVAL, // op eration to perform

(LPVOID) lpInBuffer,

nInBufferSize,

NULL, 0,

&dwBytesReturned,

(LPOVERLAPPED) NULL); // sy

nchronous I/O

if(!bResult)

.......

其余的可以参考bhwin98文章和MSDN。

谢谢两位帮忙!

光驱强制弹出孔在哪里

2011-8-19 18:09

用不用打开机箱盖

最佳答案

2011-8-19 18:10

热心网友

得口再说;若是你一点出仓,它只闪几下而不出来,往下看:

你看下光驱的前面板那,可以找到一个小孔(不是耳机孔哦),它的名字叫做“强制弹出孔”,顾名思义,就是强制性让光驱弹出的孔;找根会型针,拉直一端,垂直插进去,稍微一用力,这个时候你会感觉到针进去了一点,其实它里边的真实情况是传动齿轮走了一下,OK```光驱托盘就出来了`~~

顺便说下,这种情况若是频繁出现,不好意思,可以宣布你的光驱有问题了,里边控制弹出的那根小皮带老化了,找维修的地方换一个新的`搞定

另外推荐一个视频学习网站“初学者之路”,老师讲得超级好,欢迎大家百度一下~

相关文档
最新文档