Windows API PostMessage / GetMessage

时间:2015-06-26 12:51:04

标签: vb.net

我正在开发一个使用VB.net发送传真的小应用程序。

我可以毫无问题地发送传真,我想做的是检查传真的进度。

要发送传真,我正在使用Snappy Software。根据他们的OLH:

*跟踪传真进度

您可以使用AppWindow,AppMsgNumber和AutoJobID属性跟踪提交到snappy传真的传真进度以进行处理。 将AppWindow属性设置为应用程序窗口的窗口句柄。 将AppMsgNumber设置为您想要的消息号,通常是WM_APP +(您选择的某个号码)。

将AutoJobID属性设置为唯一的整数ID,您可以在应用程序内部使用该ID来了解snappy传真发送到您的应用程序的状态消息中引用的传真作业。 在应用程序中设置消息处理程序,以接收和处理从snappy传真发送到AppWindow中指定的窗口句柄的AppMsgNumber中设置的消息编号。

当传真作业通过snappy传真启动时,它会向您的应用程序发送一条消息,如下所示:

PostMessage的(APPWINDOW,AppMsgNumber,1,LPARAM(AutoJobId))

注意wParam为1表示作业现在正在启动(传输将开始),所引用的作业将在lparam中发送 当传真作业完成或没有成功时,快速传真将向您的应用程序发送一条消息,如下所示:

PostMessage的(APPWINDOW,AppMsgNumber,错误码,LPARAM(AutojobId))*

我的问题是,基本上这个,VB.NET可以做这种事吗?

如果Snappy软件使用PostMessage()向我的应用程序发送消息,那是否意味着我必须使用GETMessage()来选择这些消息?

如果这些是愚蠢的问题,请道歉,但我是VB的新手。

由于

1 个答案:

答案 0 :(得分:0)

您在主窗体中覆盖.(或使用WndProc()属性使用的任何形式)。在那里,您需要AppWindow检查m.Msg值,然后获取AppMsgNumberm.WParam值。类似的东西:

m.LParam