• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >vc/mfc > 我的OCX为什么会这样?在页面中调用,URL为localhost或者127001可以加载而加上IP,如19216811就不行了?哪位大哥知道原因?

我的OCX为什么会这样?在页面中调用,URL为localhost或者127001可以加载而加上IP,如19216811就不行了?哪位大哥知道原因?

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-04

佚名通过本文主要向大家介绍了 我的OCX为什么会这样?在页面中调用,URL为localhost或者127001可以加载而加上IP,如19216811就不行了?哪位大哥知道原因?等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 我的OCX为什么会这样? 在页面中调用,URL 为localhost 或者 127001 可以加载而加上IP,如19216811就不行了?哪位大哥知道原因?
描述:

如题!


解决方案1:

打了xp sp2补丁会出现这样的情况.这时需要注册种类.
const GUID CDECL CLSID_SafeItem = 
{ 0xcc293574, 0x85f4, 0x426f, { 0x93, 0x8d, 0x44, 0x3e, 0x5c, 0x3c, 0x47, 0x79 } };
你的类Classid
HRESULT CreateComponentCategory(CATID catid, WCHAR* catDescription)
{
    ICatRegister* pcr = NULL ;
    HRESULT hr = S_OK ;
    hr = CoCreateInstance(CLSID_StdComponentCategoriesMgr, 
            NULL, CLSCTX_INPROC_SERVER, IID_ICatRegister, (void**)&pcr);
    if (FAILED(hr))
        return hr;
    // Make sure the HKCR\Component Categories\{..catid...}
    // key is registered.
    CATEGORYINFO catinfo;
    catinfo.catid = catid;
    catinfo.lcid = 0x0409 ; // english
    // Make sure the provided description is not too long.
    // Only copy the first 127 characters if it is.
    int len = wcslen(catDescription);
    if (len>127)
        len = 127;
    wcsncpy(catinfo.szDescription, catDescription, len);
    // Make sure the description is null terminated.
    catinfo.szDescription[len] = '\0';
    hr = pcr->RegisterCategories(1, &catinfo);
        pcr->Release();
    return hr;
}
// ×¢²á×é¼þÖÖÀà
HRESULT RegisterCLSIDInCategory(REFCLSID clsid, CATID catid)
{
    // Register your component categories information.
    ICatRegister* pcr = NULL ;
    HRESULT hr = S_OK ;
    hr = CoCreateInstance(CLSID_StdComponentCategoriesMgr, 
                NULL, CLSCTX_INPROC_SERVER, IID_ICatRegister, (void**)&pcr);
    if (SUCCEEDED(hr))
    {
       // Register this category as being "implemented" by the class.
       CATID rgcatid[1] ;
       rgcatid[0] = catid;
       hr = pcr->RegisterClassImplCategories(clsid, 1, rgcatid);
    }
    if (pcr != NULL)
        pcr->Release();
    return hr;
}
// Ð¶ÔØ×é¼þÖÖÀà
HRESULT UnRegisterCLSIDInCategory(REFCLSID clsid, CATID catid)
{
    ICatRegister* pcr = NULL ;
    HRESULT hr = S_OK ;
    hr = CoCreateInstance(CLSID_StdComponentCategoriesMgr, 
            NULL, CLSCTX_INPROC_SERVER, IID_ICatRegister, (void**)&pcr);
    if (SUCCEEDED(hr))
    {
       // Unregister this category as being "implemented" by the class.
       CATID rgcatid[1] ;
       rgcatid[0] = catid;
       hr = pcr->UnRegisterClassImplCategories(clsid, 1, rgcatid);
    }
    if (pcr != NULL)
        pcr->Release();
    return hr;
}
/////////////////////////////////////////////////////////////////////////////
// DllRegisterServer - Adds entries to the system registry
STDAPI DllRegisterServer(void)
{
HRESULT hr;
AFX_MANAGE_STATE(_afxModuleAddrThis);
if (!AfxOleRegisterTypeLib(AfxGetInstanceHandle(), _tlid))
return ResultFromScode(SELFREG_E_TYPELIB);
if (!COleObjectFactoryEx::UpdateRegistryAll(TRUE))
return ResultFromScode(SELFREG_E_CLASS);
 // ±ê¼Ç¿Ø¼þ³õʼ»¯°²È«.
    // ´´½¨³õʼ»¯°²È«×é¼þÖÖÀà
    hr = CreateComponentCategory(CATID_SafeForInitializing, L"Controls safely initializable from persistent data!");
    if (FAILED(hr))
        return hr;
    // ×¢²á³õʼ»¯°²È«
    hr = RegisterCLSIDInCategory(CLSID_SafeItem, CATID_SafeForInitializing);
    if (FAILED(hr))
        return hr;
    // ±ê¼Ç¿Ø¼þ½Å±¾°²È«
    // ´´½¨½Å±¾°²È«×é¼þÖÖÀà 
    hr = CreateComponentCategory(CATID_SafeForScripting, L"Controls safely scriptable!");
    if (FAILED(hr))
        return hr;
    // ×¢²á½Å±¾°²È«×é¼þÖÖÀà
    hr = Regi

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 我的OCX为什么会这样?在页面中调用,URL为localhost或者127001可以加载而加上IP,如19216811就不行了?哪位大哥知道原因?

相关文章

  • 2017-06-04 我想弄个网页上的打印控件,请问有源码或者相关的参考资料么。
  • 2017-06-05 如何FreeLibrary
  • 2017-06-05 有谁对线程进程间同步比较了解,请帮我看看吧!!!
  • 2017-06-04 CString转char类型
  • 2017-06-04 如何调用COM组件?新手请大家帮忙
  • 2017-06-04 几个com问题请教高手
  • 2017-06-04 急求远指针和近指针的转换
  • 2017-06-05 在测试容器中找不到新创建的控件
  • 2017-06-04 是否可以调用被集合的内部组件?
  • 2017-06-04 ~~~~~~~~~紧急求教!!!在vs2005下无法使用我使用MFC开发的OLEserver

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • C++COM中的方法怎样采用异步方式实现
    • 见鬼了,WEBBROWSER访问资源带参数URL不同机器不同表现
    • 用Bho得到网页按钮点击事件后,如何知道是哪个按钮事件
    • 如何用vc对已打开的excel进行写入
    • 已知线程的句柄m_hThread如何获得线程的指针MyThread
    • 是否可以通过html代码来初始化,ihtmlelement?
    • OLE文档,在收到组件改变的通知后,怎么不能实现重绘OLE文档
    • !!!!!!救命一题!!!!!为何我用MFC做的OLEserver打开后,在client端用GetActiveObject得不到指针?
    • WIN7下免注册COM组件的实现
    • 请大家帮我看看这个问题!

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有