2008-10-13 29 views
0

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

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

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

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

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

好的,一些更多信息:注册我的IMAPIAdviseSink的相同代码适用于独立应用程序。它只是无法在服务中收到通知。

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

马克

回答

2

您不能使用服务中的IMAPIAdviseSink

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

0

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

你的目标是Windows Mobile 5+吗?

我认为你要找的是Microsoft.WindowsMo​​bile.PocketOutlook.MessageInterception命名空间中的MessageInterceptor类。

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

彼得脚已经包含在他的手库,他们可能允许你做同样的在Pocket PC上的早期版本的类似功能。