![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ярлыки
Мишок © (2006-11-26 16:33:00)Как сделать так что бы прога создавала свой ярлык в нужной папке(программный код если можно)?
alex810 (2006-11-27 12:39:00) [1]procedure TForm1.Button1Click(Sender: TObject);
var
MyObject: IUnknown;
MyIcon: IShellLink;
MyPFile: IPersistFile;
FileName: string;
Directory: string;
WFileName: WideString;
MyReg: TRegIniFile;
begin
MyObject := CreateComObject(CLSID_ShellLink);
MyIcon := MyObject as IShellLink;
MyPFile := MyObject as IPersistFile;
//Указать что является запускающей программой
FileName := 'C:\Project.exe';
with MyIcon do
begin
// Какой файл подвергаеться воздействию запускающей программы
SetArguments('C:\Project.exe');
//Установить путь к запускающему файлу
SetPath(PChar(FileName));
// Установить рабочую директорию
SetWorkingDirectory(PChar(ExtractFilePath(FileName)));
end;
MyReg :=
TRegIniFile.Create('Software\MicroSoft\Windows\CurrentVersion\Explorer');
{Begin_Чтобы положить ярлык на Desktop}
Directory := MyReg.ReadString('Shell Folders', 'Desktop', '');
{End_Чтобы положить ярлык на Desktop}
{Begin_Чтобы положить ярлык в start menu}
//{Directory := MyReg.ReadString('Shell Folders','Start Menu','')+
// '\Whoa!'; //CreateDir(Directory);
{End_Чтобы положить ярлык в start menu}
{Begin_Чтобы положить ярлык в любую директор.}
//Directory := 'c:\windows\desktop';
{End_Чтобы положить ярлык в любую директор.}
WFileName := Directory + '/ShortCut1.lnk';
MyPFile.Save(PWChar(WFileName), False);
MyReg.Free;
end;
Desdechado (2006-11-26 17:24:00) [2]если на pfgbcm в нужную папку хватит прав
Джо (2006-11-26 16:38:00) [3]http://www.google.com.ua/search?hl=ru&q=%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5+%D1%8F%D1%80%D0%BB%D1%8B%D0%BA%D0%BE%D0%B2+%D0%BD%D0%B0+Delphi&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA+%D0%B2+Google&meta=
Третья же ссылка — пример кода.