Para abrir el notepad con un archivo especifico tienes que usar el sig. código:
Shell "notepad " & "c:\archivo.txt", vbMaximizedFocus
Esto te abre con el notepad el archivo c:\a.txt, y lka ventana esta maximizada
Para hacer mejor el código, podes hacer lo sig:
Si el archivo que quieres abrir esta en la misma aplicación donde se esta ejecutando la aplicación usa el sig. código:
Shell "notepad " & app.path & "\archivo.txt", vbMaximizedFocus
Si quieres seleccionar los archivos desde el programa, podes utilizar los controles drivelistbox, dirlistbox y filelistbox. El sig código te sirve para que cuando cambies de unidad (drivelistbox) se actualice el dirlistbox (directorios) y que cuando selecciones otro directorio te muestre los archivos del mismo (filelistbox):
Private Sub Dir1_Change()
File1.Path = Dir1.Path
End Sub
Private Sub Drive1_Change()
Dir1.Path = Drive1.Drive
End Sub
Si quieres que el filelistbox solo te muestre los archivos .txt, tienes que modificarle la propiedad Pattern.
Si quieres saber si la extensión del archivo seleccionado (filelistbox) es .txt tienes que usar el siguiente código:
If (LCase(Trim(File1.filename)) Like "*.txt") Then
'la extension es .txt
Else
'no es .txt
End If
NOTA: Lo que sigue a continuación varia según en que windows ejecutemos la aplicación: 9x (95, 98, 98 se, me, etc.) o NT (nt, 2000, xp, etc). El código es para 9x, pero si quieres para nt, tienes que avisarme.
El archivo notepad.exe suele estar en C:\windows\ y este subdirectorio suele estar el el PATH, así que si simplemente pones notepad te debería (casi siempre) abrir el notepad. Pero si lo quieres perfeccionar podes obtener el directorio de windows, usando el código que aparece en la sig. página:
NOTA: La primer parte va en un archivo module (menu project->add module)
http://www.vbcity.com/page.asp?f=howto&p=system_windirEntonces si windows lo instalaste en "D:\win\", cuando ejecutes GetWindowsDirectory & "notepad.exe" te va a devolver "D:\win\notepad.exe"
Puede ser que los archivos .txt se abrar con otra aplicación, alguna que nosotros hayamos instalado, para determinar cual es usa el código de la sig. página:
http://www.vbcity.com/page.asp?f=howto&p=system_ext_assocPara deshabilitar las teclas ctr+alt+del, alt+tab y win en win 9x tnes que usar el codigo de la sig. pagina:
http://www.geocities.com/b_lybbert/faq/a0001.txtPara hacerlo en win nt es totalmente distinto:
Win9x (95, 98, me) es muy distinto de winxp (win 2000 o nt). En win9x presionando ctrl+alt+del una vez se accede a los procesos en ejecución, pero si lo hacemos otra vez reinicia la maquina. Tu programa deshabilita estas teclas para que nadie pueda terminar el proceso del tu soft. Y para que nadie pueda reiniciar en modo a prueba de fallos (aunque esto se soluciona poniéndoles un pass en el bios, igual sacando la pila se sacaría el pass).
En winXP no importa cuantas veces se presione ctrl+alt+del siempre muestra la ventana del administrador de tareas. Desde esta aplicación se puede terminar procesos, cambiar de usuario, estadísticas, etc. Siempre que se inicie winXP (en modo a prueba de fallos, común, y cualquiera) siempre pide el password.
Por lo tanto para que no te puedan hackear (matar) tu soft. En winXP solo tendría que deshabilitar el administrador de tareas. Para hacer esto es mucho más fácil que win9x, ya que solo tienes que modificar el registro. Para saber como ingresa a la sig. página:
http://is-it-true.org/nt/xp/registry/rtips23.shtmlTambién para evitar que alguien acceda al registro y te lo modifique podes leer esta página:
http://www.kellys-korner-xp.com/xp_tweak_bookmarks.htmY buscar "Disable Registry Editing Tools".
Obviamente para que el soft. Funcione en todos los windows debería detectar cual tipo de windows es y según esto llamar a la función