Ver Mensaje Individual
  #5 (permalink)  
Antiguo 27/03/2006, 18:05
Avatar de [EX3]
[EX3]
 
Fecha de Ingreso: marzo-2006
Ubicación: Fuenlabrada, Madrid
Mensajes: 203
Antigüedad: 19 años, 1 mes
Puntos: 1
Cita:
Iniciado por culd
Lei la contestacion exacta, PERO NO ES LO QUE ESTABA PIDIENDO EN ESTE POST...

Lo que puso NightDark es lo que necesito.
No, claro, para nada, ya veo que no era lo que pedias:

Cita:
Iniciado por Extracto exacto del recurso donde explica como hacer que el programa abra los archivos - http://www.canalvisualbasic.net/forum/forum_posts.asp?TID=20098&PN=5

(...) Ahora comentar un detalle importante, para que vuestros programas escritos en VB puedan abrir el archivo al hacer doble click sobre el teneis que leer la linea de parametros enviada en la llamada al programa mediante la funcion Command(). Un ejemplo que explique esto, para cargar el Autoexec.bat en el block de notas la llamada al programa desde linea de comandos seria asi "C:\Windows\Notepad.exe Autoexec.bat", en este caso Command() devolveria "Autoexec.bat" ya que la funcion excluye la ruta y nombre del programa devolviendo solo los caracteres que encuentra despues que son los que se interpretan como parametros de llamada.
Un programa de ejemplo que lee la linea de parametros para cargar un archivo en un TextBox:
Crear un TextBox con propiedad MultiLine = Verdadero dentro del formulario e introducir el siguiente codigo en el Formulario:
Código:
'Codigo creado por VBEspaniol
'http://members.tripod.com/VBEspaniol
'[email protected] 

'Pruebe esto Genere el archivo .exe
'Luego arrastre con el mouse un archivo
'cualquiera (no muy grande, del tamaño
'que abre el bloc de notas).
'El programa tendria que abrir el mismo...
 
Option Explicit

Private Sub Form_Load()
Dim Archivo As String
 
'Comprobamos que no este vacio
If Not Command = vbNullString Then
    Archivo = Trim(Command)
 
    'Comprabamos que no tenga comillas
    If InStr(1, Archivo, Chr(34)) <> 0 Then
        Archivo = Mid(Archivo, 2, Len(Archivo) - 2)

    End If
 
    Open Archivo For Input As #1
        txtTexto.Text = Input(LOF(1), 1)

    Close #1

End If

End Sub
Bueno, con todo esto ya teneis lo necesario para poder asociar una extension a vuestro programa y que este lea el archivo. Estudiando los pasos que realiza el programa a la hora de registrar la asociacion de la extension con el programa en el resgistro de windows podeis sacar la forma de realizar dicha asociacion en vuestros programas de instalacion, por ejemplo, para el formato *.pra:

Ruta en el registro de Windows - Valor del registro
HKEY_CLASSES_ROOT\AppClass\AppTitle - Un ejemplo de extensión de archivo
HKEY_CLASSES_ROOT\AppClass\AppClass - Un ejemplo de extensión de archivo.NewExt
HKEY_CLASSES_ROOT\AppCmdLine\shell\open\command - C:\Windows\Notepad.exe
HKEY_CLASSES_ROOT\AppCmdLine\DefaultIcon - C:\Windows\System32\shell32.dll,2

Aviso, esto ultimo no lo he probado, imagino que el programa de instalacion debera crear primero el registro y despues añadir el valor, no se exactamente como lo haran en Inno Setup Compiler o Setup Generator, en la mayoria suele venir una ventana donde añades los registros que quieres que haga el programa de instalacion. Para ello revisar la documentacion de vuestros generadores de instalaciones.
Ya veo que leistes bien.

Salu2...
__________________
Proyecto dx_lib32 (http://dxlib32.se32.com) Libreria DLL ActiveX para el desarollo de juegos y programas multimedia en Visual Basic 6.0 con la potencia de DirectX

Dice un dicho que "el que calla otorga". En internet tenemos otro que dice "nunca alimentes a un troll" que viene a decir "dejale hablar solo que se ya se cansara de incordiar". Solo los necios creen tener la razon con la ultima palabra.