Bonjour, j'aurai besoin que mon programme crée des racourcis, je me suis donc penché sur les codes fournit par microsoft pour cette action. J'ai donc fait un copier coller tout bête au départ, seulement le code passais aps, donc il m'a fallu éssayer de comprendre chaque fonction, ce qui n'est pas plus mal d'ailleur, pour voir ce qui marche pas (maintenant j'ai compris).
Donc maintenant le code se compile bien, et la fonction marche.... Oui mais elle fonctionne aléatoirement...
En fait la fonction fonctionne... quand elle veux. Je tourne sous windows XP, mais j'ai une install de 98 qui traine sur une partition, c'est pour ça que vous allez voir dans la suite des choses "bizzares".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41 HRESULT CreateShortcut(LPCSTR lpszPathObj, LPSTR lpszPathLink, LPSTR lpszDesc) { HRESULT hres; IShellLink* psl; // Get a pointer to the IShellLink interface. CoInitialize(NULL); hres = CoCreateInstance(&CLSID_ShellLink, NULL,CLSCTX_INPROC_SERVER, &IID_IShellLink, (LPVOID *)&psl); if (SUCCEEDED(hres)) { IPersistFile* ppf; // Set the path to the shortcut target, and add the // description. psl->lpVtbl->SetPath(psl, lpszPathObj); psl->lpVtbl->SetDescription(psl, lpszDesc); // Query IShellLink for the IPersistFile interface for saving the // shortcut in persistent storage. hres = psl->lpVtbl->QueryInterface(psl, &IID_IPersistFile, (LPVOID *)&ppf); if (SUCCEEDED(hres)) { WORD wsz[MAX_PATH]; // Ensure that the string is ANSI. MultiByteToWideChar(CP_ACP, 0, lpszPathLink, -1, wsz, MAX_PATH); // Save the link by calling IPersistFile::Save. hres = ppf->lpVtbl->Save(ppf, wsz, TRUE); ppf->lpVtbl->Release(ppf); } psl->lpVtbl->Release(psl); } CoUninitialize(); return hres; }
J'ai éssayer de cérer des raccourcis sur quelques éxécutables, et les euls sur lesquels j'ai réusi à créer le racourcis, c'est COMMAND.COM et ntdetect.com...
J'ai éssayé de créer des racourcis sur d'autres fichier, le racourcis est bien créé (le fichier éxiste), mais il n'est pas considéré comme un racourci... je comprend pas![]()
Donc si quelqu'un a le secret qui pourrais m'aider à arriver à mes fins, je le prie de bien vouloi daigner me prêter un petit peu d'aide, et je le remercie d'avance.
Partager