lex1111
Messages postés220Date d'inscriptionjeudi 30 mars 2006StatutMembreDernière intervention26 octobre 2007
-
19 nov. 2006 à 11:40
lex1111
Messages postés220Date d'inscriptionjeudi 30 mars 2006StatutMembreDernière intervention26 octobre 2007
-
19 nov. 2006 à 12:14
salut a tous, je suis en vb 2005 depuis 2 jours et j'essaye de retranscrire mon prog qui est en vb6 mais j'ai un problème avec le shellexecute....
(j'ai cherché assez longtemps sur vbfrance et je n'ai pas trouver de solution...)
sur vb6, j'avais ce code qui fonctionnait...
Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
pour ouvrir un site... val = ShellExecute(0&, vbNullString, "http://www.google.fr", vbNullString, vbNullString, vbNormalFocus)
pour ouvrir un film...
val = ShellExecute(Me.hWnd, vbNullString, fichier, "C:", vbNormalFocus)
Mais maintenant aucune des 2 méthodes ne fonctionne...et j'ai l'impression que cela vient de la variable handle (hwnd)
mais je ne sais pas comment faire pour trouver le hwnd
Message d'erreure :
L'Assistant Débogage managé 'PInvokeStackImbalance' a détecté un problème dans 'D:\programmation\SOURCES MOI\HDDIVX\HD_DIVX v3.0 vb.net\HD-Divx\bin\Debug\HD-Divx.vshost.exe'.
Informations supplémentaires : Un appel à la fonction PInvoke 'HD-Divx!HD_Divx.general::ShellExecute' a déséquilibré la pile. Cela peut se produire, car la signature PInvoke managée ne correspond pas à la signature cible non managée. Vérifiez que la convention d'appel et les paramètres de la signature PInvoke correspondent à la signature non managée cible.
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 19 nov. 2006 à 11:53
Entierement d'accord avec Kenji
Sinon le problème vient de la déclaration du type de variable.
En .Net les type de variable ont changé, ainsi un Long (VB6, api) devient un Integer (.Net) ou si tu préfère un Int32.
---- Sevyc64 (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #