GÉNÉRATEUR D'AUTORUN

cs_Light Angel Messages postés 48 Date d'inscription dimanche 9 mai 2004 Statut Membre Dernière intervention 1 janvier 2005 - 1 janv. 2005 à 22:30
ifebo Messages postés 181 Date d'inscription jeudi 10 mars 2005 Statut Membre Dernière intervention 28 décembre 2006 - 26 févr. 2006 à 04:30
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/28554-generateur-d-autorun

ifebo Messages postés 181 Date d'inscription jeudi 10 mars 2005 Statut Membre Dernière intervention 28 décembre 2006
26 févr. 2006 à 04:30
Bonjour, j'ai juste un problème que je n'imaginais même pas rencontrer. La page index.html de mon cd s'ouvre sans problème. Mais j'ai voulu créer un lien sur cette page qui permette l'exploration du CD ROM et je n'ai pas réussi à trouver la bonne syntaxe. Il faut tenir compte du fait que la lettre attribuée au lecteur peut varier d'un pc à un autre. quel est donc le code par défaut de ce lien qui ouvrirait le CD sans l'exécuter ? Merci de votre aide. Je suis certain que c'est tout simple, mais là je dois faire une sorte d'autisme sur le sujet ! A moins que ma machine ne fasse des siennes ? J'arrive parfaitement à lui faire ouvrir n'importe quel dossier du CD, mais pas le CD lui-même, comme lorsque l'on fait clic droit sur le CD et ouvrir.
PS : ma page index.html est à la racine du CD.
cs_jfrancois Messages postés 482 Date d'inscription vendredi 26 août 2005 Statut Membre Dernière intervention 5 décembre 2009 2
26 août 2005 à 03:16
Pour lancer n'importe quel type de fichier, il suffit tout simplement de remplacer "open" (uniquement pour *.exe *.com *.bat *.pif) par "shellexecute" et Windows lancera le type de programme associé à l'extension du fichier !

Exemple :

[autorun]
icon=mon_icon.ico
shellexecute=page_web.htm
label=CD de démonstration

et Windows lancera l'application associée aux fichiers *.htm

ou
shellexecute=lisez-moi.txt

et Windows lancera l'application associée aux fichiers *.txt

ou
shellexecute=lisez-moi.doc

et Windows lancera l'application associée aux fichiers *.doc

...

"label=" permet de changer le texte qui apparaît dans l'explorateur au niveau du lecteur de CD.
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
8 janv. 2005 à 14:37
Fais un dossier dans lequel tu as ShelExec.exe, sera juste un exe faisant un appel ShellExecute() sur ce qu'il aura en ligne de commande.

Dans le Autorun.inf tu mets par exemple:
[autorun]
OPEN=Autorun\ShelExec default.htm

voila comment c'est fait sur disk VS 2003.
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
8 janv. 2005 à 14:24
Salut:

Une Remarque je veux évoquer .Votre programme ne peut que lancer des programmes (*exe, *.com, *.bat , *.pif). Comment faire pour lancer un fichier *.TXT ou un fichier *.HTML.

Bonne Chance.
Nerolph Messages postés 58 Date d'inscription vendredi 24 octobre 2003 Statut Membre Dernière intervention 4 septembre 2012
5 janv. 2005 à 13:44
Pour faire un Autorun qui lance de tout c'est facile :

[AutoRun]
Open=explorer mon.fichier
Icon=mon_icone.ico

À condition, bien sûr, que le fichier `mon.fichier' soit associé à un programme.
Et le programme C que nous a fait zoute06 se compile et se lance très bien sous Linux.
Dante41 Messages postés 103 Date d'inscription samedi 13 mars 2004 Statut Membre Dernière intervention 15 juillet 2009
2 janv. 2005 à 12:53
Plutot que de générer un autorun ne lancant que des exe, il aurait été interessant que ce programme génère des autoruns lancant de tout (des html, bmp, wav par exemple). Pour cela, ton générateur aurait pu créer un fichier executable appelé par autorun.inf, ce fichier executable aurait lancer ce fichier.
Il est clair que c'est compliqué de créer un executable mais bon...

Sinon ce programme est quand meme assez utile et bien réalisé.

Bon code
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
1 janv. 2005 à 23:44
Celui de Light Angel c'est du C et du C++ mélangé, comme ca on est tranquille...
zoute06 Messages postés 2 Date d'inscription dimanche 9 février 2003 Statut Membre Dernière intervention 1 janvier 2005
1 janv. 2005 à 23:24
A part que mon code cé du C pas du C++...
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
1 janv. 2005 à 23:17
devrait aller mieux ainsi.
cs_Light Angel Messages postés 48 Date d'inscription dimanche 9 mai 2004 Statut Membre Dernière intervention 1 janvier 2005
1 janv. 2005 à 22:48
Bon, pour vous faire plaisir :

#include <windows.h>
#include
using namespace std;
int main(int argc, char *argv[])
{
char pFile[255];
char pIcon[255];
cout << "***Générateur d'Autorun***\n\n";
cout << "Fichier à executer : ";
cin >> pFile;
cout << "Icone du CD : ";
cin >> pIcon;
cout << "\nGeneration du fichier en cour ...\n";
WritePrivateProfileString("Autorun", "open", pFile, "Autorun.inf");
WritePrivateProfileString("Autorun", "icon", pIcon, "Autorun.inf");
return 0;
}
Gendal67 Messages postés 627 Date d'inscription mercredi 16 juin 2004 Statut Membre Dernière intervention 24 juillet 2011 2
1 janv. 2005 à 22:44
Oui, clair, il pourrait être judicieux de donner à la chaine pFile et pIcon, une +grande capacité je crois... ;-)
cs_Light Angel Messages postés 48 Date d'inscription dimanche 9 mai 2004 Statut Membre Dernière intervention 1 janvier 2005
1 janv. 2005 à 22:44
perso, je voi pas ou est le problème dans ce bout de code. Sa s'appel allouer de l'espace mémoire ...
cs_Xs Messages postés 368 Date d'inscription mercredi 14 novembre 2001 Statut Membre Dernière intervention 1 septembre 2008
1 janv. 2005 à 22:36
Light Angel >
"char *pFile = new char;
char *pIcon = new char;"

Je suis pas convaincu que ton code fonctionne :D

cordialement
cs_Light Angel Messages postés 48 Date d'inscription dimanche 9 mai 2004 Statut Membre Dernière intervention 1 janvier 2005
1 janv. 2005 à 22:30
Tu t'enmerde la, fait comme sa :

#include <windows.h>
#include
using namespace std;
int main(int argc, char *argv[])
{
char *pFile = new char;
char *pIcon = new char;
cout << "***Générateur d'Autorun***\n\n";
cout << "Fichier à executer : ";
cin << pFile;
cout << "Icone du CD : ";
cin << pIcon;
cout << "\nGeneration du fichier en cour ...\n";
WritePrivateProfileString("Autorun", "open", pFile, "Autorun.inf");
WritePrivateProfileString("Autorun", "icon", pIcon, "Autorun.inf");
delete pFile;
delete pIcon;
return 0;
}

Vala, utilise les API Windows, c'est fait pour sa, surtout que la, il ne peut pas y avoir de problème de portabilité, paske des autorun ss Linux avec un .inf, j'en est pas vu des masse.
Rejoignez-nous