(espero ter feito bem o título...)
Hello, pessoal! Tudo bem?
A minha dúvida de hoje:
Tenho uma webcam (emprestada). ÉÉÉÉÉÉÉÉÉÉÉÉÉÉ agora, quero fazer um programa que tira fotos ao utilizador:
(IMAGEM 1)
À esquerda está a foto que a webcam tirou (a boneca de porcelana da minha mãe -.- ) e à direita está a lista de dispositivos. Só há um ^^'
Agora, o problema:
Ao ligar o driver, ele pede automaticamente para eu escolher um dispositivo de vídeo:
(IMAGEM 2)
Esta combo tem 3 opções. Eu não queria que esta janela aparecesse cada vez que o utilizador activasse o driver.
Código do programa (está comentado em inglês porque eu fiz primeiro esta pergunta num fórum inglês de Visual Basic):
'Create Capture window:
mCapHwnd = capCreateCaptureWindow("WebcamCapture", 0, 0, 0, 96, 96, Me.hwnd, 0)
'Connect to webcam:
DoEvents: SendMessage mCapHwnd, CONNECT, 0, 0
'DISConnect webcam:
DoEvents: SendMessage mCapHwnd, DISCONNECT, 0, 0
'Get Current Frame
SendMessage mCapHwnd, GET_FRAME, 0, 0
'Copy Current Frame to ClipBoard
SendMessage mCapHwnd, COPY, 0, 0
'Put ClipBoard's Data to picOutput
picOutput.Picture = Clipboard.GetData
'Clear ClipBoard
Clipboard.Clear
Se precisarem, eu traduzo.
O CONNECT 0,0 conecta o driver 0. O outro 0 não sei o que quer dizer; e penso que pode ser isso que eu preciso. Ou, ao espiar (Spy++) as mensagens do MSN, encontrei uma que é a WM_DEVICECHANGE (passa os valores 7,0). No entanto, ao fazer Post dessa mensagem com esses parâmetros para mCapHwnd não resultou.
Voltando à questão, eu queria que o utilizador pudesse, na primeira execução, escolher o tal dispositivo de captura, mas a partir daí ele gravava a escolha, e não voltava a pedir.
Para não restarem dúvidas, digo já que o MSN Messenger faz isso:
(IMAGEM 3)
Ou seja, a tal janela que me aparece, está quase "incluida" na janela do messenger; e no MSN eu escolhi uma vez o dispositivo e ele nunca mais mo pediu. É isso que eu quero
Em suma, quero que a janela em IMAGEM 2 só apareça uma vez; ou se possível, quero fazer com que o meu programa consiga ter uma janela semelhante à IMAGEM 3.
Penso que não fui suficientemente explícito. Se precisarem de explicações, perguntem que eu tento-vos responder
Obrigado pelo vosso tempo
Cumprimentos [[[[[[[[[]]]]]]]]]
angelofwisdom
Hello, pessoal! Tudo bem?
A minha dúvida de hoje:
Tenho uma webcam (emprestada). ÉÉÉÉÉÉÉÉÉÉÉÉÉÉ agora, quero fazer um programa que tira fotos ao utilizador:
(IMAGEM 1)
À esquerda está a foto que a webcam tirou (a boneca de porcelana da minha mãe -.- ) e à direita está a lista de dispositivos. Só há um ^^'
Agora, o problema:
Ao ligar o driver, ele pede automaticamente para eu escolher um dispositivo de vídeo:
(IMAGEM 2)
Esta combo tem 3 opções. Eu não queria que esta janela aparecesse cada vez que o utilizador activasse o driver.
Código do programa (está comentado em inglês porque eu fiz primeiro esta pergunta num fórum inglês de Visual Basic):
'Create Capture window:
mCapHwnd = capCreateCaptureWindow("WebcamCapture", 0, 0, 0, 96, 96, Me.hwnd, 0)
'Connect to webcam:
DoEvents: SendMessage mCapHwnd, CONNECT, 0, 0
'DISConnect webcam:
DoEvents: SendMessage mCapHwnd, DISCONNECT, 0, 0
'Get Current Frame
SendMessage mCapHwnd, GET_FRAME, 0, 0
'Copy Current Frame to ClipBoard
SendMessage mCapHwnd, COPY, 0, 0
'Put ClipBoard's Data to picOutput
picOutput.Picture = Clipboard.GetData
'Clear ClipBoard
Clipboard.Clear
Se precisarem, eu traduzo.
O CONNECT 0,0 conecta o driver 0. O outro 0 não sei o que quer dizer; e penso que pode ser isso que eu preciso. Ou, ao espiar (Spy++) as mensagens do MSN, encontrei uma que é a WM_DEVICECHANGE (passa os valores 7,0). No entanto, ao fazer Post dessa mensagem com esses parâmetros para mCapHwnd não resultou.
Voltando à questão, eu queria que o utilizador pudesse, na primeira execução, escolher o tal dispositivo de captura, mas a partir daí ele gravava a escolha, e não voltava a pedir.
Para não restarem dúvidas, digo já que o MSN Messenger faz isso:
(IMAGEM 3)
Ou seja, a tal janela que me aparece, está quase "incluida" na janela do messenger; e no MSN eu escolhi uma vez o dispositivo e ele nunca mais mo pediu. É isso que eu quero
Em suma, quero que a janela em IMAGEM 2 só apareça uma vez; ou se possível, quero fazer com que o meu programa consiga ter uma janela semelhante à IMAGEM 3.
Penso que não fui suficientemente explícito. Se precisarem de explicações, perguntem que eu tento-vos responder
Obrigado pelo vosso tempo
Cumprimentos [[[[[[[[[]]]]]]]]]
angelofwisdom