17.11.2007, 05:57
общий
это ответ
Здравствуйте, Шафиков Альфред Равилович!
Вот Вам функция для создания ярлыков
Приложение:
// lpszPathObj - путь к объекту // lpszPathLink - путь самого ярлыка // lpszDesc - это то что будет в комментарии написано void CreateLink(LPCSTR lpszPathObj,LPCSTR lpszPathLink,LPCSTR lpszDesc,LPCSTR lpszArg) { HRESULT hres; IShellLink* psl; hres = CoCreateInstance(CLSID_ShellLink,0,CLSCTX_INPROC_SERVER, IID_IShellLink,(LPVOID*)&psl); if (SUCCEEDED(hres)) // проверка успешности инициализации { IPersistFile* ppf; // устанавливаем путь объекта и комментарий psl->SetPath(lpszPathObj); psl->SetDescription(lpszDesc); if (0 != lpszArg) { psl->SetArguments(lpszArg); psl->SetIconLocation(lpszPathObj,1); } hres = psl->QueryInterface(IID_IPersistFile,(LPVOID*)&ppf); if (SUCCEEDED(hres)) { WCHAR wsz[MAX_PATH]; // переделываем путь нахождение ярлыка в Unicode. MultiByteToWideChar(CP_ACP,0,lpszPathLink,-1,wsz,MAX_PATH); // все сохраняем hres = ppf->Save(wsz,TRUE); ppf->Release(); } psl->Release(); } }