我正在設計一個伴隨我們電話系統的播放器應用程序。當我們的呼叫者接聽電話時,它會記錄每個電話的錄音。他們可以進入列表模塊,找到錄音並雙擊,這會打開我的播放器。我遇到的問題是,如果聽筒接到另一個電話,我的播放器不知道它,並且會繼續播放。我正在尋找一種方法來監視特定區域的屏幕,當它看到黃色或紅色而不是藍色時,它會暫停我的播放器。在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