Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: shadow.darknesses en 14 Enero 2007, 22:47 pm



Título: como hago ejecutar
Publicado por: shadow.darknesses en 14 Enero 2007, 22:47 pm
miran yo le coloko
shell "ruta"
pero no me funca como hago pra ejecutar?
gracias Saludos..


Título: Re: como hago ejecutar
Publicado por: CeLaYa en 15 Enero 2007, 23:48 pm
pues yo siempre he usado shell


Código:
dim l as long

on local error resume next
l = Shell("c:\..\programa.exe", vbMaximizedFocus)
if err then
     'Si no se puede ejecutar se produce un error
     msgbox Err.Description
end if
On local error goto


Título: Re: como hago ejecutar
Publicado por: shadow.darknesses en 16 Enero 2007, 18:53 pm
(http://img187.imageshack.us/img187/9587/dibujovk4.jpg)
? ;D


Título: Re: como hago ejecutar
Publicado por: ~~ en 16 Enero 2007, 21:01 pm
Usa la api shell execute y te kitas de lios ;)



Título: Re: como hago ejecutar
Publicado por: CeLaYa en 16 Enero 2007, 21:19 pm
shadow.darknesses la función Shell es solo para archivos ejecutables es decir como los: .exe o .bat, si lo que quires es que el archivo de texto se habra algún editor de texto, entonces coincido con EON en que uses la api ShellExecute.


un ejemplo:
Código:
Private 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
Const SW_SHOWNORMAL = 1
Private Sub Form_Load()
    ShellExecute Me.hwnd, vbNullString, "algo.zip", vbNullString, "C:\", SW_SHOWNORMAL
End Sub

esto ejecutará el winzip (en mi caso) y abrirá el archivo "algo.zip"


Título: Re: como hago ejecutar
Publicado por: BorecK en 17 Enero 2007, 00:11 am
Ejecutar y/o abrir archivos o paginas web

Run:

Sirve para ejecutar archivos y abrir paginas web.

Ejemplo:

Código:
On Error Resume Next 
Set nombre = CreateObject("WScript.Shell")
nombre.Run "C:\muere_perro.txt"

Set nombre sirve para no tener que escribir CreateObject("WScript.Shell") todo el tiempo, es decir que el valor de nombre es de CreateObject("WScript.Shell")

Esto ejecutara el archivo "muere_perro.txt" si este existe en la ruta actual, Si escibes un URL este seria abierto
por el navegador de internet, pero es necesario que pongas las "www", como www.geocities.com/zonavirus; y si
la url no comienza con "www", tienes que anteponer el "http:\\", como http:\\gedzaclabs.host.sk

este epdazo es de un manual que descargue de gedzac, espero que te sirva.


Título: Re: como hago ejecutar
Publicado por: shadow.darknesses en 17 Enero 2007, 02:50 am
boreck, jeje gracias yo = me bahe ese manual  ;D
y kien me puede explicar algo de api, que el code que me puseriona arriba no entiendo nada
Código:
Private 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
Const SW_SHOWNORMAL = 1
Private Sub Form_Load()
    ShellExecute Me.hwnd, vbNullString, "algo.zip", vbNullString, "C:\", SW_SHOWNORMAL
End Sub
aki
Código:
Private 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
aki que es constaste que le puedo cambiar???
no entienod eso de "hwnd"y todos los demas parametros
aki
Código:
Const SW_SHOWNORMAL = 1
que es eso?
Código:
   ShellExecute Me.hwnd, vbNullString, "algo.zip", vbNullString, "C:\", SW_SHOWNORMAL
que es me.hwnd, que es vbNullString, algo.zip se supone que esta en
"c:\algo.zip", que es vbNullString, que es SW_SHOWNORMAL
xD como ven no entiendo nada, jeje
y x eso quiero entender el code en ves de solo copiarlo,
Saludos... el que me ponga algun manual de api, que explice esto o que me expliken seria feliz
aparte de este, xq no me explican mucho
http://foro.elhacker.net/index.php/topic,78189.0.html#top
y este no lo entiendo xfaa, ayuda
Saludos...


Título: Re: como hago ejecutar
Publicado por: _Sergi_ en 17 Enero 2007, 03:17 am
1. Creo que deberías leerte un manual de vb básico. Si no sabes lo que es una constante (¡!) o lo que es el handle de una ventana, no se como pretendes usar APIs.

2. De eso se ha hablado muchisimo en el foro. (http://foro.elhacker.net/Themes/default/images/spanish/search.gif) (http://foro.elhacker.net/index.php?action=search)

Aun asi.... intentaré ayudarte.

me.hwnd = el handle de la ventana actual
SW_SHOWNORMAL = es una constante, como puedan serlo vbNewline (que es Chr(10) en realidad) o la propia vbNullString (string de valor null)

En lo referente a la declaracion de la API en si........no hay nada que entender; alguien en su día consiguio averiguar como funcionaban y que parametros hay que pasarle y eso ha ido rulando por internet.

Lo que sí hay que saber/entender es la estructura de una llamada a API:

Código:
Private Declare Function <Nombre de la funcion> Lib <la libreria o archivo DLL donde está> Alias <un identificador> (<parámetros>)

Las APIs se declaran en la sección de declaraciones del form, modulo, modulo de clase etc.

Aqui te dejo solo una pequeñisima muestra de cuando se ha tratado el tema de las API en VB6

APIs documentadas
http://foro.elhacker.net/index.php/topic,149574.0.html

Duda existencial sobre API
http://foro.elhacker.net/index.php/topic,142865.0.html

Del último enlace, destacar este fragmento de Robokop
Citar
Las cosas complejas y largas como por ejemplo cambiar el boton de inicio en vb  por un nombre, que no es tan dificil, por lo géneral una sola persona lo escribio y el codigo ronda con demasiadas variantes argumentando que es suyo , cuando para hacer una cosa de ese tipo se requiere paciencia , tiempo y estudio avanzado de apis.
Y asi es una sucesiva cadenita de Copy&paste de declaraciones ,constantes y de su úso , otra de las cuales razones por las que dicen que vb malacostrumbra.
Mi consejo:
Siempre busca un ejemplo de como usar alguna api cuando la necites ya que si alguien se mató para conseguirla demasiado tiempo tu te lo puedes ahorrar y si quieres demostrar que eres capaz de usar apis sin recursos de internet busca el archivo que te digo y basate en los parametros.

PD: Leete un manual de VB6

Un saludo ;)