Getlasterror 捕捉出错,返回值是87。一样的程序,在两台电脑上调试,同一个工程,一台返回值是0,正常的,另一台就是返回87。在程序的最前面,什么代码都没写,一开始捕捉,一台是0,一台是87,这是什么原因。
那台87返回值的,机子,第一次出错后,以后都正常了。在Getlasterror前用了openfileAPI函数。
那台87返回值的,机子,第一次出错后,以后都正常了。在Getlasterror前用了openfileAPI函数。
解决方案 »
- 无意中发现Windows的一个BUG,操作系统2000 SP4!
- 把焦点设到datagrid上面要怎么实现/?
- 急!!vb如何实现拼音首字母搜索功能?在线等~~
- 用Install shield打包之后,在我的机器上安装正常,但是在其他的机器上提示错误!
- 像数据库中写入日期时出错
- 十万火急!在vb里应用子报表的问题,请各位多指教.
- 请教高手,在VB中能不能加入音乐?
- 谁知道王国荣先生的针对数据库初学着编写的书是不是叫《数据库程序设计》?等待中,急,急,急...
- 每次启动VB6.0会出现“方法'~'作用于对外象'~'失败”错误怎么办?
- 如何在VB中调用VC的动态库FORCALDLL.DLL?
- 计算机与手机互通短信实现群发问题
- 各位高手请帮个忙 我是新手 用VB6.0实现PC机与单片机串口通讯 急!!!在线等待
//这是关于磁带备份的一段代码 先用readFile 写到 buf 在从buf写到h
Tape(磁带), 这段程序 以前能正确运行 之后就不行了
HANDLE hTape;
hTape =CreateFile(TEXT("\\\\.\\TAPE0"),
GENERIC_READ|GENERIC_WRITE, // open for reading
FILE_SHARE_READ|FILE_SHARE_WRITE, // do not share
NULL, // no security
OPEN_EXISTING, // existing file only
0,
NULL);
if(hTape!=INVALID_HANDLE_VALUE)
{
cout<<"打开磁带串口成功"<<endl;
if(PrepareTape(hTape,TAPE_LOAD,FALSE)==NO_ERROR)
{
cout<<"磁带已准备好"<<endl;
if(EraseTape(hTape,TAPE_ERASE_SHORT,FALSE)==NO_ERROR)
cout<<"格式化成功"<<endl;
//else
//cout<<"格式化失败"<<endl;
}
else
cout<<"磁带还没有准备好"<<endl;
//打开要备份文件句柄
CString fileName=CString("D:\\jxy.jpg");//要备份的文件
BYTE* buf=new BYTE[512];
HANDLE hBackupFile = CreateFile(
(LPCWSTR)fileName, // name of tape device to open
GENERIC_READ|GENERIC_WRITE, // read-write access
0, // not used
0, // not used
OPEN_EXISTING, // required for tape devices
0, // not used
NULL // not used
);
if(hBackupFile==INVALID_HANDLE_VALUE)
cout<<"打开文件失败"<<endl;
else
cout<<"打开文件成功"<<endl;
//写入缓存,同时写到磁带中
DWORD writeByte=0;
DWORD readByte=0;
int N=GetFileSize(hBackupFile,NULL)/512;//N表示要循环的次数。缓存大小定义为512
for (int i=0;i<N;i++)
{
if(!ReadFile(hBackupFile,buf,512,&readByte,NULL))
cout<<"读取文件失败"<<endl;
else
{
if(WriteFile(hTape,buf,readByte,&writeByte,NULL))
cout<<"开始写入磁带"<<endl;
else
{
cout<<"写入磁带错误"<<endl;
break;
}
}
}
//将剩下的数据写入磁带
ReadFile(hBackupFile,buf,512,&readByte,NULL);
WriteFile(hTape,buf,readByte,&writeByte,NULL);
cout<<"写入缓存的次数:"<<N<<endl;
cout<<GetLastError()<<endl;
CloseHandle(hTape);
CloseHandle(hBackupFile);
delete buf;
}