在用户尝试发送SMS时收到通知

时间:2008-10-13 09:46:57

标签: c++ windows-mobile embedded

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

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

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

我的应用程序是否可以可靠地获取在发件箱中创建的SMS的通知?

编辑:该应用程序是用本机C ++编写的。我查看了RIL和其他一些API,但我只能找到有关收到短信通知的信息。

好的,还有更多信息:注册IMAPIAdviseSink的相同代码可以在独立应用中使用。它只是无法在服务中收到通知。

无论如何在我的服务中收到通知?或者我是否需要一个单独的流程来监控SMS事件并通知我的服务?

标记

2 个答案:

答案 0 :(得分:2)

您无法使用服务中的IMAPIAdviseSink

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

答案 1 :(得分:0)

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

您的目标是Windows Mobile 5 +吗?

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

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

Peter Foot在His In the Hand库中包含了一个类似的功能,它们可能允许你在早期版本的掌上电脑上做同样的事情。