Windows ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅: ΠΠΠ£ ΠΠΠ’Π£ΠΠ’ | ΠΠ΅ΠΊΡΠΈΡ | ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ΄ Windows Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Win API
Windows ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ β ΠΠΈΠΊΠΈΡΡΠ΅Π±Π½ΠΈΠΊ
ΠΠ°ΡΠ΅ΡΠΈΠ°Π» ΠΈΠ· ΠΠΈΠΊΠΈΡΡΠ΅Π±Π½ΠΈΠΊΠ°Β β ΠΎΡΠΊΡΡΡΡΡ ΠΊΠ½ΠΈΠ³ Π΄Π»Ρ ΠΎΡΠΊΡΡΡΠΎΠ³ΠΎ ΠΌΠΈΡΠ°
ΠΡΠ° ΠΊΠ½ΠΈΠ³Π° ΡΡΡΠ΅ΠΌΠΈΡΡΡ Π±ΡΡΡ ΠΈΡΡΠ΅ΡΠΏΡΠ²Π°ΡΡΠΈΠΌ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠΌ Π΄Π»Ρ Π»ΡΠ±ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΊΡΠΎ Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°Π½ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΠΎΠ΄ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Windows. ΠΠ°ΡΠΈΠ½Π°ΡΡ ΠΎΡ Π½ΠΈΠ·ΡΠΈΡ ΡΡΠΎΠ²Π½Π΅ΠΉ Ρ Win32 API (C ΠΈ VB Classic) ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ MFC (C++). ΠΠΎΡΠ»Π΅ ΡΡΠΈΡ ΡΠ°Π·Π΄Π΅Π»ΠΎΠ², Π±ΡΠ΄Π΅Ρ ΠΎΡ Π²Π°ΡΠ΅Π½Π° ΡΠ΅ΠΌΠ° COM ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ActiveX Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠ·ΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠΎΡΠΎΠΌ ΠΏΠΎΠ³ΡΡΠ·ΠΈΠΌΡΡ Π² Windows DDK ΠΈ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ² Π΄Π»Ρ ΡΡΡΡΠΎΠΉΡΡΠ² ΠΏΠΎΠ΄ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Windows. Π Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΡΠΌ Π½Π° Π·Π°Π΄Π°ΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΡΡΡΠ΅Π³ΠΎ ΡΡΠΎΠ²Π½Ρ, Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ, Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ ΠΈ Π² ΠΊΠΎΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠΎΠ² ASP ΠΈ WSH.
ΠΡΡΠ³ΠΈΠ΅ ΡΠ΅ΠΌΡ ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½Ρ: ΠΠ°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΊΡΠΈΠ½-ΡΠ΅ΠΉΠ²Π΅ΡΠΎΠ², ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΡΠ΅ HTML ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ DLL ΡΠ°ΠΉΠ»ΠΎΠ².
ΠΡΠ° ΠΊΠ½ΠΈΠ³Π° Π±ΡΠ΄Π΅Ρ ΡΡΠΎΠΊΡΡΠΈΡΠΎΠ²Π°Π½Π° Π½Π° ΡΠ΅ΠΌΡ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΠ΅ Windows ΠΈ Π±ΡΠ΄Π΅Ρ ΠΈΠ·Π±Π΅Π³Π°ΡΡ ΠΎΠ±ΡΠΈΠ΅ ΡΠ΅ΠΌΡ ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ. Π§ΡΠΎΠ±Ρ ΡΠ³Π»ΡΠ±ΠΈΡΡΡ Π΅ΡΡ Π±ΠΎΠ»Π΅Π΅ Π² Π΄Π°Π½Π½ΡΠ΅ ΡΠ΅ΠΌΡ ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΡΠ΅ΡΡΡ ΠΊ ΠΏΡΠΎΡΠΌΠΎΡΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ°Π±ΠΎΡΡ Wikibooks, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΎΡΠ½ΠΎΠ²Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° ASM, C, C++, Visual Basic ΠΈ Visual Basic.NET ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ·ΡΠΊΠΈ ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΡ Π² Π΄Π΅ΡΠ°Π»ΡΡ . ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΡΡΠ»ΠΊΠΈ ΠΊ ΡΡΠΈΠΌ ΠΊΠ½ΠΈΠ³Π°ΠΌ.
ΠΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ, ΡΡΠΎ ΡΠΈΡΠ°ΡΠ΅Π»Ρ ΡΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°Π½ΠΈΡ ΠΎΠ± ΡΠ·ΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΡΠΎΠ±Π΅Π½Π½ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π½Π°Π½ΠΈΠ΅ C, C++ ΠΈ Visual Basic Π΄Π»Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ ΡΠ°Π·Π΄Π΅Π»ΠΎΠ² Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ.
Section 1: ΠΡΠ½ΠΎΠ²Ρ Windows[ΠΏΡΠ°Π²ΠΈΡΡ]
Section 2: Win32 API ΠΈ UI ΠΠ»Π΅ΠΌΠ΅Π½ΡΡ[ΠΏΡΠ°Π²ΠΈΡΡ]
Section 3: ΠΠ»Π°ΡΡΡ Microsoft Foundation (MFC)[ΠΏΡΠ°Π²ΠΈΡΡ]
Section 4: Dynamic Data Exchange (DDE), ActiveX ΠΈ COM[ΠΏΡΠ°Π²ΠΈΡΡ]
Section 5: ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΡΠ°ΠΉΠ²Π΅ΡΠΎΠ² Π£ΡΡΡΠΎΠΉΡΡΠ²[ΠΏΡΠ°Π²ΠΈΡΡ]
Section 6: ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΠ±ΠΎΠ»ΠΎΡΠΊΠΈ[ΠΏΡΠ°Π²ΠΈΡΡ]
ΠΠΏΠΏΠ΅Π½Π΄ΠΈΠΊΡ[ΠΏΡΠ°Π²ΠΈΡΡ]
ΠΠ°Π»ΡΠ½Π΅ΠΉΡΠ΅Π΅ Π§ΡΠ΅Π½ΠΈΠ΅[ΠΏΡΠ°Π²ΠΈΡΡ]
Π Π΅ΡΡΡΡΡ Wikimedia[ΠΏΡΠ°Π²ΠΈΡΡ]
Programming Languages:
ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Windows:
ΠΠΎΡ ΠΎΠΆΠΈΠ΅ ΡΠ΅ΠΌΡ:
ΠΠ½Π΅ΡΠ½ΠΈΠ΅ Π Π΅ΡΡΡΡΡ[ΠΏΡΠ°Π²ΠΈΡΡ]
- Advanced Win32 API Newsgroup
- Microsoft Developers Network
- Petzold, Charles, Β«Programming WindowsΒ», Microsoft Press.
- Hart, Johnathan, Β«Windows System ProgrammingΒ», second edition, 2001.
- Gordon, Alan, Β«The COM and COM+ Programming PrimerΒ», 2000.
- Oney, Walter, Β«Programming the Windows Driver ModelΒ», second edition, 2002.
ΠΡΠΈΠ½ΡΠΈΠΏΡ, Π»Π΅ΠΆΠ°ΡΠΈΠ΅ Π² ΠΎΡΠ½ΠΎΠ²Π΅ Windows. Π‘ΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΡΡΠ΅Π΄Π΅ Windows
ΠΡΠΈΠ½ΡΠΈΠΏΡ, Π»Π΅ΠΆΠ°ΡΠΈΠ΅ Π² ΠΎΡΠ½ΠΎΠ²Π΅ Windows
ΠΠΎΠ»Π΅Π·Π½ΠΎ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π·Π°Π±ΡΠ²Π°ΡΡ ΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π±Π°Π·ΠΎΠ²ΡΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΠ°Ρ Windows. Π Windows API ΠΈΠΌΠ΅Π΅ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΊΠ°ΠΊ ΡΠ°ΠΌΡΡ Π½Π΅Π·Π°ΠΌΠ΅ΡΠ½ΡΡ , ΡΠ°ΠΊ ΠΈ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΎΡΠ»ΠΈΡΠΈΠΉ ΠΎΡ Π΄ΡΡΠ³ΠΈΡ API, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ POSIX API, Ρ ΠΊΠΎΡΠΎΡΡΠΌ Π·Π½Π°ΠΊΠΎΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠ΅ Π² UNIX ΠΈ Linux. Π Ρ ΠΎΡΡ Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Windows Π½Π΅ ΡΠ²ΡΠ·Π°Π½Ρ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΡΠ΄Π½ΠΎΡΡΠΈ Π² ΡΠ°Π±ΠΎΡΠ΅, ΠΎΠ½Π° ΠΏΠΎΡΡΠ΅Π±ΡΠ΅Ρ ΠΎΡ Π²Π°Ρ Π²Π½Π΅ΡΠ΅Π½ΠΈΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΏΡΠΈΠ²ΡΡΠ½ΡΠ΅ ΡΡΠΈΠ»Ρ ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈΠΊΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΠΈΠΆΠ΅ ΠΎΠΏΠΈΡΠ°Π½Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π²Π°ΠΆΠ½Π΅ΠΉΡΠΈΡ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊ Windows, Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π²Ρ Π±Π»ΠΈΠΆΠ΅ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΠ΅ΡΡ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅Π³ΠΎ ΠΈΠ·Π»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π°.
ΠΠ½ΠΎΠ³ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ ΡΠ΅ΡΡΡΡΡ Windows ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΡΠ΄ΡΠ° (kernel objects), Π΄Π»Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΈ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ ΠΊΠΎΡΠΎΡΡΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΡ (handles). ΠΠΎ ΡΠΌΡΡΠ»Ρ ΡΡΠΈ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½Ρ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠ°ΠΌ (descriptors) ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°ΠΌ (ID) ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² Π² UNIX.[7]
β’Β ΠΡΠ±ΡΠ΅ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΈ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ ΡΠ΄ΡΠ° ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Windows API. «ΠΠ°Π·Π΅Π΅ΠΊ» Π΄Π»Ρ ΠΎΠ±Ρ ΠΎΠ΄Π° ΡΡΠΎΠ³ΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π° Π½Π΅Ρ. ΠΠΎΠ΄ΠΎΠ±Π½Π°Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ ΡΠ°Π±ΠΎΡΡ ΡΠΎΠ³Π»Π°ΡΡΠ΅ΡΡΡ Ρ ΠΏΡΠΈΠ½ΡΠΈΠΏΠ°ΠΌΠΈ Π°Π±ΡΡΡΠ°Π³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ , ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΌΠΈ Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ, Ρ ΠΎΡΡ ΡΠ°ΠΌΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Windows ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ.
β’Β Π ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌ ΠΎΡΠ½ΠΎΡΡΡΡΡ ΡΠ°ΠΉΠ»Ρ, ΠΏΡΠΎΡΠ΅ΡΡΡ, ΠΏΠΎΡΠΎΠΊΠΈ, ΠΊΠ°Π½Π°Π»Ρ ΠΌΠ΅ΠΆΠΏΡΠΎΡΠ΅ΡΡΠ½ΠΎΠ³ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ², ΡΠΎΠ±ΡΡΠΈΡ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅. ΠΠ±ΡΠ΅ΠΊΡΡ ΠΈΠΌΠ΅ΡΡ Π°ΡΡΠΈΠ±ΡΡΡ Π·Π°ΡΠΈΡΡ.
β’Β Windows β Π±ΠΎΠ³Π°ΡΡΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ ΠΈ Π³ΠΈΠ±ΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ. ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , ΠΎΠ΄Π½ΠΈ ΠΈ ΡΠ΅ ΠΆΠ΅ ΠΈΠ»ΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ ΠΌΠΎΠ³ΡΡ ΡΠ΅ΡΠ°ΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ°Π·Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ; ΡΠ°ΠΊ, ΠΈΠΌΠ΅ΡΡΡΡ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ (convenience functions), ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ΠΌ ΡΠ°ΡΡΠΎ Π²ΡΡΡΠ΅ΡΠ°ΡΡΠΈΡ ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ² Π² ΠΎΠ΄Π½Ρ ΡΡΠ½ΠΊΡΠΈΡ (ΠΊ ΡΠΈΡΠ»Ρ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΡ CopyFile, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠ°Ρ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² Π΄Π°Π»Π΅Π΅ Π² ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅). ΠΠΎ-Π²ΡΠΎΡΡΡ , ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ°ΡΡΠΎ ΠΈΠΌΠ΅ΡΡ ΠΌΠ½ΠΎΠ³ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΈ ΡΠ»Π°Π³ΠΈ, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΠ³Π½ΠΎΡΠΈΡΡΡΡΡΡ. ΠΠ°Π½Π½Π°Ρ ΠΊΠ½ΠΈΠ³Π° Π½Π΅ ΠΏΡΠ΅ΡΠ΅Π½Π΄ΡΠ΅Ρ Π½Π° ΡΠΎΠ»Ρ ΡΠ½ΡΠΈΠΊΠ»ΠΎΠΏΠ΅Π΄ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠ°, ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π² Π½Π΅ΠΉ ΠΊΠΎΠ½ΡΠ΅Π½ΡΡΠΈΡΡΠ΅ΡΡΡ Π»ΠΈΡΡ Π½Π° Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΡΡ ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°Ρ .
β’Β Windows ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΠΌΠ½ΠΎΠ³ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΠΈΠ΅ ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΌΡΡ ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·Π½ΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ².
β’Β ΠΠ°Π·ΠΎΠ²ΠΎΠΉ Π΅Π΄ΠΈΠ½ΠΈΡΠ΅ΠΉ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π² Windows ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΡΠΎΠΊ (thread). Π ΠΎΠ΄Π½ΠΎΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠ΅ (process) ΠΌΠΎΠ³ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠΎΠΊΠΎΠ².
β’Β ΠΠ»Ρ ΡΡΠ½ΠΊΡΠΈΠΉ Windows ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»ΠΈΠ½Π½ΡΠ΅ ΠΎΠΏΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΈΠΌΠ΅Π½Π°. ΠΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠ΅ Π½ΠΈΠΆΠ΅ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΈΠΌΠ΅Π½Π° ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈΠ»Π»ΡΡΡΡΠΈΡΡΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΡ ΠΎΠ± ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈΠΌΠ΅Π½, Π½ΠΎ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ»ΠΈΠΊΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ Windows:
WaitForSingleObject
WaitForSingleObjectEx
WaitForMultipleObjects
WaitNamedPipe
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΠΉ, ΡΠ΅Π³ΡΠ»ΠΈΡΡΡΡΠΈΡ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠΌΠ΅Π½ ΡΠΈΠΏΠΎΠ²:
β’ ΠΠΌΠ΅Π½Π° ΠΏΡΠ΅Π΄ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ , Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ API, ΡΠ°ΠΊΠΆΠ΅ ΡΠ²Π»ΡΡΡΡΡ ΠΎΠΏΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΌΠΈ, ΠΈ Π² Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΏΡΠΎΠΏΠΈΡΠ½ΡΠ΅ Π±ΡΠΊΠ²Ρ.
Π ΡΠΈΡΠ»Ρ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΡ ΠΎΡΠ½ΠΎΡΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ :
BOOL (ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΠΊΠ°ΠΊ 32-Π±ΠΈΡΠΎΠ²ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠΉ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ)
HANDLE
DWORD (Π²Π΅Π·Π΄Π΅ΡΡΡΠ΅Π΅ 32-Π±ΠΈΡΠΎΠ²ΠΎΠ΅ ΡΠ΅Π»ΠΎΠ΅ Π±Π΅Π· Π·Π½Π°ΠΊΠ°)
LPTSTR (ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΡΡΠΎΠΊΡ, ΡΠΎΡΡΠΎΡΡΡΡ ΠΈΠ· 8β ΠΈΠ»ΠΈ 16-Π±ΠΈΡΠΎΠ²ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²)
LPSECURITY_ATTRIBUTES
Π‘ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΌΠ½ΠΎΠ³ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠΌΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ Π·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ ΠΈΠ·Π»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π°.
β’Β Π ΠΈΠΌΠ΅Π½Π°Ρ ΠΏΡΠ΅Π΄ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΠΈΠΏΠΎΠ² ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ * Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ, ΠΈ ΠΎΠ½ΠΈ ΠΎΡΡΠ°ΠΆΠ°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΡΠ»ΠΈΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΡΠΌΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°, ΠΊΠ°ΠΊ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΡΠ»ΡΡΠ°Π΅ ΡΠΈΠΏΠΎΠ² LPTSTR (ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΠΊΠ°ΠΊ TCHAR *) ΠΈ LPCTSTR (ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΠΊΠ°ΠΊ const TCHAR *). ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅. Π’ΠΈΠΏ TCHAR ΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°ΡΡ ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΠΉ ΡΠΈΠΏ char, ΡΠ°ΠΊ ΠΈ Π΄Π²ΡΡ Π±Π°ΠΉΡΠΎΠ²ΡΠΉ ΡΠΈΠΏ wchar_t.
β’Β Π ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠΌΠ΅Π½ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , β ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅, Π² ΠΏΡΠΎΡΠΎΡΠΈΠΏΠ°Ρ ΡΡΠ½ΠΊΡΠΈΠΉ, β ΡΠ°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅ΡΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΡ. Π’Π°ΠΊ, ΠΈΠΌΡ lpszFileName ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ «Π΄Π»ΠΈΠ½Π½ΠΎΠΌΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΡΡΠΎΠΊΡ, Π·Π°Π²Π΅ΡΡΠ°ΡΡΡΡΡΡ Π½ΡΠ»Π΅Π²ΡΠΌ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠΌ», ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π°. ΠΡΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΠ»Π»ΡΡΡΡΠΈΡΡΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠΎΠΉ «Π²Π΅Π½Π³Π΅ΡΡΠΊΠΎΠΉ Π½ΠΎΡΠ°ΡΠΈΠΈ», ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΡ Π² Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π½Π΅ ΡΡΡΠ΅ΠΌΠΈΠΌΡΡ ΠΏΡΠΈΠ΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ. Π’ΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅, dwAccess β Π΄Π²ΠΎΠΉΠ½ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ (32 Π±ΠΈΡΠ°), ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π΅ ΡΠ»Π°Π³ΠΈ ΠΏΡΠ°Π² Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ°ΠΉΠ»Ρ, Π³Π΄Π΅ «dw» ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ «double word» β «Π΄Π²ΠΎΠΉΠ½ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ».
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅
ΠΡΠ΄Π΅Ρ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΠ΅ (Π²ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΠ΅) ΡΠ°ΠΉΠ»Ρ, Π² ΠΊΠΎΡΠΎΡΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΊΠΎΠ½ΡΡΠ°Π½Ρ, ΡΠ»Π°Π³ΠΎΠ², ΠΊΠΎΠ΄ΠΎΠ² ΠΎΡΠΈΠ±ΠΎΠΊ ΠΈ ΡΠΎΠΌΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅. ΠΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠΈΡ Π΄Π»Ρ Π½Π°Ρ ΠΈΠ½ΡΠ΅ΡΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ², Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΡ ΡΠ΅ΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Ρ Π½ΠΈΠΆΠ΅ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ°, ΡΠ²Π»ΡΡΡΡΡ ΡΠ°ΡΡΡΡ ΡΡΠ΅Π΄Ρ Microsoft Visual C++ ΠΈ ΠΎΠ±ΡΡΠ½ΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΡΡ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ Program FilesMicrosoft Visual Studio.NETVc7PlatformSDKInclude (ΠΈΠ»ΠΈ Program FilesMicrosoft Visual StudioVC98Include Π² ΡΠ»ΡΡΠ°Π΅ VC++ 6.0):
WINDOWS.H (ΡΠ°ΠΉΠ», ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΠΈΠΉ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Ρ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²)
WINNT.Π
WINBASE.HΒ
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, Π½Π΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ ΡΡΠΎ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΠΉ API Win32 Ρ ΡΠ°ΠΌΠΎΠ³ΠΎ Π½Π°ΡΠ°Π»Π° ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π»ΡΡ ΠΊΠ°ΠΊ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, ΠΎΠ½ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π»ΡΡ Ρ ΡΡΠ΅ΡΠΎΠΌ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ Ρ API Winl6, Π²Ρ ΠΎΠ΄ΠΈΠ²ΡΠΈΠΌ Π² ΡΠΎΡΡΠ°Π² Windows 3.1. ΠΡΠΎ ΠΏΡΠΈΠ²Π΅Π»ΠΎ ΠΊ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌ Π΄ΠΎΡΠ°Π΄Π½ΡΠΌ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ° ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΡΠΌ:
β’Β Π Π½Π°Π·Π²Π°Π½ΠΈΡΡ ΡΠΈΠΏΠΎΠ² Π²ΡΡΡΠ΅ΡΠ°ΡΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π°Π½Π°Ρ ΡΠΎΠ½ΠΈΠ·ΠΌΠ°, ΠΊΠ°ΠΊ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΡΠ»ΡΡΠ°Π΅ ΡΠΈΠΏΠΎΠ² LPTSTR ΠΈ LPDWORD, ΡΡΡΠ»Π°ΡΡΠΈΡ ΡΡ Π½Π° «Π΄Π»ΠΈΠ½Π½ΡΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ», ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΎΡΡΡΠΌ 32β ΠΈΠ»ΠΈ 64-Π±ΠΈΡΠΎΠ²ΡΠΌ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΌ. ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π² ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΡΡ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ ΠΈΠ½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ. ΠΠ½ΠΎΠ³Π΄Π° ΡΠΎΡΡΠ°Π²Π»ΡΡΡΠ°Ρ «Π΄Π»ΠΈΠ½Π½ΡΠΉ» ΠΎΠΏΡΡΠΊΠ°Π΅ΡΡΡ, ΠΈ ΡΠΎΠ³Π΄Π°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΈΠΏΡ LPVOID ΠΈ PVOID ΡΠ²Π»ΡΡΡΡΡ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΡΠΌΠΈ.[8]
β’Β Π ΠΈΠΌΠ΅Π½Π° Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠΈΡ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ WIN32_FIND_DATA, Π²Ρ ΠΎΠ΄ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ «WIN32», Ρ ΠΎΡΡ ΡΠ΅ ΠΆΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΈ Π² Win64.
β’Β ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ ΡΡΠΎ ΡΠΏΠΎΠΌΡΠ½ΡΡΠ°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΡΠ΅ΡΡΠ»Π° ΡΠ²ΠΎΡ Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎΡΡΡ, ΠΎΠ½Π° ΠΎΡΡΠ°Π²ΠΈΠ»Π° ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π±Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ 16-ΡΠ°Π·ΡΡΠ΄Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ, Π½ΠΈ ΠΎΠ΄Π½Π° ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ Π² ΡΡΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ, Ρ ΠΎΡΡ ΠΈ ΠΌΠΎΠ³Π»ΠΎ Π±Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡΡΡ, ΡΡΠΎ ΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ³ΡΠ°ΡΡ Π²Π΅ΡΡΠΌΠ° Π²Π°ΠΆΠ½ΡΡ ΡΠΎΠ»Ρ. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΡ OpenFile, ΠΊΠΎΡΠΎΡΠ°Ρ, ΡΡΠ΄Ρ ΠΏΠΎ Π΅Π΅ Π½Π°Π·Π²Π°Π½ΠΈΡ, Π½ΡΠΆΠ½Π° Π΄Π»Ρ ΠΎΡΠΊΡΡΡΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ², ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠΈ Π΄Π»Ρ ΠΎΡΠΊΡΡΡΠΈΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π²ΡΠ΅Π³Π΄Π° ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ CreateFile.
ΠΠΎΠ΄Π΅Π»ΠΈΡΠ΅ΡΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΊΠ΅
Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ Π³Π»Π°Π²Π° >
ΠΠ΅ΡΡΠΈΠΈ Windows. Π‘ΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΡΡΠ΅Π΄Π΅ Windows
ΠΠ‘ Windows, Π² Π²ΠΈΠ΄Π΅ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡΠ΅ΠΉΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π²Π΅ΡΡΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ, Π½Π°ΡΠΈΠ½Π°Ρ Ρ 1993 Π³ΠΎΠ΄Π°. ΠΠΎ Π²ΡΠ΅ΠΌΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ Π½Π° Web-ΡΠ°ΠΉΡΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Microsoft Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°Π»ΠΈ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π²Π΅ΡΡΠΈΠΈ:
β’Β Windows XP, Π²ΠΊΠ»ΡΡΠ°Ρ Π²ΡΠΏΡΡΠΊΠΈ Home, Professional ΠΈ ΡΡΠ΄ Π΄ΡΡΠ³ΠΈΡ , ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π° Π½Π° ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»ΡΠ½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ. ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΈΡ PC, ΠΏΠΎΡΡΡΠΏΠ°ΡΡΠΈΡ Π½Π° ΡΡΠ½ΠΎΠΊ Π½Π° ΡΠ΅Π³ΠΎΠ΄Π½ΡΡΠ½ΠΈΠΉ Π΄Π΅Π½Ρ, Π²ΠΊΠ»ΡΡΠ°Ρ Π»ΡΠΏΡΠΎΠΏΡ ΠΈ Π½ΠΎΡΡΠ±ΡΠΊΠΈ, ΠΏΠΎΡΡΠ°Π²Π»ΡΡΡΡΡ Ρ ΡΠΆΠ΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠΉ Windows XP ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΡΠΈΠΏΠ°. Π ΡΠ°ΠΌΠΊΠ°Ρ Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ ΡΠ°Π·Π»ΠΈΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π²Π΅ΡΡΠΈΡΠΌΠΈ, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π½Π΅ ΠΈΠΌΠ΅ΡΡ.
β’Β Windows Server 2003, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΠΏΡΡΠΊΠ°Π΅ΡΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ² Small Business Server, Storage Server 2003, Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π΄ΡΡΠ³ΠΈΡ , ΠΈ ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π° Π½Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ Π΄Π»Ρ ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠΉ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΠΌΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ. Π ΡΠΈΡΡΠ΅ΠΌΠ°Ρ , ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΡ ΠΏΠΎΠ΄ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Windows Server 2003, ΡΠ°ΡΡΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΡΠΈΠΌΠΌΠ΅ΡΡΠΈΡΠ½Π°Ρ ΠΌΠ½ΠΎΠ³ΠΎΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½Π°Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° (Symmetric Multiprocessing, SMP), Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΠ·ΡΡΡΠ°ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ². ΠΠΎΠ²ΡΠ΅ 64-ΡΠ°Π·ΡΡΠ΄Π½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΡΠ΅Π±ΡΡΡΠΈΠ΅ Win64, ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°Ρ Windows Server 2003.
β’Β Windows 2000, ΠΊΠΎΡΠΎΡΠ°Ρ Π΄ΠΎΡΡΡΠΏΠ½Π° Π² Π²ΠΈΠ΄Π΅ Π²ΡΠΏΡΡΠΊΠΎΠ² Professional ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡΠ΅ΠΉ Π²ΡΠΏΡΡΠΊΠΎΠ² Server ΠΈ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ ΡΠΈΡΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ Π² ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΡΠ½ΡΡ , ΡΠ°ΠΊ ΠΈ Π² ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ . Π‘ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ Windows XP ΠΈ Π±ΡΠ΄ΡΡΠΈΠ΅ Π²Π΅ΡΡΠΈΠΈ Windows Π²ΡΡΠ΅ΡΠ½ΡΡ Windows 2000, ΠΏΡΠΎΠ΄Π°ΠΆΠ° ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠΆΠ΅ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ΅Π½Π°.
β’ Windows Embedded, Windows Π‘Π ΠΈ Windows Mobile, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ Windows, ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Ρ Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΠΌΠ°Π»ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ , ΡΠ°ΠΊΠΈΡ , Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠ°ΠΊ ΡΡΡΠ½ΡΠ΅ (palmtop) ΠΈ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ (embedded) ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ , ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΡΠΈΡΠΎΠΊΠΈΠ΅ ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ Windows.
ΠΠΎΠ΄Π΅Π»ΠΈΡΠ΅ΡΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΊΠ΅
Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ Π³Π»Π°Π²Π° >
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠ°. Π‘ΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΡΡΠ΅Π΄Π΅ Windows
ΠΠ΄Π½ΠΎΠΉ ΠΈΠ· Π²Π°ΠΆΠ½Π΅ΠΉΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ Windows, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΠΈΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌΠΈ, ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ CreateProcess, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΠ·Π΄Π°Π΅Ρ Π½ΠΎΠ²ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ Ρ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΏΠΎΡΠΎΠΊΠΎΠΌ. ΠΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠΊΠ°Π·Π°ΡΡ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π° ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΠ±ΡΡΠ½ΠΎ ΠΏΡΠΈΠ½ΡΡΠΎ Π³ΠΎΠ²ΠΎΡΠΈΡΡ ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°Ρ -ΠΏΡΠ΅Π΄ΠΊΠ°Ρ , ΠΈΠ»ΠΈ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠ°Ρ (parent processes), ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ°Ρ -ΠΏΠΎΡΠΎΠΌΠΊΠ°Ρ , ΠΈΠ»ΠΈ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠ°Ρ (child processes), ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌΠΈ Windows ΡΡΠΈ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠΉ ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΎΡΡΠΎ ΡΠ΄ΠΎΠ±Π½ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠΎΠ³ΠΎ ΡΠ°ΠΊΡΠ°, ΡΡΠΎ ΠΎΠ΄ΠΈΠ½ ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΠΎΡΠΎΠΆΠ΄Π°Π΅ΡΡΡ Π΄ΡΡΠ³ΠΈΠΌ.
ΠΠΈΠ±ΠΊΠΈΠ΅ ΠΈ ΠΌΠΎΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ CreateProcess ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΡΡ Π΅Π΅ Π΄Π΅ΡΡΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ. ΠΠ° ΠΏΠ΅ΡΠ²ΡΡ ΠΏΠΎΡΠ°Ρ Π΄Π»Ρ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ ΡΠ΅Π»Π΅ΡΠΎΠΎΠ±ΡΠ°Π·Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², Π·Π°Π΄Π°Π½Π½ΡΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. Π’ΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π² ΡΠ»ΡΡΠ°Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ CreateFile, ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ» ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅ΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ CreateProcess. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΡΠΎΠΌΡ ΠΈΠ·ΡΡΠΈΡΡ Π΄ΡΡΠ³ΠΈΠ΅ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π²Π°ΠΌ Π±ΡΠ΄Π΅Ρ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π»Π΅Π³ΡΠ΅.
ΠΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ, Π·Π°ΠΌΠ΅ΡΡΡΠ΅, ΡΡΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΎΠΌ ΡΠΈΠΏΠ° HANDLE; Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΡΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π΄Π²Π° ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠ°, ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ Π΄Π»Ρ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΈ ΠΏΠΎΡΠΎΠΊΠ°, ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Ρ ΠΈΡ Π² ΡΡΡΡΠΊΡΡΡΠ΅, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΡΠΈ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΡ ΠΎΡΠ½ΠΎΡΡΡΡΡ ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΠΎΠΌΡΒ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ CreateProcess Π½ΠΎΠ²ΠΎΠΌΡ ΠΏΡΠΎΡΠ΅ΡΡΡ ΠΈ Π΅Π³ΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ (primary) ΠΏΠΎΡΠΎΠΊΠ°. ΠΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°Π½ΠΈΠ΅ ΡΡΠ΅ΡΠΊΠΈ ΡΠ΅ΡΡΡΡΠΎΠ² Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΡΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠ»Π΅Π΄ΠΈΡΠ΅ Π·Π° ΡΠ²ΠΎΠ΅Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ Π·Π°ΠΊΡΡΡΠΈΠ΅ΠΌ ΠΎΠ±ΠΎΠΈΡ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΎΠ², ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ Π²Π°ΠΌ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ Π½ΡΠΆΠ½Ρ; Π·Π°Π±ΡΠ²ΡΠΈΠ²ΠΎΡΡΡ Π² ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ Π·Π°ΠΊΡΡΡΠΈΡ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΎΠ² ΠΏΠΎΡΠΎΠΊΠΎΠ² ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΠ°ΠΌΡΡ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ. ΠΠ°ΠΊΡΡΡΠΈΠ΅ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠ° ΠΏΠΎΡΠΎΠΊΠ° Π½Π΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ΅Π½ΠΈΡ Π΅Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ; ΡΡΠ½ΠΊΡΠΈΡ CloseHandle Π»ΠΈΡΡ ΡΠ΄Π°Π»ΡΠ΅Ρ ΡΡΡΠ»ΠΊΡ Π½Π° ΠΏΠΎΡΠΎΠΊ Π²Π½ΡΡΡΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ°, Π²ΡΠ·Π²Π°Π²ΡΠ΅Π³ΠΎ ΡΡΠ½ΠΊΡΠΈΡ CreateProcess.Β
BOOL CreateProcess(lpApplicationName, LPTSTR lpCommandLine, LPSECURITY_ATTRIBUTES lpsaProcess, LPSECURITY_ATTRIBUTES lpsaThread, BOOL bInheritHandles, DWORD dwCreationFlags, LPVOID lpEnvironment, LPCTSTR lpCurDir, LPSTARTUPINFO lpStartupInfo, LPPROCESS_INFORMATION lpProcInfo)
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅: Π² ΡΠ»ΡΡΠ°Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΈ ΠΏΠΎΡΠΎΠΊΠ°Β βΒ TRUE, ΠΈΠ½Π°ΡΠ΅Β β FALSE.Β
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΏΠΎΡΡΠ΅Π±ΡΡΡ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅Π³ΠΎ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΠ°Π·Π΄Π΅Π»Π°Ρ , ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ ΡΠΌΡΡΠ» ΠΌΠ½ΠΎΠ³ΠΈΡ Π΄ΡΡΠ³ΠΈΡ ΡΡΠ°Π½Π΅Ρ Π΄Π»Ρ Π²Π°Ρ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ½ΡΡΠ½ΡΠΌ ΠΏΡΠΈ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ.
lpApplicationName ΠΈ lpCommandLine (ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΈΠΌΠ΅Π΅Ρ ΡΠΈΠΏ LPTSTR, Π° Π½Π΅ LPCTSTR) β ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π²ΠΌΠ΅ΡΡΠ΅ Π΄Π»Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, ΠΎ ΡΠ΅ΠΌ Π³ΠΎΠ²ΠΎΡΠΈΡΡΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅.
lpsaProcess ΠΈ lpsaThread β ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ Π½Π° ΡΡΡΡΠΊΡΡΡΡ Π°ΡΡΠΈΠ±ΡΡΠΎΠ² Π·Π°ΡΠΈΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΈ ΠΏΠΎΡΠΎΠΊΠ°. ΠΠ½Π°ΡΠ΅Π½ΠΈΡΠΌ NULL ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π°ΡΡΠΈΠ±ΡΡΠΎΠ² Π·Π°ΡΠΈΡΡ, Π·Π°Π΄Π°Π½Π½ΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π±ΡΠ΄ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π½Π°ΠΌΠΈ Π²ΠΏΠ»ΠΎΡΡ Π΄ΠΎ Π³Π»Π°Π²Ρ 15, ΠΏΠΎΡΠ²ΡΡΠ΅Π½Π½ΠΎΠΉ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΡ ΡΡΠ΅Π΄ΡΡΠ² Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Windows.
bInheritHandles β ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, Π½Π°ΡΠ»Π΅Π΄ΡΠ΅Ρ Π»ΠΈ Π½ΠΎΠ²ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ Π½Π°ΡΠ»Π΅Π΄ΡΠ΅ΠΌΡΠ΅ ΠΎΡΠΊΡΡΡΡΠ΅ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΡ (ΡΠ°ΠΉΠ»ΠΎΠ², ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅) ΠΈΠ· Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°. ΠΠ°ΡΠ»Π΅Π΄ΡΠ΅ΠΌΡΠ΅ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΡ ΠΈΠΌΠ΅ΡΡ ΡΠ΅ ΠΆΠ΅ Π°ΡΡΠΈΠ±ΡΡΡ, ΡΡΠΎ ΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅, ΠΈ ΠΈΡ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΎ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΠ°Π·Π΄Π΅Π»ΠΎΠ².
dwCreationFlags β ΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡ Π² ΡΠ΅Π±Π΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ»Π°Π³ΠΎΠ²ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅:
β’ CREATE_SUSPENDED β ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΡΠΎ, ΡΡΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΏΠΎΡΠΎΠΊ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ Π² ΠΏΡΠΈΠΎΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ ΠΈ Π½Π°ΡΠ½Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π»ΠΈΡΡ ΠΏΠΎΡΠ»Π΅ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΡ ResumeThread.Β
β’Β DETACHED_PROCESS ΠΈ CREATE_NEW_CONSOLEΒ β Π²Π·Π°ΠΈΠΌΠΎΠΈΡΠΊΠ»ΡΡΠ°ΡΡΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΡΡ ΠΎΠ±Π° ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ. ΠΠ΅ΡΠ²ΡΠΉ ΡΠ»Π°Π³ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°, Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠΎΠ»Ρ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ, Π° Π²ΡΠΎΡΠΎΠΉ β ΠΏΡΠΎΡΠ΅ΡΡΠ°, Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π΅ΡΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½Π°Ρ ΠΊΠΎΠ½ΡΠΎΠ»Ρ. ΠΡΠ»ΠΈ Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΡΠΈΡ ΡΠ»Π°Π³ΠΎΠ² Π½Π΅ ΡΠΊΠ°Π·Π°Π½, ΡΠΎ Π½ΠΎΠ²ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ Π½Π°ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΊΠΎΠ½ΡΠΎΠ»Ρ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°.
β’Β Create_New_Process_Group β ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΡΠΎ, ΡΡΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠΎΡΠ½Π΅Π²ΡΠΌ Π΄Π»Ρ Π½ΠΎΠ²ΠΎΠΉ Π³ΡΡΠΏΠΏΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ². ΠΡΠ»ΠΈ Π²ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ, ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°ΡΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠΉ Π³ΡΡΠΏΠΏΠ΅, ΡΠ°Π·Π΄Π΅Π»ΡΡΡ ΠΎΠ±ΡΡΡ ΠΊΠΎΠ½ΡΠΎΠ»Ρ, ΡΠΎ Π²ΡΠ΅ ΠΎΠ½ΠΈ Π±ΡΠ΄ΡΡ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΠ΅ ΡΠΈΠ³Π½Π°Π»Ρ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ (Ctrl-C ΠΈΠ»ΠΈ Ctrl-break). ΠΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΡ ΡΠΈΠ³Π½Π°Π»ΠΎΠ² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΠΎΠΏΠΈΡΡΠ²Π°Π»ΠΈΡΡ Π² Π³Π»Π°Π²Π΅ 4, Π° ΠΈΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π±ΡΠ»ΠΎ ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΎ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ 4.5. Π£ΠΏΠΎΠΌΡΠ½ΡΡΡΠ΅ Π³ΡΡΠΏΠΏΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² Π² Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½Ρ Π³ΡΡΠΏΠΏΠ°ΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² UNIX ΠΈ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ Π΄Π°Π»Π΅Π΅ Π² ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅.
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· ΡΠ»Π°Π³ΠΎΠ² ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ°ΠΌΠΈ ΠΏΠΎΡΠΎΠΊΠΎΠ² Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°. Π Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡΡ ΡΡΠΈΡ ΡΠ»Π°Π³ΠΎΠ² Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ Π³ΠΎΠ²ΠΎΡΠΈΡΡΡ Π² Π³Π»Π°Π²Π΅ 7. ΠΠΎΠΊΠ° ΠΆΠ΅ Π½Π°ΠΌ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ° (ΡΡΠΎΡ ΡΠ΅ΠΆΠΈΠΌ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ) ΠΈΠ»ΠΈ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ NORMAL_PRIORITY_CLASS.
lpEnvironment β ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° Π±Π»ΠΎΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°. ΠΡΠ»ΠΈ Π·Π°Π΄Π°Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ NULL, ΡΠΎ Π½ΠΎΠ²ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°. ΠΠ»ΠΎΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΡΡΠΎΠΊΠΈ, Π² ΠΊΠΎΡΠΎΡΡΡ Π·Π°Π΄Π°Π½Ρ ΠΏΠ°ΡΡ «ΠΈΠΌΡ-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅», ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠΈΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΡΠΈ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ°ΠΉΠ»Π°ΠΌ.
lpCurDir β ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΡΡΠΎΠΊΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ ΠΏΡΡΡ ΠΊ ΡΠ΅ΠΊΡΡΠ΅ΠΌΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Ρ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°. ΠΡΠ»ΠΈ Π·Π°Π΄Π°Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ NULL, ΡΠΎ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°.
lpStartupInfo β ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΡΡΡΠΊΡΡΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ Π²Π½Π΅ΡΠ½ΠΈΠΉ Π²ΠΈΠ΄ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ² Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈΠ· ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°, ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ GetStartupInfo. ΠΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡΡΠΏΠΈΡΡ ΠΈ ΠΏΠΎ-Π΄ΡΡΠ³ΠΎΠΌΡ, ΠΎΠ±Π½ΡΠ»ΠΈΠ² ΡΡΡΡΠΊΡΡΡΡ STARTUPINFO ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ CreateProcess. ΠΠ»Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ² Π²Π²ΠΎΠ΄Π°, Π²ΡΠ²ΠΎΠ΄Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΈ Π²ΡΠ²ΠΎΠ΄Π° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ°Ρ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»Π΅ΠΉ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΎΠ² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ² (hStdInput, hStdOutput ΠΈ hStdError) Π² ΡΡΡΡΠΊΡΡΡΠ΅ STARTUPINFO. Π§ΡΠΎΠ±Ρ ΡΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π½Π΅ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π»ΠΈΡΡ, ΡΠ»Π΅Π΄ΡΠ΅Ρ Π·Π°Π΄Π°ΡΡ Π΄Π»Ρ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΡΡΠΎΠΉ ΠΆΠ΅ ΡΡΡΡΠΊΡΡΡΡ, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ, ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° dwFlags, Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ STARTF_USESTDHANDLES ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π²ΡΠ΅ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΡΡΠ΅Π±ΡΡΡΡΡ Π΄ΠΎΡΠ΅ΡΠ½Π΅ΠΌΡ ΠΏΡΠΎΡΠ΅ΡΡΡ. Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΡΠΈ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΡ ΡΠ²Π»ΡΡΡΡΡ Π½Π°ΡΠ»Π΅Π΄ΡΠ΅ΠΌΡΠΌΠΈ ΠΈ ΡΡΠΎ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ CreateProcess Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° bInheritHandles ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ ΡΠ°Π²Π½ΡΠΌ TRUE. ΠΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΠΎ ΡΡΠΎΠΌΡ Π²ΠΎΠΏΡΠΎΡΡ, ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π°Π΅ΠΌΠ°Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ, ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡΡ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ «ΠΠ°ΡΠ»Π΅Π΄ΡΠ΅ΠΌΡΠ΅ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΡ».Β
lpProInfΠΎ β ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΡΡΡΠΊΡΡΡΡ, Π² ΠΊΠΎΡΠΎΡΡΡ Π±ΡΠ΄ΡΡ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΎΠ² ΠΈ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ² ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΈ ΠΏΠΎΡΠΎΠΊΠ°. Π‘ΡΡΡΠΊΡΡΡΠ° PROCESS_INFORMATION, ΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΈΠ΄Π΅Ρ ΡΠ΅ΡΡ, ΠΈΠΌΠ΅Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π²ΠΈΠ΄:Β
typedef struct PROCESS_INFORMATION {
Β HANDLE hProcess;
Β HANDLE hThread;
Β DWORD dwProcessId;
Β DWORD dwThreadId;
} PROCESS_INFORMATION;
ΠΠ°ΡΠ΅ΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌ ΠΈ ΠΏΠΎΡΠΎΠΊΠ°ΠΌ Π½ΡΠΆΠ½Ρ Π΅ΡΠ΅ ΠΈ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΡ, Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ ΡΠ½Π°Π±ΠΆΠ°ΡΡΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠΌΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°ΠΌΠΈ (ID)? ΠΠ»ΠΎΠ±Π°Π»ΡΠ½ΡΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ ΠΎΡΡΠ°ΡΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π½Π° ΠΏΡΠΎΡΡΠΆΠ΅Π½ΠΈΠΈ Π²ΡΠ΅Π³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π΅Π³ΠΎ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π²ΠΎ Π²ΡΠ΅Ρ ΠΏΡΠΎΡΠ΅ΡΡΠ°Ρ , ΡΠΎΠ³Π΄Π° Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΎΠ² ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ΅Ρ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΌ Π½Π°Π±ΠΎΡΠΎΠΌ Π°ΡΡΠΈΠ±ΡΡΠΎΠ², Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌΠΈ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡΠΌΠΈ Π΄ΠΎΡΡΡΠΏΠ°. Π ΡΠΈΠ»Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΡ ΠΏΡΠΈΡΠΈΠ½ ΠΎΠ΄Π½ΠΈΠΌ ΡΡΠ½ΠΊΡΠΈΡΠΌ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌΠΈ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ², Π° Π΄ΡΡΠ³ΠΈΠΌ β Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΡ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π² Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠ°Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ΅Π±ΡΡΡ ΡΠΊΠ°Π·Π°Π½ΠΈΡ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΎΠ². Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ, ΠΎΠ±ΡΡΠΆΠ΄Π°Π΅ΠΌΡΠ΅ Π΄Π°Π»Π΅Π΅ Π² ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΎΠ² ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΡΠ°Π·Π»ΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ², ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΎΠ², Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ. Π’ΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΡ ΡΠ°ΠΉΠ»ΠΎΠ², Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² ΠΈ ΠΏΠΎΡΠΎΠΊΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ Π·Π°ΠΊΡΡΠ²Π°ΡΡΡΡ ΡΡΠ°Π·Ρ ΠΆΠ΅ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π² Π½ΠΈΡ ΠΎΡΠΏΠ°Π»Π°.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅
ΠΠΎΠ²ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ, ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ ΠΈ ΠΈΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΈ CreateProcess. ΠΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ ΡΡΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° Π»ΡΠ±ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ° Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΠΎΡΡΠ°Π·ΡΡΡΡ Π½Π° Π΄ΠΎΡΠ΅ΡΠ½Π΅ΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠ΅. Π’Π°ΠΊ, ΠΏΠΎΡΠ»Π΅ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΈ CreateProcess ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡΡΡ, Π½ΠΎ Π½Π° Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡ ΡΡΠΎ Π½Π΅ ΠΎΠΊΠ°ΠΆΠ΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ Π²Π»ΠΈΡΠ½ΠΈΡ, Π΅ΡΠ»ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ½ ΡΠ°ΠΌ Π½Π΅ ΡΠΌΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³. ΠΠ±Π° ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡ Π΄ΡΡΠ³ ΠΎΡ Π΄ΡΡΠ³Π°.Β
ΠΠΎΠ΄Π΅Π»ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ° Π² UNIX ΠΈ Windows Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ Π΄ΡΡΠ³ ΠΎΡ Π΄ΡΡΠ³Π°. ΠΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ, Π² Windows ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ UNIX-ΡΡΠ½ΠΊΡΠΈΠΈ fork, ΡΠΎΠ·Π΄Π°ΡΡΠ΅ΠΉ ΠΊΠΎΠΏΠΈΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°, Π²ΠΊΠ»ΡΡΠ°Ρ Π΅Π³ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π΄Π°Π½Π½ΡΡ , ΠΊΡΡΡ ΠΈ ΡΡΠ΅ΠΊ. Π Windows ΡΡΡΠ΄Π½ΠΎ Π΄ΠΎΠ±ΠΈΡΡΡΡ ΡΠΎΡΠ½ΠΎΠΉ ΡΠΌΡΠ»ΡΡΠΈΠΈ fork, Π½ΠΎ ΠΊΠ°ΠΊ Π½ΠΈ ΡΠ°ΡΡΠ΅Π½ΠΈΠ²Π°ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΡ ΡΡΠΎΠ³ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ, ΠΎΡΡΠ°Π΅ΡΡΡ ΡΠ°ΠΊΡΠΎΠΌ, ΡΡΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ fork ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΠΈ Π² ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ UNIX, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π»ΡΠ±ΡΠ΅ ΠΏΠΎΠΏΡΡΠΊΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΎΡΠ½ΠΎΠΉ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Ρ ΠΊΠΎΠΏΠΈΡΠΌΠΈ Π²ΡΠ΅Ρ ΠΏΠΎΡΠΎΠΊΠΎΠ² ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π² ΡΠ»ΡΡΠ°Π΅ SMP-ΡΠΈΡΡΠ΅ΠΌ, ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡ ΠΊ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΡΡΡΠ΄Π½ΠΎΡΡΠ΅ΠΉ. ΠΠΎΡΡΠΎΠΌΡ Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΡ fork Π²ΠΎΠΎΠ±ΡΠ΅ ΠΏΠ»ΠΎΡ ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌ.
Π ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ, ΡΡΠ½ΠΊΡΠΈΡ CreateProcess Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½Π° ΠΎΠ±ΡΡΠ½ΠΎΠΉ Π΄Π»Ρ UNIX ΡΠ΅ΠΏΠΎΡΠΊΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΉ fork ΠΈ execl (ΠΈΠ»ΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΏΡΡΠΈ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ exec). Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ Windows ΠΏΡΡΠΈ Π΄ΠΎΡΡΡΠΏΠ° Π² UNIX ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΡΠ΅Π΄Ρ PATH.
ΠΠ°ΠΊ ΡΠ°Π½Π΅Π΅ ΡΠΆΠ΅ ΠΎΡΠΌΠ΅ΡΠ°Π»ΠΎΡΡ, ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ «ΠΏΡΠ΅Π΄ΠΎΠΊ-ΠΏΠΎΡΠΎΠΌΠΎΠΊ» ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌΠΈ Π² Windows Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ. Π’Π°ΠΊ, Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΄ΠΎΡΠ΅ΡΠ½Π΅Π³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ° Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡΡΡ Π΄Π°ΠΆΠ΅ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π·Π°Π²Π΅ΡΡΠΈΡΡΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π² Windows ΠΎΡΡΡΡΡΡΠ²ΡΡΡ Π³ΡΡΠΏΠΏΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ². Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ, ΠΎΠ΄Π½Π°ΠΊΠΎ, ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½Π°Ρ ΡΠΎΡΠΌΠ° Π³ΡΡΠΏΠΏΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ², Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π²ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΠ΅ ΡΠΎΠ±ΡΡΠΈΡ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ.
ΠΡΠΎΡΠ΅ΡΡΡ Windows ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΡΡΡΡ ΠΊΠ°ΠΊ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠ°ΠΌΠΈ, ΡΠ°ΠΊ ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°ΠΌΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ², ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Π² UNIX Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² ΠΎΡΡΡΡΡΡΠ²ΡΡΡ.
ΠΠΎΠ΄Π΅Π»ΠΈΡΠ΅ΡΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΊΠ΅
Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ Π³Π»Π°Π²Π° >
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅. Π‘ΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΡΡΠ΅Π΄Π΅ Windows
Π ΡΡΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ (Application Programming Interface, API) ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ Windows ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Microsoft, ΠΏΡΠΈΡΠ΅ΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ Π±Π°Π·ΠΎΠ²ΡΠΌ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΌ ΡΠ»ΡΠΆΠ±Π°ΠΌ, Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ, ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌΠΈ ΠΈ ΠΏΠΎΡΠΎΠΊΠ°ΠΌΠΈ, ΠΌΠ΅ΠΆΠΏΡΠΎΡΠ΅ΡΡΠ½ΠΎΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅, ΡΠ΅ΡΠ΅Π²ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ. ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ, Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Windows ΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΡ Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π° Π² Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅ Π½Π΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ, Ρ ΠΎΡΡ ΡΠ°ΠΌΠΈ ΠΏΠΎ ΡΠ΅Π±Π΅ ΡΡΠΈ ΡΠ΅ΠΌΡ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Π²Π°ΠΆΠ½Ρ ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ Π½Π΅ ΠΌΠ΅Π½ΡΡΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΠ΅Ρ. ΠΠ»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ Π²ΡΠ±ΠΈΡΠ°Π»ΠΈΡΡ ΡΠ΅Π°Π»ΠΈΡΡΠΈΡΠ½ΡΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΠΈ, ΠΈ ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· Π½ΠΈΡ Π²ΠΏΠΎΠ»Π½Π΅ ΠΌΠΎΠ³ΡΡ ΡΠ»ΡΠΆΠΈΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΡΠ½ΠΎΠ²Ρ Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΡΠ΅Π°Π»ΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
Win32/Win64 API, ΠΈΠ»ΠΈ ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΠΎ Windows API, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²ΠΎΠΌ 32β ΠΈ 64-ΡΠ°Π·ΡΡΠ΄Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Microsoft, Π² ΠΊΠΎΡΠΎΡΠΎΠ΅ Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π²Ρ ΠΎΠ΄ΡΡ Windows XP, Windows 2000 ΠΈ Windows Server 2003. Π ΡΠΈΡΠ»Ρ ΡΠ°Π½Π½ΠΈΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΠ΅Π»Π΅ΠΉ ΡΡΠΎΠ³ΠΎ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° ΠΎΡΠ½ΠΎΡΡΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ Windows NT, Windows Me, Windows 98 ΠΈ Windows 95; Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΡΡΠΈ ΡΠΈΡΡΠ΅ΠΌΡ ΡΡΠΈΡΠ°ΡΡΡΡ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠΌΠΈ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΡ Π² ΠΊΠ½ΠΈΠ³Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΡΠΏΠΎΡΠΎΠ±Π½Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΈ ΠΏΠΎΠ΄ ΠΈΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ. ΠΠΎΠΏΡΠΎΡΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° ΠΎΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Win32 ΠΊ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡΠ΅ΠΉΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ Win64 ΠΎΠ±ΡΡΠΆΠ΄Π°ΡΡΡΡ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ. Win64, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠΉ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ 64-ΡΠ°Π·ΡΡΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π²Π΅ΡΡΠΈΡΡ Windows Server 2003 ΠΈ Windows XP, ΠΏΠΎΡΡΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ΅Π½ Win32.
ΠΠ΅ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΠΎΠΌΠ½Π΅Π½ΠΈΠΉ, ΡΡΠΎ Windows API ΡΠ²Π»ΡΠ΅ΡΡΡ Π²Π°ΠΆΠ½Π΅ΠΉΡΠΈΠΌ ΡΠ°ΠΊΡΠΎΡΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π²Π»ΠΈΡΠ½ΠΈΠ΅ Π½Π° Π²Π΅ΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΈ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΠ»ΡΡΠ°ΡΡ Π²ΡΡΠ΅ΡΠ½ΡΠ΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ UNIX ΠΈ Linux POSIX API, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠΈΡΠ°Π΅ΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΠΈΠ»ΠΈ, ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΠΌ ΡΠ΅ ΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π½Π° Π½Π°ΡΡΠΎΠ»ΡΠ½ΡΠ΅ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΠΎΡΡΠΎΠΌΡ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΎΠΏΡΡΠ½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°Π½Ρ Π² ΡΠΊΠΎΡΠ΅ΠΉΡΠ΅ΠΌ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠΈ Windows API, ΠΈ Π΄Π°Π½Π½Π°Ρ ΠΊΠ½ΠΈΠ³Π° ΠΏΡΠΈΠ·Π²Π°Π½Π° ΡΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΡΠΎΠΌΡ.
ΠΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ°ΡΡΠΊΠ°Π·Π°ΡΡ Π²Π°ΠΌ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Windows API, ΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ, ΠΊΠ°ΠΊ ΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π² ΡΠ΅Π°Π»ΡΠ½ΡΡ ΡΠΈΡΡΠ°ΡΠΈΡΡ , ΠΏΡΠΈΡΠ΅ΠΌ ΡΡΠΎΡ ΡΠ°ΡΡΠΊΠ°Π· Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΊΡΠ°ΡΠΊΠΈΠΌ ΠΈ Π½Π΅ ΠΏΠ΅ΡΠ΅Π³ΡΡΠΆΠ΅Π½Π½ΡΠΌ ΠΈΠ·Π»ΠΈΡΠ½ΠΈΠΌΠΈ Π΄Π΅ΡΠ°Π»ΡΠΌΠΈ. ΠΠΎΡΡΠΎΠΌΡ Π΄Π°Π½Π½Π°Ρ ΠΊΠ½ΠΈΠ³Π° ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π½Π΅ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΎΠ³ΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π°, Π° Π΄Π»Ρ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠ»Π΅Π½ΠΈΡ Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΠΈΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠΈΡΡΠ°ΡΠΈΡΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠΎΠΎΡΡΠΆΠΈΠ²ΡΠΈΡΡ ΡΡΠΈΠΌΠΈ Π·Π½Π°Π½ΠΈΡΠΌΠΈ, ΡΠΈΡΠ°ΡΠ΅Π»Ρ ΡΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΎΠ±ΡΠΈΡΠ½ΠΎΠΉ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅ΠΉ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Microsoft, Π΄Π»Ρ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ³Π»ΡΠ±Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ Π²ΠΎΠΏΡΠΎΡΠΎΠ², ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΠΈ ΠΌΠ΅Π½Π΅Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ Π²ΠΎΠ·Π½ΠΈΠΊΡΠΈΠΌΠΈ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΡΠΌΠΈ ΠΈΠ»ΠΈ Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°Π½Π½ΠΎΡΡΡΡ. ΠΠΈΡΠ½ΠΎ ΠΌΠ½Π΅ ΠΏΡΠΈ ΡΠ°ΠΊΠΎΠΌ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π΅ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ Windows API Π΄Π°Π»ΠΎΡΡ Π»Π΅Π³ΠΊΠΎ, Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Windows-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π΄ΠΎΡΡΠ°Π²ΠΈΠ»Π° ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΠ΅ ΡΠ΄ΠΎΠ²ΠΎΠ»ΡΡΡΠ²ΠΈΠ΅, Ρ ΠΎΡΡ ΠΈ Π±Π΅Π· Π½Π΅ΠΏΡΠΈΡΡΠ½ΡΡ ΠΌΠΈΠ½ΡΡ ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ ΠΎΠ±ΠΎΡΠ»ΠΎΡΡ. ΠΠΎΠΈ ΠΏΠΎΡΡΠ²Ρ ΡΠ½ΡΡΠ·ΠΈΠ°Π·ΠΌΠ° Π»Π΅Π³ΠΊΠΎ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΌΠ΅ΡΡΠ°Ρ ΠΊΠ½ΠΈΠ³ΠΈ, ΡΡΠΎ, ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ, ΠΈ Π½Π΅ΡΠ΄ΠΈΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ. ΠΠΏΡΠΎΡΠ΅ΠΌ, ΡΡΠΎ Π²ΠΎΠ²ΡΠ΅ Π½Π΅ ΡΠ²ΠΈΠ΄Π΅ΡΠ΅Π»ΡΡΡΠ²ΡΠ΅Ρ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Ρ Π±Π΅Π·ΠΎΠ³ΠΎΠ²ΠΎΡΠΎΡΠ½ΠΎ ΡΠΎΠ³Π»Π°ΡΡΡΡ Ρ ΠΏΡΠ΅Π²ΠΎΡΡ ΠΎΠ΄ΡΡΠ²ΠΎΠΌ Windows API Π½Π°Π΄ API Π΄ΡΡΠ³ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ (ΠΠ‘), Π½ΠΎ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Ρ Π½Π΅Π³ΠΎ Π΅ΡΡΡ ΠΌΠ°ΡΡΠ° ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΊΠ°ΡΠ΅ΡΡΠ², Π²ΡΡΠ΄ Π»ΠΈ ΠΊΡΠΎ-Π»ΠΈΠ±ΠΎ ΡΡΠ°Π½Π΅Ρ Π²ΠΎΠ·ΡΠ°ΠΆΠ°ΡΡ.
ΠΠ²ΡΠΎΡΡ ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΊΠ½ΠΈΠ³, ΠΏΠΎΡΠ²ΡΡΠ΅Π½Π½ΡΡ Windows, Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠ΄Π΅Π»ΡΡΡ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ ΠΏΡΠΎΡΠ΅ΡΡΡ, Π²ΠΈΡΡΡΠ°Π»ΡΠ½Π°Ρ ΠΏΠ°ΠΌΡΡΡ, ΠΌΠ΅ΠΆΠΏΡΠΎΡΠ΅ΡΡΠ½ΠΎΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅, Π²ΡΡΠ΅ΡΠ½ΡΡΡΠΈΠΉ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊ, Π½ΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ Π½Π΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ, ΠΊΠ°ΠΊ Π²ΡΠ΅ ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΡΠ΅Π°Π»ΡΠ½ΡΡ ΡΠΈΡΡΠ°ΡΠΈΡΡ . ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°ΠΌ, ΠΈΠΌΠ΅ΡΡΠΈΠΌ ΠΎΠΏΡΡ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ UNIX, Linux, IBM MVS, Open VMS ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΠ‘ ΡΡΠΈ ΠΏΠΎΠ½ΡΡΠΈΡ ΡΠΆΠ΅ Π·Π½Π°ΠΊΠΎΠΌΡ, ΠΈ ΠΎΠ½ΠΈ Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°Π½Ρ Π»ΠΈΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΡΡΡΠ΅Π΅ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΡΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ Π² Windows. Π ΡΠΎΠΌΡ ΠΆΠ΅, Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΠΊΠ½ΠΈΠ³ ΠΏΠΎ Windows Π²Π°ΠΆΠ½ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ ΠΎΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°. Π‘ ΡΠ΅Π»ΡΡ ΠΊΠΎΠ½ΡΠ΅Π½ΡΡΠ°ΡΠΈΠΈ Π²Π½ΠΈΠΌΠ°Π½ΠΈΡ Π»ΠΈΡΡ Π½Π° ΡΠ°ΠΌΡΡ Π³Π»Π°Π²Π½ΡΡ Π±Π°Π·ΠΎΠ²ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ , ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ, Π² Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅ ΡΠ΅ΠΌΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π½Π΅ Π·Π°ΡΡΠ°Π³ΠΈΠ²Π°Π΅ΡΡΡ, ΠΈ ΠΌΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π΅ΠΌΡΡ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ Π»ΠΈΡΡ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π°.
Π ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΏΡΠΈΠ½ΡΡΠΎΠΉ Π² Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅ ΡΠΎΡΠΊΠ΅ Π·ΡΠ΅Π½ΠΈΡ Windows β ΡΡΠΎ Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ API ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΠΉ Π½Π°Π±ΠΎΡ Π²ΠΏΠΎΠ»Π½Π΅ ΠΏΠΎΠ½ΡΡΠ½ΡΡ ΡΡΠ΅Π΄ΡΡΠ². ΠΠΎΡΡΠ΅Π±Π½ΠΎΡΡΡ Π² ΡΡΠΊΠΎΡΠ΅Π½Π½ΠΎΠΌ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠΈ Windows ΠΈΡΠΏΡΡΡΠ²Π°ΡΡ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΡΠΎΠ²Π½Ρ ΠΈΡ ΠΎΠΏΡΡΠ°, ΠΈ Π±Π΅Π· Π·Π½Π°Π½ΠΈΡ Windows Π½Π΅ΠΌΡΡΠ»ΠΈΠΌΠΎ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅ ΡΠ°ΠΊΠΈΡ , Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° (Component Object Model, Π‘ΠΠ), ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½Π°Ρ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Microsoft. Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Windows ΠΏΡΠ΅Π²ΠΎΡΡ ΠΎΠ΄ΡΡ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ, Π² Π΄ΡΡΠ³ΠΈΡ β ΠΎΡΡΡΠ°ΡΡ ΠΎΡ Π½ΠΈΡ ΠΈΠ»ΠΈ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ Π½Π° ΡΠΎΠΌ ΠΆΠ΅ ΡΡΠΎΠ²Π½Π΅. ΠΠ°Π΄Π°ΡΠ° Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°ΡΡ, ΠΊΠ°ΠΊ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½Π΅Π΅ Π²ΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π² ΡΠ΅Π°Π»ΡΠ½ΡΡ ΡΠΈΡΡΠ°ΡΠΈΡΡ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ , Π²ΡΡΠΎΠΊΠΎΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΡ ΠΈ Π²ΡΡΠΎΠΊΠΎΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
ΠΠΎΠ΄Π΅Π»ΠΈΡΠ΅ΡΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΊΠ΅
Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ Π³Π»Π°Π²Π° >
ΠΡΠΈΠΌΠ΅ΡΡ. Π‘ΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΡΡΠ΅Π΄Π΅ Windows
ΠΡΠΈ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² Π°Π²ΡΠΎΡ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎΠ²Π°Π»ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌΠΈ ΡΠΎΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ:
β’Β ΠΡΠΈΠΌΠ΅ΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΎΠ±ΡΠ°Π·ΡΡ ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ, Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΈ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ Windows.
β’Β ΠΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΠ΅Π°Π»ΡΠ½ΡΠΌ ΡΠΈΡΡΠ°ΡΠΈΡΠΌ ΠΈΠ· ΡΡΠ΅ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΡΡΠ°Π»ΠΊΠΈΠ²Π°ΡΡΡΡ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ, ΠΎΠΊΠ°Π·Π°Π½ΠΈΡ ΠΊΠΎΠ½ΡΡΠ»ΡΡΠ°ΡΠΈΠΉ ΠΈ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· ΠΌΠΎΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² ΠΈ ΡΠ»ΡΡΠ°ΡΠ΅Π»Π΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΠΊΠΎΠ΄Ρ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΏΡΠΈ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ. ΠΡΠΈ ΠΎΠΊΠ°Π·Π°Π½ΠΈΠΈ ΠΊΠΎΠ½ΡΡΠ»ΡΡΠ°ΡΠΈΠΉ ΠΌΠ½Π΅ ΡΠ°ΡΡΠΎ ΠΏΠΎΠΏΠ°Π΄Π°ΡΡΡΡ ΠΊΠΎΠ΄Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠ΅ ΡΠ΅ΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΊΠ»ΡΡΠ΅Π½Ρ Π² ΡΡΡ ΠΊΠ½ΠΈΠ³Ρ, Π° Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ»ΡΡΠ°ΡΡ ΠΊΠΎ ΠΌΠ½Π΅ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ Ρ ΠΊΠΎΠ΄Π°ΠΌΠΈ, Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π²Π·ΡΡΡΠΌΠΈ ΠΈΠ· ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π²ΡΠΎΡΠΎΠ³ΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠΉ. (ΠΡΡΠ°ΡΠΈ, Π²Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΈΠ· ΠΊΠ½ΠΈΠ³ΠΈ Π² ΡΠ²ΠΎΠ΅ΠΉ ΡΠ°Π±ΠΎΡΠ΅, Π° Π΅ΡΠ»ΠΈ Π²ΠΊΠ»ΡΡΠΈΡΠ΅ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π΅ΡΠ΅ ΠΈ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ½ΠΎΡΡΡ Π² ΠΌΠΎΠΉ Π°Π΄ΡΠ΅Ρ, ΡΠΎ Ρ Π±ΡΠ΄Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°Π΄.) ΠΠ΅ΡΠ΅Π΄ΠΊΠΎ ΡΡΠΈ ΠΊΠΎΠ΄Ρ Π²ΡΡΡΠ΅ΡΠ°Π»ΠΈΡΡ ΠΌΠ½Π΅ ΠΈ Π² Π²ΠΈΠ΄Π΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΠ°ΡΡΠ΅ΠΉ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π‘ΠΠ ΠΈΠ»ΠΈ C++. ΠΡΠΈΠΌΠ΅ΡΡ, Ρ ΡΡΠ΅ΡΠΎΠΌ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ Π½Π° Π²ΡΠ΅ΠΌΡ ΠΈΡ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠΈ ΠΈ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠΉ ΠΎΠ±ΡΠ΅ΠΌ ΠΊΠΎΠ΄Π°, ΠΏΡΠΈΠ±Π»ΠΈΠΆΠ΅Π½Ρ ΠΊ «ΡΠ΅Π°Π»ΡΠ½ΠΎΠΉ ΠΆΠΈΠ·Π½ΠΈ» ΠΈ ΡΠ΅ΡΠ°ΡΡ «ΡΠ΅Π°Π»ΡΠ½ΡΠ΅» Π·Π°Π΄Π°ΡΠΈ.
β’Β ΠΡΠΈΠΌΠ΅ΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠΈΠ²Π°ΡΡ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ Ρ ΡΠ΅ΠΌ, ΡΠ΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ ΠΎΠΆΠΈΠ΄Π°ΡΡ ΠΏΠΎΡΠ»Π΅ ΠΏΡΠΎΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ. Π ΡΡΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅ ΠΈ ΡΠ΅ΠΊΡΡ, ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΡ ΡΠΎΠΊΡΡΠΈΡΡΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π΅ Π½Π° ΡΠ°ΠΌΠΈΡ ΡΡΠ½ΠΊΡΠΈΡΡ , Π° Π½Π° ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ.
β’Β ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠ΅ ΠΊΠΎΠ΄Ρ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΡΡΠΎΠΈΡΡΡΡ ΠΏΠΎ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΠΈΡ ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎΠ³ΠΎ Π½Π°ΡΠ°ΡΠΈΠ²Π°Π½ΠΈΡ ΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ Π΄Π»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π½ΠΎΠ²ΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΡΡΡΠΌ ΠΈ ΠΏΠΎΠ½ΡΡΠ½ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ, Π° ΡΠ°ΠΊΠΆΠ΅ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°ΡΡ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄ΠΈΠΊΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ.
β’Β ΠΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΏΠ΅ΡΠ²ΡΡ Π³Π»Π°Π²Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡ ΡΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ UNIX, ΠΊΠ°ΠΊ ls, touch, chmod ΠΈ sort, ΠΈ ΡΠ΅ΠΌ ΡΠ°ΠΌΡΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ Windows Π² Π·Π½Π°ΠΊΠΎΠΌΠΎΠΌ Π΄Π»Ρ ΡΠ°ΡΡΠΈ ΡΠΈΡΠ°ΡΠ΅Π»Π΅ΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅, ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ Π½Π°Π±ΠΎΡ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ.[2] ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π½Π°Π»ΠΈΡΠΈΠ΅ ΡΠ°Π·Π½ΡΡ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΠΈ ΡΠΎΠΉ ΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΠΎΡΠ΅Π½ΠΊΡ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ² Π² ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, Π΄ΠΎΡΡΠΈΠ³Π°Π΅ΠΌΡΡ Π·Π° ΡΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠΎΠ²Π΅ΡΡΠ΅Π½ΡΡΠ²ΠΎΠ²Π°Π½Π½ΡΡ ΡΡΠ΅Π΄ΡΡΠ² Windows. Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π.
ΠΡΠΈΠΌΠ΅ΡΡ, ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΠΌΡΠ΅ Π² Π½Π°ΡΠ°Π»Π΅ ΠΊΠ½ΠΈΠ³ΠΈ, ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ Π΄Π»ΠΈΠ½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ ΡΡΠ»ΠΎΠΆΠ½Π΅Π½ΠΈΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π° Π² ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΡ Π³Π»Π°Π²Π°Ρ ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΈΠ»Π»ΡΡΡΡΠ°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π² Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ ΡΠ»ΡΡΠ°ΡΡ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ Π²ΠΎΠ·ΡΠ°ΡΡΠ°ΡΡ.
Π ΡΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΡΡ , ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΡ Π² ΠΊΠΎΠ½ΡΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π³Π»Π°Π²Ρ, ΡΠΈΡΠ°ΡΠ΅Π»Ρ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ, ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌΡΠ΅ ΡΠ΅ΠΌΡ ΠΈΠ»ΠΈ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΌΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅, Π½Π΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ ΠΊ Π½ΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΠ΅Ρ, Π½Π΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Ρ Π² Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· ΡΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠΉ Π²Π΅ΡΡΠΌΠ° ΠΏΡΠΎΡΡΡ, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ Ρ Π²Π°Ρ ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ Π·Π°ΡΡΡΠ΄Π½Π΅Π½ΠΈΡ. ΠΠ΅ΡΠ΅Π΄ΠΊΠΎ Π²Π°ΡΠ΅ΠΌΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΡ ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡΡΡ ΡΠ°ΠΊΠΆΠ΅ ΡΠ²Π½ΠΎ Π½Π΅ΡΠ΄Π°ΡΠ½ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ, ΠΈΠ±ΠΎ Π²ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡ Π²Π°ΠΌ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π΄Π»Ρ ΠΎΡΡΠ°ΡΠΈΠ²Π°Π½ΠΈΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΌΠ°ΡΡΠ΅ΡΡΡΠ²Π°.
ΠΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΎΡΠ»Π°ΠΆΠ΅Π½Ρ ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½Ρ Π² ΡΡΠ΅Π΄Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ Windows XP, Windows 2000 ΠΈ Windows Server 2003.β Π Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ ΡΠ»ΡΡΠ°ΡΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΠ»ΠΎΡΡ ΠΏΠΎΠ΄ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ Windows 9x ΠΈ Windows NT. Π Ρ ΠΎΡΡ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ Π½Π° Π±Π°Π·Π΅ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ² Intel, Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π»ΠΈΡΡ ΡΠ°ΠΊΠΆΠ΅ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ . ΠΡΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ ΠΊΠ»ΠΈΠ΅Π½Ρ-ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΎΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ², Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡΠΈΡ Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅Π»ΡΠ·Ρ Ρ ΠΏΠΎΠ»Π½ΠΎΠΉ ΡΠ²Π΅ΡΠ΅Π½Π½ΠΎΡΡΡΡ Π·Π°ΡΠ²Π»ΡΡΡ ΠΎ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΡΡΠΈ ΠΈΠ»ΠΈ Π·Π°Π²Π΅ΡΡΠ΅Π½Π½ΠΎΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΈ ΠΈΡ ΠΏΡΠΈΠ³ΠΎΠ΄Π½ΠΎΡΡΠΈ Π΄Π»Ρ ΡΠ΅Ρ ΠΈΠ»ΠΈ ΠΈΠ½ΡΡ ΡΠ΅Π»Π΅ΠΉ. ΠΠ΅ΡΠΎΠΌΠ½Π΅Π½Π½ΠΎ, Π΄Π°ΠΆΠ΅ ΠΏΡΠΎΡΡΠ΅ΠΉΡΠΈΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΌΠΎΠ³ΡΡ ΠΈΠΌΠ΅ΡΡ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ ΠΈ ΠΏΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΎΠ±ΡΡΠΎΡΡΠ΅Π»ΡΡΡΠ²Π°Ρ Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ β ΡΠ°ΠΊΠΎΠ²Π° ΡΡΠ°ΡΡΡ ΠΏΠΎΡΡΠΈ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ. ΠΠΎΡΡΠΎΠΌΡ Π°Π²ΡΠΎΡ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΊΡΠ΅Π½Π½Π΅ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ Π²ΡΠ΅ΠΌ, ΠΊΡΠΎ ΠΏΡΠΈΡΠ»Π΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎ Π»ΡΠ±ΡΡ Π΄Π΅ΡΠ΅ΠΊΡΠ°Ρ , ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½Π½ΡΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ , Π° Π΅ΡΠ΅ Π»ΡΡΡΠ΅ β ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ°Ρ .
ΠΠΎΠ΄Π΅Π»ΠΈΡΠ΅ΡΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΊΠ΅
Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ Π³Π»Π°Π²Π° >
Π‘ΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ β ΠΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ / Π₯Π°Π±Ρ
ΠΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡΡΡ ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΠ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ ΠΈ Windows 10. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎ ΡΠΎΠΌ ΠΊΠ°ΠΊ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΡΠΎΡΡΠ° ΠΈ ΠΆΠ΅Π»Π΅Π·Π°.
Π‘ΡΠ°ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ
ΠΠΎΠ»Π½ΠΎΡΡΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ Π²ΡΠΊΠ»ΡΡΠ΅Π½ ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ ΠΎΡ ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΈ ΠΊΠΎΠ½Π΄Π΅Π½ΡΠ°ΡΠΎΡΡ Π½Π° ΠΌΠ°ΡΠ΅ΡΠΈΠ½ΡΠΊΠΎΠΉ ΠΏΠ»Π°ΡΠ΅ ΡΠ°Π·ΡΡΠ΄ΠΈΠ»ΠΈΡΡ. ΠΠΎ ΡΡΡ ΡΠΌΠ°ΡΡΡΠΎΠ½ΠΎΠ² ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΠ΅ ΡΠ΅Π»Π΅ΡΠΎΠ½Ρ ΡΠ°ΡΡΠΎ Π³Π»ΡΡΠΈΠ»ΠΈ ΠΈ Π΅ΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠ° Π½Π΅ Π»Π΅ΡΠΈΠ»Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΡΠΎ ΠΏΡΠΈΡ
ΠΎΠ΄ΠΈΠ»ΠΎΡΡ Π΄ΠΎΡΡΠ°Π²Π°ΡΡ Π±Π°ΡΠ°ΡΠ΅Ρ ΠΈ ΠΆΠ΄Π°ΡΡ 10 ΡΠ΅ΠΊΡΠ½Π΄, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΠ±ΡΠ°ΡΡΠ²Π°Π»ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΠ‘, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ ΡΠΈΠΏΡ Π½Π° ΠΌΠ°ΡΠ΅ΡΠΈΠ½ΡΠΊΠΎΠΉ ΠΏΠ»Π°ΡΠ΅ ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ² ΠΎΡΡΠ°Π²Π°Π»ΠΈΡΡ Π°ΠΊΡΠΈΠ²Π½ΡΠΌΠΈ ΡΠΎΡ
ΡΠ°Π½ΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅, Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° ΠΠ‘ ΠΊ Π½ΠΈΠΌ ΠΏΡΠΎΡΡΠΎ ΡΠ΅ΠΊΠΎΠ½Π½Π΅ΠΊΡΠΈΠ»ΠΈΡΡ. 10 ΡΠ΅ΠΊΡΠ½Π΄ β Π²ΡΠ΅ΠΌΡ Π½Π° ΡΠ°Π·ΡΡΠ΄ΠΊΡ ΠΊΠΎΠ½Π΄Π΅Π½ΡΠ°ΡΠΎΡΠΎΠ², ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠΈΠΏΠΎΠ² ΡΠ±ΡΠ°ΡΡΠ²Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ ΠΏΠΎΠ»Π½ΠΎΠΌ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ.
ΠΡΠ»ΠΈ ΠΆΠ΅ ΠΠ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ ΠΊ ΡΠΎΠ·Π΅ΡΠΊΠ΅ ΠΈΠ»ΠΈ Π±Π°ΡΠ°ΡΠ΅Π΅, ΡΠΎ ΠΎΠ½ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ Stand-By, ΡΡΠΎ Π·Π½Π°ΡΠΈΡ ΡΡΠΎ ΠΏΠΎ ΡΠΈΠ½Π΅ ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΠΎΠ΄Π°ΡΡΡΡ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΎΠ΅ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ (5Π) ΠΎΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΈΠΏΡ Π½Π° ΠΌΠ°ΡΠ΅ΡΠΈΠ½ΠΊΠ΅. ΠΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΡΡΠΎ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ, ΠΏΠΎ ΡΡΡΠΈ ΡΡΠΎ ΠΌΠΈΠ½ΠΈ-ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΠΈΠΉ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ. ΠΠΎΠ»ΡΡΠΈΠ² ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ ΠΎ Π½Π°ΠΆΠ°ΡΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ Power ΠΎΠ½ ΠΏΡΠΎΡΠΈΡ Π±Π»ΠΎΠΊ ΠΏΠΈΡΠ°Π½ΠΈΡ/Π±Π°ΡΠ°ΡΠ΅Ρ ΠΏΠΎΠ΄Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΏΠΎΡΠ»Π΅ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ Π²Π΅ΡΡ ΡΠΈΠΏ-ΡΠ΅Ρ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ. ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ°ΡΠΊΡ ΠΊΠΎΠ΄Π° ΠΈ Π΄Π°Π½Π½ΡΡ
ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ ΠΌΠ°ΡΠ΅ΡΠΈΠ½ΠΊΠΈ (BIOS/UEFI) Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΡΡ ΠΏΠ°ΠΌΡΡΡ ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΡ CPU Π½Π° Π΅Ρ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅.
ΠΡΠΌΠ°ΡΡ ΡΡΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ° Power ΡΡΠΎ ΡΡΠ±ΠΈΠ»ΡΠ½ΠΈΠΊ ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ΄Π°ΡΡ ΡΠ»Π΅ΠΊΡΡΠΈΡΠ΅ΡΡΠ²ΠΎ Π½Π° CPU ΠΈ ΡΠΎΡ Π½Π°ΡΠΈΠ½Π°Π΅Ρ ΠΈΡΠΏΠΎΠ»Π½ΡΡΡ Ρ Π·Π°ΡΠ°Π½Π΅Π΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠ³ΠΎ Π°Π΄ΡΠ΅ΡΠ° ΠΏΡΠΎΡΠΈΠ²ΠΊΡ BIOS Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠ°ΡΡΠ΅ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡ ΡΠ°ΠΊ ΠΈ ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ. ΠΠ½ΠΎΠΏΠΊΠ° Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ Π½Π° ΡΠ²ΠΎΠ΅ΠΉ ΠΏΠ»Π°ΡΠ΅, Π²ΠΌΠ΅ΡΡΠ΅ ΡΠΎ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Π°ΠΌΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ ΠΈ ΠΊ ΠΌΠ°ΡΠ΅ΡΠΈΠ½ΠΊΠ΅ ΠΎΠ½Π° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΡΠ΅ΡΠ΅Π· ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΡΡΠΌ. ΠΠ° ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ΅ Π½ΠΈΠΆΠ΅ Π²ΠΈΠ΄Π½Ρ ΠΊΠΎΠ½ΡΠ°ΠΊΡΡ Π΄Π»Ρ ΠΊΠ½ΠΎΠΏΠΊΠΈ Power, Reset, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄ΠΎΠ² Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ΠΌ Power ΠΈ ΡΡΠ΅Π½ΠΈΡ ΠΆΡΡΡΠΊΠΎΠ³ΠΎ Π΄ΠΈΡΠΊΠ°. ΠΠ°ΠΆΠ°ΡΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΡΡΡ Π² ΡΠΈΠ³Π½Π°Π» Π½Π° ΠΊΠΎΠ½ΡΠ°ΠΊΡΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ½ΠΊΠΈ, ΠΎΡΠΊΡΠ΄Π° ΠΎΠ½ Π΄ΠΎΡΡΠΈΠ³Π°Π΅Ρ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ.
Windows Programming — Wikibooks, ΠΎΡΠΊΡΡΡΡΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ Π΄Π»Ρ ΠΎΡΠΊΡΡΡΠΎΠ³ΠΎ ΠΌΠΈΡΠ°
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ [ΠΏΡΠ°Π²ΠΈΡΡ]
ΠΡΠ° ΠΊΠ½ΠΈΠ³Π° ΠΏΡΠΈΠ·Π²Π°Π½Π° ΡΡΠ°ΡΡ ΠΈΡΡΠ΅ΡΠΏΡΠ²Π°ΡΡΠΈΠΌ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠΌ Π΄Π»Ρ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°, ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΡΡΠ΅Π³ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π΄Π»Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Windows. ΠΠ½ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π½ΠΈΠ·ΠΊΠΎΠΌ ΡΡΠΎΠ²Π½Π΅ Ρ Win32 API (C ΠΈ VB Classic), Π° Π·Π°ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ Π² MFC (C ++). ΠΠΎΠΌΠΈΠΌΠΎ ΡΡΠΈΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠ°Π·Π΄Π΅Π»ΠΎΠ², ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΠΎΡ Π²Π°ΡΡΠ²Π°ΡΡ COM ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ActiveX Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠ·ΡΠΊΠ°Ρ . ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΡΠ³Π»ΡΠ±Π»ΡΠ΅ΠΌΡΡ Π² Windows DDK ΠΈ Π³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ² ΡΡΡΡΠΎΠΉΡΡΠ² Π΄Π»Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Windows.ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΎΠ½ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ ΠΊ Π·Π°Π΄Π°ΡΠ°ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΠΌΠΎΠ³ΠΎ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ, Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ, ΡΡΠ΅Π½Π°ΡΠΈΠΈ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ ΠΈ, Π½Π°ΠΊΠΎΠ½Π΅Ρ, ASP ΠΈ WSH.
ΠΠ΄Π΅ΡΡ Π±ΡΠ΄ΡΡ ΠΎΠ±ΡΡΠΆΠ΄Π°ΡΡΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ΅ΠΌΡ: Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ Ρ ΡΠ°Π½ΠΈΡΠ΅Π»Π΅ΠΉ ΡΠΊΡΠ°Π½Π°, ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΡΠΏΡΠ°Π²ΠΊΠΈ HTML ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² DLL.
Π ΡΡΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ ΡΠ΅ΠΌΠ°ΠΌ, ΠΎΡΠ½ΠΎΡΡΡΠΈΠΌΡΡ ΠΊ Windows, ΠΈ Π½Π΅ Π·Π°ΡΡΠ°Π³ΠΈΠ²Π°ΡΡΡΡ ΠΎΠ±ΡΠΈΠ΅ ΡΠ΅ΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΎΠΏΡΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π° ΡΠΈΡΠ°ΡΠ΅Π»Ρ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠ°Π±ΠΎΡΠ°ΠΌΠΈ ΠΠΈΠΊΠΈΡΡΠ΅Π±Π½ΠΈΠΊΠ°, ΠΎΠ½ΠΈ ΠΎΡ Π²Π°ΡΡΠ²Π°ΡΡ ΠΎΠ±ΡΠ΅Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ASM, C, C ++, Visual Basic ΠΈ Visual Basic.NET ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ·ΡΠΊΠΈ ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ. ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΡΡΠΈ ΠΊΠ½ΠΈΠ³ΠΈ.
ΠΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ, ΡΡΠΎ ΡΠΈΡΠ°ΡΠ΅Π»Ρ ΡΠΆΠ΅ Π·Π½Π°ΠΊΠΎΠΌ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΌΠΈ ΡΠ·ΡΠΊΠ°ΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, Π΄Π»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ°Π·Π΄Π΅Π»ΠΎΠ² ΡΡΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ ΡΡΠ΅Π±ΡΡΡΡΡ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π·Π½Π°Π½ΠΈΡ C, C ++ ΠΈ Visual Basic.
Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ [ΠΏΡΠ°Π²ΠΈΡΡ]
Π Π°Π·Π΄Π΅Π» 1: ΠΡΠ½ΠΎΠ²Ρ Windows [ΠΏΡΠ°Π²ΠΈΡΡ]
Π Π°Π·Π΄Π΅Π» 2: Win32 API ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ [ΠΏΡΠ°Π²ΠΈΡΡ]
Π Π°Π·Π΄Π΅Π» 3. ΠΠ»Π°ΡΡΡ Microsoft Foundation (MFC) [ΠΏΡΠ°Π²ΠΈΡΡ]
Π Π°Π·Π΄Π΅Π» 4: ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΎΠ±ΠΌΠ΅Π½ Π΄Π°Π½Π½ΡΠΌΠΈ (DDE), ActiveX ΠΈ COM [ΠΏΡΠ°Π²ΠΈΡΡ]
Π Π°Π·Π΄Π΅Π» 5: ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° ΡΡΡΡΠΎΠΉΡΡΠ²Π° [ΠΏΡΠ°Π²ΠΈΡΡ]
Π Π°Π·Π΄Π΅Π» 6: ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ [ΠΏΡΠ°Π²ΠΈΡΡ]
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ [ΠΏΡΠ°Π²ΠΈΡΡ]
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΠ° [ΠΏΡΠ°Π²ΠΈΡΡ]
Π Π΅ΡΡΡΡΡ ΠΠΈΠΊΠΈΠΌΠ΅Π΄ΠΈΠ° [ΠΏΡΠ°Π²ΠΈΡΡ]
ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ:
ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Windows:
Π‘Π²ΡΠ·Π°Π½Π½ΡΠ΅ ΡΠ΅ΠΌΡ:
ΠΠ½Π΅ΡΠ½ΠΈΠ΅ ΡΠ΅ΡΡΡΡΡ [ΠΏΡΠ°Π²ΠΈΡΡ]
- ΠΡΡΠΏΠΏΠ° Π½ΠΎΠ²ΠΎΡΡΠ΅ΠΉ Advanced Win32 API
- Π‘Π΅ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Microsoft
- ΠΠ΅ΡΡΠΎΠ»ΡΠ΄, Π§Π°ΡΠ»ΡΠ·, Β«ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ WindowsΒ», Microsoft Press
- Π₯Π°ΡΡ, ΠΠΆΠΎΠ½Π°ΡΠ°Π½, Β«Π‘ΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ WindowsΒ», Π²ΡΠΎΡΠΎΠ΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅, 2001 Π³.ISBN 0201703106
- ΠΠΎΡΠ΄ΠΎΠ½, ΠΠ»Π°Π½, Β«Π£ΡΠ΅Π±Π½ΠΈΠΊ ΠΏΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ COM ΠΈ COM +Β», 2000, ISBN 0130850322
- ΠΠ½Π΅ΠΉ, Π£ΠΎΠ»ΡΠ΅Ρ, Β«ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° WindowsΒ», Π²ΡΠΎΡΠΎΠ΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅, 2002 Π³. ISBN 0735618038
.
ΠΠ°ΠΊ Π½Π°ΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ Π² Windows?
ΠΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ°
- ΠΠΊΠΎΠ»ΠΎ
ΠΡΠΎΠ΄ΡΠΊΡΡ
- ΠΠ»Ρ ΠΊΠΎΠΌΠ°Π½Π΄
ΠΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ°
ΠΠ±ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ ΠΈ ΠΎΡΠ²Π΅ΡΡΠΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ° Π΄Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄
ΠΠ΄Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈ Π΄Π΅Π»ΡΡΡΡ ΡΠ°ΡΡΠ½ΡΠΌΠΈ Π·Π½Π°Π½ΠΈΡΠΌΠΈ Ρ ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌΠΈΠΠ°ΠΊΠ°Π½ΡΠΈΠΈ
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Π½ΠΈΠΌ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΊΠ°ΡΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΡΡΠ°Π’Π°Π»Π°Π½Ρ
ΠΠ°Π½ΠΈΠΌΠ°ΠΉΡΠ΅ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΎΠ² ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ²ΠΎΠΉ Π±ΡΠ΅Π½Π΄ ΡΠ°Π±ΠΎΡΠΎΠ΄Π°ΡΠ΅Π»ΡΠ Π΅ΠΊΠ»Π°ΠΌΠ°
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ΡΡ ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³Π°ΠΌ ΡΠΎ Π²ΡΠ΅Π³ΠΎ ΠΌΠΈΡΠ°- Π ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ
.