Forums Últimos mensajes - Powered by IBM
 

Ahora con procesos del sistema

02/01/2006 - 18:26 por Ch0rY | Informe spam
Como nadie me ha contestado a esto

Estoy usando un control webbrowser llamado weboculto, para comprobar si
existe el archivo o no, de esta forma

webOculto.Navigate(New Uri(RutaArchivo))

como hago para q no salte el gestor de descargas, ni el cuadro de dialogo
guardar como, para poder descargarlo desde mi aplicacion, y no tener que
estar cancelando cadavez q va a descargar un archivo?

lo intento enfocar desde otro punto.

Se que es posible cerrar aplicaciones y procesos desde vb.net

Dim proc As Process
Dim processes() As Process
Dim procName As String = "descarga de archivo"
processes = Process.GetProcesses
For Each proc In processes
If proc.MainWindowTitle.ToLower.IndexOf(procName) <> -1 Then
proc.CloseMainWindow()
proc.WaitForExit()
End If
Next

pero como hago para que ese codigo se ejecute cuando se carga un nuevo
proceso en memoria?

Gracias
 

Leer las respuestas

#1 Jesús López
02/01/2006 - 23:47 | Informe spam
Yo creo que usar un control webbrowser para comprobar si un archivo existe o
no es como matar moscas a cañonazos.

Una forma más liviana de ver si un archivo es accesible a través de http es
usar un objeto webrequest con el método HEAD para obtener sólo la
información mínima acerca del archivo, en vez de intentar descargárselo por
completo.

Supón que en un formulario tienes un botón Button1 y una caja de texto
txtUrl. El siguiente código muestra los encabezados devueltos por el
servidor en caso de que el archivo sea accesible o muestra un mensaje de
error en caso contrario. Si el archivo no existe obtentrás un error HTTP 404
que está especialmente tratado en el código:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
Dim request As WebRequest = WebRequest.Create(Me.txtUrl.Text)
request.Method = "HEAD"
Try
Dim response As WebResponse = request.GetResponse()
For Each Header As String In response.Headers.AllKeys
Debug.WriteLine(String.Format("{0}:{1}", Header,
response.Headers.Item(Header)))
Next
Catch ex As WebException
If ex.Status = WebExceptionStatus.ProtocolError And ex.Message
Like "*(404)*" Then
MsgBox("No existe")
Else
MsgBox(ex.Message)
End If
Catch ex As Exception
MsgBox("Error inesperado: " & ex.Message)
End Try
End Sub


Saludos:

Jesús López
MVP

"Ch0rY" escribió en el mensaje
news:
Como nadie me ha contestado a esto

Estoy usando un control webbrowser llamado weboculto, para comprobar si
existe el archivo o no, de esta forma

webOculto.Navigate(New Uri(RutaArchivo))

como hago para q no salte el gestor de descargas, ni el cuadro de dialogo
guardar como, para poder descargarlo desde mi aplicacion, y no tener que
estar cancelando cadavez q va a descargar un archivo?

lo intento enfocar desde otro punto.

Se que es posible cerrar aplicaciones y procesos desde vb.net

Dim proc As Process
Dim processes() As Process
Dim procName As String = "descarga de archivo"
processes = Process.GetProcesses
For Each proc In processes
If proc.MainWindowTitle.ToLower.IndexOf(procName) <> -1 Then
proc.CloseMainWindow()
proc.WaitForExit()
End If
Next

pero como hago para que ese codigo se ejecute cuando se carga un nuevo
proceso en memoria?

Gracias

Preguntas similares