Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/vb6/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb6 CreateFile返回负句柄_Vb6_Filehandle_Createfile_Window Handles - Fatal编程技术网

Vb6 CreateFile返回负句柄

Vb6 CreateFile返回负句柄,vb6,filehandle,createfile,window-handles,Vb6,Filehandle,Createfile,Window Handles,知道createfile()函数返回-1的原因吗 Handle = CreateFile(filename, &H80000000, 0, 0, 3, &H80, 0) 这是运行了几次。我在想也许文件没有正确关闭 编辑 Err.lastlerror返回32。错误32是错误共享违反(),这意味着某些其他进程仍然打开该文件。您可能没有在某个地方关闭该文件。我将首先查看打开文件的位置,并确保有一个错误处理例程。在错误处理程序中,我将检查“Handle”的值,以及它是否是有效的call

知道createfile()函数返回-1的原因吗

Handle = CreateFile(filename, &H80000000, 0, 0, 3, &H80, 0)
这是运行了几次。我在想也许文件没有正确关闭

编辑


Err.lastlerror返回32。

错误32是错误共享违反(),这意味着某些其他进程仍然打开该文件。

您可能没有在某个地方关闭该文件。我将首先查看打开文件的位置,并确保有一个错误处理例程。在错误处理程序中,我将检查“Handle”的值,以及它是否是有效的callclosehandle(Handle)。此外,由于要打开文件进行读取访问,可以将dwShareMode参数更改为1,以允许对同一文件执行后续的读取操作。

什么是
GetLastError()
返回?用MSDN团队的话说:
如果函数失败,返回值无效\u HANDLE\u值(-1)。要获取扩展错误信息,请调用GetLastError。
很抱歉,对于VB6中的
GetLastError
,您应该使用
Err.lastdlError
,因为它可能会被以后的调用覆盖。+1。可能是病毒扫描程序或备份程序。在Stackoverflow+1中或在Stackoverflow+1中阅读Microsoft的更多信息清除错误的更复杂方法可能是:创建一个类来包装句柄对象。在调用CreateFile的类上有一个方法。在类中,检查句柄并调用CloseHandle。使用局部变量保存此对象的实例。每当局部变量超出范围时,VB6运行时将确保类_terminate事件运行。