ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΡΠ±ΠΎΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΈΠ· ΡΠ΅Π΅ΡΡΡΠ°:
ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΡΠ±ΠΎΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΈΠ· ΡΠ΅Π΅ΡΡΡΠ°:
ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠ΅Π΅ΡΡΡΠ° (ΠΊΠ»Π°ΡΡ TRegistry);
Π΄Π»Ρ ΠΊΠ»Π°ΡΡΠ° ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΠΊΠΎΡΠ΅Π½Ρ Π΄Π΅ΡΠ΅Π²Π° ΡΠ΅Π΅ΡΡΡΠ°, Ρ. Π΅. ΡΠΈΠΊΡΠΈΡΡΠ΅ΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΊΠ»Π°ΡΡΠ° RootKey Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ HKEY_LOCAL_MACHINE;
ΠΎΡΠΊΡΡΠ²Π°Π΅ΠΌ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠΉ ΠΊΠ»ΡΡ, ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ: SOFTWARE Microsoft Windows CurrentVersion Run ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΊΠ»Π°ΡΡΠ° OpenKeyReadOnly;
ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΡΠΏΠΈΡΠΎΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΈΠ· ΠΎΡΠΊΡΡΡΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ° ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ GetValueNames;
Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ Π΅Π³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ReadString.
ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΡΠ±ΠΎΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ WMI:
ΡΠΎΠ·Π΄Π°ΡΠΌ ΠΎΠ±ΡΠ΅ΠΊΡ SWbemLocator, ΠΊΠ»Π°ΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ Π² ΠΌΠΎΠ΄ΡΠ»Π΅ WbemScripting_TLB.pass;
Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊ SWbemLocator Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Service ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ISWbemServices;
Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° SObject ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ISWbemObject Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊ ΠΊΠ»Π°ΡΡΡ [Win32_ΠΈΠΌΡ ΠΊΠ»Π°ΡΡΠ°];
Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ObjectSet ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ISWbemObjectSet ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΡΠΏΠΈΡΠΎΠΊ ΡΡΠΎΠ»Π±ΡΠΎΠ² ΠΈ ΠΏΠΎΠ»Π΅ΠΉ;
Π·Π°ΠΏΠΎΠ»Π½ΡΠ΅ΠΌ Π΄Π°Π½Π½ΡΠΌΠΈ ΡΡΠΎΠ»Π±ΡΠ°ΠΌΠΈ ΠΈ ΠΏΠΎΠ»ΡΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡ Enum ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° IEnumVariant;
Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΈΠΊΠ»Π° ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°Π΅ΠΌ Π²ΡΠ΅ ΡΡΠΎΠ»Π±ΡΡ Ρ Π·Π°ΠΏΠΈΡΡΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Enum ΠΈ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ TMemo Π² Π²ΠΈΠ΄Π΅ Π·Π°ΠΏΠΈΡΠΈ [ΠΈΠΌΡ ΡΡΠΎΠ»Π±ΡΠ°]: [Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Ρ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ ΡΡΠΎΠ»Π±ΡΡ];
ΡΠ½ΠΈΡΡΠΎΠΆΠ°Π΅ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡ SWbemLocator.
ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π½Π° FTP-ΡΠ΅ΡΠ²Π΅Ρ:
ΡΠΎΡΠΌΠΈΡΡΠ΅ΠΌ ΠΈΠΌΡ ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°;
ΡΠΎΡ
ΡΠ°Π½ΡΠ΅ΠΌ Π½Π° Π΄ΠΈΡΠΊΠ΅ ΡΡΠΎΡ ΡΠ°ΠΉΠ»;
Π·Π°ΠΏΠΎΠ»Π½ΡΠ΅ΠΌ ΠΏΠΎΠ»Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° idFTP1 ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΠΉ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ FTP-ΡΠ΅ΡΠ²Π΅ΡΡ, ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊ ΡΡΠΎΠΌΡ ΡΠ΅ΡΠ²Π΅ΡΡ;
Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° Put ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌ ΡΠ°ΠΉΠ» Π½Π° ΡΠ΅ΡΠ²Π΅Ρ;
ΠΎΡΠΊΠ»ΡΡΠ°Π΅ΠΌΡΡ ΠΎΡ FTP-ΡΠ΅ΡΠ²Π΅ΡΠ°.
ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΏΠΈΡΠΊΠ° ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡΡΡ Ρ Π²Π΅ΡΡΠΈΠ΅ΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Windows. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ:
Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° dwOSVersionInfoSize ΠΎΠ±ΡΠ΅ΠΊΡΠ° ovi ΠΊΠ»Π°ΡΡΠ° TOSVersionInfo ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ GetVersionEx ΠΏΠΎΠ»ΡΡΠΈΠΌ Π½ΠΎΠΌΠ΅Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΠΠ‘ Windows;
ΠΈΡΡ
ΠΎΠ΄Ρ ΠΈΠ· Π·Π½Π°ΡΠ΅Π½ΠΈΡ ovi. dwPlatformId ΡΠΎΠ·Π΄Π°ΡΠΌ ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅ΠΊΡΡΠΈΡ
ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Win32API Process32First ΠΈ Process32Next ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ProcInfo ΠΊΠ»Π°ΡΡΠ° TprocessEntry32 Π² ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° ΠΠ‘ Windows Π±ΡΠ΄Π΅Ρ 9.Ρ
. Π ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° OC Windows Π±ΡΠ΄Π΅Ρ NT, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² EnumProcessModules ΠΈ GetModuleFileNameEx ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ° hProcess ΠΊΠ»Π°ΡΡΠ° THandle ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ΅ΠΊΡΡΠΈΡ
ΠΏΡΠΎΡΠ΅ΡΡΠ°Ρ
.
ΠΠ΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
ΠΡΡ
ΠΎΠ΄Π½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ 2.1.
Π ΠΈΡΡΠ½ΠΎΠΊ 2.1 ΠΡΡ
ΠΎΠ΄Π½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ±ΠΎΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ ΠΏΠΎ Π½Π°ΠΆΠ°ΡΠΈΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ «Π‘Π±ΠΎΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΠΠ» ΠΏΠΎΠΊΠ°Π·Π°Π½ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ 2.2. ΠΠΈΡΡΠΈΠ½Π³ ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΏΡΠΈΠ²Π΅Π΄ΡΠ½ Π² ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π.
Π ΠΈΡΡΠ½ΠΎΠΊ 2.2 Π‘Π±ΠΎΡ ΠΈ Π²ΡΠ²ΠΎΠ΄ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π² ΠΎΠΊΠ½ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.