本文目录
windows编程中,用createfile打开未被初始化的磁盘时,总是返回无效的句柄怎么办
87是参数错误。你检查一下createfile的参数是否有问题。GENERIC_WRITE是写操作,一个未初始化的磁盘是否可写?还有共享属性中应该是FILE_SHARE_READ | FILE_SHARE_WRITE,你写错了一个。还有这种最好提升权限。或者直接要求用管理员身份才能运行。
createfile创建的文件老是不能写
fopen_s似乎对于有隐藏属性的文件不能以“w”写方式打开。你在创建文件时将FILE_ATTRIBUTE_HIDDEN属性去掉应该就好了。PS:记得先将已经生成的文件删除,因为如果文件已经存在的话,CREATE_NEW是无法修改文件属性的。
c语言createfile函数用法
1、CreateFile 是一个多功能的函数,可打开或创建以下对象,并返回可访问的句柄:控制台,通信资源,目录(只读打开),磁盘驱动器,文件,邮槽,管道。
2、例程:
#include 《windows.h》int main(){ HANDLE hf = CreateFile(TEXT("C:\\testa.bin"), GENERIC_WRITE, 0, 0, CREATE_ALWAYS, 0, 0); DWORD written; WriteFile(hf, "\x0f\xff\xff\xff\xff\xff", 6, &written, 0); CloseHandle(hf); hf = CreateFile(TEXT("c:\\testb.bin"), GENERIC_WRITE, 0, 0, OPEN_ALWAYS, 0, 0); SetFilePointer(hf, 0, 0, FILE_END); WriteFile(hf, "\x0f\xff\xff\xff\xff\xff", 6, &written, 0); CloseHandle(hf); return 0;}