9 个解决方案
#1
http://www.csdn.net/expert/topic/5/5225.shtm
#2
BOOL DirExists(LPCTSTR lpszDir)
{
DWORD attr;
attr = GetFileAttributes(lpszDir);
return attr != (DWORD)-1 && attr & FILE_ATTRIBUTE_DIRECTORY;
}
{
DWORD attr;
attr = GetFileAttributes(lpszDir);
return attr != (DWORD)-1 && attr & FILE_ATTRIBUTE_DIRECTORY;
}
#3
to edyang:
你这个是要读盘的,我是要在读盘前就能先知道有没有软盘在软驱里。
你这个是要读盘的,我是要在读盘前就能先知道有没有软盘在软驱里。
#4
不读盘就想实现这个功能是绝对不可能的!!!
软驱的结构决定了这一点。你在我电脑里点一下软驱,不管软驱里面有没有盘,系统都会试着读一下盘,如果有你说的这个功能,系统自然不会傻到没有盘的时候还要去读了。
软驱的结构决定了这一点。你在我电脑里点一下软驱,不管软驱里面有没有盘,系统都会试着读一下盘,如果有你说的这个功能,系统自然不会傻到没有盘的时候还要去读了。
#5
这是不可能的,除非软驱按钮上联进去一根信号线
#6
to sxbyl:
应该可以的,至少在安装windows时,我曾试过多次试过,windows的安装程序在做完引导盘,如果你已经取出软盘,它决不会提示要你取出软盘,但它也不读盘,只驱动器指示灯微微一闪.你不信去试试.我查了msdn和几本讲os和软盘加密的书,好象软驱的状态寄存器中有一个是这个功能,但我不太肯定.如果有人能给出进入ring0的汇编代码,(就是象cih用的那种技术,不是vxd)我想我能自己解决这个问题.唉,我一直没空也没资料仔细研究cih的代码.:(
应该可以的,至少在安装windows时,我曾试过多次试过,windows的安装程序在做完引导盘,如果你已经取出软盘,它决不会提示要你取出软盘,但它也不读盘,只驱动器指示灯微微一闪.你不信去试试.我查了msdn和几本讲os和软盘加密的书,好象软驱的状态寄存器中有一个是这个功能,但我不太肯定.如果有人能给出进入ring0的汇编代码,(就是象cih用的那种技术,不是vxd)我想我能自己解决这个问题.唉,我一直没空也没资料仔细研究cih的代码.:(
#7
to sundayboys:
我看了那个贴子"使用API DeviceIoControl, 第二个参数使用CTL_STORAGE_CHECK_VERIFY即可."
可是如何用createfile打开a驱? 在winnt下可以,win98下也可以吗?我见有人用"\\\\.\vfile32 打开,然后有个参数设为0是a驱,可找不到更具体的参数,msdn里说的不够细.
我看了那个贴子"使用API DeviceIoControl, 第二个参数使用CTL_STORAGE_CHECK_VERIFY即可."
可是如何用createfile打开a驱? 在winnt下可以,win98下也可以吗?我见有人用"\\\\.\vfile32 打开,然后有个参数设为0是a驱,可找不到更具体的参数,msdn里说的不够细.
#8
这不就是了,微微一闪,其实这就是读盘了。一般读盘结束后软驱有一个延时,要多转一会儿,这是为了预防在频繁读取数据时频繁启动马达搞的,软驱有几个端口可以对这个延时进行控制,以前经常用的那个HD-Copy就是这么实现的,操作挺简单,可惜资料早都不见了,你查一下关于软驱端口的书,一定有说明的。
#9
up
#1
http://www.csdn.net/expert/topic/5/5225.shtm
#2
BOOL DirExists(LPCTSTR lpszDir)
{
DWORD attr;
attr = GetFileAttributes(lpszDir);
return attr != (DWORD)-1 && attr & FILE_ATTRIBUTE_DIRECTORY;
}
{
DWORD attr;
attr = GetFileAttributes(lpszDir);
return attr != (DWORD)-1 && attr & FILE_ATTRIBUTE_DIRECTORY;
}
#3
to edyang:
你这个是要读盘的,我是要在读盘前就能先知道有没有软盘在软驱里。
你这个是要读盘的,我是要在读盘前就能先知道有没有软盘在软驱里。
#4
不读盘就想实现这个功能是绝对不可能的!!!
软驱的结构决定了这一点。你在我电脑里点一下软驱,不管软驱里面有没有盘,系统都会试着读一下盘,如果有你说的这个功能,系统自然不会傻到没有盘的时候还要去读了。
软驱的结构决定了这一点。你在我电脑里点一下软驱,不管软驱里面有没有盘,系统都会试着读一下盘,如果有你说的这个功能,系统自然不会傻到没有盘的时候还要去读了。
#5
这是不可能的,除非软驱按钮上联进去一根信号线
#6
to sxbyl:
应该可以的,至少在安装windows时,我曾试过多次试过,windows的安装程序在做完引导盘,如果你已经取出软盘,它决不会提示要你取出软盘,但它也不读盘,只驱动器指示灯微微一闪.你不信去试试.我查了msdn和几本讲os和软盘加密的书,好象软驱的状态寄存器中有一个是这个功能,但我不太肯定.如果有人能给出进入ring0的汇编代码,(就是象cih用的那种技术,不是vxd)我想我能自己解决这个问题.唉,我一直没空也没资料仔细研究cih的代码.:(
应该可以的,至少在安装windows时,我曾试过多次试过,windows的安装程序在做完引导盘,如果你已经取出软盘,它决不会提示要你取出软盘,但它也不读盘,只驱动器指示灯微微一闪.你不信去试试.我查了msdn和几本讲os和软盘加密的书,好象软驱的状态寄存器中有一个是这个功能,但我不太肯定.如果有人能给出进入ring0的汇编代码,(就是象cih用的那种技术,不是vxd)我想我能自己解决这个问题.唉,我一直没空也没资料仔细研究cih的代码.:(
#7
to sundayboys:
我看了那个贴子"使用API DeviceIoControl, 第二个参数使用CTL_STORAGE_CHECK_VERIFY即可."
可是如何用createfile打开a驱? 在winnt下可以,win98下也可以吗?我见有人用"\\\\.\vfile32 打开,然后有个参数设为0是a驱,可找不到更具体的参数,msdn里说的不够细.
我看了那个贴子"使用API DeviceIoControl, 第二个参数使用CTL_STORAGE_CHECK_VERIFY即可."
可是如何用createfile打开a驱? 在winnt下可以,win98下也可以吗?我见有人用"\\\\.\vfile32 打开,然后有个参数设为0是a驱,可找不到更具体的参数,msdn里说的不够细.
#8
这不就是了,微微一闪,其实这就是读盘了。一般读盘结束后软驱有一个延时,要多转一会儿,这是为了预防在频繁读取数据时频繁启动马达搞的,软驱有几个端口可以对这个延时进行控制,以前经常用的那个HD-Copy就是这么实现的,操作挺简单,可惜资料早都不见了,你查一下关于软驱端口的书,一定有说明的。
#9
up