cs_nitrique
Messages postés344Date d'inscriptionjeudi 1 mai 2003StatutMembreDernière intervention 4 avril 2011
-
4 oct. 2005 à 16:01
racpp
Messages postés1909Date d'inscriptionvendredi 18 juin 2004StatutModérateurDernière intervention14 novembre 2014
-
7 oct. 2005 à 19:42
Bonjour à tous,
J'aimerais faire un exe qui crée des raccourcis, j'ai trouvé qq sources seulement il n'y a rien en C pour Dev C, il n'y a que des sources en VC++ (que je ne maitrise pas).
Est ce que quelqu'un pourrait m'aider à convertir cette source:
racpp
Messages postés1909Date d'inscriptionvendredi 18 juin 2004StatutModérateurDernière intervention14 novembre 201417 7 oct. 2005 à 19:42
J'ai déjà testé le code. Le raccourci est bien créé dans le menu
démarrage avec l'icone de l'explorer. En faisant un clic droit sur ce
raccourci pour voir ses propriétés on voit que tout est normal et que
le chemin est correct. Tu dois déboguer ton programme pour exécuter pas
à pas la fonction AddInStartupGrp(). Tu finiras par trouver la cause du problème. Il s'agit certainement d'un petit oubli.
cs_nitrique
Messages postés344Date d'inscriptionjeudi 1 mai 2003StatutMembreDernière intervention 4 avril 20111 5 oct. 2005 à 09:28
Bonjour maqic_nono etracpp,
Suite à tes astuces, il ne connait pas la variable: m_hWnd (Qui doit être de type HWND, Qu'est ce que c'est que ça ?)
De plus, la msdn est bien pratique quand tu utilise des outils microsoft, mais autrement......
Pour transformer un objet C++:
hres = psl->QueryInterface(IID_IPersistFile2,(void **)&ppf);
en interface c, il suffit de faire ca:
hres = QueryInterface(IID_IPersistFile2,&ppf);
Me trompe-je ?
David, à VERSAILLES
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_nitrique
Messages postés344Date d'inscriptionjeudi 1 mai 2003StatutMembreDernière intervention 4 avril 20111 5 oct. 2005 à 11:13
Donc (je ne croit pas avoir de dialog) je met NULL, alors ?
Pour transformer un objet C++:
hres = psl->QueryInterface(IID_IPersistFile2,(void **)&ppf);
en interface c, il suffit de faire ca:
hres = QueryInterface(IID_IPersistFile2,&ppf);
Me trompe-je ?
Désolé de vous soliciter tant mais je suis vraiment perdu !
[Linker error] undefined reference to [mailto:`CoCreateInstance@20' `CoCreateInstance@20']
[Linker error] undefined reference to `IID_IPersistFile'
ld returned 1 exit status
En fait, tu as oublié d'initialiser la librairie COM avec CoInitialize().
Pour ajouter les options de compilation à ton projet dans Dev-C++ tu fais:
1- Aller au menu Outils.
2- Choisir Options du compilateur.
3 - Dans l'onglet Compilateur tu coches la case Ajouter ces commandes lors de l'appel de l'éditeur de liens.
4- Taper -lole32 -luuid . Ces deux options ont pour effet d'ajouter les librairies ole32.lib et uuid.lib au projet. Grâce à cette dernière option tu n'auras plus besoin d'utiliser IID_IPersistFile2 car IID_IPersistFile sera reconnue.
cs_nitrique
Messages postés344Date d'inscriptionjeudi 1 mai 2003StatutMembreDernière intervention 4 avril 20111 5 oct. 2005 à 17:46
Cool,
En fait, j'avais avancé un peu et j'ai fini par trouver ou mettre ces options dans le compilateur et à initialiser COM, j'avais donc un code un peu différent du tient mais qui compilait qd même.
Seulement, j'ai le même pb avec le mien qu'avec le tient:
Je l'apelle comme ça:
int main(int argc, char *argv[]){
char chemin[]="C:\\WINDOWS\\explorer.exe",nom[]="test2";
AddInStartupGrp(nom,chemin);
return 0;
}
Seulement, il me met bien le raccourci du nom: "test2" dans le menu mais il ne pointe vers rien (cheminn'est pas prise en compte).