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


Автор: sensimon 9.7.2002, 15:48
Как создать ярлык на рабочий стол в Builder-е.

Автор: Baa 9.7.2002, 21:44
#include <shlobj.h>
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();

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