Llamar a programa externo

03/02/2005 - 15:36 por Cristian | Informe spam
Hola a todos !
estoy desarrollando una aplicacion en vb .net para un
equipo que tiene ce.net 4.2
Necesito hacer una llamada al cmd.exe desde el visual basic
pero quitaron la opcion shell para .net compact framework.
Alguno sabe como realizar esta operacion ?

Preguntas similare

Leer las respuestas

#1 José Miguel Torres
03/02/2005 - 15:50 | Informe spam
En OpenNetCF encontraras una libreria que si lo hace. Es OpenSource con lo
cual puedes bajarte el código. Mira
http://www.opennetcf.org/library/Op...mbers.html

Saludos
José Miguel Torres
jtorres_diaz~~ARROBA~~terra.es
http://jmtorres.blogspot.com


"Cristian" escribió en el mensaje
news:166e01c509fd$c51bda80$
Hola a todos !
estoy desarrollando una aplicacion en vb .net para un
equipo que tiene ce.net 4.2
Necesito hacer una llamada al cmd.exe desde el visual basic
pero quitaron la opcion shell para .net compact framework.
Alguno sabe como realizar esta operacion ?
Respuesta Responder a este mensaje
#2 Cristian
03/02/2005 - 22:27 | Informe spam
Gracias José. Lo pruebo y te aviso.

En OpenNetCF encontraras una libreria que si lo hace. Es


OpenSource con lo
cual puedes bajarte el código. Mira
http://www.opennetcf.org/library/Op...ostics.Pro


cessMembers.html

Saludos
José Miguel Torres
jtorres_diaz~~ARROBA~~terra.es
http://jmtorres.blogspot.com


"Cristian" escribió


en el mensaje
news:166e01c509fd$c51bda80$
Hola a todos !
estoy desarrollando una aplicacion en vb .net para un
equipo que tiene ce.net 4.2
Necesito hacer una llamada al cmd.exe desde el visual




basic
pero quitaron la opcion shell para .net compact




framework.
Alguno sabe como realizar esta operacion ?




.

Respuesta Responder a este mensaje
#3 Juan Luis Gordillo Amigo
25/02/2005 - 21:07 | Informe spam
Public Class Procesos

Overloads Declare Function CreateProcess Lib "CoreDll.dll" (ByVal imageName
As String, ByVal cmdLine As String, ByVal lpProcessAttributes As IntPtr,
ByVal lpThreadAttributes As IntPtr, ByVal boolInheritHandles As Int32, ByVal
dwCreationFlags As Int32, ByVal lpEnvironment As IntPtr, ByVal
lpszCurrentDir As IntPtr, ByVal si As Byte(), ByVal pi As ProcessInfo) As
Integer

Declare Function WaitForSingleObject Lib "CoreDll.dll" (ByVal Handle As
IntPtr, ByVal Wait As Int32) As Int32

Declare Function GetLastError Lib "CoreDll.dll" () As Int32

Declare Function CloseHandle Lib "CoreDll.dll" (ByVal Handle As IntPtr) As
Int32

Public Class ProcessInfo

Public hProcess As IntPtr

Public hThread As IntPtr

Public ProcessId As Int32

Public ThreadId As Int32

End Class

Public Overloads Shared Function CreateProcess(ByVal ExeName As String,
ByVal CmdLine As String, ByVal pi As ProcessInfo) As Boolean

Dim INFINITE As Int32

INFINITE = &HFFFFFFFF

Dim WAIT_OBJECT_0 As Int32 = 0

Dim result As Int32

If pi Is Nothing Then

pi = New ProcessInfo

End If

Dim si(128) As Byte

result = CreateProcess(ExeName, CmdLine, IntPtr.Zero, IntPtr.Zero, 0, 0,
IntPtr.Zero, IntPtr.Zero, si, pi)

If (0 = result) Then

Return False

End If

result = WaitForSingleObject(pi.hProcess, INFINITE)

CloseHandle(pi.hThread)

CloseHandle(pi.hProcess)

If (WAIT_OBJECT_0 <> result) Then

Return False

End If

Return True

End Function

End Class

Private Sub PictureBox1_Click(ByVal sender As Object, ByVal e As
System.EventArgs) Handles PictureBox1.Click

'visor de pdf Adobe Acrobat 2.0 para Windows Mobile

Dim progPath As String = ".\Adobe\Acrobat 2.0\Reader\AcroRd32.exe"

Dim pi As New Procesos.ProcessInfo

If Procesos.CreateProcess(progPath, identificador & "_VISITAS.PDF", pi) Then

'MessageBox.Show(String.Format("Ok! al abrir la aplicación." +
ControlChars.Lf + "PID = 0x{0:X8}" + ControlChars.Lf + "({0})",
pi.ProcessId), "Esperando...")

Else

MessageBox.Show(String.Format("Error al abrir Acrobat Reader for Pocket PC
2.0" + ControlChars.Lf + "System Error = 0x{0:X8}" + ControlChars.Lf +
"({0})", Procesos.GetLastError()), "Esperando...")

End If

End Sub

Saludos,

Juan Luis

"Cristian" escribió en el mensaje
news:166e01c509fd$c51bda80$
Hola a todos !
estoy desarrollando una aplicacion en vb .net para un
equipo que tiene ce.net 4.2
Necesito hacer una llamada al cmd.exe desde el visual basic
pero quitaron la opcion shell para .net compact framework.
Alguno sabe como realizar esta operacion ?
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida