Utiliser capCreateCaptureWindow en Windows Form

Résolu
raikko21 Messages postés 33 Date d'inscription jeudi 30 septembre 2010 Statut Membre Dernière intervention 24 novembre 2011 - 7 mai 2011 à 14:31
raikko21 Messages postés 33 Date d'inscription jeudi 30 septembre 2010 Statut Membre Dernière intervention 24 novembre 2011 - 13 mai 2011 à 23:41
Salut tlm!!!
J'ai un petit problème pour passer d'une Win Api en WindowsForm, j'ai fait une application (je me suis bcp aider des sources du site) qui gère une webcam que j'ai envie d'afficher dans un pictureBox et la... je bloque un peu au niveau du handle

HWND hWnd_WebCam;
HWND hWnd;
hWnd_WebCam = capCreateCaptureWindow((LPCWSTR)"Ma fenetre", WS_CHILD | WS_VISIBLE, 0, 0, 320, 240, hWnd, 1);

et la j'ai un problème concernant le hWnd (Handle de la fenetre), je doit le remplacer par le handle du pictureBox non??
J'ai essaye de remplacer le hWnd par: (HWND)this->pictureBox1->Handle.ToInt(32)
et la fatal error LNK1120: 2 unresolved externals

Voila, merci d'avance pour votre aide

10 réponses

cs_louis14 Messages postés 793 Date d'inscription mardi 8 juillet 2003 Statut Membre Dernière intervention 10 février 2021 8
10 mai 2011 à 13:23
3
cs_louis14 Messages postés 793 Date d'inscription mardi 8 juillet 2003 Statut Membre Dernière intervention 10 février 2021 8
10 mai 2011 à 13:20
Bonjour,
en premier lieu , il faut inclure la librairie vfw dans ton projet, se ce n'est fait.
Ensuite, je ne sais pas pourquoi tu fais toint(32), ce ne serait pas plutôt toInt32(). ensuite il faut voir à quoi correspond Handle , n'est-ce pas le handle que tu dois utiliser pour la fonction de vfw. tu as essayé picturebox->Handle tout simplement ou avec le cast devant?


louis
0
raikko21 Messages postés 33 Date d'inscription jeudi 30 septembre 2010 Statut Membre Dernière intervention 24 novembre 2011
11 mai 2011 à 01:17
salut louis!
Je te remercie d'avoir pris le temps de répondre, ben c'est normal j'ai inclus <windows.h> et <vfw.h> et pour le ToInt(32) c'est juste une erreur de frappe.. Oui j'avais essaye sans le ToInt32() et rien. Mon problème c'est quand je passe en WindowsForm en WinApi ca marche normalement.
je vais voir le lien et encore merci
0
raikko21 Messages postés 33 Date d'inscription jeudi 30 septembre 2010 Statut Membre Dernière intervention 24 novembre 2011
11 mai 2011 à 01:58
Re louis!
Merci beaucoup, le problème c'était qu'il fallait ajouter :
Pour capCreateCaptureWindow : #pragma comment (lib, "Vfw32.lib")
Et pour capPreviewScale, capPreviewRate, capPreview: #pragma comment (lib, "User32.lib")
J'aurais une autre question stp:
hWnd_WebCam = capCreateCaptureWindow(NULL,WS_CHILD|WS_VISIBLE,0,0,320,240,(HWND)panel1->Handle.ToPointer(),0);
if (!capDriverConnect(hWnd_WC,0)){
System::Windows::Forms::MessageBox::Show("La webcam n'est pas connectée.");
exit(0);
}
capPreviewScale(hWnd_WebCam, true);
capPreviewRate(hWnd_WebCam, 66);
capPreview(hWnd_WebCam, true);
Ma question c'est pourquoi quand j'enleve le "if" (la condition) la webcam ne fonctionne pas?
Et merci d'avance!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_louis14 Messages postés 793 Date d'inscription mardi 8 juillet 2003 Statut Membre Dernière intervention 10 février 2021 8
11 mai 2011 à 08:23
Bonjour,
pour les librairies, je te l'avais signalé : soit on les rajoute aux propriétés du projet et mieux comme tu l'as fait par le pragma.
Pour le "if" je ne comprends pas trop ta question:
- enlever "if" de la ligne, dasn ce cas on sort pas exit(0)
- enlever toute la ligne : cette fonction est nécessaire pour connecter la fenêtre au driver de ta caméra ( du moins la première caméra). Je te conseille de lire l'aide des fonctions de vfm.
Ou de chercher des projets qui l'utilise sur ce site et qui expliquent l'usage de chaque fonction.


louis
0
raikko21 Messages postés 33 Date d'inscription jeudi 30 septembre 2010 Statut Membre Dernière intervention 24 novembre 2011
12 mai 2011 à 01:24
Salut tlm!!!
Quand je dis enlever le "if" je veux dire enlever tout ca:

if (!capDriverConnect(hWnd_WC,0)){
System::Windows::Forms::MessageBox::Show("La webcam n'est pas connectée.");
exit(0);
}

Psq c'est un message d'erreur qui s'affiche si la camera n'est pas connectée?
En ce qui concerne les fonctions de la camera je les ai lu et essayé (enfin la plupart).

Voila, et merci beaucoup pour ton aide
0
cs_louis14 Messages postés 793 Date d'inscription mardi 8 juillet 2003 Statut Membre Dernière intervention 10 février 2021 8
12 mai 2011 à 08:11
Bonjour,
Dans ce cas, je te conseille de mettre un message du genre " branchez votre caméra et refaire la procédure d'initialisation.
Sinon je ne vois pas ce qui te gêne, c'est tout de même normal d'arrêter si la caméra n'est pas branchée.

Bon codage.


louis
0
raikko21 Messages postés 33 Date d'inscription jeudi 30 septembre 2010 Statut Membre Dernière intervention 24 novembre 2011
13 mai 2011 à 12:58
Bonjour,
OK reçu 5/5, merci beaucoup louis pour ton aide et ta disponibilité.
Bon codage a toi aussi :)


Maths, Physique, Astrophysique, Astronomie, Électronique.... Si je peux aider!
0
cs_louis14 Messages postés 793 Date d'inscription mardi 8 juillet 2003 Statut Membre Dernière intervention 10 février 2021 8
13 mai 2011 à 13:51
Alors siu tu connais quelqu'un qui fait du Python et qui utilise la bibliothèque HDF5, je suis preneur.



louis14
0
raikko21 Messages postés 33 Date d'inscription jeudi 30 septembre 2010 Statut Membre Dernière intervention 24 novembre 2011
13 mai 2011 à 23:41
Salut,
Ok, si je trouve quelque chose je te ferais signe.


Maths, Physique, Astrophysique, Astronomie, Électronique... Si je peux aider!
0
Rejoignez-nous