本人菜鸟 想向U盘中写数据 代码如下
HANDLE hDevice;
hDevice = CreateFile("\\\\.\\K:", GENERIC_READ,
FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, NULL, NULL);
if (hDevice != INVALID_HANDLE_VALUE)
{
  MessageBox("打开USB成功!");
  DWORD factdata = 0;
  CString str;
  str ="Hello world";
 if (WriteFile(hDevice,str,str.GetLength(),&factdata,NULL)) //开始发送数据
{

MessageBox("发送成功");
}
else
{
       MessageBox("发送失败");
}
}
K是我的U盘符
执行程序 creatfile没问题 但是writefile失败 请问是什么原因啊 
菜鸟初次接触通信问题 请高手指点

解决方案 »

  1.   

    CreateFile("\\\\.\\K:", GENERIC_READ, 
    FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, NULL, NULL); 
    读权限当然不能写了,改成
    CreateFile("\\\\.\\K:", GENERIC_WRITE, 
    FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, NULL, NULL); 
      

  2.   

    hDevice = CreateFile("\\\\.\\K:", GENERIC_READ, 
    FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, NULL, NULL); 
    ================
    你给的权限不对啊,GENRIC_READ是读权限,写操作当然出错了,改为GENERIC_READ||GENERIC_WRITE