BOOL DeviceIoControl( HANDLE hDevice, // 用CreateFile()得到的句柄 DWORD dwIoControlCode, // VXD定义的通信代码 LPVOID lpInBuffer, // 输入数据 DWORD nInBufferSize, // 输入数据大小 LPVOID lpOutBuffer, // 输出数据 DWORD nOutBufferSize, // 输出数据大小 LPDWORD lpBytesReturned, // 得到的多少输出数据 LPOVERLAPPED lpOverlapped // 设置为NULL好了 ); VC代码转VB很容易的,你可以试试dim inbuf as string dim outbuf as string dim inlen as long dim outlen as long dim rout as long inbuf="数据" outbuf=space(1024)'必须足够大 DeviceIoControl hvxd,你知道的VXD操作代码,inbuf,lstrlen(inbuf),outbuf,lstrlen(outbuf), rout,0
{
HANDLE h;
h = CreateFile(szVxdName,0,0,0,0,FILE_FLAG_DELETE_ON_CLOSE,0);
hVxD = h;
if( h != INVALID_HANDLE_VALUE )
return true;
return false;
}
以上是VC代码,很容易改成VB的。
szVxdname="\\.\"+你指定的VXD。注意前面的"\\.\"是必须的!
最好用VB代码演示 我没有学过VC啊
HANDLE hDevice, // 用CreateFile()得到的句柄
DWORD dwIoControlCode, // VXD定义的通信代码
LPVOID lpInBuffer, // 输入数据
DWORD nInBufferSize, // 输入数据大小
LPVOID lpOutBuffer, // 输出数据
DWORD nOutBufferSize, // 输出数据大小
LPDWORD lpBytesReturned, // 得到的多少输出数据
LPOVERLAPPED lpOverlapped // 设置为NULL好了
);
VC代码转VB很容易的,你可以试试dim inbuf as string
dim outbuf as string
dim inlen as long
dim outlen as long
dim rout as long
inbuf="数据"
outbuf=space(1024)'必须足够大
DeviceIoControl hvxd,你知道的VXD操作代码,inbuf,lstrlen(inbuf),outbuf,lstrlen(outbuf), rout,0