Eli käsittelen webcamia tälläisellä koodilla
Private Declare Function SendMessage Lib "USER32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long Private Declare Function capCreateCaptureWindow Lib "avicap32.dll" Alias "capCreateCaptureWindowA" (ByVal lpszWindowName As String, ByVal dwStyle As Long, ByVal X As Long, ByVal Y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hwndParent As Long, ByVal nID As Long) As Long Private mCapHwnd As Long Const CONNECT As Long = 1034 Const DISCONNECT As Long = 1035 Const GET_FRAME As Long = 1084 Const COPY As Long = 1054 Private Sub Form_Load() mCapHwnd = capCreateCaptureWindow("WebcamCapture", 0, 0, 0, 320, 240, radarcam.hwnd, 0) DoEvents SendMessage mCapHwnd, CONNECT, 0, 0 End Sub Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) SendMessage mCapHwnd, DISCONNECT, 0, 0 End Sub Private Sub Form_Terminate() SendMessage mCapHwnd, DISCONNECT, 0, 0 End Sub Private Sub Form_Unload(Cancel As Integer) SendMessage mCapHwnd, DISCONNECT, 0, 0 End Sub Private Sub refresRadar_Timer() SendMessage mCapHwnd, GET_FRAME, 0, 0 'Get Current Frame SendMessage mCapHwnd, COPY, 0, 0 'Copy Current Frame to ClipBoard radarcam.Picture = Clipboard.GetData 'Put ClipBoard's Data to picOutput End Sub
Ainakun painan VB6:sta stoppinäppäintä niin koko ohjelma jäätyy ja sammuu vain taskmanagerilla. Osaisiko joku sanoa mistä johtuu ja miten mahdollisesti saisi korjattua?
Moi tesmu!
kokeile pysäyttää toi Timer jutska ennen tota DISCONNECT jutskaa...
Ei auta, sama jumitus jää...
Ratkaisin tosin ongelman tekemällä OCX-kontrollin webcamia varten. Jollon jumitusta ei tule kun käytän OCX-kontrollia.
Mutta eihän kyseinen ongelma pitäisi haitat kuin kehittely vaiheessa. Itse muistan taistelleeni saman ongelman parissa muutama vuosi takaperin, mutta annoin asian olla, koska itse exe:ssä se ei tuntunut haittaavan mitenkään.
Aihe on jo aika vanha, joten et voi enää vastata siihen.