Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Delphi


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Delphi

Выпуск № 477
от 19.05.2006, 17:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 340, Экспертов: 64
В номере:Вопросов: 1, Ответов: 5


Вопрос № 43008: Уважаемые эксперты, помогите. 1) как закрыть программу 'scktsrvr.exe' из своего приложения, и 2) Как сделать автозапуск программы, т.е. чтобы она запускалась вместе с виндой если это указано....

Вопрос № 43.008
Уважаемые эксперты, помогите. 1) как закрыть программу 'scktsrvr.exe' из своего приложения, и 2) Как сделать автозапуск программы, т.е. чтобы она запускалась вместе с виндой если это указано.
Отправлен: 14.05.2006, 16:43
Вопрос задала: GidraIRi (статус: Посетитель)
Всего ответов: 5
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: Coupler
Здравствуйте, GidraIRi!
Функция для закрытия - в приложении. Так можно убить прогу, которая не запрещает открытие своего процесса с флагом PROCESS_TERMINATE.
Если же тебе попалась именно такая, то пиши мне.
function KillTask(ExeFileName: string): integer;
const
PROCESS_TERMINATE=$0001;
var
ContinueLoop: BOOL;
FSnapshotHandle: THandle;
FProcessEntry32: TProcessEntry32;
begin
result := 0;

FSnapshotHandle := CreateToolhelp32Snapshot
(TH32CS_SNAPPROCESS, 0);
FProcessEntry32.dwSize := Sizeof(FProcessEntry32);
ContinueLoop := Process32First(FSnapshotHandle,
FProcessEntry32);

while integer(ContinueLoop) <> 0 do
begin
if ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile)) =
UpperCase(ExeFileName)) or (UpperCase(FProcessEntry32.szExeFile) =
UpperCase(ExeFileName))) then
Result := Integer(TerminateProcess(OpenProcess(
PROCESS_TERMINATE, BOOL(0), FProcessEntry32.th32ProcessID), 0));
ContinueLoop := Process32Next(FSnapshotHandle, FProcessEntry32);
end;

CloseHandle(FSnapshotHandle);
end;
По поводу автостарта: в 81 "Хакере" (качай с www.wisesoft.ru) есть статья "Методы автозапуска". Ее почитай.
Ответ отправил: Coupler (статус: 10-ый класс)
Ответ отправлен: 14.05.2006, 17:47
Оценка за ответ: 5
Комментарий оценки:
Спасибо все работает

Отвечает: Tamashev Denis M
Здравствуйте, GidraIRi!
Она должна грузица из реестра :
Вот по этому ключику:HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun
Если нету !
То пуск выполнить: msconfig
автозагрузка
И иши там !

Ответ отправил: Tamashev Denis M (статус: 2-ой класс)
Ответ отправлен: 14.05.2006, 19:42

Отвечает: Vargant
Здравствуйте, GidraIRi!
2)
Создаем на форме CheckBox1, пишем процедуру для его OnClick:

procedure TForm1.CheckBox1Click(Sender: TObject);
var
registr:Tregistry;
begin
registr:=Tregistry.Create;
registr.RootKey:=HKEY_LOCAL_MACHINE;
registr.OpenKey('softwaremicrosoftwindows'+'currentversion un',false);
if checkbox1.Checked then
registr.WriteString(application.Title, paramstr(0))
else
registr.DeleteValue(application.Title) ;
registr.Free;
end;

А дальше OnFormCreate

procedure TForm1.FormCreate(Sender: TObject);
var
registr:Tregistry;
begin
registr:=Tregistry.Create;
registr.RootKey:=HKEY_LOCAL_MACHINE;
registr.OpenKey('softwaremicrosoftwindows'+'currentversion un',false);
if registr.ValueExists(application.Title)=true then
begin
checkbox1.Checked:=true; //Если на ключе есть запись об автозагрузке CheckBox включен
end
else
checkbox1.Checked:=false; // Если нет записи – соответственно не включен…
end;
end;

<b>Спасибо за внимание.</b>

---------
Железным кулаком загоним человечество в счастье...
Ответ отправил: Vargant (статус: 1-ый класс)
Ответ отправлен: 15.05.2006, 07:15
Оценка за ответ: 5
Комментарий оценки:
Огромное спасибо

Отвечает: $erBep
Здравствуйте, GidraIRi!
Объясню только 2-ой вопрос
2) Через реестр ключ "HKEY_LOCAL_MACHINE SOFTWARE Microsoft Windows CurrentVersion Run" см. приложение

Приложение:

---------
Купи самоучитель - хуже не будет.

Ответ отправил: $erBep (статус: 2-ой класс)
Ответ отправлен: 15.05.2006, 19:02

Отвечает: Sarymian
Здравствуйте, GidraIRi!
Ответи на твой вопросик №1 чуть ниже:)

Если честно не помню где точно в реестре надо порписывать на автозапуск...сори:(

Приложение:

Ответ отправил: Sarymian (статус: 2-ой класс)
Ответ отправлен: 16.05.2006, 03:51


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.32 от 03.05.2006
Яндекс Rambler's Top100

В избранное