FAQ по C/C++/Visual C++
Работа с сетью Как создать ярлык Вариант Alfa |
Составители: SUnteXx, Leprecon |
Как создать ярлык | |||
#include <shlobj.h> /* Shell link creator, by Alfa mailto: alfa7@pisem.net */ 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);//Иконка у ярлыка |
|||
|
FAQ составлен по материалам Форума на Исходниках.Ру. Copyright © 2002 by Sources.ru. All rights reserved. |