Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Desktop.Open Con Otro Prgrama Diferente Que El Que Esta Por Defecto En El S...
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Desktop.Open Con Otro Prgrama Diferente Que El Que Esta Por Defecto En El Sistema 
 
Hola a todos.
Alguien podría decir si es posible abrir un archivo, por ejemplo archivo.html pero en vez de que lo haga con el navegador de turno lo haga con el editor de texto de turno?

Saludos.
 



 
tincho - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Desktop.Open Con Otro Prgrama Diferente Que El Que Esta Por Defecto En El Sistema 
 
Prueba este código.

Public Sub Form_Open()
Dim sHtml As String = User.home &/ "index.html"
Dim sTxt As String = Mid(sHtml, 1, InStr(sHtml, ".")) & "txt"

Move sHtml To sTxt

Desktop.Open(sTxt, True) 'gb.desktop

Move sTxt To sHtml

End
 

 



 
cogier - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Desktop.Open Con Otro Prgrama Diferente Que El Que Esta Por Defecto En El Sistema 
 
No es posible directamente, ...pero de la Clase "Desktop" tú podrías utilizar el Método ".RunExec( )", activando el Componente "gb.desktop".

Vamos a ver un exemplum, donde nosotros abriremos un archivo html con un Editor de texto:
Public Sub Button1_Click()

  DesktopFile.RunExec("nombre_del_Editor", "/ruta/del/archivo.html", False)

End

Si el tercer argumento está a "True", gambas nos solicitará la inserción de la nuestra contraseña.

Hace falta pero decir que cerrando el programa gambas, será cerrado automáticamente también el programa Editor llamado. Eso, por qué el Método ".RunExec( )" sigue gestionando el proceso del programa Editor, también después de su abertura.
En efecto este Método devuelve una variable de tipo "Process" para gestionar - eventualmente - el proceso del programa (el Editor) abierto.
 



 
última edición por vuott el Martes, 18 Septiembre 2018, 16:54; editado 1 vez 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Desktop.Open Con Otro Prgrama Diferente Que El Que Esta Por Defecto En El Sistema 
 
Gracias por los aportes.
Que les parece esto:
stxDefaultApps = GEFSys.Mimex("text/plain")
      If stxDefaultApps.Count > 0 Then
        Shell stxDefaultApps[0] & " " & strTextFile
      Else
        Message.Warning(("Esta intentando editar de forma externa un archivo de texto, pero en su sistema no hay un editor asociado") & ".")
      Endif
 

Public Function Mimex(strMimeType As String) As String[] ''Devuelve una lista de los programas que estan asociados al tipo mime que se pasa como parametro.
  
  Dim stxOut As New String[]
  Dim df As DesktopFile
  
  For Each df In DesktopFile.FromMime(strMimeType)
    stxOut.Add(df.ProgramName)
  Next
  
  Return stxOut
  
End


Saludos.
 



 
tincho - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
Ocultar¡Este tema fue útil?

 

Elegir valoración:                       

Media de valoración Valoración mínima Valoración máxima Número de valoraciones
10.00 10 10 1
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
No puede descargar archivos
No puede publicar eventos en el calendario