Comment obtenir le nom de l’executable sous AmigaOS ?
12 sujets de 1 à 12 (sur un total de 12)
-
Salut,
Afin de déduire le nom de l’icône associée à un programme, j’aurais
besoin de récupérer le nom de l’executable lancé depuis le Shell ou le
Workbench.
Avec gcc pour MorphOS, la variable « _ProgramName » présente dans
libnix me fournit cela.
Avec gcc pour AmigaOS, il n’y a rien de tel dans cette librairie
Pour un lancement depuis le shell, il y a toujours argv[0]
pour obtenir le nom de la commande, mais pour le lancement depuis le
Workbench, cela ne marche plus.
Quelqu’un aurait-il une solution pour ce problème ?
Merci d’avance.
Rolala non !! C’est tout pourri les gars !
#include
#include
void main(void)
{
STRPTR buf_path;
if (buf_path = AllocMem(1024,MEMF_CLEAR))
{
STRPTR buf_file;
if (buf_file = AllocMem(1024,MEMF_CLEAR))
{
BPTR lock;
if (lock = GetProgramDir())
{
NameFromLock(lock,buf_path,1024);
Printf(« Chemin: ‘%s’n »,buf_path);
}
GetProgramName(buf_file,1024);
Printf(« Fichier ‘%s’n »,buf_file);
AddPart(buf_path,buf_file,1024);
Printf(« Chemin complet: ‘%s’n »,buf_path);
FreeMem(buf_file,1024);
}
FreeMem(buf_path,1024);
}
}
Voilà C’est plu joli comme ça
Et pour les développeur amiga il y a l’excellent site francophone:
Malheureusement la fonction GetProgramName() ne donne le nom que si
l’application est lancée depuis le Shell.
Visiblement, sous AmigaOS, l’accès au nom de l’exécutable peut être
récupéré par :
Pour un lancement depuis le Workbench
FindTask(NULL)->tc_Node.ln_Name
Pour un lancement depuis le Shell
GetProgName(Buffer, MaxSize) ou argv[0]
A plus.
J’en profite pour signaler que le « prog de leo » n’est pas de leo mais de Matteo Cortese. Leo a soigneusement omis de mentionner l’auteur original dans son readme. A moins qu’il n’ait eu l’accord de l’auteur, il n’a d’ailleurs probablement pas le droit de distribuer son alttabber modifié.
12 sujets de 1 à 12 (sur un total de 12)
- Vous devez être connecté pour répondre à ce sujet.
› Forums › AmigaOS, MorphOS et AROS › Développement › Comment obtenir le nom de l’executable sous AmigaOS ?