Para lo que quieres hay varias formas de hacerlo. 2 relativamente sencillas (siempre que se sepa un mñínimo de programación)...
1 - Añade una interfaz gráfica a tu programa. en el como te dice Okik, usa un control OpenFileDialog, para guiar al usuario a la carpeta deseada y que elija uno o varios ficheros. A la devolución del openfiledialog.show, si hay al menos un fichero (si no se canceló), usas la ruta openfiledialog.filename como ruta para comprimir.
(mira bien los métodos que ofrece (.initdir , .path, .extension, .filter, etc...)
2 - Como te señaló Elektro, añadiendo una shellextensión. A tu nivel, mejor el 'modo cutre' añadiendo alguna clave al registro en las clases "*" (cualquier fichero) incluso en "folder", para comprimir el contenido de toda una carpeta.
en este caso tu programa no precisa una interfaz de usuario, el usuario usa el 'explorador de ficheros' del propio windows, cuando el usuario pincha en un fichero, se muestra el menú contextual (el menú emergente del explorador de ficheros de windows) y si el usuario elige del menú la opción (de ejemplo): "Comprimir con rigorvzla.exe", la shell de windows, enviará un comando a tu programa (el formato del mismo es el que tú le dejes al editar la clave en el registro), es decir tu programa se arrancará y recibirá un comando 8una orden), con al menos 1 parámetro (las ruta del fichero)... ahí tu ya examinas la orden recibida (que tú elegiste poner en las claves del registro) para saber que orden es, qué se debe hacer con ese fichero... y si es comprimir, lo comprimes.
3 - Similar al openFioleDialog, solo que en vez de usar un control para el caso, lo creas tú a tu antojo (no es preciso que sea un control de usuario, puede ser una ventana con toda la funcionalidad exprofeso). al final tendrás un control de tipo lista, donde se ha rellenado con los nombres de los ficheros qwue contenga la carpeta seleccionada, al caso ahí sería acertado seleccionar el/los ficheros deseados yluego pulsar un botón "&Comprimir", que es donde se le dará la orden. el botón solo se activaría cuando la lista tenga ítems seleccionados... etc, etc... (si me enrrollo, corro el riesgo de que tampoco lo leas).
Y sin ánimo de crear polémica, yo también desconozco eso de sombrar o sombrear... técnicamente seleccionar un ítem de una colección, puede o no tener sombra, pués es una cuestión meramente gráfica y a gusto del que lo programe, típicamente se cambia de color el ítem, o se pone en negrita, incluso hay quien lo refleja cambiando el tamaño y/o el tipo de fuente. Si además de seleccionado es el ítem que tiene el foco, lo típico es dibujar una retícula de puntos sobre el ítem. Mi consejo es que si quieres programar-ser programador, uses la jerga de los programadores, para hacerte entender. No puede haber un lenguaje por cada programador, sería como la torre de Babel, ininteligible, jamás nos entenderíamos y se pierde muchísimo tiempo con ello... Si leyeras todo eso que no quieres leer, sin darte cuenta se te 'pegaría' la jerga adecuada...
p.d.: en realidad en la red, hay muchos ejemplos con código para cada caso... pero para encontrarlos, efectivamente hace falta usar las palabras correctas en el buscador.
1 - Añade una interfaz gráfica a tu programa. en el como te dice Okik, usa un control OpenFileDialog, para guiar al usuario a la carpeta deseada y que elija uno o varios ficheros. A la devolución del openfiledialog.show, si hay al menos un fichero (si no se canceló), usas la ruta openfiledialog.filename como ruta para comprimir.
(mira bien los métodos que ofrece (.initdir , .path, .extension, .filter, etc...)
2 - Como te señaló Elektro, añadiendo una shellextensión. A tu nivel, mejor el 'modo cutre' añadiendo alguna clave al registro en las clases "*" (cualquier fichero) incluso en "folder", para comprimir el contenido de toda una carpeta.
en este caso tu programa no precisa una interfaz de usuario, el usuario usa el 'explorador de ficheros' del propio windows, cuando el usuario pincha en un fichero, se muestra el menú contextual (el menú emergente del explorador de ficheros de windows) y si el usuario elige del menú la opción (de ejemplo): "Comprimir con rigorvzla.exe", la shell de windows, enviará un comando a tu programa (el formato del mismo es el que tú le dejes al editar la clave en el registro), es decir tu programa se arrancará y recibirá un comando 8una orden), con al menos 1 parámetro (las ruta del fichero)... ahí tu ya examinas la orden recibida (que tú elegiste poner en las claves del registro) para saber que orden es, qué se debe hacer con ese fichero... y si es comprimir, lo comprimes.
3 - Similar al openFioleDialog, solo que en vez de usar un control para el caso, lo creas tú a tu antojo (no es preciso que sea un control de usuario, puede ser una ventana con toda la funcionalidad exprofeso). al final tendrás un control de tipo lista, donde se ha rellenado con los nombres de los ficheros qwue contenga la carpeta seleccionada, al caso ahí sería acertado seleccionar el/los ficheros deseados yluego pulsar un botón "&Comprimir", que es donde se le dará la orden. el botón solo se activaría cuando la lista tenga ítems seleccionados... etc, etc... (si me enrrollo, corro el riesgo de que tampoco lo leas).
Y sin ánimo de crear polémica, yo también desconozco eso de sombrar o sombrear... técnicamente seleccionar un ítem de una colección, puede o no tener sombra, pués es una cuestión meramente gráfica y a gusto del que lo programe, típicamente se cambia de color el ítem, o se pone en negrita, incluso hay quien lo refleja cambiando el tamaño y/o el tipo de fuente. Si además de seleccionado es el ítem que tiene el foco, lo típico es dibujar una retícula de puntos sobre el ítem. Mi consejo es que si quieres programar-ser programador, uses la jerga de los programadores, para hacerte entender. No puede haber un lenguaje por cada programador, sería como la torre de Babel, ininteligible, jamás nos entenderíamos y se pierde muchísimo tiempo con ello... Si leyeras todo eso que no quieres leer, sin darte cuenta se te 'pegaría' la jerga adecuada...
p.d.: en realidad en la red, hay muchos ejemplos con código para cada caso... pero para encontrarlos, efectivamente hace falta usar las palabras correctas en el buscador.