同楼上,那个文件是不是,已经存在了。或者该路径不支持创建文件。
我把CreateFile的第一个参数改成下面这个样子,这回错误代码变成了3.这到底是为什么呢?
HANDLEhFile=CreateFile("\\Device\\Harddisk0",GENERIC_READ,
FILE_SHARE_READ,NULL,OPEN_ALW……
代码不全,我试了你的代码,没报错。
我试了一下像下面这样,也是不成功哦:
#include "stdafx.h"
#include <windows.h>
#include <stdio.h>
int main() {
HANDLE hFile=CreateFile(_TEXT("\\\\.\\PhysicalDriver1"),GENERIC_READ,
0,NULL,OPEN_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
if(INVALID_HANDLE_VALUE==hFile){
printf("open error %d\n",GetLastError());
}
return 0;
}
运行结果是:
openerror2
不晓得错误在哪里......
应该是这个吧~~~~HarddiskVolume0
貌似我在驱动下接收到得路径就是Deivce\HarddiskVolume0这样的形式的
楼上的,我按照你的说法改成了这样:
C/C++code
#include"stdafx.h"
#include<windows.h>
#include<stdio.h>
intma……
额~~~我那里少打了个字符额~~~
device我拼写错了
好像是不行~~试下下面的,我测过了返回句柄有效
HANDLEhFile=CreateFile(L"\\\\.\\c:",GENERIC_READ|GENERIC_WRITE,FILE_SHARE_WRITE|FILE_SHARE_READ,NULL,OPEN_EXISTING,0,NULL);
找开物理磁盘,好凶险!给你上个瞧瞧
// charcFilePath[]="\\\\.\\E:\\TTTT.txt"; //文件路径(一定要正确!)
//charcPhisycalDiskPath[]="\\\\.\\PhysicalDrive0";
HANDLEhFile=CreateFile(cPhisycalDiskPath,GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,0,NULL);
if(hFile==INVALID_HANDLE_VALUE){
MessageBox(0,"can'topenthedisk!",0,0);
return0;
}//endofif
找开物理磁盘,好凶险!给你上个瞧瞧
// charcFilePath[]="\\\\.\\E:\\TTTT.txt"; //文件路径(一定要正确!)
//charcPhisycalDiskPath[]="\\\\.\\PhysicalDrive0";
HANDLEhFile=CreateFile(cPhisycalDiskPath,GENERI……
发现无论是\\\\.\\PhysicalDrive0(返回87)还是\\Device\\HarddiskVolumn0(返回3)都打不开。
楼上的几位自己测试通过了么?
楼上的都在犯二。你们估计没注意到,应该是"\\\\.\\PHYSICALDRIVE0:"
你们都少了个冒号。后面加个冒号就好了。createfile
粗心大意了吧?
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-34048-2.html
中国发展迅速都是老百姓无形中的支持
侦察机配合驶往关岛12海里以内侦查