我试图在我的Windows 7机器上运行QBSDK。我正在尝试运行名为EventHandler的示例程序。它与示例EventSubscribe一起运行。我在Visual Studio 2008中编译了这些.EventHandler在File菜单中有一个名为Register Call Back Interface的选项。当我运行它表明已经创建了COM连接时,但是当我尝试订阅EventSubscribe示例程序中的事件时,它给出了错误“无法从订阅请求中提供的CLSID或ProgID找到回调应用程序。“
在我执行注册回调接口后,在我的Windows 7计算机上,我注意到Unregister命令未突出显示。我还在使用Visual Studio 2008的Windows XP计算机上编译了这个,我注意到Unregister已突出显示。我在Windows XP机器上没有Quickbooks。
我已经尝试过许多方法让它发挥作用...知道发生了什么事吗?
我正在使用C ++
谢谢,
吉姆
答案 0 :(得分:3)
这可能无法直接描述您的情况,但概念类似。从Vista开始,由于Windows UAC限制,QuickBooks SDK(以及其他基于COM的技术)需要“以管理员身份运行”进行配置,因此有很多解决方法。
从SDK文档:
After you subscribe your menu extension events and
register them as documented, you need to run QB
using "Run As Administrator." This only has to be
done ONCE, after running QB as admin once, your
menu items will continue to show up and menu
events will be received by your event handler without
running QB as admin.
一般原则是,即使您在管理帐户下运行Windows,您也可能需要在配置过程中“以管理员身份运行”QuickBooks UI和使用QBSDK的应用程序。完成所有注册和配置后,它应该以普通用户身份运行。