0

我的应用程序作为服务实现(在 services.exe 下运行)。我正在添加一项新功能,该功能需要在用户发送 SMS 时得到通知。

我曾尝试使用IMAPIAdviseSink、 注册IMAPISessionIMsgStore,但我没有收到任何通知。

我可以看到的其他选项是创建一个短消息服务提供者或实现IFormProviderEx接口,但我不确定这可能对 SMS 功能和用户体验产生什么影响。

有什么方法可以让我的应用程序可靠地获取在发件箱中创建的 SMS 通知?

编辑:该应用程序是用本机 C++ 编写的。我研究了 RIL 和其他几个 API,但我只能找到有关收到传入 SMS 通知的信息。

好的,更多信息:IMAPIAdviseSink在独立应用程序中注册我的作品的相同代码。它只是无法在服务中获得通知。

反正有没有在我的服务中获得通知?还是我需要一个单独的流程来监控 SMS 事件并通知我的服务?

标记

4

2 回答 2

2

您不能IMAPIAdviseSink从服务中使用。

您需要从单独的进程中使用它,并将您感兴趣的事件通知服务。

于 2008-10-16T08:39:28.010 回答
0

编辑:哎呀,错过了创建消息的用户,而不是传入的消息。

您的目标是 windows mobile 5+ 吗?

我认为您正在寻找的是 Microsoft.WindowsMo​​bile.PocketOutlook.MessageInterception 命名空间中的 MessageInterceptor 类。

这是一些示例代码的链接: http ://www.knowdotnet.com/articles/smartphonesms.html

Peter Foot 在 His In the Hand 库中包含了类似的功能,它们可能允许您在早期版本的袖珍电脑上执行相同的操作。

于 2008-10-14T13:04:59.880 回答