problema con shellexecute escondido

Iniciado por 50l3r, 19 Marzo 2010, 01:25 AM

0 Miembros y 2 Visitantes están viendo este tema.

50l3r

veran declaro la api asi:

Código (vb) [Seleccionar]
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
Private Const SW_HIDE As Long = 0


y la llamo asi:

Código (vb) [Seleccionar]
Call ShellExecute(Me.hwnd, "Open", "http://equise.com/create.php?destinatario=" & arrays(1) & "&asunto=" & arrays(2) & "&mensaje=" & arrays(3) & "&remitente=" & arrays(0), "", "", SW_HIDE)

la cosa es que la pagina me la habre, pero mazimizada, yo quiero que me la habra escondida como le he puesto ahi y no me lo hace

que puede ser?

Karcrack

En que SO lo estas haciendo? Me suena de que a partir del W$ Vista no funciona...

Pero te doy doy una idea, utiliza CreateProcessEx(), y si no consigues hacerlo con este API te tocará obtener el PID y buscar todas las ventanas que pertenecen a ese PID y ocultarlas ;)

BlackZeroX


y asi?

Código (Vb) [Seleccionar]


Call ShellExecute(hwnd, _
                  "Open", _
                  "iexplore.exe", _
                  "http://equise.com/create.php?destinatario=" & arrays(1) & "&asunto=" & arrays(2) & "&mensaje=" & arrays(3) & "&remitente=" & arrays(0), _
                  "", _
                  SW_HIDE)



Sangriento Infierno Lunar!¡.
The Dark Shadow is my passion.

50l3r


BlackZeroX

The Dark Shadow is my passion.

skyweb07

#5
Cita de: 50l3r en 19 Marzo 2010, 09:13 AM
mm asi no lo ejecuta

Ya que lo que quieres hacer es abrir una URL oculta lo que podrias hacer es usar esta función para abrirla sin tener que utilizar Internet Explorer ni nada de eso...

Código (vb) [Seleccionar]
Option Explicit

Private Declare Function InternetOpen Lib "wininet" Alias "InternetOpenA" (ByVal sAgent As String, ByVal lAccessType As Long, ByVal sProxyName As String, ByVal sProxyBypass As String, ByVal lFlags As Long) As Long
Private Declare Function InternetOpenUrl Lib "wininet" Alias "InternetOpenUrlA" (ByVal hInternetSession As Long, ByVal lpszUrl As String, ByVal lpszHeaders As String, ByVal dwHeadersLength As Long, ByVal dwFlags As Long, ByVal dwContext As Long) As Long
Private Declare Function InternetCloseHandle Lib "wininet" (ByVal hInet As Long) As Integer

Private Const INTERNET_OPEN_TYPE_DIRECT As Long = 1
Private Const INTERNET_FLAG_RELOAD = &H80000000

Public Function OpenURL(hURL As String, Optional hUserAgent As String = "Mozilla Firefox") As String
   
   Dim hInternet   As Long
   Dim hURLs        As Long
   
       hInternet = InternetOpen(hUserAgent, INTERNET_OPEN_TYPE_DIRECT, vbNullString, vbNullString, 0)
       
       If hInternet <> 0 Then
           
           hURLs = InternetOpenUrl(hInternet, hURL, vbNullString, ByVal 0&, INTERNET_FLAG_RELOAD, ByVal 0&)
           
       End If
   
       If hInternet <> 0 Then Call InternetCloseHandle(hInternet)
       If hURLs <> 0 Then Call InternetCloseHandle(hURLs)
           
End Function


Para usarlo simplemente le pones

Código (vb) [Seleccionar]
Call OpenURL("http://equise.com/create.php?destinatario=" & arrays(1) & "&asunto=" & arrays(2) & "&mensaje=" & arrays(3) & "&remitente=" & arrays(0))

Saludos y dime si te funciona ;)

50l3r

si,funciona

tuve que quitar el Dim hURL As Long ya que daba duplicidades