我正在设计一个播放器应用程序来配合我们的电话系统。当我们的呼叫者接听电话时,它会记录每个电话。他们可以转到列表模块,找到录音并双击,打开我的播放器。我遇到的问题是,如果接听者接到另一个电话,我的播放器不知道它会继续播放。我正在寻找一种方法来监视特定区域的屏幕,当它看到黄色或红色而不是蓝色时,它会暂停我的播放器。
电话系统没有我可以连接的任何 API,所以我必须尝试另一种方式。
屏幕分辨率永远不会改变,他们接听电话的队列按钮将始终是静态的。当他们接到电话时,一小块区域会从背景颜色蓝色变为黄色或红色,以表示有来电。
有什么建议么?
**根据下面的答案编辑最终代码并在 Visual Basic 中使用 GetPixel/GetDC 提出内存泄漏问题
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