Программы   Загрузка Партнерство   О компании Контакты  
 
                    
  Карта Сайта   
   





Создать ярлык объекта в любой папке



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;

           




Программы  |  Загрузка  |  Партнерство  |  О компании  |  Контакты

Copyright © LSD Software 2006 - 2011