Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Пуск-Программы [D5, WinME]


Konsul ©   (2002-02-15 12:31:00) 

Как доьбавить ярлык в меню Пуск-Программы


Набережных С.   (2002-02-15 16:34:00) [1]

function TAddGroupForm.AddLinkFile(const GroupID, GroupDisp,IconSource: string; Target,IconIndex: integer):boolean;
var
Lnk:IShellLink;
Prf: IPersistFile;
DskPath:array [0..MAX_PATH]of WideChar;
Path:Widestring;
Pid:PItemIDList;
begin
OleCheck(SHGetSpecialFolderLocation(Handle,Target,Pid));
OleCheck(SHGetPathFromIDList(Pid,@DskPath[0]));
Lnk:=CreateComObject(CLSID_ShellLink) as IShellLink;
try
OleCheck(Lnk.SetPath("rundll32.exe"));
OleCheck(Lnk.SetArguments(PChar("FastAccess.dll,Execute"+" "+ GroupID)));
OleCheck(Lnk.SetWorkingDirectory("%windir%"));
OleCheck(Lnk.SetIconLocation(PChar(IconSource),IconIndex));
OleCheck(Lnk.QueryInterface(System.TGUID(IID_IPersistFile),Prf));
try
Path:=StrPas(@DskPath[0])+"\"+GroupDisp+".lnk";
Prf.Save(PWideChar(Path),false);
result:=true;
finally
Prf:=nil;
end;
finally
Lnk:=nil;
end;
end;


Для Пуск-Программы Target = CSIDL_PROGRAMS


Dimka Maslov   (2002-02-15 15:51:00) [2]

Для того чтобы в главном меню появился ярлык, надо его разместить в папке c:\windows\главное меню\программы\


Наверх

Титульная страница Поиск, карта сайта Написать письмо