[?]电话控制程序,消息处理有问题,请各位帮忙!急,请多捧场,谢谢! ( 积分: 200 )

  • 主题发起人 主题发起人 Duj
  • 开始时间 开始时间
D

Duj

Unregistered / Unconfirmed
GUEST, unregistred user!
[?]电话控制程序,消息处理有问题,请各位帮忙!急,请多捧场,谢谢!<br><br>这是一个usb电话,提供dll函数和消息,情况如下:<br><br><br>unit Unit1;<br><br>...<br>...<br><br>const<br> &nbsp;//从DLL传来的设备事件信息<br> &nbsp;DEV_MSG = WM_USER + 34352; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br>type<br> &nbsp;TForm1 = class(TForm)<br> &nbsp; &nbsp;...<br> &nbsp; &nbsp;...<br><br> &nbsp; &nbsp;//消息处理,提供硬件发送的各种信息<br> &nbsp; &nbsp;procedure DEVMSG(var Message: TMessage); message EVENT_MSG; &nbsp; &nbsp;<br> &nbsp;end;<br><br>var<br> &nbsp;Form1: TForm1;<br><br>implementation<br><br>{$R *.dfm}<br><br>...<br>...<br><br>procedure TForm1.DEVMSG(var Message: TMessage);<br>begin<br> &nbsp; Case Message.WParam Of<br> &nbsp; &nbsp; &nbsp;1: &nbsp; &nbsp;//摘挂机<br> &nbsp; &nbsp; &nbsp;2: &nbsp; &nbsp;//录音开关<br> &nbsp; &nbsp; &nbsp;3: &nbsp; &nbsp;//振铃消息<br> &nbsp; &nbsp; &nbsp;4: &nbsp; &nbsp;//收到此消息后调用VirtualReadData函数从DLL读取来电号码等数据<br> &nbsp; end;<br>end;<br><br>...<br>...<br><br>问题是这样,我在OnEventMSG中编写代码,例如:Message.WParam=4显示来电号码,Message.WParam=2录音等,<br>我在Message.WParam=3时,判断N声后,调用dll摘机(免提),开启语音提示,之后开启录音...,但dll控制摘机<br>,一瞬间就过去了,也听不到语音提示。我觉得当在本过程中调用dll摘机时,是否有新的消息发出?我这方面接触<br>的少,可能问题也没说清,请各位不吝赐教,多谢!
 
[?]电话控制程序,消息处理有问题,请各位帮忙!急,请多捧场,谢谢!<br><br>这是一个usb电话,提供dll函数和消息,情况如下:<br><br><br>unit Unit1;<br><br>...<br>...<br><br>const<br> &nbsp;//从DLL传来的设备事件信息<br> &nbsp;DEV_MSG = WM_USER + 34352; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br>type<br> &nbsp;TForm1 = class(TForm)<br> &nbsp; &nbsp;...<br> &nbsp; &nbsp;...<br><br> &nbsp; &nbsp;//消息处理,提供硬件发送的各种信息<br> &nbsp; &nbsp;procedure DEVMSG(var Message: TMessage); message EVENT_MSG; &nbsp; &nbsp;<br> &nbsp;end;<br><br>var<br> &nbsp;Form1: TForm1;<br><br>implementation<br><br>{$R *.dfm}<br><br>...<br>...<br><br>procedure TForm1.DEVMSG(var Message: TMessage);<br>begin<br> &nbsp; Case Message.WParam Of<br> &nbsp; &nbsp; &nbsp;1: &nbsp; &nbsp;//摘挂机<br> &nbsp; &nbsp; &nbsp;2: &nbsp; &nbsp;//录音开关<br> &nbsp; &nbsp; &nbsp;3: &nbsp; &nbsp;//振铃消息<br> &nbsp; &nbsp; &nbsp;4: &nbsp; &nbsp;//收到此消息后调用VirtualReadData函数从DLL读取来电号码等数据<br> &nbsp; end;<br>end;<br><br>...<br>...<br><br>问题是这样,我在OnEventMSG中编写代码,例如:Message.WParam=4显示来电号码,Message.WParam=2录音等,<br>我在Message.WParam=3时,判断N声后,调用dll摘机(免提),开启语音提示,之后开启录音...,但dll控制摘机<br>,一瞬间就过去了,也听不到语音提示。我觉得当在本过程中调用dll摘机时,是否有新的消息发出?我这方面接触<br>的少,可能问题也没说清,请各位不吝赐教,多谢!
 
各位快给帮帮忙!我问的意思时如何在处理一个消息处理过程未完成时,来了下一个消息,又需要处理,如何办?这个可能时我的问题。[:(]
 
自建消息队列,每收到一个消息就将消息保存到队列当中,当前一个消息处理完成后,再从队列中取出一个消息进行相关的处理。
 
后退
顶部