我正在设计一个伴随我们电话系统的播放器应用程序。当我们的呼叫者接听电话时,它会记录每个电话的录音。他们可以进入列表模块,找到录音并双击,这会打开我的播放器。我遇到的问题是,如果听筒接到另一个电话,我的播放器不知道它,并且会继续播放。我正在寻找一种方法来监视特定区域的屏幕,当它看到黄色或红色而不是蓝色时,它会暂停我的播放器。在Visual Basic中监视某个颜色的屏幕区域
电话系统没有任何我可以挂接的API,所以我必须以另一种方式尝试。
屏幕分辨率永远不会改变,它们接收呼叫的队列按钮将永远是静态的。当他们接到电话时,一小块区域会从背景颜色蓝色变为黄色或红色以指示呼叫。
有什么建议吗?
**编辑 终极密码基于下面的答案和问题Memory Leak using GetPixel/GetDC in Visual Basic
Private Function CheckforCall()
Dim hDC As IntPtr = GetDC(0)
Try
Dim queue1 As Integer = GetPixel(hDC, 40, 573)
Dim queue2 As Integer = GetPixel(hDC, 140, 573)
Dim queue3 As Integer = GetPixel(hDC, 240, 573)
Dim queue4 As Integer = GetPixel(hDC, 340, 573)
Dim queue5 As Integer = GetPixel(hDC, 440, 573)
If queue1 <> 9990727 Then
lblRinger.Text = "In Calls GOT CALL"
Return True
ElseIf queue2 <> 9990727 Then
lblRinger.Text = "Admin GOT CALL"
Return True
ElseIf queue3 <> 9990727 Then
lblRinger.Text = "Overflow GOT CALL"
Return True
ElseIf queue4 <> 9990727 Then
lblRinger.Text = "Bi-Lingual GOT CALL"
Return True
ElseIf queue5 <> 9990727 Then
lblRinger.Text = "Intercom GOT CALL"
Return True
Else
lblRinger.Text = "No Call"
Return False
End If
Catch ex As Exception
Return False
Finally
ReleaseDC(0, hDC)
End Try
End Function
http://stackoverflow.com/a/28257727/4515800 有你的答案,riiiiiiiight这里Geezzer;)^^^^^^^^^ – Turner 2015-01-31 23:47:31
@@@@@@@@@@@ @ 回答BELOW 的http://计算器。COM/A /4515800分之28257727 @@@@@@@@@@@@@ – Turner 2015-01-31 23:50:53