Advertisement
KukuRuzo

jumplist example

Jun 3rd, 2024
354
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.35 KB | None | 0 0
  1. #include <windows.h>
  2. #include <shobjidl.h>
  3.  
  4. HRESULT CreateLink(LPCWSTR lpszPathObj, LPCWSTR lpszDesc)
  5. {
  6.     HRESULT hres;
  7.     IShellLink* psl;
  8.  
  9.     // Создание экземпляра IShellLink
  10.     hres = CoCreateInstance(CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER, IID_IShellLink, (LPVOID*)&psl);
  11.     if (SUCCEEDED(hres))
  12.     {
  13.         // Установка пути к целевой программе и описания
  14.         psl->SetPath(lpszPathObj);
  15.         psl->SetDescription(lpszDesc);
  16.  
  17.         // Запрос интерфейса IPersistFile
  18.         IPersistFile* ppf;
  19.         hres = psl->QueryInterface(IID_IPersistFile, (LPVOID*)&ppf);
  20.         if (SUCCEEDED(hres))
  21.         {
  22.             // Преобразование пути в формат Unicode
  23.             WCHAR wsz[MAX_PATH];
  24.             MultiByteToWideChar(CP_ACP, 0, lpszPathObj, -1, wsz, MAX_PATH);
  25.  
  26.             // Сохранение ссылки
  27.             hres = ppf->Save(wsz, FALSE); // FALSE: не сохранять на диск
  28.             ppf->Release();
  29.         }
  30.  
  31.         psl->Release();
  32.     }
  33.  
  34.     return hres;
  35. }
  36.  
  37. int main()
  38. {
  39.     // Пример использования
  40.     CreateLink(L"C:\\Path\\To\\YourApp.exe", L"My Quit Task");
  41.  
  42.     // Обработка задачи quit() в вашем приложении
  43.  
  44.     return 0;
  45. }
  46.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement