参照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,是对字节转换吗?
请大家帮帮忙
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,是对字节转换吗?
请大家帮帮忙
晕,俺看不懂VC间谅了,
如果VC里用的是控件的话好象就没那么麻烦了!
可以将控件加到工程中,查找与VC相对应的属性,如果你用的是类------俺没脾气,你还是去找高人
或者去VC版块问问吧!
两个16位(WORD)合成32位(LPARAM)MAKEWORD
两个(BYTE)合成16位的数据(WORD)
dim b(1) as byte
b(0)=&H11
b(1)=&H22
CopyMemory (a,b(0),2)
拷贝从b(0)开始两个字节给a,a就是&H1122