procedure TForm1.Button1Click(Sender: TObject);
var hVxd:THandle;
begin
hVxd:=CreateFile(pchar('\\.\mem.vxd'),0,0,nil,0,FILE_FLAG_DELETE_ON_CLOSE,0);
if hVxd=INVALID_HANDLE_VALUE then
begin
ShowMessage(SysErrorMessage(GetLastError()));
end
else
begin
ShowMessage('ok');
CloseHandle(hVxd);
end;
end;
你的原代码呢??用C++还是汇编写的,程序有没有错呢?路径对吗?
TESTVXD。ASM
.386p
.model flat,stdcall
option casemap:none
include \masm32\include\windows.inc
include \masm32\include\user32.inc
includelib \masm32\lib\user32.lib ; calls to functions in user32.lib and kernel32.lib
include \masm32\include\kernel32.inc
includelib \masm32\lib\kernel32.lib
.data
hFile dd ?
FileName db '\\.\FirstVxd.vxd',0
Caption db 'Test Dynamic Vxd',0
ErrTest db 'Test error!',0
OKTest db 'Load Dynamiv Vxd OK!',0
VxD_PAGEABLE_DATA_SEG
MsgTitle db 'VxD MessageBox',0
VMCreated db 'A VM is created',0
VMDestroyed db 'A VM is destroyed',0
VxdCreated db 'A Vxd is being loaded',0
VxdDestroyed db ' Vxd is being destroyed',0
VxD_PAGEABLE_DATA_ENDS