Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.09.2011, 21:54   #1
DKENT
Форумчанин
 
Регистрация: 09.09.2010
Сообщений: 114
Радость Создать ярлык и записать его в папку автозагрузки

Здраствуйте..
Нужно зделать автозапуск программы, при запуске программы должен создаться ярлык и записаться в папку Автозагрузка!

Автозапуск с помошью реестера не предлагать, интересует только этот метод!
Заранее благодарен...
DKENT вне форума Ответить с цитированием
Старый 19.09.2011, 22:08   #2
fate
Форумчанин
 
Аватар для fate
 
Регистрация: 17.03.2009
Сообщений: 318
По умолчанию

Код:
procedure addAutoRun(const filename:string);
procedure CreateLink(const PathObj, PathLink, Desc, Param: string);
  var
    IObject: IUnknown;
    SLink: IShellLink;
    PFile: IPersistFile;
  begin
    IObject := CreateComObject(CLSID_ShellLink);
    SLink := IObject as IShellLink;
    PFile := IObject as IPersistFile;
    with SLink do
    begin
      SetArguments(PChar(Param));
      SetDescription(PChar(Desc));
      SetPath(PChar(PathObj));
    end;
    PFile.Save(PWChar(WideString(PathLink)), FALSE);
  end;
var
  Folder: array[0..255] of Char; //ïóòü ê StartUp
  List: PitemidList; 
  lnk : String;
begin
  lnk := ChangeFileExt(filename,'.lnk');
  SHGetSpecialFolderLocation(0,CSIDL_STARTUP,List);
  FillChar(Folder, SizeOf(Folder), 0);
  SHGetPathFromIDList(List, @Folder);
  ChDir(folder);
    CreateLink(filename,lnk,'','');
    CopyFile(PChar(lnk), PChar(ChangeFileExt(ExtractFileName(lnk),'')+'.lnk'), true);
    DeleteFile(lnk);
end;
в uses ComObj, ShlObj, ActiveX
fate вне форума Ответить с цитированием
Старый 19.09.2011, 22:19   #3
DKENT
Форумчанин
 
Регистрация: 09.09.2010
Сообщений: 114
По умолчанию

Извините за тупой вопрос а как вызвать эту процедуру?
CreateLink;
вызываю ее так, компилятор сообщает что идентификатор ненайде!
DKENT вне форума Ответить с цитированием
Старый 19.09.2011, 23:47   #4
fate
Форумчанин
 
Аватар для fate
 
Регистрация: 17.03.2009
Сообщений: 318
По умолчанию

тебе нужно вызывать addAutoRun и передавать имя файла ярлык которого нужно поместить в автозагрузку
fate вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создать массив целых чисел и записать его в файл Desvi Паскаль, Turbo Pascal, PascalABC.NET 3 07.06.2010 19:04
Программно создать ярлык Ant_on Общие вопросы C/C++ 2 30.01.2010 14:17
Создать ярлык => выбор файла => Открыть файл как папку??? Alex Cones Windows 6 05.10.2009 10:47
Помогите создать ярлык. Kashp Общие вопросы Delphi 8 11.08.2007 20:55