ShellExecuteEx

21/07/2006 - 10:14 por Juanma | Informe spam
Alguien sabe como utilizar ShellExecuteEx. Necesito utilizar esta funcion
para ejecutar un archivo con su programa predeterminado, pero cuando lo hago
me dice que necesito agregar la api de shell32. La verdad no se como hacer
para agregarla.

Gracias

Preguntas similare

Leer las respuestas

#1 SoftJaén
21/07/2006 - 10:42 | Informe spam
"Juanma" preguntó:

Alguien sabe como utilizar ShellExecuteEx. Necesito utilizar esta funcion
para ejecutar un archivo con su programa predeterminado, pero cuando lo
hago me dice que necesito agregar la api de shell32.



Hola:

En cualquier módulo de clase, declara la función API de la siguiente manera:

Private Declare Ansi Function ShellExecute Lib "shell32" _
Alias "ShellExecuteA" ( _
ByVal hwnd As IntPtr, _
ByVal lpOperation As String, _
ByVal lpFile As String, _
ByVal lpParameters As String, _
ByVal lpDirectory As String, _
ByVal nShowCmd As Integer) As Integer

Si por ejemplo deseas abrir un libro de Excel, llamarías a la función de
ésta forma:

ShellExecute(Me.Handle, _
"open", _
"C:\Mis documentos\Libro1.xls", _
Nothing, _
Nothing, _
1)

Pero ya que se supone que estás trabajando con Visual Basic .net, en lugar
de utilizar la función API «ShellExecute», usa el método «Start» de la clase
«Process»:

Dim proceso As New System.Diagnostics.Process

With proceso
.StartInfo.FileName = "C:\Mis documentos\Libro1.xls
.Start()
End With

Un saludo

Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.
Respuesta Responder a este mensaje
#2 SoftJaén
21/07/2006 - 10:47 | Informe spam
En cualquier módulo de clase, declara la función API de la siguiente
manera:



¡Bueno! Quiero decir que la declares, en cualquier módulo de clase donde
vayas a llamar a la función «ShellExecute», porque si dicha función la
deseas tener disponible a nivel del proyecto, la deberás declarar como
«Public».

Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.
Respuesta Responder a este mensaje
#3 Juanma
21/07/2006 - 12:35 | Informe spam
Gracias Enrique!


"SoftJaén" escribió en el mensaje
news:
En cualquier módulo de clase, declara la función API de la siguiente
manera:



¡Bueno! Quiero decir que la declares, en cualquier módulo de clase donde
vayas a llamar a la función «ShellExecute», porque si dicha función la
deseas tener disponible a nivel del proyecto, la deberás declarar como
«Public».

Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado
o sugerido en el presente mensaje.


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida