RegistryKey videowindow = Registry.ClassesRoot.OpenSubKey("TypeLib\\{xxxxxxxx-xxxx-43DA-96E4-09FC81887A1E}\\");
            if (videowindow == null)
            {
                Process p = new Process();
                p.StartInfo.FileName = "Regsvr32.exe";
                p.StartInfo.Arguments = "/s " + Environment.CurrentDirectory +"\\REALPLAY\\Ocx\\VideoWindow.ocx";
                p.Start();
            }代码就是上面的  现在问题是xp系统下面执行没问题  但是win7好像由于什么系统保护,是执行不成功的,请问有什么方法可以解决,能在程序执行的时候注册,而不是手动去注册。如果用bat的话,是不是有这个问题:  win7下注册ocx控件时候  如果手动  在开始-附件-运行时  在那个运行上右键选择“以管理员身份”才能注册成功的吧麻烦详细说明下 谢谢了

解决方案 »

  1.   

    用VC6的DEPENDS.EXE工具,看看这个ocx依赖哪些dll,
    win7可能是缺少某个或某几个dll,你都找出来,拷贝过去
      

  2.   

    需要关闭UAC。用户访问控制。
      

  3.   

    需要关闭UAC。代码为:Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
    "EnableLUA"=dword:00000000。保存为.reg文件,然后执行重启即可。
      

  4.   

    LZ 应该是winform --winfrom没听说过也
    有可能是你客户机上已经有个不同版本的了