由于用户可以开多个IE窗口,他可以打开多个activex同时操作,怎样控制在打开过一个activex以后,再打开这个activex的时候报错?

解决方案 »

  1.   

    ActiveX也是一种程序,所以在创建时建立一个命名的互斥量,函数是CreateMutex()。检查返回值,当发现此量已创建时,就不再执行。
      

  2.   

    使用全局的东东进行判断,不如参考:
    http://www.vckbase.net/document/viewdoc/?id=691
    使用全局消息
      

  3.   

    CreateMutex()
    和只允许程序一个实例运行同解。
      

  4.   

    哪用那么麻烦,都不用互斥保护(com底层会保护),直接在CxxxocxCtl.cpp头部定义一个全局变量BOOL __gWorkFlag=FALSE类构造时 if( !__gWorkFlag)
                   __gWorkFlag = TRUE;
              else 报错类析购时  if(没有抱过错)
                if(__gWorkFlag)
                    __gWorkFlag = FALSE;恢复状态
      

  5.   

    全局量在同一进程内的同一CLSID的多个实例内是共享的