Создание ярлыка

Тема в разделе "WASM.BEGINNERS", создана пользователем vg, 23 сен 2007.

  1. vg

    vg New Member

    Публикаций:
    0
    Регистрация:
    16 апр 2007
    Сообщения:
    475
    Как программно создать иконку(.lnk)?
     
  2. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    это не иконка.
     
  3. KeSqueer

    KeSqueer Сергей

    Публикаций:
    0
    Регистрация:
    19 июл 2007
    Сообщения:
    1.183
    Адрес:
    Москва
    Через интерфейс IShellLink. Как - не знаю, ни разу не делал.
     
  4. Subrealist

    Subrealist Member

    Публикаций:
    0
    Регистрация:
    17 июл 2006
    Сообщения:
    134
    Код (Text):
    1. HRESULT CreateLink(LPCSTR lpszPathObj, LPSTR lpszPathLink, LPSTR lpszDesc)
    2. {
    3.     HRESULT hres;
    4.     IShellLink* psl;
    5.     hres = CoCreateInstance(CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER, IID_IShellLink, (void**)&psl);    
    6.     if(SUCCEEDED(hres))
    7.     {
    8.         IPersistFile* ppf;
    9.         psl->SetPath(lpszPathObj);     
    10.         psl->SetDescription(lpszDesc);
    11.    
    12.         hres = psl->QueryInterface( IID_IPersistFile, (void**)&ppf);
    13.         if (SUCCEEDED(hres))
    14.         {
    15.             WORD wsz[MAX_PATH];
    16.             MultiByteToWideChar(CP_ACP, 0, lpszPathLink, -1, wsz, MAX_PATH);            
    17.             hres = ppf->Save(wsz, TRUE);
    18.             ppf->Release();            
    19.         }
    20.         psl->Release();
    21.     }
    22.     return hres;
    23. }
    Только .lnk это не иконка, а ярлык
     
  5. Subrealist

    Subrealist Member

    Публикаций:
    0
    Регистрация:
    17 июл 2006
    Сообщения:
    134
    Посмотри в MSDN. Там был ещё другой пример, только работающий на более современных системах. Этот работает по крайней мере, с win95
     
  6. paralvic

    paralvic Пархоменко Александр Викторович

    Публикаций:
    0
    Регистрация:
    20 ноя 2010
    Сообщения:
    294
    Адрес:
    Нижний Новгород
    На RSDN хорошо описывается. Но на с++. В качестве справочного материала пойдет.
    Мы тут на wasm.ru не знаем, что такое с++ ;)))

    Вдруг кому-нибудь понадобится.
    На wasm.ru обновленный пакет ассемблера без этого примерчика:
     
  7. irrona

    irrona Member

    Публикаций:
    0
    Регистрация:
    26 май 2004
    Сообщения:
    178
    Адрес:
    Тирасполь
    \masm32\com\examples\shortcut
     
  8. paralvic

    paralvic Пархоменко Александр Викторович

    Публикаций:
    0
    Регистрация:
    20 ноя 2010
    Сообщения:
    294
    Адрес:
    Нижний Новгород
    Выложи тогда папку \masm32\com
    Код (Text):
    1. include \masm32\com\include\oaidl.inc
    2. include \masm32\com\include\shlobj.inc
    А, не надо.
    Вот он этот раритет: