Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как програмно определить папку автозагрузки пользователя и положить туда ярлык

18K
20 февраля 2007 года
22b
16 / / 09.02.2007
Пишу прогу хочу чтобы она добавляла ярлык на себя в автозагрузку подскажите пож-та как это возомжно сделать? (2000/XP)
1.9K
20 февраля 2007 года
Borland_prog
149 / / 25.01.2006
существуют переменные окружения --- зайди в свойства системы - там по вкладкам пощарься.
Переменная окружения принимает определенное значение ( в основном это папка).
пример: %windir% - является папкой где у тебя лежит винда. тажке и для папок пользователя
9.0K
20 февраля 2007 года
Toxin_F
93 / / 03.01.2007
Цитата: 22b
Пишу прогу хочу чтобы она добавляла ярлык на себя в автозагрузку подскажите пож-та как это возомжно сделать? (2000/XP)


Не лучше ли будет прописать свою прогу в разделе Run реестра?

1.9K
20 февраля 2007 года
Borland_prog
149 / / 25.01.2006
то же вариант
1.9K
20 февраля 2007 года
Borland_prog
149 / / 25.01.2006
для создания программно ярлыка ищи здесь: http://delphiworld.narod.ru
2.1K
20 февраля 2007 года
SATALIN
56 / / 03.02.2007
МОЖНО , ЕСЛИ ТЕБЕ ИМЕННО АВТОЗАГРУЗКА ЭНТОГО ОЛЬЗОВАТЕЛЯ НАДА, УЗНАТЬ ЕГО ИМЯ ТАК:

 
Код:
DWORD rc;
wchar_t user_name[256];
USER_INFO_1 *info;
DWORD size = sizeof( user_name );
 
GetUserNameW( user_name, &size);
 
rc = NetUserGetInfo( NULL, user_name, 1, (byte **) &info );


И ПОТОМ ВЗЯТЬ ПРОСТО ПУТЬ АВТОЗАГРУЗКИ В DOCUMENTS AND SETTINGS С ЕГО ИМЕНЕМ ПРЕДПОЛОЖИМ ТАК:::

--C:\Documents and Settings\-----USER-----\Главное меню\Программы\Автозагрузка\ --


"netapi32.lib"
18K
20 февраля 2007 года
22b
16 / / 09.02.2007
тогда подскажи пожалуста как получить список всех пользователей в системе, чтобы для них потом выполнить твою процедурку....

В реестр нет нельзя....
344
20 февраля 2007 года
Delpher
493 / / 14.08.2005
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
и
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
параметр
"Startup"

читай путь и создавай ярлык
12K
20 февраля 2007 года
Daim
22 / / 26.05.2006
Код:
uses Registry; //обязятельно!
procedure TForm1.FormCreate(Sender: TObject);
var
RegIni: TRegIniFile;
begin
RegIni:= TRegIniFile.Create('Software');
RegIni.RootKey:= HKEY_LOCAL_MACHINE;
RegIni.OpenKey('Software', true);
RegIni.OpenKey('Microsoft', true);
RegIni.OpenKey('Windows', true);
RegIni.OpenKey('CurrentVersion', true);
RegIni.WriteString('Run', 'имя ключа в реестре', application.ExeName);
RegIni.Free;
end;
9.0K
20 февраля 2007 года
Toxin_F
93 / / 03.01.2007
Цитата: 22b
Пишу прогу хочу чтобы она добавляла ярлык на себя в автозагрузку подскажите пож-та как это возомжно сделать? (2000/XP)


Ну в общем так:

Код:
unit Main;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Registry, StdCtrls, ShlObj, ActiveX, ComObj;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Label1: TLabel;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  procedure CreateShortcut(const FilePath, ShortcutPath, WorkDir, Description, Params: string);
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  reg: TRegistry;
begin
  reg:=tregistry.Create;
  try
    reg.RootKey:=HKEY_CURRENT_USER;
    reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders', false);
    label1.Caption:=reg.ReadString('startup');
    CreateShortcut(Application.ExeName, reg.ReadString('startup') +
    '\'+extractfilename(application.ExeName)+'.lnk', '', '', '');
  except
    application.MessageBox('Cannot open Registry key',
      'ERROR', mb_iconerror);
  end;
end;

procedure TForm1.CreateShortcut(const FilePath, ShortcutPath, WorkDir,
  Description, Params: string);
var
  obj: IUnknown;
  isl: IShellLink;
  ipf: IPersistFile;
begin
  obj := CreateComObject(CLSID_ShellLink);
  isl := obj as IShellLink;
  ipf := obj as IPersistFile;
  with isl do
  begin
    SetPath(PChar(FilePath));
    SetArguments(PChar(Params));
    SetDescription(PChar(Description));
    SetWorkingDirectory(PChar(WorkDir));
  end;
  ipf.Save(PWChar(WideString(ShortcutPath)), False);
end;

end.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог