Проблема при обращении к WEB-камере

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Daxtil
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 23.02.2010 (Вт) 8:29

Проблема при обращении к WEB-камере

Сообщение Daxtil » 23.02.2010 (Вт) 8:39

Ситуация:
Имеется два ноутбука - Один Toshiba к которому подключена внешняя (USB) WEB-камера
Второй - нетбук MSI со встроенной WEB-камерой
На обоих стоит Windows XP

Проблема: Делаю значит в Visual Basic 6.0 программку, которая через
capCreateCaptureWindow, capGetDriverDescription и с ними связанные берет картинку с WEB-камеры и сохраняет её на винчестер.
Все вроде бы и ничего =) на первый взгляд..
НО проблема состоит в том, что на первом ноутбуке - который с внешней камерой - все отлично работает! А вот на втором вместо изображения получаю - картинку с логотипом MSI. Поубивал все процессы (или не все??) которые связаны с MSI - все-равно логотип...
Да, и индикатор работы WEB-ки не загорается. Тоесть видимо до самого устройства дело не доходит и нужно как-то используя софт от MSI добираться до изображения..
Возникает вопрос: НО Skype то работает блин на этом MSIном буке.. Т.е. он как-то берет изображение с WEB-ки =)) Как же и мне добраться до нее?.. Кто что думает по этому поводу? Я думаю что такая проблема не только у меня, так как сейчас много ноутбуков со встроенными WEB-камерами и странным софтом от производителя.. Помогите, пожалуйста!

Daxtil
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 23.02.2010 (Вт) 8:29

Re: Проблема при обращении к WEB-камере

Сообщение Daxtil » 23.02.2010 (Вт) 16:31

Собственно сама программка такая вот:
Код: Выделить всё
Option Explicit

Const WM_USER = 1024
Const WM_CAP_DRIVER_CONNECT = WM_USER + 10
Const WM_CAP_SET_PREVIEW = WM_USER + 50
Const WM_CAP_SET_PREVIEWRATE = WM_USER + 52
Const WM_CAP_DRIVER_DISCONNECT = WM_USER + 11
Const WM_CAP_GRAB_FRAME = WM_USER + 60
Const WM_CAP_FILE_SAVEDIB = WM_USER + 25

Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal HWND As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Private Declare Function SendMessageString Lib "user32" Alias "SendMessageA" (ByVal HWND As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As String) As Long
Private Declare Function capCreateCaptureWindow Lib "avicap32.dll" Alias "capCreateCaptureWindowA" (ByVal a As String, ByVal b As Long, ByVal c As Integer, ByVal d As Integer, ByVal e As Integer, ByVal f As Integer, ByVal g As Long, ByVal H As Integer) As Long
Private Declare Function capGetDriverDescription Lib "avicap32" Alias "capGetDriverDescriptionA" (ByVal wDriverIndex As Long, ByVal lpszName As String, ByVal cbName As Long, ByVal lpszVer As String, ByVal cbVer As Long) As Long

Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Dim hWDC As Long
Dim STARTcap As Boolean

Private Sub Command1_Click()
hWDC = capCreateCaptureWindow("VideoCapture", 0, 0, 0, 320, 240, Picture1.HWND, 0)
  If (hWDC <> 0) Then
    SendMessage hWDC, WM_CAP_DRIVER_CONNECT, 0, 0
     STARTcap = True
   
    SendMessage hWDC, WM_CAP_GRAB_FRAME, 0, 0
    SendMessageString hWDC, WM_CAP_FILE_SAVEDIB, 0, App.Path & "\VIDEO1.BMP"
    Picture1.Picture = LoadPicture(App.Path & "\VIDEO1.BMP")
  ''''''''''''''''''''''''''''''''''''''
   
  Call SendMessage(hWDC, WM_CAP_DRIVER_DISCONNECT, 0, 0)
  Else
    MsgBox ("no cam found")
  End If
End Sub

Daxtil
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 23.02.2010 (Вт) 8:29

Re: Проблема при обращении к WEB-камере

Сообщение Daxtil » 23.02.2010 (Вт) 16:34

Да, на форме есть: Picture1 - PictureBox 1 штука
Command1 - кнопка 1 штука


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, PetalBot, Yandex-бот и гости: 11

    TopList