ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

ОписаниС основных Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ²

Π Π΅Ρ„Π΅Ρ€Π°Ρ‚ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Для получСния списка процСссов Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒΡΡ с Π²Π΅Ρ€ΡΠΈΠ΅ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы Windows. Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹: ЗаполняСм поля ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° idFTP1 ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠΉ для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ FTP-сСрвСру, ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ΅ΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ ΡΡ‚ΠΎΠΌΡƒ сСрвСру; Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° dwOSVersionInfoSize ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ovi класса TOSVersionInfo ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ GetVersionEx ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ Π½ΠΎΠΌΠ΅Ρ€ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠžΠ‘ Windows… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ОписаниС основных Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

Алгоритм сбора ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈΠ· Ρ€Π΅Π΅ΡΡ‚Ρ€Π°:

Алгоритм сбора ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈΠ· Ρ€Π΅Π΅ΡΡ‚Ρ€Π°:

создаСм ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ рССстра (класс 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 Π‘Π±ΠΎΡ€ ΠΈ Π²Ρ‹Π²ΠΎΠ΄ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² ΠΎΠΊΠ½ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ