Utiliser capCreateCaptureWindow en Windows Form [Résolu]

Signaler
Messages postés
33
Date d'inscription
jeudi 30 septembre 2010
Statut
Membre
Dernière intervention
24 novembre 2011
-
Messages postés
33
Date d'inscription
jeudi 30 septembre 2010
Statut
Membre
Dernière intervention
24 novembre 2011
-
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
A voir également:

10 réponses

Messages postés
793
Date d'inscription
mardi 8 juillet 2003
Statut
Membre
Dernière intervention
10 février 2021
8
Messages postés
793
Date d'inscription
mardi 8 juillet 2003
Statut
Membre
Dernière intervention
10 février 2021
8
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
Messages postés
33
Date d'inscription
jeudi 30 septembre 2010
Statut
Membre
Dernière intervention
24 novembre 2011

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
Messages postés
33
Date d'inscription
jeudi 30 septembre 2010
Statut
Membre
Dernière intervention
24 novembre 2011

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!
Messages postés
793
Date d'inscription
mardi 8 juillet 2003
Statut
Membre
Dernière intervention
10 février 2021
8
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
Messages postés
33
Date d'inscription
jeudi 30 septembre 2010
Statut
Membre
Dernière intervention
24 novembre 2011

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
Messages postés
793
Date d'inscription
mardi 8 juillet 2003
Statut
Membre
Dernière intervention
10 février 2021
8
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
Messages postés
33
Date d'inscription
jeudi 30 septembre 2010
Statut
Membre
Dernière intervention
24 novembre 2011

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!
Messages postés
793
Date d'inscription
mardi 8 juillet 2003
Statut
Membre
Dernière intervention
10 février 2021
8
Alors siu tu connais quelqu'un qui fait du Python et qui utilise la bibliothèque HDF5, je suis preneur.



louis14
Messages postés
33
Date d'inscription
jeudi 30 septembre 2010
Statut
Membre
Dernière intervention
24 novembre 2011

Salut,
Ok, si je trouve quelque chose je te ferais signe.


Maths, Physique, Astrophysique, Astronomie, Électronique... Si je peux aider!