jnbrunet
Messages postés258Date d'inscriptionsamedi 25 décembre 2004StatutMembreDernière intervention13 novembre 2012
-
7 nov. 2006 à 04:58
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 2014
-
7 nov. 2006 à 16:33
Bonjour,
Est-il possible d'utilisier l'api ShellExecute en mode console en vb 2005?
J'ai essayé ceci mais ca ne marche pas:
ShellExecute(CLng(handle), vbNullString, "Diablo II.exe", "-w -ns -skiptobnet", "C:\Program Files\Diablo II", SW_SHOWNORMAL)
la valeur de handle est défini dans mon code. Je la trouve à l'aide du titre de la console. Il y a surment une meilleur façon de trouver son handle, mais je ne la connais pas.
Fait plutôt ca avec un process:
System.Diagnostics.Process.Start("C:\Program Files\Diablo II\Diablo II.exe", "-w -ns -skiptobnet")
C'est du bon Framework dotnet.
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 7 nov. 2006 à 16:33
Private Declare Function ShellExecute Lib "shell32.dll" Alias
"ShellExecuteA" (ByVal hwnd As Integer, ByVal lpOperation As String,
ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory
As String, ByVal swShowCmd As Integer) As Integer Private Declare
Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName
As String, ByVal lpWindowName As String) As Integer
---- Sevyc64 (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
SW_SHOWNORMAL doit aussi etre de type Integer ainsi que la variable récupérant la valeur de retourde ShellExecute. A revoir aussi la ligne Declare de ShellExecute
---- Sevyc64 (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
ShareVB
Messages postés2676Date d'inscriptionvendredi 28 juin 2002StatutMembreDernière intervention13 janvier 201626 7 nov. 2006 à 11:34
salut,
la déclaration de l'AI pourrait se faire comme ceci :
import system.runtime.interopservices
Private Declare Ansi Function ShellExecute Lib
"shell32.dll" Alias "ShellExecuteA" (_
ByVal hwnd As Integer,_
<MarshalAs(UnmanagedType.LPStr)>ByVal lpOperation
As String,_
<MarshalAs(UnmanagedType.LPStr)>ByVal lpFile As String,_
<MarshalAs(UnmanagedType.LPStr)>ByVal lpParameters As String,_
<MarshalAs(UnmanagedType.LPStr)>ByVal
lpDirectory As String,_
ByVal nShowCmd As Integer) As Integer
Ensuite, je pense que tu peux passer 0 comme hwnd...
ShareVB
Vous n’avez pas trouvé la réponse que vous recherchez ?
jnbrunet
Messages postés258Date d'inscriptionsamedi 25 décembre 2004StatutMembreDernière intervention13 novembre 2012 7 nov. 2006 à 15:38
Ca ne marche pas...
Voici mon code:
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Integer, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal swShowCmd As Integer) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Const SW_SHOWNORMAL As Integer = 1