C++Builder 程序员博客
28 Nov
如题,用CreateFile等API可以再XP下直接读写硬盘扇区,
可是再VISTA下面就不行了,我用别人说的写个脚本MANIFEST
的方法也不行,只能读不能写,还有说用驱动成功写的,但是
怎么写驱动啊,有懂的教一下,不胜感激!
ding
写一个脚本放在程序的同一个目录下即可。
1、脚本文件的文件名:与程序名相同,再加上后缀“.manifest”;
2、内容:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="X86"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges>
<requestedExecutionLevel
level="requireAdministrator"
uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
3、现在双击程序,在弹出的对话框中选择“Allow”即可。
补充一下:比如你的程序名称为“AAA.exe”, 则脚本文件名就为“AAA.exe.manifest”
如果不行可能是因为你先前运行程序时,并没有这个“manifest”文件,可能在系统中给你设置了一个默认配置(这点还没深入研究)!有个变能方法:
1、更改你的程序名称;
2、同时创建与该程序名称相同的“manifest”文件。请注意我前面讲的命名规则!!!!!
又或者:
鼠标右键单击程序图标,在弹出的菜单中选择“Run as Administrator”也行,在接下来的对话框中选择“Allow”即可。
楼上你说的这个方法我早试过了,你内容的原帖我老早就看过了,都说了这个方法试了不行,有没有其他的办法
UP
UP
up
难度挺高 ,顶顶
你用winIO试下吧,有源程序的。
我使用的是从Rang3进入Rang0的方式,直接发出硬盘操作指令,能成功读写指定的扇区,可以将一个硬盘的数据彻底毁灭。
该回复于2008-07-10 02:38:05被版主删除