本帖最后由 kflizcst 于 2013-08-20 22:12:25 编辑

解决方案 »

  1.   

    CreateFile是想干什么?后面的参数是否对
      

  2.   

    CreateFile是想要打开一个磁盘分区,然后对这个分区进行读写操作,后面的参数是正确的,因为同一段代码放到一个新建立的项目中就可以正确的编译运行,并且得到正确的结果,但是加入到一个已有的项目中时就出现126错误。我到网上查了很久,发现几乎没有关于CreateFile出现126错误的情况,这个模块未找到错误不知道指的是什么模块?
      

  3.   

    现在想知道就是CreateFile函数出现126错误通常的原因是什么,或者说什么情况容易导致CreateFile函数报告126错误?
      

  4.   

    hFile = CreateFile("\\\\.\\G:", GENERIC_READ|GENERIC_WRITE,FILE_SHARE_READ, NULL,    OPEN_EXISTING, 0, NULL);
    还是试试标准格式吧,不知道你的几个参数啥意思
      

  5.   


    外壳用的是易语言,核心用的是C语言,你说的这个可能性很大,估计是访问冲突(因为只要这个软件启动,函数CreateFile就会出错),但是访问冲突为什么会报告模块未找到的错误呢?
      

  6.   

    不知道你在哪里访问了磁盘,CreateFile("\\\\.\\G:" , 3221225472, 0, 0, 3, 0, 0); 
    在这之前关闭你之间打开磁盘的句柄close(之前创建的句柄);
      

  7.   

    HANDLE hFile = CreateFile(_T("\\\\.\\PhysicalDrive0"), GENERIC_READ , FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, NULL);
    if(INVALID_HANDLE_VALUE == hFile)
    {
    DWORD dwRet = GetLastError();
    CString str;
    str.Format(_T("%d"), dwRet);
    AfxMessageBox(str);
    return ;
    }
    else
    {
    AfxMessageBox(_T("OK!!!"));
    }
    CloseHandle(hFile);