Форум программистов, компьютерный форум CyberForum.ru

Как создать ярлык на рабочем столе? - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
Dima2002
0 / 0 / 0
Регистрация: 15.06.2008
Сообщений: 9
14.08.2008, 16:33     Как создать ярлык на рабочем столе? #1
Как создать ярлык на рабочем столе(MFC, API, но желательно не COM...)?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.08.2008, 16:33     Как создать ярлык на рабочем столе?
Посмотрите здесь:

C++ Расстановкой коробок на столе.
как создать вектор из векторов и как потом к нему обращаться? C++
C++ Файл на рабочем столе :)
C++ про ярлык
Вывести список существующих на рабочем столе окон C++
C++ ярлык
C++ Как из программы сменить обои на рабочем столе?
C++ Убрать значек щита с иконки программы на рабочем столе!
Ярлык C++
C++ Ошибка записи в файл на рабочем столе
Создать папку на рабочем столе C++
Массив структур: вывести данные о рабочем с наибольшей зарплатой и наименьшим стажем C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lavrik
Сообщений: n/a
25.08.2008, 09:31     Как создать ярлык на рабочем столе? #2
Попробуй разобраться с этим

=== Cut ===
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
void __fastcall TPreferF::AddIconBtnClick(TObject *Sender)
{
   int Folder[2]={ CSIDL_DESKTOPDIRECTORY, CSIDL_PROGRAMS };
 
   LPITEMIDLIST id;
   if(SHGetSpecialFolderLocation(Handle, Folder[((TComponent*)Sender)->Tag], 
&id)!=NOERROR)
       return;
   char DesktopDir[MAX_PATH];
   if(SHGetPathFromIDList(id, DesktopDir)!=TRUE)
       return;
 
   HRESULT hres;
   IShellLink* psl;
 
   CoInitialize(NULL);
// Get a pointer to the IShellLink interface.
   hres=CoCreateInstance(CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER, 
IID_IShellLink, &(LPVOID)psl);
   if(SUCCEEDED(hres))
   {
       IPersistFile* ppf;
// Set the path to the shortcut target, and add the  description.
       psl->SetPath(Application->ExeName.c_str());
       psl->SetDescription('BoomCD');
       psl->SetArguments(NULL);
       psl->SetWorkingDirectory(ExtractFileDir(Application->ExeName).c_str());
       psl->SetIconLocation(Application->ExeName.c_str(), IconSlider->Value-1);
 
// Query IShellLink for the IPersistFile interface for saving the  shortcut in 
persistent storage.
       hres=psl->QueryInterface(IID_IPersistFile, &(LPVOID)ppf);
 
       if(SUCCEEDED(hres))
       {
           wchar_t wsz[MAX_PATH];
 
// Ensure that the string is ANSI.
           MultiByteToWideChar(CP_ACP, 0, 
AnsiString(AnsiString(DesktopDir)+'\BoomCD.lnk').c_str(), -1, wsz, MAX_PATH);
 
// Save the link by calling IPersistFile::Save.
            ppf->Save(wsz, TRUE);
            ppf->Release();
        }
        psl->Release();
    }
    CoUninitialize();
}
=== Cut ===
Dima2002
0 / 0 / 0
Регистрация: 15.06.2008
Сообщений: 9
25.08.2008, 11:14  [ТС]     Как создать ярлык на рабочем столе? #3
Спасибо, через COM я уже сам давно наваял - просто думал, может есть что-то апишное - по видимому, нет... Потому и спрашивал.
Yandex
Объявления
25.08.2008, 11:14     Как создать ярлык на рабочем столе?
Ответ Создать тему
Опции темы

Текущее время: 00:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru