我有问题的就是MCI_OPEN_SHAREABLE这个参数到底是干什么用的?
我一个设备想打开两次,是不是MCI_OPEN两回就不行了?加了MCI_OPEN_SHAREABLE这个参数也不行吗?部分代码如下:
  open.lpstrDeviceType := LPCSTR(MCI_DEVTYPE_OVERLAY);
  open.hWndParent := HDL;
  dwFlags := dwflags or MCI_OPEN_TYPE or MCI_OPEN_TYPE_ID;
  dwFlags  := dwflags or MCI_OVLY_OPEN_PARENT or MCI_OPEN_SHAREABLE;  Error := mciSendCommand( a, MCI_OPEN, dwFlags, DWord(@open));
  RaiseErr(Error);
第一次调用是没问题的,在MCI_CLOSE之前再调用就说“设备的名称已被此应用程序用作别名。请使用唯一的别名。
谁能告诉我怎么能OPEN两次啊,因为我想两次中让设备做不同的事。  

解决方案 »

  1.   

    第二次调用前必须先关闭,mciSendCommand(open.wDeviceID,MCI_CLOSE,MCI_WAIT,0)Open两次?什么意思
      

  2.   

    终于有人理我了,感动!
    谢谢两位帮我顶!to fim(镇江DJ)(DJ=DelphiJava) :
    我现在是有一个视频输入卡,可以同时输入四路视频,于是就出现了需要同时显示四路视频的问题。
    我现在的想法是两次open,那么就可以返回两个deviceid,只要对两个deviceid发送mciSendCommand就可以对其中一路进行操作,例如改变其显示的信号源等等。可是在一个程序里只能open一次,再open就提示错误了,不知道你有没有办法解决我想要实现的功能呢?
    对了,我说的open就是:mciSendCommand( a, MCI_OPEN, dwFlags, DWord(@open));
      

  3.   

    怎么还是没人理我啊,fim(镇江DJ)(DJ=DelphiJava)老兄,你在哪里?
      

  4.   

    老兄,真不好意思,我没有搞过你这种问题,并不了解,所以后来就忘记了。你的贴子我也找不到了(每天回的水贴太多),今天你结贴了,我才发现你的回复:-)建议你到vc版去重新提问
    fim给jieson捐献了120可用分;jieson收到了:108可用分