0

我试图让 QBSDK 在我的 Windows 7 机器上运行。我正在尝试运行名为 EventHandler 的示例程序。它与示例 EventSubscribe 一起运行。我在 Visual Studio 2008 中编译了这些。EventHandler 在文件菜单中有一个选项,称为注册回调接口。当我运行它时,它表明 COM 连接已创建,但是当我尝试订阅 EventSubscribe 示例程序中的事件时,它给了我错误“无法从订阅请求中提供的 CLSID 或 ProgID 找到回调应用程序。”

在我的 Windows 7 机器上注册回调接口后,我注意到取消注册命令没有突出显示。我还在一台装有 Visual Studio 2008 的 Windows XP 机器上编译了它,我注意到 Unregister 被突出显示。我在 Windows XP 机器上没有 Quickbooks。

我已经尝试了很多方法来让它发挥作用……知道发生了什么吗?

我正在使用 C++

谢谢,

吉姆

4

1 回答 1

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 的应用程序。完成所有注册和配置后,它应该可以像普通用户一样工作。

于 2012-12-14T16:56:29.060 回答