Crear una entrada en el Menu de Windows...

Hola a tod@s, he hecho un programita para organizar mis MP3´s, te saca el bitrate, puedes crear tu lista,...
Lo que no tengo ni idea es de como crear una entrada en el menu de windows, de manera que cuando pinches el botón derecho en windows sobre un .MP3 te deje por ejemplo:"Añadir a la lista..." e interactue con mi programa. GRACIAS por adelantado.

1 respuesta

Respuesta
1
Bajate este ejemplo:
http://www.torry.net/samples/samples/os/regtype.zip
Ahí tienes solución a todo lo que buscas:
- registrar/desregistrar extensiones de archivos
- agregar/borrar entradas en el menu de contexto para extensiones
- agregar/borrar entradas en el menu de contexto dentro de la sección "nuevo"
Cualquier pregunta avisame.
Germán.
Muchas gracias por la ayuda, me sirve de bastante, pero no tengo claro una cosa, tu añades un entrada en el menu de windows, imaginemos "Agregrar a la lista", ¿Como le doy una funcionalidad a esa entrada relacionada con mi programa?, quiero decir, se que puedo coger un archivo, boton derecho, editar=comando 'Edit', pero si lo que quiero no es editar y quiero añadirlo a un listbox p.e que comando le pongo.
En el winamp pone algo como: "Winamp.exe /add %1" pero ese "/add" lo tendrás que implementar en tu aplicación, ¿si es así donde y como lo implemento?
Espero no darte la tabarra, pero quería que conocieses de manera definitiva la duda que tengo.
Gracias.
Para acceder a los parámetros con los que se ejecuto tu aplicación ("/add %1", por ejemplo) tienes que utilizar 2 funciones:
1) function ParamCount: Integer;
2) function ParamStr(Index: Integer): string;
Con la 1) obtenés la cantidad de parámetros que se indico en la linea de comandos, con la 2) obtenés cada uno de esos parámetros (index=0 el nombre y path de tu aplicación, index=1 el primer parámetro, index=2 el segundo parámetro, etc)
En base a el análisis de los parámetros tendrías que tomar una acción en tu aplicación
Cualquier otra duda avisame
Germán.
La ultima de verdad y te doy un 10, añado la entrada en el menu de windows:
"OrganizaMP3.exe /insertar %1" p.e, o
"OrganizaMP3.exe /buscarcoin %1" p.e,
¿Dónde y como declaro "insertar" o "buscarcoin" en mi aplicación?
Supongo que tendrías que hacer algo así:
procedure TForm1.FormCreate(Sender: TObject);
var
archivoMP3 : string;
begin
if ParamCount = 2 then
begin
if ParamStr(1) = '/insertar' then
begin
archivoMP3 := ParamStr(2);
// hacer algo con el archivo
// ...
// ...
// ...
end;
end;
end;
en el oncreate del form principal
¿Es eso lo que me preguntas o yo no entendí bien?
Cualquier duda contáctame
Germán
Todo lo que me has dicho funciona pero no me vale para mi caso concreto, t comento:
Si tengo mi aplicación abierta y selecciono en windows unos mp3, botón derecho insertar en la lista, no funciona porque en mi aplicación lo trato en "OnFormCreate", y yo no quiero abrir otra instancia de mi programa, quiero mandar al que esta "abierto" esos .mp3.
Si sabes algo comentame.
Gracias.
Si usas delphi 5 (o menor) bajate el componente:
http://www.torry.net/vcl/system/shell/shcmdint.zip
Ahí esta todo lo que buscas, si usas D6 o D7 hay que modificarlo (si quieres te ayudo a modificar el código del componente).
Germán.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas