Написание программ маленького размера достаточно сложное занятие. Чаще всего нам нужно просто написать какой-то пример, в котором размер файла не имеет особого значения, а невидимость обеспечить необходимо. В таком случае стратегия написания невидимой программы будет немного другой, и мы ее сейчас рассмотрим на практике. Создайте новый проект в Delphi. Перенесите на форму одну только кнопку и измените ее свойство Caption на спрятать. При нажатии этой кнопки наше приложение будет прятаться. Теперь создайте обработчик события onclick для этой кнопки и там напишите: procedure TForml.ButtonlClick(Sender: TObject); begin ShowWindow(Handle,SW_HIDE); ShowWindow(Application.Handle,SW_HIDE); end; Здесь использована уже знакомая функция ShowWindow. Как я уже говорил, эта процедура выводит окно. В качестве второго параметра процедуре в обоих случаях передается значение SW_HIDE, которое заставляет делать окно невидимым. При первом вызове процедуры в качестве первого параметра указано Handle — свойство, в котором хранится указатель текущего (в данном случае главного) окна, чтобы сделать его невидимым. При втором вызове указано Application.Handle — указатель всего приложения. Теперь приложение становится абсолютно невидимым. Точнее сказать, видимым, но только на вкладке Процессы в окне Диспетчер задач indows. Как я уже говорил, большинство пользователей никогда не заглядывает на эту вкладку, потому что разобраться там в чем-то очень тяжело. Достаточно дать вашей программе какое-нибудь наименее вызывающее имя, и она станет абсолютно незаметной. Тут же вспоминается случай, когда несколько лет назад я написал своего первого трояна, с помощью которого подшучивал над своим начальником. Я приблизительно таким же образом спрятал программу и дал ей название internat32.exe. В системе Windows 95/98 есть такой сервис, как internat.exe, и он присутствует всегда. Именно поэтому появление нового сервиса internat32 ни у кого не вызвало подозрений. Мой начальник долго искал причину, по которой на его компьютере исчезает звук и сам компьютер перегружается, но ничего не нашел. Его компьютер даже рассматривали компьютерщики нашей фирмы, и даже они ничего не нашли. Просто никто не обращал внимания на такой неприглядно названный файл.
|