/* Regi Rex... Magie May */ /* Prg will go everywhere and show which prgs are loaded on startup */ /* We'll start with simple things... like registry :) */ CALL REGISTRATURA CALL INIFAJLY /* Great! We got the tough ones covered. Left are CONFIG and AUTOEXEC... */ /* No, wait, STARTUP is next */ CALL STARTUP EXIT INIFAJLY: /* Ok, this sub will inspect LOAD/RUN stmts in WIN.INI */ /* Of course, there can also be added DEVICE lines in SYSTEM.INI... */ /* but to find them we need comparison */ FA=0 F='C:\WINDOWS\WIN.INI' SAY SAY '>>>'F'<<<' DO FOREVER L=LINEIN(F) UL=UPPER(L) IF LEFT(UL,5)='LOAD=' | LEFT(uL,4)='RUN=' THEN DO FA=FA+1 SAY L END IF FA>=2 THEN LEAVE IF LINES(F)=0 THEN LEAVE END RETURN REGISTRATURA:PROCEDURE K='Run RunOnce RunServices RunServicesOnce' SAY SAY '>>> REGISTRY <<<' DO I=1 TO WORDS(K) PC=RegistryOpenRoot('HKEY_LOCAL_MACHINE') /* have to do this before every open */ Y=WORD(K,I) SAY '***' Y '***' PC=RegistryOpenKey('SOFTWARE\Microsoft\Windows\CurrentVersion\'||Y) DO FOREVER VOVOCHKA=RegistryEnumValues() IF VOVOCHKA=0 THEN LEAVE SAY VOVOCHKA END IF PC<>0 THEN SAY PC call RegistryClose END RETURN STARTUP:PROCEDURE SAY SAY '>>> STARTUP MENU <<<' 'DIR /B C:\WINDOWS\STARTM~1\PROGRAMS\STARTUP\' /* Heh, MS got off their arse and added /B switch to COMMAND.COM */ RETURN