参照VC开发包,调用以下几个函数
VC代码
hReelDrv=(HDRVR)OpenDriver(L"reeldrv",L"Drivers32",0L);//(LPCWSTR)TEXT("Reeldrv"),(LPCWSTR)TEXT("Driver32"),0L);       ****打开设备CloseDriver(hReelDrv,0L,0L);         ****关闭设备#define FMPCommand(a,b,c,d) SendDriverMessage(hReelDrv,DRV_COMMAND,MAKELPARAM(MAKEWORD(a,b),c),d)
DWORD FMPCommand( BYTE Command, BYTE hMPEGStream, WORD Flags, DWORD Value )
{
return (DWORD)SendDriverMessage(hReelDrv,DRV_USER+1,
MAKELPARAM(MAKEWORD(Command,hMPEGStream),Flags),Value);
}             ****给设备发送命令,如播放一个文件,
#define FMPOpen( Flags, Filename ) \    LOBYTE( LOWORD( FMPCommand( FMP_OPEN, 0, Flags, Filename ) ) )     *****打开一个文件
#define FMPF_FILE                       0x0001  定义一个值
例:FMPOpen(FMPF_FILE,TEXT(”test.mpg”));   ***打开一个名为test.mpg的文件,VB代码能成功打开设备与关闭设备,但是不知道如何传递命令参数给设备
HreelDRv = OpenDriver(StrConv("Reeldrv", vbUnicode), vbNullString, ByVal 0&)
打开设备
CloseDriver(HreelDRv, 0, 0)
就是如何调用senddrivermessage函数啊?
VC中的makelparam与makeword,是对字节转换吗?
请大家帮帮忙

解决方案 »

  1.   

    V。VC  ?翻译到VB?
    晕,俺看不懂VC间谅了,
    如果VC里用的是控件的话好象就没那么麻烦了!
    可以将控件加到工程中,查找与VC相对应的属性,如果你用的是类------俺没脾气,你还是去找高人
    或者去VC版块问问吧!
      

  2.   

    宏的意思:MAKELPARAM
    两个16位(WORD)合成32位(LPARAM)MAKEWORD
    两个(BYTE)合成16位的数据(WORD)
      

  3.   

    其实,MAKELPARAM就是把两个integer连到一块成一个long,MAKEWORD就是把两个byte连到一块成一个integer,这个用copymemory就可以做
      

  4.   

    Public Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)不知道怎么用啊,而且还没返回值。新手见谅。能不能给个源程序。
      

  5.   

    dim a as integer
    dim b(1) as byte
    b(0)=&H11
    b(1)=&H22
    CopyMemory (a,b(0),2)
    拷贝从b(0)开始两个字节给a,a就是&H1122