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
| #include <stdio.h>
#include <windows.h>
#include <shlobj.h>
#include <commdlg.h>
void AddInStartupGrp(LPSTR szShortcutFile,LPSTR szSourcePath){
HRESULT hres;
IShellLink *psl;
char LNKpath[_MAX_PATH];
WORD wsLNKpath[MAX_PATH];
LPITEMIDLIST pItemIDlist;
SHGetSpecialFolderLocation(m_hWnd,CSIDL_STARTUP,&pItemIDlist);
SHGetPathFromIDList(pItemIDlist,LNKpath);
strcat(LNKpath,"\\");
strcat(LNKpath,"szShortcutFile");
hres = CoCreateInstance(CLSID_ShellLink, NULL,
CLSCTX_INPROC_SERVER,
IID_IShellLink,(void **)&psl);
if (SUCCEEDED (hres)){
IPersistFile *ppf;
hres = psl->QueryInterface(IID_IPersistFile,(void **)&ppf);
if (SUCCEEDED (hres)){
hres = psl->SetPath(szSourcePath);
MultiByteToWideChar(CP_ACP, 0, LNKpath, -1,
wsLNKpath,MAX_PATH);
hres = ppf->Save(wsLNKpath,FALSE);
ppf->Release ();
}
psl->Release ();
}// */ |
Partager