Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Как создать ярлык


Автор: chipset 7.4.2005, 22:00
Взято из: http://www.sources.ru/cpp/faqs/faq_forum.shtml

Исходный код:
Код


#include < shlobj.h >
/*
Shell link creator, by Iliya
mailto: [email protected]
*/
......
   CoInitialize(NULL);
   IShellLink * SLink;
   HRESULT HRes = CoCreateInstance(CLSID_ShellLink, 0, CLSCTX_INPROC_SERVER,
   IID_IShellLink, ( LPVOID*)&SLink);
   HRes = SLink->SetPath("C:\\app.exe");// Путь к запускаемой программе, для которой создаем ярлык  
   HRes = SLink->SetWorkingDirectory("C:\\");// Рабочий каталог для програмы

   IPersistFile* PF;
   HRes = SLink->QueryInterface(IID_IPersistFile, (LPVOID*)&PF);

   WORD path[MAX_PATH];
   TCHAR buf1[MAX_PATH];
   LPITEMIDLIST pl;

   SHGetSpecialFolderLocation(NULL, CSIDL_DESKTOP, &pl);
   SHGetPathFromIDList(pl, buf1);

   lstrcat(buf1, "\\");
   lstrcat(buf1, "link_for_app_1.lnk");
   MultiByteToWideChar(CP_ACP, 0, buf1, -1, path, MAX_PATH);
   HRes = PF->Save(path, TRUE);// Сохранить  
   SLink->Release();
   CoUninitialize();





Добавочные функции:
Исходный код:

Код

   SLink->SetArguments(LPCSTR argum);// Командная строка для програмы
   SLink->SetIconLocation(LPSTR IconPath, strlen(IconPath), int IconIndex);//Иконка у ярлыка





Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)