begin process at 2010 02 10 07:13:03
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Windows

 > 

System

 > 

Créer un raccourci (DEV-C++)


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Créer un raccourci (DEV-C++)

dimanche 29 mars 2009 à 16:15:46 | Créer un raccourci (DEV-C++)

ndubien

Membre Club
Bonjour,
Cela fait un moment que je cherche une fonction permettant de créer un raccourci. Je l'ai trouvé mais impossible de la compiler sous DEV-C++: la fonction est celle donnée par Brunews http://www.cppfrance.com/forum/sujet-CREER-RACCOURCI_163166.aspx
Lorsque je compile j'obtiens ceci:
Fichiers.h:57: error: incompatible type for argument 1 of `CoCreateInstance'
Fichiers.h:57: error: incompatible type for argument 4 of `CoCreateInstance'
Fichiers.h:60: error: structure has no member named `QueryInterface'
Fichiers.h:61: error: structure has no member named `SetPath'
Fichiers.h:61: error: structure has no member named `SetDescription'
Fichiers.h:68: error: structure has no member named `SetWorkingDirectory'
Fichiers.h:70: error: structure has no member named `Save'
Fichiers.h:71: error: structure has no member named `Release'
Fichiers.h:73: error: structure has no member named `Release'

Quelqu'un sait-il comment faire pour réussir à le compiler ?
Merci d'avance pour vos réponses !
A bientôt !
dimanche 29 mars 2009 à 16:32:57 | Re : Créer un raccourci (DEV-C++)

jeffy131

>Cela fait un moment que je cherche une fonction permettant de créer un raccourci.

Toujours voir les fonctions originales sur MSDN, jamais les copies.
Ca fait 15 ans qu'elle est dans MSDN et autant de temps qu'elle est postée sur Google Groups (programmation windows, Win32)!

: donc : CreateLink()
dimanche 29 mars 2009 à 19:26:47 | Re : Créer un raccourci (DEV-C++)

BruNews

Administrateur CodeS-SourceS
Réponse acceptée !
CreateLink(), inconnu dans MSDN.
Tes éternelles NON réponses fatiguent tout le monde et provoquent une perte de temps à celui qui reçoit une alerte mail cppfrance pour rien.
Il convient donc de mettre un terme à ce qui a déjà trop duré alors qu'on t'avait demandé de cesser.

ndubien:
Si tu compiles en C, essaie ceci:
int __stdcall CreateShortcut(char* szflSrc, char* szLink, char *szTooltip)
{
  IShellLink* psl;
  HANDLE hheap;
  WORD* pwsz;
  IPersistFile* ppf;
  int bOK;
  char *c, *d;
  if(CoCreateInstance((const IID*) &CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER,
                               (const IID*) &IID_IShellLink, (LPVOID*) &psl)) return 0;
  hheap = GetProcessHeap(); bOK = 0;
  if((pwsz = (WORD*) HeapAlloc(hheap, 0, MAX_PATH*2)) == 0) goto outPsl;
  if(psl->lpVtbl->QueryInterface(psl, (const IID*) &IID_IPersistFile, (LPVOID*) &ppf)) goto outHeap;
  psl->lpVtbl->SetPath(psl, szflSrc);
  psl->lpVtbl->SetDescription(psl, szTooltip);
  d = (char*) pwsz; c = szflSrc;
  while(*d = *c++) d++;
  bOK = 0;
  while((*d != '\\') && (d > (char*) pwsz)) d--;
  if(d <= (char*) pwsz) goto outHeap;
  *d = 0;
  psl->lpVtbl->SetWorkingDirectory(psl, (char*) pwsz);
  if(MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, szLink, -1, pwsz, MAX_PATH))
      bOK = (ppf->lpVtbl->Save(ppf, pwsz, TRUE) == 0);
  ppf->lpVtbl->Release(ppf);
outHeap: HeapFree(hheap, 0, pwsz);
outPsl: psl->lpVtbl->Release(psl);
  return bOK;
}

void TesterShortcut(VOID)
{
  char buf[300];
 
  CoInitialize(0);
 
  GetModuleFileName(0, buf, MAX_PATH);
  if(!CreateShortcut(buf, "D:\\aa.lnk", "UN TEST"))
    MessageBox(0, "Shortcut raté", szappname, MB_ICONEXCLAMATION);
 
  CoUninitialize();
}

ciao...
BruNews, MVP VC++
dimanche 29 mars 2009 à 19:36:49 | Re : Créer un raccourci (DEV-C++)

mogwai93

J'ai réussi à compiler et à exécuter
le lien créé est correct aussi

J'ai été seulement obligé de rajouter (WCHAR*)

if(MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, szLink, -1, (WCHAR*)pwsz, MAX_PATH))
bOK = (ppf->Save((WCHAR*)pwsz, TRUE) == 0);


et de linker avec
libole32.a
libuuid.a


testé avec DevC++ 4.9.9.2
il est vrai que j'ai mis à jour gcc  il y a plusieurs mois

mercredi 1 avril 2009 à 18:19:26 | Re : Créer un raccourci (DEV-C++)

ndubien

Membre Club
Et bien merci, cela marche parfaitement !


Cette discussion est classée dans : fichiers, error, structure, has, member


Répondre à ce message

Sujets en rapport avec ce message

Structure des fichiers mp3 [ par mop666 ] salut, j aimerais faire un logiciel a lacon pour remplir les id3 de mes fichiers mp3...quelqu un sait il comment un fichier mp3 est organisé (entete d probleme avec la structure WINDOWINFO (recuperer les informations sur une fenetre) [ par dofdof ] dans test.cpp#include "test.h"dans test.h#include class test{public: WINDOWINFO pWindowInfo;}erreur a la compilation:error C2146: syntax error : missi extraire des fichiers à partir d'une structure DVD [ par ch3ar ] salut à tout le mondeje cherche à extraire les fichier .VOB(video object) et .IFO(information) à partir d'une structure DVD.les fichiers sont ecrits e erreur incompréhensible. request for member... [ par tiya17 ] Bonjour tout le monde, je suis débutant en C, et je travail actuellement sur un programme de telecom. cependant étant débutant je poste ici.voila lors Fichiers ico, taille et structure ? [ par anarchysniper ] Disposant d'un pointeur vers le début d'un fichier .ico dans une ressource, comment obtenir l'emplacement de la donnée suivante ? En fait il faut que MS3D [ par mondrone ] Bonjour à tous. Je cherche des information sur la structure des fichiers ms3d. J'ai déjà pu voir en faisant une recherche sur le forum, que certains s choix du structure des données [ par boualiasma ] Bonjour, Je vais refaire une grande partie de mon travail car j'ai mal choisi les structures des données car les accès fichiers sont plus coûteux. To structure non definie!! pbm depuis 5 jours! [ par testtestiop ] Bonjour, Voici un bout de code sur lequel je m'arrache un peu les cheveux (voir beaucoup). C'est une dll que j'essaye de faire, en c++ avec visual stu connaitre la date de création d'un fichier [ par LaTatadu91 ] Bonjour,Toujours dans un projet concernant des fichiers de trace, je souhaiterai purger mon repertoire. afin de faire cela il me faudrait connaitre 2/ effacer un fichier (remove) ne marche pas [ par LaTatadu91 ] Bonjour,J'ai cherché un moyen pour effacer des fichiers et j'ai trouver la fonction remove:voici comment je l'utilise ( a priori mal vu que mes fichie


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,858 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales