[delphi] blokowanie uruchamiania usług prócz dwóch

0

witam

Program, który chcę napisać ma zerwać połączenie z siecią LAN najwcześniej jak to możliwe (przy starcie systemu) i ponownie uaktywnić połączenie sieciowe w momencie gdy dane procesy są już uruchomione.
Po prostu firewall i antywirus trochę za późno mi startują i chciałbym to zmienić...ale przy okazji nauczyć się coś nowego w Delphi ;)
Jeśli chodzi o zerwanie/nawiązanie połączenia to znalazłem ten topic natomiast nie mogę nic znaleźć odnośnie problemu z procesami...czyli jak sprawdzić, czy dane procesy są uruchomione, a jeśli nie to blokować uruchamianie innych...
Ktoś ma jakiś pomysł/radę?
System to XP.

z góry dzięki
pzdr.

0

Może przechwyć wszystkie połaczenia i nic z nimi nie rób dalej, ale to chyba tylko za pomoca drivera sie da

0

Mam już pomysł na rozwiązanie mojego problemu, tylko nie mogę nic znaleźć odnośnie kolejności uruchamianych procesów.
Krótko mówiąc chodzi mi o to, aby mój progam uruchamiał się jako jeden z pierwszych (w jak najwcześniejszym momencie startu systemu).

z góry thx
pzdr.

0

Hmmm przecież to system odczytuje z kluczy rejestru jakie programy uruchomić przy starcie.
Standardowo firewalle i antywirusy są pierwszymi w kolejności do uruchomienia.
Więc wpisanie swojego programu obok wpisu do firewalla nie ma chyba sensu ?
Być może wyjściem byłoby umieszczenie wpisu ze ścieżką do Twojego programu w pliku Win.ini
Pod windoza 98 wiem że programy wywołane w tym pliku uruchamiały się wcześniej niż te z kluczy rejestru. Ale nie sprawdzałem pod XP

A co do rozłączenia i połączenia nietu:

//Łączenie z netem...
PROCEDURE Polacz;
var
 sciezka :String;
Begin
 if PlatformaWin32NT then
    sciezka:='command.com /c '+KatWindows+'\System32\IPconfig.exe /renew'   //XP
    else sciezka:='command.com /c '+KatWindows+'\IPcfg.exe /renew_all';     //98
 WinExec(PChar(sciezka),SW_Hide);
End; 
//Rozłączenie z netem
PROCEDURE Rozlacz;
var
 sciezka :String;
Begin
 if PlatformaWin32NT then
    sciezka:='command.com /c '+KatWindows+'\System32\IPconfig.exe /release' //XP
    else sciezka:='command.com /c '+KatWindows+'\IPcfg.exe /release_all';   //98
  WinExec(PChar(sciezka),SW_Hide);
End;

FUNCTION PlatformaWin32NT:BOOLEAN;
var
 VersionInfo :TOSVersionInfo;
Begin
 VersionInfo.dwOSVersionInfoSize:= SizeOf(TOSVersionInfo);
 Result:= GetVersionEx(VersionInfo);
 if Result then Result:= VersionInfo.dwPlatformID = VER_PLATFORM_WIN32_NT;
End; 
0

dzięki
pzdr.

1 użytkowników online, w tym zalogowanych: 0, gości: 1