请问为什么我的ActiveX工程,读自己的自定义文件资源也有问题,调用安装钩子的dll也有问题?问题表现在把资源里的一个自定义文件写到硬盘是0KB的,钩子安装了又好像没安装一样,就像没有调用到那个dll一样。
这个工程在MFC应用程序的时候是没问题的,转移过来变成ActiveX就有这样的问题了。
AFX_MANAGE_STATE(AfxGetStaticModuleState());我也试过加在读资源和写文件那个函数的开头了,但是没有效果。
请问各位,这大概是什么问题?

解决方案 »

  1.   

    xiang_yun你好,谢谢你,我一定要好好检查一下装载资源的代码。那个dll的问题原来就是因为自己的代码有问题。。在那个dll里有一句用GetForegroundWindow()判断是不是当前主对话框,如果是再执行操作。在MFC应用程序里面没问题,但是转变为控件以后Get回来的就是浏览器了吧,所以一直没反应。。好,我继续审查一下代码先。
      

  2.   

    原来dll的问题不仅是那个GetForegroundWindow()的问题,还有另外一个问题是,我在主对话框有一个窗口句柄的数组,我把这个数组的指针作为dll导出函数的参数调用dll的函数,然后在dll里面利用这个指针操作不同的窗口。在MFC应用程序里这个是没问题的,但为什么到了ActiveX控件程序就有问题呢?请问哪位朋友能告诉我其中的原理?谢谢!
      

  3.   

    ******[该内容非法,被屏蔽]******,其实是可以的,又是我自己粗心了哎!我用了昨晚编译出来的把函数的参数改成十几个窗口句柄的程序去调用今天的只传一个指针的dll导出函数,当然不行啦!******[该内容非法,被屏蔽]******!
      

  4.   

    谢谢楼上两位帮我顶哈哈!资源文件的问题也解决了,原来真的还是代码的问题。貌似在ActiveX里FindResource()和LoadResource()的HMODULE参数都要用AfxGetResourceHandle()取得才行,而且很容易让我忽略的就是在后面写文件的时候指定字节数的参数用到的SizeofResource()也要记得用上AfxGetResourceHandle()返回的句柄作为参数啊!
      

  5.   

    原来dll的问题不仅是那个GetForegroundWindow()的问题,还有另外一个问题是,我在主对话框有一个窗口句柄的数组
      

  6.   

    整个解决过程我都说出来了哦,请问a_zhangbin_asp的问题是什么?
    唉,不过现在我读取自己的dll是成功了,但读取别的dll还是失败了。那个dll是dll里面又调用其它dll的,不知道这个有没有关系。
      

  7.   

    新问题解决了,原来那些调用dll的dll要放在IE目录下