home *** CD-ROM | disk | FTP | other *** search
/ For Beginners & Professional Hackers / cd.iso / docum / win_prg.doc / w_prg3-3.doc < prev   
Encoding:
Text File  |  1992-09-16  |  485.6 KB  |  9,944 lines

  1.                                    Äú½áó½Ñ¡¿Ñ                                  
  2.        Windows 3.0/pg/3#3                                         = 1 =
  3.  
  4.        â½áóá 16. àΘÑ «í π»αáó½Ñ¡¿¿ »á¼∩Γ∞ε............................5
  5.        16.1  è«¡Σ¿úπαᵿ¿ »á¼∩Γ¿ Windows..............................5
  6.        16.1.1  üẫóá∩ ¬«¡Σ¿úπαᵿ∩ »á¼∩Γ¿............................6
  7.        16.1.2  è«¡Σ¿úπαᵿ∩ »á¼∩Γ¿ EMS 4.0............................9
  8.        16.1.3  æΓá¡ñáαΓ¡á∩ ¬«¡Σ¿úπαᵿ∩ »á¼∩Γ¿ Windows...............15
  9.        16.1.4 è«¡Σ¿úπαᵿ∩  »á¼∩Γ¿  Windows  ó αáßΦ¿αÑ¡¡«¼ αѪ¿¼Ñ....20
  10.        16.2  êß»«½∞º«óá¡¿Ñ »á¼∩Γ¿ ó »α¿¬½áñ¡δσ »α«úαá¼¼áσ
  11.         Windows......................................................24
  12.        16.2.1  ô»αáó½Ñ¡¿Ñ áóΓ«¼áΓ¿τÑ߬¿¼¿ ßÑú¼Ñ¡ΓἿ ñá¡¡δσ..........26
  13.        16.2.2 ô»αáó½Ñ¡¿Ñ í½«¬á¼¿ ½«¬á½∞¡«⌐  ñ¿¡á¼¿τÑ߬«⌐  «í½áßΓ¿....28
  14.        16.2.3 ô»αáó½Ñ¡¿Ñ í½«¬á¼¿ ú½«áí½∞¡«⌐ ñ¿¡á¼¿τÑ߬«⌐  «í½áßΓ¿....33
  15.        16.2.4  êß»«½∞º«óá¡¿Ñ ñ«»«½¡¿Γѽ∞¡δσ íá⌐Γ Ä¬¡á ¿ ¬½áßßá.......41
  16.        16.2.5  ô»αáó½Ñ¡¿Ñ αÑßπαßἿ..................................43
  17.        16.3  êß»«½∞º«óá¡¿Ñ ¼«ñѽÑ⌐ »á¼∩Γ¿............................46
  18.        16.4  êß»«½∞º«óá¡¿Ñ ñá¡¡δσ Γ¿»á huge..........................47
  19.        16.5. ùeú« ß½ÑñπÑΓ ¿ºíÑúáΓ∞ »α¿ αáí«ΓÑ ß ñá¡¡δ¼¿..............48
  20.        16.6  ô»αáó½Ñ¡¿Ñ »á¼∩Γ∞ε ñ½∩ ¬«ñá »α«úαá¼¼δ...................51
  21.        16.6.1  êß»«½∞º«óá¡¿Ñ áΓα¿íπΓ«ó ¬«ñ«óδσ ßÑú¼Ñ¡Γ«ó.............51
  22.        16.6.2  êß»«½∞º«óá¡¿Ñ ¡Ñ߬«½∞¬¿σ ¬«ñ«óδσ ßÑú¼Ñ¡Γ«ó............52
  23.        16.6.3  üá½á¡ß¿α«óá¡¿Ñ ¬«ñ«óδσ ßÑú¼Ñ¡Γ«ó......................53
  24.        16.6.4 Å«α∩ñ«¬   ¬«ñ«óδσ  ßÑú¼Ñ¡Γ«ó  ó  Σá⌐½Ñ  «»αÑñѽѡ¿∩....53
  25.        16.7  çᬽετÑ¡¿Ñ..............................................54
  26.        â½áóá 17.  Åáαá¼ÑΓαδ »α¿¡ΓÑαá.................................55
  27.        17.1  èᬠWindows π»αáó½∩ÑΓ »áαá¼ÑΓαἿ »α¿¡ΓÑα«ó.............55
  28.        17.1.1. Åáαá¼ÑΓαδ »α¿¡ΓÑαá ¿ ßΓαπ¬Γπαá DEVMODE................56
  29.        17.1.2. Åáαá¼ÑΓαδ »α¿¡ΓÑαá ¿ ßαÑñá »α¿¡ΓÑαá...................57
  30.        17.2  êß»«½∞º«óá¡¿Ñ Σπ¡¬µ¿⌐ ñαá⌐óÑα«ó πßΓα«⌐ßΓó...............58
  31.        17.3  Å«½πτÑ¡¿Ñ σáαá¬ΓÑα¿ßΓ¿¬ ñαá⌐óÑαá »α¿¡ΓÑαá...............60
  32.        17.4  Éáí«Γá ß »áαá¼ÑΓαἿ »α¿¡ΓÑαá...........................60
  33.        17.4.1  Ä»αÑñѽѡ¿Ñ óó«ñá ¿ óδó«ñá Σπ¡¬µ¿¿ ExtDeviceMode......61
  34.        17.4.2  Å«½πτÑ¡¿Ñ ¬«»¿¿ »áαá¼ÑΓα«ó »α¿¡ΓÑαá...................62
  35.        17.4.3  êº¼Ñ¡Ñ¡¿Ñ »áαá¼ÑΓα«ó »α¿¡ΓÑαá.........................63
  36.        17.4.4 Åα¿ß»«ß«í½Ñ¡¿Ñ  »áαá¼ÑΓα«ó  »α¿¡ΓÑαá  ñ½∩..............64
  37.        17.4.5 êº¼Ñ¡Ñ¡¿Ñ »áαá¼ÑΓα«ó »α¿¡ΓÑαá íѺ ó½¿∩¡¿∩ ¡á ñαπú¿Ñ....66
  38.        17.4.6 çá»α«ß π »«½∞º«óáΓѽ∩ ¿º¼Ñ¡Ñ¡¿∩ »áαá¼ÑΓα«ó
  39.         »α¿¡ΓÑαá.....................................................67
  40.        17.5  è«»¿α«óá¡¿Ñ »áαá¼ÑΓα«ó »α¿¡ΓÑαᠼѪñπ ñαá⌐óÑαἿ........69
  41.        17.6  Å«ññÑ᪬á ß«íßΓóÑ¡¡δσ »áαá¼ÑΓα«ó »α¿¡ΓÑαá...............69
  42.        17.7  Éáí«Γá ß« ßΓáα묨 ñαá⌐óÑαἿ »α¿¡ΓÑα«ó..................70
  43.        17.8  çᬽετÑ¡¿Ñ..............................................70
  44.        â½áóá 18.  ÿα¿ΣΓδ.............................................72
  45.        18.1  çỿß∞ ΓѬßΓá...........................................72
  46.        18.2  êß»«½∞º«óá¡¿Ñ µóÑΓá »α¿ ºá»¿ß¿ ΓѬßΓá...................72
  47.        18.3  êß»«½∞º«óá¡¿Ñ ºá¬áº¡δσ Φα¿ΣΓ«ó..........................73
  48.        18.4  æ«ºñá¡¿Ñ ½«ú¿τÑ߬«ú« Φα¿ΣΓá.............................74
  49.        18.5  êß»«½∞º«óá¡¿Ñ ¡Ñ߬«½∞¬¿σ Φα¿ΣΓ«ó ó «ñ¡«⌐ ßΓ᫬Ñ.........76
  50.        18.6  Å«½πτÑ¡¿Ñ ¿¡Σ«α¼áµ¿¿ « óδíαá¡¡«¼ Φα¿ΣΓÑ.................77
  51.        18.7  Å«½πτÑ¡¿Ñ ¿¡Σ«α¼áµ¿¿ « ½«ú¿τÑ߬«¼ Φα¿ΣΓÑ................78
  52.        18.8  ÅÑαÑτ¿ß½Ñ¡¿Ñ Φα¿ΣΓ«ó....................................80
  53.        18.9  Åα«óÑα¬á ΓѬßΓ«óδσ ó«º¼«ª¡«ßΓÑ⌐ πßΓα«⌐ßΓóá..............81
  54.        18.10  ä«íáó½Ñ¡¿Ñ αÑßπαßá Φα¿ΣΓá..............................83
  55.        18.11  ôßΓá¡«ó¬á óδαáó¡¿óá¡¿∩ ΓѬßΓá..........................84
  56.        18.12  æ«ºñá¡¿Ñ αÑßπαßá Φα¿ΣΓá................................84
  57.  
  58.        Windows 3.0/pg/3#3                                         = 2 =
  59.  
  60.        18.12.1  æ«ºñá¡¿Ñ Σá⌐½«ó Φα¿ΣΓ«ó..............................85
  61.        18.12.2  æ«ºñá¡¿Ñ «»¿ßá¡¿∩ αÑßπαßá Φα¿ΣΓá.....................85
  62.        18.12.3  æ«ºñá¡¿Ñ Φáí½«¡á »α«úαá¼¼¡«ú« ¼«ñπ½∩.................86
  63.        18.12.4  æ«ºñá¡¿Ñ Σá⌐½á «»αÑñѽѡ¿∩ ¼«ñπ½∩....................86
  64.        18.12.5  Æαá¡ß½∩µ¿∩ ¿ ¬«¼»«¡«ó¬á Σá⌐½á αÑßπαßá Φα¿ΣΓá.........87
  65.        18.13  Åα¿¼Ñα »α¿¬½áñ¡«⌐ »α«úαá¼¼δ ShowFont...................88
  66.        18.14  çᬽετÑ¡¿Ñ.............................................88
  67.        â½áóá 19.  Å὿Γαδ µóÑΓ«ó.....................................89
  68.        19.1  ùΓ« ñѽáÑΓ »á½¿Γαá µóÑΓ«ó...............................89
  69.        19.2  èᬠαáí«ΓáεΓ »á½¿Γαδ µóÑΓ«ó.............................90
  70.        19.3  æ«ºñá¡¿Ñ ¿ ¿ß»«½∞º«óá¡¿Ñ ½«ú¿τÑ߬«⌐ »á½¿Γαδ.............91
  71.        19.3.1  æ«ºñá¡¿Ñ ßΓαπ¬Γπαδ ñá¡¡δσ LOGPALETTE..................91
  72.        19.3.2  æ«ºñá¡¿Ñ ½«ú¿τÑ߬«⌐ »á½¿Γαδ...........................94
  73.        19.3.3  éδí«α »á½¿Γαδ ó ¬«¡ΓѬßΓÑ πßΓα«⌐ßΓóá..................94
  74.        19.3.4  ÉÑ὿ºáµ¿∩ »á½¿Γαδ....................................95
  75.        19.4  É¿ß«óá¡¿Ñ ß ¿ß»«½∞º«ó᡿Ѽ µóÑΓ«ó »á½¿Γαδ...............95
  76.        19.4.1  Åα∩¼«Ñ «»αÑñѽѡ¿Ñ µóÑΓ«ó Γáí½¿µδ.....................95
  77.        19.4.2  ìÑ»α∩¼«Ñ «»αÑñѽѡ¿Ñ µóÑΓ«ó »á½¿Γαδ...................96
  78.        19.4.3  êß»«½∞º«óá¡¿Ñ »á½¿Γαδ »α¿ óδó«ñÑ αáßΓα«óδσ ¬áαΓ.......98
  79.        19.5  êº¼Ñ¡Ñ¡¿Ñ ½«ú¿τÑ߬«⌐ »á½¿Γαδ............................99
  80.        19.6  ÉÑᬵ¿∩ ¡á ¿º¼Ñ¡Ñ¡¿∩ ß¿ßΓѼ¡«⌐ »á½¿Γαδ.................101
  81.        19.6.1  Äíαáí«Γ¬á ß««íΘÑ¡¿∩ WM_QUERYNEWPALETTE...............101
  82.        19.6.2  ÉÑᬵ¿∩ ¡á ß««íΘÑ¡¿Ñ WM_PALETTECHANGED...............102
  83.        19.7  çᬽετÑ¡¿Ñ.............................................104
  84.        â½áóá 20.  ä¿¡á¼¿τÑ߬¿ »«ñ¬½ετáѼδÑ í¿í½¿«ΓѬ¿...............105
  85.        20.1  ùΓ« ΓᬫѠDLL..........................................105
  86.        20.1.1  ê¼»«αΓ¿απѼδÑ í¿í½¿«ΓѬ¿ ¿ DLL.......................106
  87.        20.1.2  î«ñπ½¿ DLL ¿ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ....................108
  88.        20.1.3  DLL ¿ ºáñáτ¿.........................................109
  89.        20.1.4  DLL ¿ ßΓѬ¿..........................................110
  90.        20.1.5  èᬠWindows ¿ΘÑΓ DLL.................................111
  91.        20.2  è«úñá ¿ß»«½∞º«óáΓ∞ ß«íßΓóÑ¡¡δÑ DLL.....................111
  92.        20.2.1  Éáºñѽѡ¿Ñ ¼Ñªñπ »α¿¬½áñ¡δ¼¿ »α«úαἼἿ.............112
  93.        20.2.2  î«ñ¿Σ¿¬áµ¿∩ »α«úαá¼¼ ñ½∩ αẽ¿τ¡δσ α뭪«ó............113
  94.        20.2.3  ï«óπΦ¬¿ «¬«¡.........................................114
  95.        20.2.4  äαá⌐óÑαδ πßΓα«⌐ßΓó...................................115
  96.        20.2.5  æ«íßΓóÑ¡¡δÑ í½«¬¿ π»αáó½Ñ¡¿∩.........................116
  97.        20.2.6  ô»αáó½Ñ¡¿Ñ »α«Ñ¬ΓἿ.................................125
  98.        20.3  æ«ºñá¡¿Ñ DLL...........................................125
  99.        20.3.1  æ«ºñá¡¿Ñ Σá⌐½á ß ¿ßσ«ñ¡δ¼ ¬«ñ«¼ ¡á æ.................126
  100.        20.3.2  æ«ºñá¡¿Ñ Σá⌐½á «»αÑñѽѡ¿∩ ¼«ñπ½∩....................132
  101.        20.3.3.  æ«ºñá¡¿Ñ Make-Σá⌐½á.................................134
  102.        20.4  ä«ßΓπ» ¬ DLL ¿º »α¿¬½áñ¡δσ »α«úαá¼¼....................138
  103.        20.4.1  æ«ºñá¡¿Ñ »α«Γ«Γ¿»á í¿í½¿«ΓÑτ¡δσ Σπ¡¬µ¿⌐..............138
  104.        20.4.2  ê¼»«αΓ¿α«óá¡¿Ñ í¿í½¿«ΓÑτ¡δσ Σπ¡¬µ¿⌐..................139
  105.        20.5  Åαáó¿½á ó½áñÑ¡¿∩ ñ½∩ «íΩÑ¬Γ«ó Windows..................142
  106.        20.6  Åα¿¼Ñα í¿í½¿«ΓѬ¿: Select..............................143
  107.        20.6.1  æ«ºñá¡¿Ñ Σπ¡¬µ¿⌐.....................................144
  108.        20.6.2  æ«ºñá¡¿Ñ Σπ¡¬µ¿¿ ¿¡¿µ¿á½¿ºáµ¿¿.......................149
  109.        20.6.3  æ«ºñá¡¿Ñ »α«µÑñπαδ ºáóÑαΦÑ¡¿∩........................149
  110.        20.6.4  æ«ºñá¡¿Ñ Σá⌐½á «»αÑñѽѡ¿∩ ¼«ñπ½∩....................150
  111.        20.6.5  æ«ºñá¡¿Ñ ó¬½ετáѼ«ú« Σá⌐½á...........................150
  112.  
  113.        Windows 3.0/pg/3#3                                         = 3 =
  114.  
  115.        20.6.6  Æαá¡ß½∩µ¿∩ ¿ ¬«¼»«¡«ó¬á..............................150
  116.        20.7  çᬽετÑ¡¿Ñ.............................................151
  117.        â½áóá 21. ê¡ΓÑαΣÑ⌐ß ¼¡«ªÑßΓóá ñ«¬π¼Ñ¡Γ«ó.....................152
  118.        21.1  æΓαπ¬Γπαá »α¿¬½áñ¡«⌐ »α«úαá¼¼δ, ¿ß»«½∞ºπεΘÑ⌐ MDI.......152
  119.        21.2  ê¡¿µ¿á½¿ºáµ¿∩ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ, ¿ß»«½∞ºπεΘÑ⌐
  120.         MDI.........................................................153
  121.        21.2.1  ÉÑú¿ßΓαᵿ∩ ¬½áß߫󠫬«¡.............................153
  122.        21.2.2  æ«ºñá¡¿Ñ «¬«¡........................................154
  123.        21.3  æ«ºñá¡¿Ñ µ¿¬½á «íαáí«Γ¬¿ ß««íΘÑ¡¿⌐.....................155
  124.        21.4  æ«ºñá¡¿Ñ Σπ¡¬µ¿¿ «íαáí«Γ¬¿ ß««íΘÑ¡¿⌐ «¬¡á ΣαÑ⌐¼á.......156
  125.        21.5 æ«ºñá¡¿Ñ  Σπ¡¬µ¿¿  «íαáí«Γ¬¿  ß««íΘÑ¡¿⌐ ñ½∩ ñ«τÑα¡Ñú«...157
  126.        21.6  æó∩ºδóá¡¿Ñ ñá¡¡δσ ß ñ«τÑα¡¿¼¿ «¬¡á¼¿...................157
  127.        21.6.1  òαá¡Ñ¡¿Ñ ñá¡¡δσ ó ßΓαπ¬ΓπαÑ «¬¡á.....................158
  128.        21.6.2  êß»«½∞º«óá¡¿Ñ ßó«⌐ßΓ󠫬¡á...........................158
  129.        21.7  ô»αáó½Ñ¡¿Ñ ñ«τÑα¡¿¼¿ «¬¡á¼¿............................158
  130.        21.7.1  æ«ºñá¡¿Ñ ñ«τÑα¡¿σ «¬«¡...............................159
  131.        21.7.2  ÉáºαπΦÑ¡¿Ñ ñ«τÑα¡¿σ «¬«¡.............................160
  132.        21.7.3  Ç¬Γ¿ó¿ºáµ¿∩ ¿ ñÑá¬Γ¿ó¿ºáµ¿∩ ñ«τÑα¡¿σ «¬«¡............160
  133.        21.7.4  ÉáßßΓá¡«ó¬á ñ«τÑα¡¿σ «¬«¡ ¡á φ¬αá¡Ñ..................161
  134.        21.8  çᬽετÑ¡¿Ñ.............................................161
  135.        â½áóá 22. ä¿¡á¼¿τÑ߬¿⌐ «í¼Ñ¡ ñá¡¡δ¼¿.........................163
  136.        22.1  Äí¼Ñ¡ ñá¡¡δ¼¿ ó Windows................................163
  137.        22.1.1  ÅÑαÑñáτá ñá¡¡δσ τÑαѺ ß¿ßΓѼ¡δ⌐ íπΣÑα................163
  138.        22.1.2  ä¿¡á¼¿τÑ߬¿ »«ñ¬½ετáѼδÑ í¿í½¿«ΓѬ¿..................164
  139.        22.1.3  ä¿¡á¼¿τÑ߬¿⌐ «í¼Ñ¡ ñá¡¡δ¼¿...........................164
  140.        22.1.4  è«úñá ¿ß»«½∞º«óáΓ∞ Windows DDE.......................165
  141.        22.1.5  DDE ß Γ«τ¬¿ ºαÑ¡¿∩ »«½∞º«óáΓѽ∩......................165
  142.        22.2  è«¡µÑ»µ¿¿ DDE..........................................166
  143.        22.2.1  è½¿Ñ¡Γ, ßÑαóÑα ¿ ñ¿á½«ú..............................166
  144.        22.2.2  ¥½Ñ¼Ñ¡Γ, »αÑñ¼ÑΓ, »α¿½«ªÑ¡¿Ñ.........................167
  145.        22.2.3  Å«ßΓ«∩¡¡á∩ ("ú«α∩τá∩" ¿ "ΓÑ»½á∩") ßó∩º∞ »« ñá¡¡δ¼....167
  146.        22.3  æ««íΘÑ¡¿∩ DDE..........................................168
  147.        22.4  Å«Γ«¬ ß««íΘÑ¡¿⌐ DDE....................................169
  148.        22.4.1  ê¡¿µ¿á½¿ºáµ¿∩ ñ¿á½«úá................................169
  149.        22.4.2  ÅÑαÑñáτá «ñ¡«ú« φ½Ñ¼Ñ¡Γá.............................171
  150.        22.4.3  ôßΓá¡«ó½Ñ¡¿Ñ »«ßΓ«∩¡¡«⌐ ßó∩º¿ »« ñá¡¡δ¼..............176
  151.        22.4.4  çá»π߬ ¬«¼á¡ñ ó πñá½Ñ¡¡«⌐ »α¿¬½áñ¡«⌐ »α«úαá¼¼Ñ.......181
  152.        22.4.5  çáóÑαΦÑ¡¿Ñ ñ¿á½«úá...................................184
  153.        22.5  Åα¿¼Ñαδ »α«úαá¼¼ Client ¿ Server.......................186
  154.        22.6  çᬽετÑ¡¿Ñ.............................................187
  155.  
  156.        Windows 3.0/pg/3#3                                         = 4 =
  157.  
  158.        ----------------------------------------------------------------
  159.  
  160.                         ÅÉÄâÉÇîîÇ-æÅÉÇéÄùìêè ÅÄ
  161.  
  162.                            Microsoft Windows
  163.  
  164.                               éÑαß¿∩ 3.0
  165.  
  166.           Éπ¬«ó«ñßΓó« »« »α«úαἿα«óá¡¿ε ó ßαÑñÑ Microsoft Windows
  167.  
  168.  
  169.                                  3#3
  170.  
  171.  
  172.                             î«ß¬óá 1991 ú.
  173.        ----------------------------------------------------------------
  174.  
  175.        Windows 3.0/pg/3#3                                         = 5 =
  176.  
  177.                                â½áóá 16. àΘÑ «í π»αáó½Ñ¡¿¿ »á¼∩Γ∞ε.            
  178.        ----------------------------------------------------------------
  179.              é ú½áóÑ  15,  "ô»αáó½Ñ¡¿Ñ »á¼∩Γ∞ε",  »αÑñßΓáó½Ñ¡á «ß¡«ó¡á∩
  180.         ¿¡Σ«α¼áµ¿∩,  ¬«Γ«αá∩ óá¼ ¡Ñ«íσ«ñ¿¼á  ñ½∩  »«¡¿¼á¡¿∩  Γ«ú«,  ¬á¬
  181.         ¿ß»«½∞ºπÑΓß∩ »á¼∩Γ∞ ó »α¿¬½áñ¡δσ »α«úαá¼¼áσ Windows.  Äñ¡á¬«, ó
  182.         ¡Ñ¬«Γ«αδσ  »α¿¬½áñ¡δσ  »α«úαá¼¼áσ   ΓαÑíπÑΓß∩   í«½ÑÑ   ß½«ª¡«Ñ
  183.         π»αáó½Ñ¡¿Ñ  »á¼∩Γ∞ε.  é ñá¡¡«⌐ ú½áóÑ ß«ñÑনΓß∩ í«½ÑÑ ñÑΓá½∞¡á∩
  184.         ¿¡Σ«α¼áµ¿∩ « ΓÑσ¡¿¬Ñ π»αáó½Ñ¡¿∩ »á¼∩Γ∞ε Windows ¿ « Γ«¼, ¬á¬ óδ
  185.         ñ«½ª¡δ  »¿ßáΓ∞  »α«úαá¼¼δ ß µÑ½∞ε ½πτΦÑú« ¿ß»«½∞º«óá¡¿∩ ß½«ª¡δσ
  186.         ó«º¼«ª¡«ßΓÑ⌐ Windows »« π»αáó½Ñ¡¿ε »á¼∩Γ∞ε.
  187.  
  188.              é ñá¡¡«⌐  ú½áóÑ   ß«ñÑনΓß∩   ¿¡Σ«α¼áµ¿∩   »«   ß½ÑñπεΘ¿¼
  189.         ó«»α«ßá¼:
  190.  
  191.              - è«¡Σ¿úπαᵿ¿ »á¼∩Γ¿ Windows.
  192.  
  193.              - êß»«½∞º«óá¡¿Ñ  »á¼∩Γ¿  ñ½∩  σαá¡Ñ¡¿∩ ñá¡¡δσ ó »α¿¬½áñ¡δσ
  194.                »α«úαá¼¼áσ Windows.
  195.  
  196.              - êß»«½∞º«óá¡¿Ñ ¼«ñѽÑ⌐ »á¼∩Γ¿.
  197.  
  198.              - êß»«½∞º«óá¡¿Ñ ñá¡¡δσ Γ¿»á HUGE.
  199.  
  200.              - ô»αáó½Ñ¡¿Ñ ñá¡¡δ¼¿ »α«úαá¼¼δ.
  201.  
  202.              - ô»αáó½Ñ¡¿Ñ ñá¡¡δ¼¿ ñ½∩ ¬«ñá »α«úαá¼¼.
  203.                                 16.1  è«¡Σ¿úπαᵿ¿ »á¼∩Γ¿ Windows.             
  204.  
  205.              éδ ñ«½ª¡δ  º¡áΓ∞,  τΓ«  óáΦá  »α¿¬½áñ¡á∩  »α«úαἼᠠ¼«ªÑΓ
  206.         αáí«ΓáΓ∞ »«ñ   αẽ¿τ¡δ¼¿  ¬«¡Σ¿úπαᵿ∩¼¿  »á¼∩Γ¿.  ùáΘÑ  óßÑú«
  207.         ¬«¡Σ¿úπαᵿ∩ »á¼∩Γ¿ ºáó¿ß¿Γ «Γ Γ¿»á µÑ¡Γαá½∞¡«ú«  »α«µÑßß«αá  ¿
  208.         «íΩѼᠠ¿  ¬«¡Σ¿úπαᵿ¿  »á¼∩Γ¿.  Windows  »«ññÑনóáÑΓ  τÑΓδαÑ
  209.         ¬«¡Σ¿úπαᵿ¿:
  210.  
  211.              - üẫóá∩  (640è)  ¬«¡Σ¿úπαᵿ∩  »á¼∩Γ¿  (αÑá½∞¡δ⌐   αѪ¿¼
  212.                Windows).
  213.  
  214.              - è«¡Σ¿úπαᵿ∩    αáßΦ¿αÑ¡¡«⌐   »á¼∩Γ¿   »«   ß»Ñµ¿Σ¿¬áµ¿¿
  215.                Lotus-Intel-Microsoft óÑαß¿¿ 4.0 (LIM EMS 4.0).
  216.  
  217.              - è«¡Σ¿úπαᵿ∩ »á¼∩Γ¿ ßΓá¡ñáαΓ¡«ú« αѪ¿¼á.
  218.  
  219.              - è«¡Σ¿úπαᵿ∩ »á¼∩Γ¿ αáßΦ¿αÑ¡¡«ú« αѪ¿¼á »α«µÑßß«αá 386.
  220.  
  221.              ÄíΩѼ »á¼∩Γ¿,   ¿ß»«½∞ºπѼδ⌐   Windows,    íπñÑΓ    ¼Ñ¡∞ΦÑ
  222.         πßΓá¡«ó½Ñ¡¡«ú«  ó  ß¿ßΓѼÑ,  Ñß½¿  »ÑαÑñ  ºá»π߬«¼  Windows  óδ
  223.         ºá»πßΓ¿ΓÑ ñαπú¿Ñ »α«úαá¼¼δ.
  224.  
  225.              Å«ß¬«½∞¬π Windows   ó   αẽ¿τ¡δσ   ß¿ßΓѼáσ    ¿ß»«½∞ºπÑΓ
  226.         αẽ¿τ¡δÑ ¬«¡Σ¿úπαᵿ¿  »á¼∩Γ¿,  óáΦá »α«úαá¼¼á ñ«½ª¡á αáí«ΓáΓ∞
  227.         »α¿ ½εí«⌐ ¬«¡Σ¿úπαᵿ¿.  ïπτΦ¿¼  ß»«ß«í«¼  ñ½∩  φΓ«ú«  ∩ó½∩ÑΓß∩
  228.         ß½Ññ«óá¡¿Ñ »αáó¿½á¼  π»αáó½Ñ¡¿∩  »á¼∩Γ¿  Windows  »α¿ ¡á»¿ßá¡¿¿
  229.  
  230.        Windows 3.0/pg/3#3                                         = 6 =
  231.  
  232.         óáΦ¿σ »α«úαá¼¼.  æ¼«Γα¿ΓÑ  αáºñѽ   16.5,   "ï«óπΦ¬¿,   ¬«Γ«αδÑ
  233.         ¡Ñ«íσ«ñ¿¼« ¿ºíÑúáΓ∞ »α¿ αáí«ΓÑ ß ñá¡¡δ¼¿ »α«úαá¼¼δ",  ó ¬«Γ«α«¼
  234.         »α¿óÑñÑ¡δ φΓ¿ »αáó¿½á.
  235.  
  236.              æ½ÑñπÑΓ ¿ºíÑúáΓ∞ »α¿ ó«º¼«ª¡«ßΓ¿ ¬«ñá,  ¬«Γ«αδ⌐ ºáó¿ß¿Γ «Γ
  237.         ¬«¡Σ¿úπαᵿ¿ »á¼∩Γ¿.   Äñ¡á¬«  ó  ¡Ñ¬«Γ«αδσ  ß½πτá∩σ  »α«úαá¼¼á
  238.         ñ«½ª¡á ¿¼ÑΓ∞ ó«º¼«ª¡«ßΓ∞ «»αÑñѽ¿Γ∞ ¬«¡Σ¿úπαᵿε,  »«ñ  ¬«Γ«α«⌐
  239.         «¡á αáí«ΓáÑΓ.
  240.  
  241.              ä½∩ «»αÑñѽѡ¿∩    ΓѬπΘÑ⌐   ¬«¡Σ¿úπαᵿ¿   »á¼∩Γ¿   ¼«ª¡«
  242.         ó«ß»«½∞º«óáΓ∞ß∩ Σπ¡¬µ¿Ñ⌐ GetWunFlags.  ¥Γá  Σπ¡¬µ¿∩  ó«ºóαáΘáÑΓ
  243.         32-αáºα∩ñ¡«Ñ τ¿ß½«, ¬«Γ«α«Ñ ß«ñÑαª¿Γ í¿Γδ, «»αÑñѽ∩εΘ¿Ñ ΓѬπΘπε
  244.         ¬«¡Σ¿úπαáµ¿ε  »á¼∩Γ¿,  á  ΓᬪѠ ñαπúπε  ¿¡Σ«α¼áµ¿ε  «  ß¿ßΓѼÑ
  245.         »«½∞º«óáΓѽ∩.
  246.  
  247.              ÄßΓáóΦá∩ß∩ τáßΓ∞  φΓ«ú« αáºñѽᠻ«ßó∩Θѡᠫ»¿ßá¡¿ε τÑΓδαÑσ
  248.         «ß¡«ó¡δ󠬫¡Σ¿úπαᵿ⌐ »á¼∩Γ¿ Windows.
  249.                                16.1.1  üẫóá∩ ¬«¡Σ¿úπαᵿ∩ »á¼∩Γ¿.            
  250.  
  251.              üẫóá∩ ¬«¡Σ¿úπαᵿ∩  »á¼∩Γ¿  Windows  »«ñαáºπ¼ÑóáÑΓ,  τΓ«
  252.         ß¿ßΓѼᠿ¼ÑÑΓ  640è  Σ¿º¿τÑ߬«⌐ »á¼∩Γ¿.  ÅÑαÑñ ºá»π߬«¼ Windows
  253.         ¼½áñΦ¿Ñ áñαÑßá »á¼∩Γ¿ πªÑ ºá¡∩Γδ  ß¿ßΓѼ¡«⌐  BIOS  ¿  DOS.  ¥Γá
  254.         τáßΓ∞ ß«ñÑαª¿Γ ß½ÑñπεΘÑÑ:
  255.  
  256.              - Æáí½¿µπ óÑ¬Γ«α«ó »αÑαδóá¡¿⌐.
  257.  
  258.              - Äí½áßΓ∞ ñá¡¡δσ BIOS.
  259.  
  260.              - äαá⌐óÑαδ πßΓα«⌐ßΓó DOS.
  261.  
  262.              - ïεíδÑ αѺ¿ñÑ¡Γ¡δÑ »α«úαá¼¼δ, ¬«Γ«αδÑ í뫨 ºá»πΘÑ¡δ »ÑαÑñ
  263.                Windows.
  264.  
  265.              Windows ¿ »α¿¬½áñ¡δÑ »α«úαá¼¼δ,  αáí«ΓáεΘ¿Ñ  »«ñ  Windows,
  266.         ¼«úπΓ  ¿ß»«½∞º«óáΓ∞ Γ«½∞¬« «ßΓáóΦπεß∩ τáßΓ∞ »á¼∩Γ¿.  ¥Γá »á¼∩Γ∞
  267.         ¡áºδóáÑΓß∩ ú½«íá½∞¡«⌐ ñ¿¡á¼¿τÑ߬«⌐ «í½áßΓ∞ε »á¼∩Γ¿.
  268.  
  269.  
  270.  
  271.        Windows 3.0/pg/3#3                                         = 7 =
  272.  
  273.             ìá α¿ßπ¡¬Ñ  16.1  »«¬áºá¡á  íẫóá∩  ¬«¡Σ¿úπαᵿ∩   »á¼∩Γ¿
  274.         Windows.
  275.  
  276.         ┌────────────────────────────────────────┐ \   A000H (640K)
  277.         │   æíαáßδóáѼδÑ ¬«ñ«óδÑ ßÑú¼Ñ¡Γδ        │  │
  278.         │                   │                    │  │
  279.         │                   V                    │  │
  280.         │                                        │  │
  281.         │                   A                    │  │
  282.         │                   │                    │  │  â½«íá½∞¡á∩
  283.         │  ÅÑαѼÑΘáѼδÑ ßÑú¼Ñ¡Γδ (¬«ñá ¿ ñá¡¡δσ) │   \ ñ¿¡á¼¿τÑ߬á∩
  284.         │                   ¿                    │   / «í½áßΓ∞ ñá¡¡δσ
  285.         │  ßíαáßδóáѼδÑ ßÑú¼Ñ¡Γδ ñá¡¡δσ          │  │
  286.         │                                        │  │
  287.         │                   A                    │  │
  288.         │                   │                    │  │
  289.         │  ö¿¬ß¿α«óá¡¡δÑ ßÑú¼Ñ¡Γδ (¬«ñá ¿        │  │
  290.         │                         ñá¡¡δσ)        │  │
  291.         ├────────────────────────────────────────┤ /
  292.         │         ÉѺ¿ñÑ¡Γ¡δÑ »α«úαá¼¼δ          │
  293.         │          äαá⌐óÑαδ πßΓα«⌐ßΓó            │
  294.         │                MS-DOS                  │
  295.         │          Äí½áßΓ∞ ñá¡¡δσ BIOS           │
  296.         │      Æáí½¿µá óÑ¬Γ«α«ó »αÑαδóá¡¿⌐       │
  297.         └────────────────────────────────────────┘  0000H
  298.  
  299.              É¿ßπ¡«¬ 16.1  üẫóá∩ ¬«¡Σ¿úπαᵿ∩ »á¼∩Γ¿ Windows.
  300.  
  301.              é ú½áóÑ 15,  "ô»αáó½Ñ¡¿Ñ »á¼∩Γ∞ε", «»¿ßá¡«, ¬á¬ »α¿¬½áñ¡δÑ
  302.         »α«úαá¼¼δ  Windows  ¿ß»«½∞ºπεΓ  ú½«íá½∞¡πε ñ¿¡á¼¿τÑ߬πε «í½áßΓ∞
  303.         »á¼∩Γ¿.  æÑú¼Ñ¡Γδ  ¬«ñá  ¿  ñá¡¡δσ  óßÑσ  »α¿¬½áñ¡δσ   »α«úαá¼¼
  304.         αáß»«½áúáεΓß∩   ó   ú½«íá½∞¡«⌐   ñ¿¡á¼¿τÑ߬«⌐  «í½áßΓ¿  »á¼∩Γ¿,
  305.         ¼ÑßΓ«»«½«ªÑ¡¿Ñ ßÑú¼Ñ¡Γá ºáó¿ß¿Γ «Γ Γ¿»á ßÑú¼Ñ¡Γá, Γ.Ñ. ∩ó½∩ÑΓß∩
  306.         ½¿  «¡ Σ¿¬ß¿α«óá¡¡δ¼,  »ÑαѼÑΘáÑ¼δ¼ ¿ ßíαáßδóáѼδ¼,  ¿½¿ Γ«½∞¬«
  307.         »ÑαѼÑΘáѼδ¼.  é Γáí½¿µÑ 16.1 »α¿óÑñÑ¡ ß»¿ß«¬ áΓα¿íπΓ«ó ¿ Γ¿»«ó
  308.         ¿ »«¬áºá¡«, úñÑ «¡¿ αáß»«½áúáεΓß∩ ó ú½«íá½∞¡«⌐ «í½áßΓ¿ »á¼∩Γ¿.
  309.  
  310.  
  311.  
  312.        Windows 3.0/pg/3#3                                         = 8 =
  313.  
  314.             Æáí½¿µá 16.1  Å«º¿µ¿¿  ßÑú¼Ñ¡Γ«ó ó ú½«íá½∞¡«⌐ ñ¿¡áß¿τÑ߬«⌐
  315.         «í½áßΓ¿ »á¼∩Γ¿.
  316.         ───────────────────────────────────────────────────────────────
  317.         ÇΓα¿íπΓ         Æ¿» ßÑú¼Ñ¡Γá        Å«½«ªÑ¡¿Ñ ó ú½«íá½∞¡«⌐ «í-
  318.                                             ½áßΓ¿ »á¼∩Γ¿.
  319.         ───────────────────────────────────────────────────────────────
  320.         ö¿¬ß¿α«óá¡¡δ⌐   è«ñ ¿½¿ ñá¡¡δÑ      î½áñΦ¿Ñ áñαÑßá ú½«íá½∞¡«⌐
  321.                                             «í½áßΓ¿ »á¼∩Γ¿.
  322.  
  323.         æíαáßδóáѼδ⌐    è«ñ«óδ⌐             æΓáαΦ¿Ñ áñαÑßá ú½«íá½∞¡«⌐
  324.                                             «í½áßΓ¿ »á¼∩Γ¿.
  325.  
  326.         æíαáßδóáѼδ⌐    äá¡¡δÑ              î½áñΦá∩ τáßΓ∞ ú½«íá½∞¡«⌐
  327.                                             «í½áßΓ¿ »á¼∩Γ¿, ¡« óδΦÑ
  328.                                             Σ¿¬ß¿α«óá¡¡δσ ßÑú¼Ñ¡Γ«ó.
  329.  
  330.         ÅÑαѼÑΘáѼδÑ    è«ñ ¿ ñá¡¡δÑ        éδΦÑ Σ¿¬ß¿α«óá¡¡δσ ßÑú¼Ñ¡-
  331.         (¡« ¡Ñ ßíαáßδ-                      Γ«ó.
  332.         óáѼδÑ)
  333.         ───────────────────────────────────────────────────────────────
  334.  
  335.              àß½¿ »α¿¬½áñ¡á∩ »α«úαá¼¼á óδñѽ∩ÑΓ  Σ¿¬ß¿α«óá¡¡δ⌐  ßÑú¼Ñ¡Γ
  336.         »«ß½Ñ óδñѽѡ¿∩   »ÑαѼÑΘáѼδσ   ¿½¿   ßíαáßδóáѼδσ  ßÑú¼Ñ¡Γ«ó,
  337.         Windows »δΓáÑΓß∩ »ÑαѼÑßΓ¿Γ∞ »ÑαѼÑΘáѼδÑ ßÑú¼Ñ¡Γδ  ¿  ßíα«ß¿Γ∞
  338.         ßíαáßδóáѼδÑ ñ½∩  Γ«ú«,  τΓ«íδ  »«¼ÑßΓ¿Γ∞ Σ¿¬ß¿α«óá¡¡δÑ ßÑú¼Ñ¡Γ
  339.         ¬á¬ ¼«ª¡« ¡¿ªÑ.  ¥Γ«Γ »α«µÑßß »«¼«úáÑΓ  π¼Ñ¡∞Φ¿Γ∞  Σαáú¼Ñ¡Γᵿε
  340.         »á¼∩Γ¿, ¡«  ΓαÑíπÑΓ  ºáΓαáΓ  óαѼѡ¿  µÑ¡Γαá½∞¡«ú«  »α«µÑßß«αá.
  341.         Å«φΓ«¼π ß½ÑñπÑΓ ¿ºíÑúáΓ∞ óδñѽѡ¿∩ Σ¿¬ß¿α«óá¡¡δσ ßÑú¼Ñ¡Γ«ó.
  342.  
  343.              é íẫó«⌐ ¬«¡Σ¿úπαᵿ¿  »á¼∩Γ¿,  Ñß½¿  ¡Ñ¬«Γ«αδÑ  ßÑú¼Ñ¡Γδ
  344.         «»αÑñѽѡδ ó   Σá⌐½Ñ   «»αÑñѽѡ¿∩   ¼«ñπ½∩   óáΦÑ⌐  »α¿¬½áñ¡«⌐
  345.         »α«úαá¼¼δ ¬á¬ ßíαáßδóáѼδÑ,  »α«úαἼᠼ«ªÑΓ íδΓ∞  í«½∞ΦÑ,  τѼ
  346.         αẼÑα  »á¼∩Γ¿  ó  ú½«íá½∞¡«⌐  «í½áßΓ¿ »á¼∩Γ¿.  àß½¿ Σ¿º¿τÑ߬á∩
  347.         »á¼∩Γ∞  ºá»«½¡Ñ¡á  ¿  »α¿¬½áñ¡á∩  »α«úαἼᠠ»δΓáÑΓß∩   óδºóáΓ∞
  348.         ¬«ñ«óδ⌐  ßÑú¼Ñ¡Γ,  ¬«Γ«α«ú«  ¡ÑΓ  ó Σ¿º¿τÑ߬«⌐ »á¼∩Γ¿,  Windows
  349.         ºáúαπªáÑΓ  Ñú«,  »αÑñóáα¿Γѽ∞¡«  πñ὿ó  ßíαáßδóáѼδÑ   ¬«ñ«óδÑ
  350.         ßÑú¼Ñ¡Γδ  ¿½¿  ßÑú¼Ñ¡Γδ  ñá¡¡δσ.  ôñá½Ñ¡¿Ñ ßíαáßδóáѼδ󠬫ñ«óδσ
  351.         ßÑú¼Ñ¡Γ«ó ¿º »á¼∩Γ¿ ¡Ñ «ΓαáªáÑΓß∩ ¡á »α¿¬½áñ¡«⌐ »α«úαá¼¼Ñ, Ñß½¿
  352.         ßíα«ΦÑ¡¡δ⌐  ßÑú¼Ñ¡Γ »«¡áñ«í¿Γß∩,  «¡ íπñÑΓ ºáúαπªÑ¡ ß ñ¿ß¬á.  æ
  353.         ñαπú«⌐ ßΓ«α«¡δ,  πñá½Ñ¡¿Ñ ßÑú¼Ñ¡Γ«ó ñá¡¡δσ ¼«ªÑΓ »α¿óÑßΓ¿ ¬  ¿σ
  354.         »«ΓÑαÑ.  Å«φΓ«¼π,  Ñß½¿  óδ «íΩ∩ó½∩ÑΓÑ ó »α«úαἼѠßíαáßδóáѼδ⌐
  355.         ßÑú¼Ñ¡Γ  ñá¡¡δσ,  óδ   ñ«½ª¡δ   íδΓ∞   πóÑαÑ¡δ,   τΓ«   ß¼«ªÑΓÑ
  356.         »ÑαѺáúαπº¿Γ∞ Ñú«  ß«ñÑন¼«Ñ  ß  ñ¿ß¬á ¿½¿ ß¡«óá ß«ºñáΓ∞ ½εíδ¼
  357.         ñαπú¿¼ ß»«ß«í«¼.
  358.  
  359.              é íẫó«⌐ ¬«¡Σ¿úπαᵿ¿ »á¼∩Γ¿ Windows »αÑñ«ßΓáó½∩ÑΓ í«½∞ΦÑ
  360.         »á¼∩Γ¿, πñá½∩∩  ßíαáßδóáѼδÑ  ßÑú¼Ñ¡Γδ  ¿º  »á¼∩Γ¿.  Windows ¡Ñ
  361.         óδ»«½¡∩ÑΓ »«ñ¬áτ¬π ß ñ¿ß¬á (»«ñ¬áτ¬π ßÑú¼Ñ¡Γ«ó ñá¡¡δσ ¿ ¬«ñá  ß
  362.         ñ¿ß¬á  ¿  «íαáΓ¡«).  àß½¿  óáΦÑ⌐ »α¿¬½áñ¡«⌐ »α«úαἼѠΓαÑíπÑΓß∩
  363.         í«½∞Φ¿⌐  «íΩѼ  ó¿αΓπá½∞¡«⌐  »á¼∩Γ¿,  τѼ  ñ«ßΓπ»¡«  ó  íẫó«⌐
  364.         ¬«¡Σ¿úπαᵿ¿, «¡á  ñ«½ª¡á  ßá¼á  π»αáó½∩Γ∞ ó¿αΓπá½∞¡«⌐ »á¼∩Γ∞ε,
  365.         »«ñ¬áτ¿óá∩ ñá¡¡δÑ ß ñ¿ß¬á ¿ «íαáΓ¡«.
  366.  
  367.  
  368.        Windows 3.0/pg/3#3                                         = 9 =
  369.  
  370.                                16.1.2  è«¡Σ¿úπαᵿ∩ »á¼∩Γ¿ EMS 4.0.            
  371.  
  372.              Windows ¼«ªÑΓ ¿ß»«½∞º«óáΓ∞ ¬«¡Σ¿úπαáµ¿ε  »á¼∩Γ¿  EMS  4.0,
  373.         Ñß½¿ ó  ß¿ßΓѼѠ πßΓá¡«ó½Ñ¡á  αáßΦ¿αÑ¡¡á∩  »á¼∩Γ∞ EMS ¿ ¿¼ÑÑΓß∩
  374.         ñαá⌐óÑα EMS  4.0.  é  φΓ«⌐   ¬«¡Σ¿úπαᵿ¿   αẼÑα   ú½«íá½∞¡«⌐
  375.         ñ¿¡á¼¿τÑ߬«⌐ «í½áßΓ¿  »á¼∩Γ¿  í«½∞ΦÑ  ß Γ«τ¬¿ ºαÑ¡¿∩ »α¿¬½áñ¡«⌐
  376.         »α«úαá¼¼δ,  τѼ ñ«ßΓπ»¡«  ó  íẫó«⌐  ¬«¡Σ¿úπαᵿ¿.  ö¿º¿τÑ߬«Ñ
  377.         áñαÑß¡«Ñ  »α«ßΓαá¡ßΓó«  ú½«íá½∞¡«⌐  ñ¿¡á¼¿τÑ߬«⌐ «í½áßΓ¿ »á¼∩Γ¿
  378.         αáßΦ¿α∩ÑΓß∩ ßóÑασ áñαÑßá  A000H  (640K)  ñ«  F000H.  ö¿º¿τÑ߬¿Ñ
  379.         áñαÑßá  ß  F000H  »« FFFFH ºáαѺÑαó¿α«óá¡δ »«ñ BIOS.  ìѬ«Γ«αδÑ
  380.         τáßΓ¿ »α«ßΓαá¡ßΓóá  «Γ  A000H  »«  F000H  ºáαѺÑαó¿α«óá¡δ   »«ñ
  381.         ó¿ñÑ«»á¼∩Γ∞ ¿ ñ½∩ áñá»ΓÑα«ó ßÑΓ¿. Æá¬¿¼ «íαẫ¼ ó «í½áßΓ¿ ¼Ñªñπ
  382.         A000H ¿ F000H Windows ñ«ßΓπ»¡«  ¼Ñ¡∞ΦÑ  320è.  îá¬ß¿¼á½∞¡«  φΓ«
  383.         ¼«ªÑΓ íδΓ∞ 288è, ¡« «íδτ¡« ¼Ñ¡∞ΦÑ.
  384.  
  385.              ìá α¿ßπ¡¬Ñ 16.2 ßαáó¡¿óáÑΓß∩ íẫóá∩ ¬«¡Σ¿úπαᵿ∩ »á¼∩Γ¿ ¿
  386.         ¬«¡Σ¿úπαᵿ∩ EMS 4.0.
  387.  
  388.  
  389.  
  390.        Windows 3.0/pg/3#3                                        = 10 =
  391.  
  392.                             üẫóá∩ ¬«¡Σ¿úπαᵿ∩.
  393.  
  394.         ┌────────────────────────────────────────┐ \   A000H (640K)
  395.         │                                        │  │
  396.         │                                        │  │
  397.         │                                        │  │
  398.         │                                        │  │
  399.         │                                        │  │  â½«íá½∞¡á∩
  400.         │                                        │   \ ñ¿¡á¼¿τÑ߬á∩
  401.         │                                        │   / «í½áßΓ∞ ñá¡¡δσ
  402.         │                                        │  │
  403.         │                                        │  │
  404.         │                                        │  │
  405.         │                                        │  │
  406.         ├────────────────────────────────────────┤ /
  407.         │         ÉѺ¿ñÑ¡Γ¡δÑ »α«úαá¼¼δ          │
  408.         │          äαá⌐óÑαδ πßΓα«⌐ßΓó            │
  409.         │                MS-DOS                  │
  410.         │          Äí½áßΓ∞ ñá¡¡δσ BIOS           │
  411.         │      Æáí½¿µá óÑ¬Γ«α«ó »αÑαδóá¡¿⌐       │
  412.         └────────────────────────────────────────┘  0000H
  413.  
  414.                              è«¡Σ¿úπαᵿ∩ EMS 4.0.
  415.  
  416.         ┌────────────────────────────────────────┐     FFFFH
  417.         │              æ¿ßΓѼ¡«Ñ Åçô             │
  418.         ├────────────────────────────────────────┤
  419.         │             ä«ßΓπ»¡á∩ »á¼∩Γ∞           │ \
  420.         ├────────────────────────────────────────┤  │
  421.         │               é¿ñÑ«»á¼∩Γ∞              │  │
  422.         ├────────────────────────────────────────┤  │
  423.         │             ä«ßΓπ»¡á∩ »á¼∩Γ∞           │  │
  424.         ├────────────────────────────────────────┤  │  A000H (640K)
  425.         │                                        │  │
  426.         │                                        │  │  â½«íá½∞¡á∩
  427.         │                                        │   \ ñ¿¡á¼¿τÑ߬á∩
  428.         │                                        │   / «í½áßΓ∞ ñá¡¡δσ
  429.         │                                        │  │
  430.         │                                        │  │
  431.         │                                        │  │
  432.         │                                        │  │
  433.         │                                        │  │
  434.         ├────────────────────────────────────────┤ /
  435.         │         ÉѺ¿ñÑ¡Γ¡δÑ »α«úαá¼¼δ          │
  436.         │          äαá⌐óÑαδ πßΓα«⌐ßΓó            │
  437.         │                MS-DOS                  │
  438.         │          Äí½áßΓ∞ ñá¡¡δσ BIOS           │
  439.         │      Æáí½¿µá óÑ¬Γ«α«ó »αÑαδóá¡¿⌐       │
  440.         └────────────────────────────────────────┘  0000H
  441.  
  442.              É¿ßπ¡«¬ 16.2  æαáó¡Ñ¡¿Ñ  íẫó«⌐  ¬«¡Σ¿úπαᵿ¿  »á¼∩Γ¿   ¿
  443.         ¬«¡Σ¿úπαᵿ¿ ß EMS 4.0.
  444.  
  445.        Windows 3.0/pg/3#3                                        = 11 =
  446.  
  447.                     Åá¼∩Γ∞ EMS ¿ «Γ«íαáªÑ¡¿Ñ íᡬ«ó »á¼∩Γ¿.
  448.  
  449.              Åα¿ ¿ß»«½∞º«óá¡¿¿    ¬«¡Σ¿úπαᵿ¿    EMS    4.0    Windows
  450.         »αÑñ«ßΓáó½∩ÑΓ »α¿¬½áñ¡«⌐  »α«úαἼѠ í«½∞ΦÑ  »á¼∩Γ¿,  τѼ   »α¿
  451.         αáí«ΓÑ ó  íẫó«⌐ ¬«¡Σ¿úπαᵿ¿.  ¥Γ« ñѽáÑΓß∩ »πΓѼ «Γ«íαáªÑ¡¿∩
  452.         «íΩÑ¬Γ«ó ¿º αáßΦ¿αÑ¡¡«⌐ »á¼∩Γ¿ ¡á ¡Ñ¬«Γ«απε «í½áßΓ∞  Σ¿º¿τÑ߬«⌐
  453.         »á¼∩Γ¿ ó  ú½«íá½∞¡«⌐  ñ¿¡á¼¿τÑ߬«⌐ «í½áßΓ¿ »á¼∩Γ¿.  ÄΓ«íαáªÑ¡¿Ñ
  454.         ó«º¡¿¬áÑΓ, ¬«úñá Windows ¿º¼Ñ¡∩ÑΓ «»αÑñѽѡ¡δÑ αÑú¿ßΓαδ EMS ñ½∩
  455.         ¿º¼Ñ¡Ñ¡¿∩  «Γ«íαáªÑ¡¿∩  ¡Ñ¬«Γ«α«⌐ «í½áßΓ¿ »á¼∩Γ¿ ¿º ¼½áñΦÑú« 1î
  456.         áñαÑß¡«ú«  »α«ßΓαá¡ßΓóá  ¡á  ¡Ñ¬«Γ«απε  «í½áßΓ∞  ó  αáßΦ¿αÑ¡¡«⌐
  457.         »á¼∩Γ¿.   ôßΓá¡«ó¬á   αÑú¿ßΓα«ó   EMS   ¡á¼¡«ú«   íδßΓαÑÑ,  τѼ
  458.         ñÑ⌐ßΓó¿Γѽ∞¡«Ñ ¬«»¿α«óá¡¿Ñ ñá¡¡δσ.  É¿ßπ¡«¬  16.3  ¿½½εßΓα¿απÑΓ
  459.         Γ«,  ¬á¬  Windows  óδ»«½¡∩ÑΓ  «Γ«íαáªÑ¡¿Ñ  αÑá½∞¡«ú«  áñαÑß¡«ú«
  460.         »α«ßΓαá¡ßΓóá ¡á αáßΦ¿αÑ¡¡πε »á¼∩Γ∞.
  461.  
  462.         ┌────────────────────────────┐ FFFFH   ┌────────────────────────────┐
  463.         │        æ¿ßΓѼ¡«Ñ Åçô       │         │                           │
  464.         ├────────────────────────────┤ F000H   │ Åਪ½áñ¡á∩ »α«úαá¼¼á 1   Ç │
  465.         │    ÄΓ«íαáªáѼá∩ »á¼∩Γ∞    │         │                           │
  466.         │          Windows         Ç │         ├────────────────────────────┤
  467.         │                           │         │                           │
  468.         ├────────────────────────────┤         │                          │ │
  469.         │         é¿ñÑ«»á¼∩Γ∞        │         │ Åਪ½áñ¡á∩ »α«úαá¼¼á 1   é │
  470.         ├────────────────────────────┤         │                          │ │
  471.         │    ÄΓ«íαáªáѼá∩ »á¼∩Γ∞    │         │                           │
  472.         │          Windows         │ │         ├────────────────────────────┤
  473.         │                          é │         │                           │
  474.         │                          │ │         │ Åਪ½áñ¡á∩ »α«úαá¼¼á 1   Ç │
  475.         │                           │         │                           │
  476.         ├─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┤         ├────────────────────────────┤
  477.         │ âαá¡¿µá «Γ«íαáªÑ¡¿∩ EMS    │         │                           │
  478.         │                            │         │                          │ │
  479.         │                            │         │ Åਪ½áñ¡á∩ »α«úαá¼¼á 1   é │
  480.         │  ìÑ«Γ«íαáªáѼá∩ »á¼∩Γ∞     │         │                          │ │
  481.         │       Windows              │         │                           │
  482.         │                            │         ├────────────────────────────┤
  483.         │                            │         │                           │
  484.         │                            │         │ Åਪ½áñ¡á∩ »α«úαá¼¼á 1   Ç │
  485.         │                            │         │                           │
  486.         │                            │         ├────────────────────────────┤
  487.         │                            │         │                           │
  488.         ├────────────────────────────┤         │                          │ │
  489.         │   ÉѺ¿ñÑ¡Γ¡δÑ »α«úαá¼¼δ    │         │ Åਪ½áñ¡á∩ »α«úαá¼¼á 1   é │
  490.         │    äαá⌐óÑαδ πßΓα«⌐ßΓó      │         │                          │ │
  491.         │          MS-DOS            │         │                           │
  492.         │    Äí½áßΓ∞ ñá¡¡δσ BIOS     │         ├────────────────────────────┤
  493.         │Æáí½¿µá óÑ¬Γ«α«ó »αÑαδóá¡¿⌐ │
  494.         └────────────────────────────┘  0000H  │                            │
  495.  
  496.                                                │                            │
  497.  
  498.  
  499.              É¿ßπ¡«¬ 16.3     ÄΓ«íαáªÑ¡¿Ñ     Σ¿º¿τÑ߬«ú«     áñαÑß¡«ú«
  500.         »α«ßΓαá¡ßΓóá ¡á αáßΦ¿αÑ¡¡πε »á¼∩Γ∞.
  501.  
  502.        Windows 3.0/pg/3#3                                        = 12 =
  503.  
  504.  
  505.              Windows »α«¿ºó«ñ¿Γ  «Γ«íαáªÑ¡¿Ñ  ¬«ñá   ¿   ñá¡¡δσ   ¼Ñªñπ
  506.         ú½«íá½∞¡«⌐ ñ¿¡á¼¿τÑ߬«⌐  «í½áßΓ∞ε  ñá¡¡δσ ¿ αáßΦ¿αÑ¡¡«⌐ »á¼∩Γ∞ε
  507.         ó« óαѼ∩ "»ÑαѬ½ετÑ¡¿∩ ¬«¡ΓѬßΓá ºáñáτ¿",  ¬«Γ«α«Ñ  óδ»«½¡∩ÑΓß∩
  508.         »α¿  »ÑαÑñáτÑ  π»αáó½Ñ¡¿∩ «Γ «ñ¡«⌐ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ ñαπú«⌐.
  509.         Windows »ÑαѬ½ετáÑΓ «Γ«íαáªÑ¡¿Ñ ¬«ñá ¿ ñá¡¡δσ «ñ¡«⌐  »α¿¬½áñ¡«⌐
  510.         »α«úαá¼¼δ  ¿º  αáßΦ¿αÑ¡¡«⌐  »á¼∩Γ¿  ó  ú½«íá½∞¡πε  ñ¿¡á¼¿τÑ߬πε
  511.         «í½áßΓ∞ ñá¡¡δσ ¡á «Γ«íαáªÑ¡¿Ñ ¬«ñá ¿ ñá¡¡δσ  ñαπú«⌐  »α¿¬½áñ¡«⌐
  512.         »α«úαá¼¼δ.
  513.  
  514.              ÄΓ«íαáªÑ¡¿Ñ ¿¼ÑÑΓ ¼ÑßΓ« Γ«½∞¬« »α¿ »ÑαѬ½ετÑ¡¿¿ ¬«¡ΓѬßΓ«ó
  515.         ºáñáτ. ÄΓ«íαáªÑ¡¿Ñ  óδ»«½¡∩ÑΓß∩  Γ«½∞¬«  ñ½∩  óßÑ⌐   »α¿¬½áñ¡«⌐
  516.         »α«úαá¼¼δ, á ¡Ñ ñ½∩ «Γñѽ∞¡δσ í½«¬«ó »á¼∩Γ¿. é αѺπ½∞ΓáΓÑ «íΘ¿⌐
  517.         «íΩѼ »á¼∩Γ¿ ñ«ßΓπ»¡δ⌐ »α¿¬½áñ¡«⌐ »α«úαἼѠπóѽ¿τ¿óáÑΓß∩ ¡Ñ ¡á
  518.         «íΘ¿⌐ «íΩѼ  αáßΦ¿αÑ¡¡«⌐ »á¼∩Γ¿,  á Γ«½∞¬« ¡á ñ«ßΓπ»¡δ⌐ «íΩѼ ó
  519.         ñ¿á»áº«¡Ñ «Γ A000H ñ«  F000H.  ¥Γ«  πóѽ¿τÑ¡¿Ñ,  «ñ¡á¬«,  ¼«ªÑΓ
  520.         º¡áτ¿Γѽ∞¡«  »«óδß¿Γ∞  σáαá¬ΓÑα¿ßΓ¿¬¿  »α«úαá¼¼δ.  Æá¬ªÑ  «íΩѼ
  521.         ñ«ßΓπ»¡«⌐ »α«úαἼѠ»á¼∩Γ¿ ºáó¿ß¿Γ «Γ Γ«ú«,  ß¬«½∞¬« »α¿¬½áñ¡δσ
  522.         »α«úαá¼¼ «Γ«íαáªáεΓß∩  ¡á  αáßΦ¿αÑ¡¡πε »á¼∩Γ∞,  ¿ Γᬿ¼ «íαẫ¼
  523.         ºáó¿ß¿Γ «Γ Γ«ú«, ß¬«½∞¬« »α«úαá¼¼ óδ»«½¡∩εΓß∩ «ñ¡«óαѼѡ¡«.
  524.  
  525.                      ÄΓ«íαáªáѼá∩ ¿ ¡Ñ«Γ«íαáªáѼá∩ »á¼∩Γ∞.
  526.  
  527.              Åα¿ «Γ«íαáªÑ¡¿¿   ¬«ñá   ¿   ñá¡¡δσ    ¼Ñªñπ    ú½«íá½∞¡«⌐
  528.         ñ¿¡á¼¿τÑ߬«⌐ «í½áßΓ∞ε  »á¼∩Γ¿  ¿  αáßΦ¿αÑ¡¡«⌐  »á¼∩Γ∞ε  Windows
  529.         «Γ«íαáªáÑΓ Γ«½∞¬« ¡Ñ¬«Γ«αδÑ Γ¿»δ «íΩÑ¬Γ«ó.  Æá¬«⌐  «Γ«íαáªáѼδ⌐
  530.         ¬«ñ ¿  ñá¡¡δÑ  ñ«½ª¡δ  ¡áσ«ñ¿Γ∞ß∩ óδΦÑ úαá¡¿µδ «Γ«íαáªÑ¡¿∩ EMS.
  531.         ÄΓ«íαáªáѼá∩ ¿¡Σ«α¼áµ¿∩ ó¬½ετáÑΓ  ß½ÑñπεΘÑÑ:
  532.  
  533.              - ÅÑαѼÑΘáѼδ⌐ ¿½¿ Σ¿¬ß¿α«óá¡¡δ⌐  ¬«ñ  ºáñáτ¿  (»α¿¬½áñ¡«⌐
  534.                »α«úαá¼¼δ).
  535.  
  536.              - ÉÑßπαßδ  ºáñáτ¿  (αÑßπαßδ,  ñ«íáó½∩ѼδÑ  ¬  óδ»«½¡∩Ѽ«¼π
  537.                Σá⌐½π ¬«¼»¿½∩Γ«α«¼ αÑßπαß«ó RC).
  538.  
  539.              - æÑú¼Ñ¡Γδ ¬«ñá ¿ ñá¡¡δσ »α¿óáΓ¡δσ  í¿í½¿«ΓѬ.  ü¿í½¿«ΓѬá
  540.                «íΩ∩ó½∩ÑΓß∩ ¬á¬  »α¿óáΓ¡á∩,  ¬«úñá  «¡á  ¬«¼»¿½¿απÑΓß∩ ß
  541.                π¬áºá¡¿Ñ¼ ¬½ετá -p ¬«¼»¿½∩Γ«α«¼ αÑßπαß«ó.
  542.  
  543.              - çáú«½«ó¬¿ ¼«ñπ½∩ ºñáτ¿ (.EXE)  ó  Windows  3.0  ¿  í«½ÑÑ
  544.                »«ºñ¡¿σ.
  545.  
  546.              ìѬ«Γ«αδÑ Γ¿»δ  «íΩÑ¬Γ«ó ¡Ñ ¼«úπΓ «Γ«íαáªáΓ∞ß∩.  ìá»α¿¼Ñα,
  547.         Windows ¡Ñ ¼«ªÑΓ «Γ«íαáªáΓ∞ ñá¡¡δÑ,  ¬«Γ«αδÑ óßÑúñá ñ«½ª¡δ íδΓ∞
  548.  
  549.        Windows 3.0/pg/3#3                                        = 13 =
  550.  
  551.         ñ«ßΓπ»¡δ ñ½∩  Windows  ¿½¿  ñ½∩  DLL.  Ä  Γá¬¿σ  ¡Ñ«Γ«íαáªáѼδσ
  552.         «íΩѬΓáσ ¼δ   ú«ó«α¿¼,   τΓ«   «¡¿   ¡áσ«ñ∩Γß∩   ¡¿ªÑ   úαá¡¿µδ
  553.         «Γ«íαáªÑ¡¿∩. è ¡Ñ«Γ«íαáªáѼ«⌐ ¿¡Σ«α¼áµ¿¿ «Γ¡«ß¿Γß∩ ß½ÑñπεΘá∩:
  554.  
  555.              - üáºá   ñá¡¡δσ   ºáñáτ   (ñá¡¡δÑ   «   ºáñáτáσ,   ¬«Γ«αδÑ
  556.                ¿ß»«½∞ºπεΓß∩ Windows ñ½∩ π»αáó½Ñ¡¿∩ ºáñáτἿ).
  557.  
  558.              - æÑú¼Ñ¡Γδ ñá¡¡δσ í¿í½¿«ΓѬ.
  559.  
  560.              - ö¿¬ß¿α«óá¡¡δÑ ßÑú¼Ñ¡Γδ ¬«ñá í¿í½¿«ΓѬ.
  561.  
  562.              - çáú«½«ó¬¿ ¼«ñπ½Ñ⌐ í¿í½¿«ΓѬ (.DLL).
  563.  
  564.              ÄßΓá½∞¡δÑ Γ¿»δ ¬«ñá ¿ ñá¡¡δσ ¼«úπΓ αáß»«½áúáΓ∞ß∩ ¬á¬ óδΦÑ,
  565.         Γᬠ¿  ¡¿ªÑ  úαá¡¿µδ «Γ«íαáªÑ¡¿∩,  ó ºáó¿ß¿¼«ßΓ¿ «Γ Γ«ú«,  ¬πñá
  566.         Windows »«¼ÑßΓ¿Γ   φΓπ   úαá¡¿µπ.    îÑßΓ«¡áσ«ªñÑ¡¿Ñ    úαá¡¿µδ
  567.         «Γ«íαáªÑ¡¿∩ ºáó¿ß¿Γ  «Γ αẼÑαá ú½«íá½∞¡«⌐ ñ¿¡á¼¿τÑ߬«⌐ «í½áßΓ¿
  568.         »á¼∩Γ¿.
  569.  
  570.              àß½¿ αẼÑα  ñ¿¡á¼¿τÑ߬«⌐  «í½áßΓ¿  »á¼∩Γ¿   ¼Ñ¡∞ΦÑ,   τѼ
  571.         «íδτ¡δ⌐ αẼÑα,  Γ«  úαá¡¿µá «Γ«íαáªÑ¡¿∩ EMS πßΓá¡áó½¿óáÑΓß∩ »«
  572.         áñαÑßπ A000H (640K), ¿ ó αѺπ½∞ΓáΓÑ »«½πτáÑΓß∩ ¡Ñí«½∞Φ«⌐ αẼÑα
  573.         «í½áßΓ¿ «Γ«íαáªÑ¡¿∩.   é   φΓ«¼  ß½πτáÑ  ú«ó«α∩Γ,  τΓ«  Windows
  574.         αáí«ΓáÑΓ ó αѪ¿¼Ñ EMS ß ¡Ñí«½∞Φ¿¼ ΣαÑ⌐¼«¼ «Γ«íαáªÑ¡¿∩.  é Γᬫ¼
  575.         αѪ¿¼Ñ ¡Ñ«Γ«íαáªáÑ¼δ¼¿  ßΓá¡«ó∩Γß∩  ß½ÑñπεΘ¿Ñ  ¬áΓÑú«α¿¿ ¬«ñá ¿
  576.         ñá¡¡δσ (Γ.Ñ. «¡¿ »«¼ÑΘáεΓß∩ ¡¿ªÑ úαá¡¿µδ «Γ«íαáªÑ¡¿∩):
  577.  
  578.              - ÉÑßπαßδ í¿í½¿«ΓѬ.
  579.  
  580.              - æíαáßδóáѼδÑ ßÑú¼Ñ¡Γδ ¬«ñá DLL.
  581.  
  582.              - æÑú¼Ñ¡Γδ ñá¡¡δσ ºáñáτ.
  583.  
  584.              - ü½«¬¿   ú½«íá½∞¡«⌐   ñ¿¡á¼¿τÑ߬«⌐   »á¼∩Γ¿,   óδñѽѡ¡δÑ
  585.                ºáñáτἿ.
  586.  
  587.              - çáú«½«ó¬¿ óßÑσ ¼«ñπ½Ñ⌐.
  588.  
  589.              àß½¿ ñ«ßΓπ»¡«   ñ«ßΓáΓ«τ¡«   »á¼∩Γ¿,   Γ«   Windows  ¼«ªÑΓ
  590.         πßΓá¡«ó¿Γ∞ úαá¡¿µπ «Γ«íαáªÑ¡¿∩  Γᬿ¼  «íαẫ¼,  τΓ«  »«½πτ¿Γß∩
  591.         «Γ¡«ß¿Γѽ∞¡« í«½∞Φ«⌐ αẼÑα «Γ«íαáªáѼ«⌐ »á¼∩Γ¿.  é φΓ«¼ ß½πτáÑ
  592.         ú«ó«α∩Γ, τΓ« Windows αáí«ΓáÑΓ ó αѪ¿¼Ñ EMS  ß  í«½∞Φ¿¼  ΣαÑ⌐¼«¼
  593.         «Γ«íαáªÑ¡¿∩. âαá¡¿µá  «Γ«íαáªÑ¡¿∩  ó  Γᬫ¼  αѪ¿¼Ñ  ¼«ªÑΓ íδΓ∞
  594.         πßΓá¡«ó½Ñ¡á óδΦÑ A000H, Ñß½¿ óδΦÑ A000H ñ«ßΓπ»¡« í«½∞ΦÑ »á¼∩Γ¿,
  595.         τѼ ¡¿ªÑ A000H.
  596.  
  597.              é Γáí½¿µÑ 16.2 «í«íΘáÑΓß∩ ¿¡Σ«α¼áµ¿∩ « Γ«¼,  óδΦÑ ¿½¿ ¡¿ªÑ
  598.         úαá¡¿µδ «Γ«íαáªÑ¡¿∩ Windows »«¼ÑΘáÑΓ αẽ¿τ¡δÑ ¬áΓÑú«α¿¿ ¬«ñá ¿
  599.         ñá¡¡δσ ó αѪ¿¼Ñ EMS ß í«½∞Φ¿¼ ¿ ¼á½δ¼ ΣαÑ⌐¼«¼ «Γ«íαáªÑ¡¿∩.
  600.  
  601.  
  602.  
  603.        Windows 3.0/pg/3#3                                        = 14 =
  604.  
  605.             Æáí½¿µá 16.2  êß»«½∞º«óá¡¿Ñ αáßΦ¿αÑ¡¡«⌐ »á¼∩Γ¿.
  606.         ───────────────────────────────────────────────────────────────
  607.         ÄíΩÑ¬Γ                        éδΦÑ ¿½¿ ¡¿ªÑ úαá¡¿µδ «Γ«íαáªÑ¡¿∩
  608.  
  609.                                                  öαÑ⌐¼
  610.                                       ìÑí«½∞Φ«⌐            ü«½∞Φ«⌐
  611.         ───────────────────────────────────────────────────────────────
  612.         üáºá ñá¡¡δσ ºáñáτ             ì¿ªÑ                 ì¿ªÑ
  613.         æÑú¼Ñ¡Γ ñá¡¡δσ í¿í½¿«ΓѬ¿     ì¿ªÑ                 ì¿ªÑ
  614.         æÑú¼Ñ¡Γ ¬«ñá í¿í½¿«ΓѬ¿
  615.         (Σ¿¬ß¿α«óá¡¡δ⌐)               ì¿ªÑ                 ì¿ªÑ
  616.         ÉÑßπαßδ í¿í½¿«ΓѬ¿            ì¿ªÑ                 éδΦÑ
  617.         æÑú¼Ñ¡Γ ¬«ñá ºáñáτ¿           éδΦÑ/쿪Ѡ           éδΦÑ
  618.         ÉÑßπαßδ ºáñáτ¿                éδΦÑ/쿪Ѡ           éδΦÑ
  619.         æÑú¼Ñ¡Γ ¬«ñá ºáñáτ¿           ì¿ªÑ                 éδΦÑ
  620.         æÑú¼Ñ¡Γ ¬«ñá í¿í½¿«ΓѬ¿
  621.         (ßíαáßδóáѼδ⌐)                ì¿ªÑ                 éδΦÑ
  622.         çáú«½«ó«¬ ¼«ñπ½∩ ºáñáτ¿
  623.         (.EXE)                        ì¿ªÑ                 éδΦÑ
  624.         çáú«½«ó«¬ ¼«ñπ½∩ í¿í½¿«ΓѬ¿
  625.         (.DLL)                        ì¿ªÑ                 ì¿ªÑ
  626.         ä¿¡á¼¿τÑ߬¿ óδñѽ∩Ѽá∩
  627.         »á¼∩Γ∞                        ì¿ªÑ                 éδΦÑ
  628.         ───────────────────────────────────────────────────────────────
  629.  
  630.              àß½¿ ó αѪ¿¼Ñ ß ¡Ñí«½∞Φ¿¼ ΣαÑ⌐¼«¼ óδΦÑ úαá¡¿µδ ßÑú¼Ñ¡Γá ¡Ñ
  631.         σóáΓáÑΓ »á¼∩Γ¿  ñ½∩  αẼÑΘÑ¡¿∩  óßÑú«  «íΩѼᠠ¬«ñá  ¿ ñá¡¡δσ,
  632.         ¬«Γ«αδÑ ¼«ª¡« «Γ«íαếΓ∞,  Γ« «ßΓáóΦ¿Ñß∩  ßÑú¼Ñ¡Γδ  αẼÑΘáεΓß∩
  633.         ¡¿ªÑ úαá¡¿µδ «Γ«íαáªÑ¡¿∩.
  634.  
  635.              Æ«, ¬á¬  Windows ºáúαπªáÑΓ «íΩѬΓδ DLL »α¿ αáí«ΓÑ ó αѪ¿¼Ñ
  636.         ß í«½∞Φ¿¼ ΣαÑ⌐¼«¼ «Γ«íαáªÑ¡¿∩,  ¼«ª¡« ¿º¼Ñ¡¿Γ∞ ß »«¼«Θ∞ε  ¬½ετá
  637.         -p ¬«¼»¿½∩Γ«αá  αÑßπαß«ó  »α¿  ¬«¼»¿½∩µ¿¿ í¿í½¿«ΓѬ¿.  æ¼«Γα¿ΓÑ
  638.         ú½áóπ 20, "信ἿτÑ߬¿ »«ñ¬½ετáѼδÑ í¿í½¿«ΓѬ¿".
  639.  
  640.                     Éáí«Γá ¡á»α∩¼πε ß αáßΦ¿αÑ¡¡«⌐ »á¼∩Γ∞ε.
  641.  
  642.              Å«ß¬«½∞¬π Windows áóΓ«¼áΓ¿τÑ߬¿ óδ»«½¡∩ÑΓ «Γ«íαáªÑ¡¿Ñ,  Γ«
  643.         óáΦá »α«úαἼᠠ¡Ñ  ñ«½ª¡á  ¿¼ÑΓ∞  ñѽᠠߠαáßΦ¿αÑ¡¡«⌐ »á¼∩Γ∞ε.
  644.         Äñ¡á¬« »α¿ ªÑ½á¡¿¿ óδ ¼«ªÑΓÑ  αáí«ΓáΓ∞  ß  αáßΦ¿αÑ¡¡«⌐  »á¼∩Γ∞ε
  645.         ¡á»α∩¼πε, τÑαѺ    ΣαÑ⌐¼    ßΓαá¡¿µ    αẼÑα«¼   64è.   Åα∩¼«Ñ
  646.         ¿ß»«½∞º«óá¡¿Ñ αáßΦ¿αÑ¡¡«⌐ »á¼∩Γ¿ »αÑñ«ßΓáó½∩ÑΓ óáΦÑ⌐  »α«úαá¼¼Ñ
  647.         í«½∞ΦÑÑ áñαÑß¡«Ñ   »α«ßΓαá¡ßΓó«  á¡á½«ú¿τ¡«  «óÑα½Ñ∩¼  DOS,  ¡«
  648.         αáí«ΓáÑΓ íδßΓαÑÑ. ä½∩ φΓ«ú«:
  649.  
  650.              - éδ ñ«½ª¡δ  ¬«¼»¿½¿α«óáΓ∞  óáΦπ  »α«úαá¼¼π  ß  ¬½ετѼ  -I
  651.                ¬«¼»¿½∩Γ«αá αÑßπαß«ó.
  652.  
  653.              - éáΦá »α¿¬½áñ¡á∩ »α«úαá¼¼á ñ«½ª¡á ß½Ññ«óáΓ∞ ß»Ñµ¿Σ¿¬áµ¿∩¼
  654.                LIM 3.2.
  655.  
  656.              - éáΦá   »α«úαἼᠠ ¡Ñ   ñ«½ª¡á   ¿ß»«½∞º«óáΓ∞   Σπ¡¬µ¿⌐,
  657.                ß»Ñµ¿Σ¿τ¡δσ ñ½∩  EMS  4.0  (ºá  ¿ß¬½ετÑ¡¿Ñ¼ Σπ¡¬µ¿¿ 17).
  658.  
  659.        Windows 3.0/pg/3#3                                        = 15 =
  660.  
  661.                êß»«½∞º«óá¡¿Ñ φΓ¿σ Σπ¡¬µ¿⌐ ¼«ªÑΓ »α¿óÑßΓ¿ ¬ ¬«¡Σ½¿¬Γπ  ß
  662.                ß¿ßΓѼ«⌐ π»αáó½Ñ¡¿∩ »á¼∩Γ∞ε Windows.
  663.  
  664.              è«úñá »α¿¬½áñ¡á∩  »α«úαá¼¼á óδñѽ∩ÑΓ «í½áßΓ∞ ó αáßΦ¿αÑ¡¡«⌐
  665.         »á¼∩Γ¿, «¡á  ¬«¡¬πα¿απÑΓ  ß  ñαπú¿¼¿  »α¿¬½áñ¡δ¼¿  »α«úαἼἿ.
  666.         Æá¬¿¼ «íαẫ¼, óδ ¡Ñ ñ«½ª¡δ óδñѽ∩Γ∞ óßε αáßΦ¿αÑ¡¡πε »á¼∩Γ∞ ñ½∩
  667.         ßó«Ñ⌐ »α«úαá¼¼δ.
  668.                       16.1.3  æΓá¡ñáαΓ¡á∩ ¬«¡Σ¿úπαᵿ∩ »á¼∩Γ¿ Windows.         
  669.  
  670.              Windows »« π¼«½τá¡¿ε ¿ß»«½∞ºπÑΓ  ßΓá¡ñáαΓ¡πε  ¬«¡Σ¿úπαᵿε
  671.         »á¼∩Γ¿ »α¿   αáí«ΓÑ   ¡á   ß¿ßΓѼÑ,  πñ«ó½ÑΓó«α∩εΘÑ⌐  ß½ÑñπεΘ¿¼
  672.         ΓαÑí«óá¡¿∩¼:
  673.  
  674.              - îáΦ¿¡á ¡á «ß¡«óÑ »α«µÑßß«αá 80286, »á¼∩Γ∞ ¡Ñ ¼Ñ¡∞ΦÑ 1îí.
  675.  
  676.              - îáΦ¿¡á ¡á «ß¡«óÑ »α«µÑßß«αá 80386,  »á¼∩Γ∞ ¡Ñ ¼Ñ¡∞ΦÑ 1îí
  677.                ¡« ¡Ñ  í«½∞ΦÑ  2îí.  ìá  ß¿ßΓѼáσ  ß  »α«µÑßß«αá¼ 80386,
  678.                ¿¼ÑεΘ¿σ í«½∞ΦÑ   2îí    »á¼∩Γ¿,    Windows    ¿ß»«½∞ºπÑΓ
  679.                ¬«¡Σ¿úπαáµ¿ε »á¼∩Γ¿   αáßΦ¿αÑ¡¡«ú«   αѪ¿¼á  »α«µÑÑßß«αá
  680.                80386. ¥Γá ¬«¡Σ¿úπαᵿ∩ »á¼∩Γ¿ «»¿ßá¡á ó αáºñѽѠ16.1.4,
  681.                "è«¡Σ¿úπαᵿ∩ »á¼∩Γ¿   αáßΦ¿αÑ¡¡«ú«   αѪ¿¼á  »α«µÑßß«αá
  682.                80386".
  683.  
  684.              è«úñá Windows αáí«ΓáÑΓ ó  ßΓá¡ñáαΓ¡«¼  αѪ¿¼Ñ,  ú½«íá½∞¡á∩
  685.         ñ¿¡á¼¿τÑ߬á∩ «í½áßΓ∞  »á¼∩Γ¿ ñѽ¿Γß∩ »« ¬αá⌐¡Ñ⌐ ¼ÑαÑ ¡á ñóÑ,  á
  686.         «íδτ¡« ¡á Γα¿ τáßΓ¿, ó ºáó¿ß¿¼«ßΓ¿ «Γ ñ«ßΓπ»¡«ú« «íΩѼᠻá¼∩Γ¿.
  687.  
  688.              ÅÑαóá∩ τáßΓ∞,  ¬«Γ«απε Windows ¿ß»«½∞ºπÑΓ  ñ½∩  ú½«íá½∞¡«⌐
  689.         ñ¿¡á¼¿τÑ߬«⌐ «í½áßΓ¿  »á¼∩Γ¿,  - φΓ« ßΓá¡ñáαΓ¡á∩ »á¼∩Γ∞ ¬á¬ ¿ ó
  690.         íẫó«⌐ ¬«¡Σ¿úπαᵿ¿.  Ä¡á  ¡áτ¿¡áÑΓß∩  ßαáºπ  ºá  αѺ¿ñÑ¡Γ¡δ¼¿
  691.         »α«úαἼἿ, ñαá⌐óÑαἿ πßΓα«⌐ßΓó,  DOS ¿ Γ.»., ¿ αáß»«½áúáÑΓß∩
  692.         ñ« ¬«¡µá ßΓá¡ñáαΓ¡«⌐ »á¼∩Γ¿,  ¬«Γ«αá∩ «íδτ¡« ¿¼ÑÑΓ αẼÑα 640è,
  693.         ¡« ¡á ¡Ñ¬«Γ«αδσ ß¿ßΓѼáσ ÑÑ ¼«ªÑΓ íδΓ∞ ¼Ñ¡∞ΦÑ.
  694.  
  695.              éΓ«α«⌐ í½«¬  -  φΓ«  αáßΦ¿αÑ¡¡á∩ »á¼∩Γ∞.  Windows óδñѽ∩ÑΓ
  696.         í½«¬ αáßΦ¿αÑ¡¡«⌐ »á¼∩Γ¿ ß »«¼«Θ∞ε ñαá⌐óÑαá  αáßΦ¿αÑ¡¡«⌐  »á¼∩Γ¿
  697.         XMS ¿   ºáΓѼ  ¿ß»«½∞ºπÑΓ  »á¼∩Γ∞  ¡á»α∩¼πε,  íѺ  «íαáΘÑ¡¿∩  ¬
  698.         ñαá⌐óÑαπ.  ÉẼÑα φΓ«ú« í½«¬á ¼«ªÑΓ ¿º¼Ñ¡∩Γ∞ß∩ ó ºáó¿ß¿¼«ßΓ¿ «Γ
  699.         Γ«ú«,  τΓ«  »«½∞º«óáΓѽ∞  ºáúαπº¿½  ó  αáßΦ¿αÑ¡¡πε »á¼∩Γ∞ »ÑαÑñ
  700.         ºá»π߬«¼ Windows.
  701.  
  702.              Windows ñ«íáó½∩ÑΓ ΓαÑΓ¿⌐ í½«¬  ¬  ú½«íá½∞¡«⌐  ñ¿¡á¼¿τÑ߬«⌐
  703.         «í½áßΓ¿ »á¼∩Γ¿,  Ñß½¿ «¡ ñ«ßΓπ»Ñ¡.  ¥Γ« «í½áßΓ∞ ßΓáαΦ¿σ áñαÑß«ó
  704.         »á¼∩Γ¿ (HMA) ¿ «¡á ñ«ßΓπ»¡á τÑαѺ ñαá⌐óÑα  XMS.  ¥Γ«Γ  í½«¬  ¡Ñ
  705.         ñ«ßΓπ»Ñ¡, Ñß½¿ »«½∞º«óáΓѽ∞ ºáúαπº¿½ »α«úαá¼¼δ ó HMA.  Äñ¡á¬« ó
  706.         ¡áßΓ«∩ΘÑÑ  óαѼ∩  ¡Ñ  Γᬠ  ¼¡«ú«   »α«úαá¼¼,   ¬«Γ«αδÑ   ¼«úπΓ
  707.         ºáúαπªáΓ∞ß∩  ó  HMA,  »«φΓ«¼π φΓ«Γ í½«¬ ¼«ªÑΓ íδΓ∞ ñ«ßΓπ»Ñ¡ ñ½∩
  708.         Windows ó ßΓá¡ñáαΓ¡«⌐ ¬«¡Σ¿úπαᵿ¿ »á¼∩Γ¿.
  709.  
  710.              Windows ß«Ññ¿¡∩ÑΓ  ñóá  ¿½¿   Γα¿   í½«¬á   ó   ú½«íá½∞¡πε
  711.         ñ¿¡á¼¿τÑ߬πε «í½áßΓ∞  »á¼∩Γ¿.  ìáτὫ  (¡¿º) ßΓá¡ñáαΓ¡«⌐ »á¼∩Γ¿
  712.         (640è) ∩ó½∩ÑΓß∩ ¡áτὫ¼ (¡¿º«¼) ú½«íá½∞¡«⌐ ñ¿¡á¼¿τÑ߬«⌐ «í½áßΓ¿
  713.  
  714.        Windows 3.0/pg/3#3                                        = 16 =
  715.  
  716.         »á¼∩Γ¿. éÑαΦ¿¡á   í½«¬á  αáßΦ¿αÑ¡¡«⌐  »á¼∩Γ¿  (ßΓáαΦ¿Ñ  áñαÑßá)
  717.         ∩ó½∩ÑΓß∩ óÑαΦ¿¡«⌐ ú½«íá½∞¡«⌐ ñ¿¡á¼¿τÑ߬«⌐ «í½áßΓ¿ »á¼∩Γ¿.  àß½¿
  718.         ñ«ßΓπ»¡á HMA, Γ« φΓ«Γ í½«¬ óßΓáó½∩ÑΓß∩ ¼Ñªñπ ñóπ¼∩ ñαπú¿¼¿.
  719.  
  720.  
  721.  
  722.        Windows 3.0/pg/3#3                                        = 17 =
  723.  
  724.             ìá α¿ßπ¡¬Ñ  16.4  »«¬áºá¡á ßΓá¡ñáαΓ¡á∩ ¬«¡Σ¿úπαᵿ∩ »á¼∩Γ¿
  725.         Windows.
  726.  
  727.              ┌──────────────────────────────────┐  éÑαΦ¿¡á αáßΦ¿αÑ¡¡«⌐
  728.              │ æíαáßδóáѼδÑ ¬«ñ«óδÑ ßÑú¼Ñ¡Γδ    │   »á¼∩Γ¿
  729.              │               │                  │
  730.              │                                 │
  731.              ├──────────────────────────────────┤  éδΦÑ ¿½¿ αáó¡« 11000H
  732.              │                                  │
  733.              │                                  │  ìÑ«í∩ºáΓѽ∞¡á∩ »á¼∩Γ∞
  734.              │                                  │        HMA
  735.              ├──────────────────────────────────┤  10000H
  736.              .                                  .
  737.              .                                  .
  738.              ├──────────────────────────────────┤  A000H (640K)
  739.              │                                 │
  740.              │               │                  │
  741.              │ ÅÑαѼÑΘáѼδÑ ßÑú¼Ñ¡Γδ (¬«ñá ¿    │
  742.              │ ñá¡¡δσ) ¿ ßíαáßδóáѼδÑ ßÑú¼Ñ¡Γδ  │
  743.              │ ñá¡¡δσ.                          │
  744.              │                                 │
  745.              │               │                  │
  746.              │      ö¿¬ß¿α«óá¡¡δÑ ßÑú¼Ñ¡Γδ      │
  747.              ├──────────────────────────────────┤
  748.              │      ÉѺ¿ñÑ¡Γ¡δÑ »α«úαá¼¼δ       │
  749.              │       äαá⌐óÑαδ πßΓα«⌐ßΓó         │
  750.              │             MS-DOS               │
  751.              │       Äí½áßΓ∞ ñá¡¡δσ BIOS        │
  752.              │   Æáí½¿µá óÑ¬Γ«α«ó »αÑαδóá¡¿⌐    │
  753.              └──────────────────────────────────┘   0000H
  754.  
  755.              èᬠ¿  ó  ñαπú¿σ  ¬«¡Σ¿úπαᵿ∩σ  »á¼∩Γ¿  Windows  óδñѽ∩ÑΓ
  756.         ßíαáßδóáѼδÑ ¬«ñ«óδÑ   ßÑú¼Ñ¡Γδ   ó  óÑασ¡Ñ⌐  τáßΓ¿  ú½«íá½∞¡«⌐
  757.         ñ¿¡á¼¿τÑ߬«⌐ «í½áßΓ¿ »á¼∩Γ¿, á Σ¿¬ß¿α«óá¡¡δÑ ßÑú¼Ñ¡Γδ ó ¼½áñΦÑ⌐
  758.         τáßΓ¿, ¡áñ ¬«Γ«α묨 αáß»«½áúáεΓß∩ »ÑαѼÑΘáѼδÑ ¬«ñ«óδÑ ßÑú¼Ñ¡Γδ
  759.         ¿ ßÑú¼Ñ¡Γδ ñá¡¡δσ.
  760.  
  761.              ìѬ«Γ«αδÑ φ½Ñ¼Ñ¡Γδ ñá¡¡δσ Windows ñ«½ª¡δ  αáß»«½áúáΓ∞ß∩  ó
  762.         ßΓá¡ñáαΓ¡«⌐ »á¼∩Γ¿ (640è), »«ß¬«½∞¬π ¡Ñ«íσ«ñ¿¼ ¬ ¡¿¼ ñ«ßΓπ» »α¿
  763.         αáí«ΓÑ »α«µÑßß«αá ó αÑá½∞¡«¼ αѪ¿¼Ñ  ¿  ¡Ñ  ó  ºáΘ¿ΘÑ¡¡«¼.  ¥Γ«
  764.         »αÑΣ¿¬ßδ ßÑú¼Ñ¡Γ«ó »α«úαá¼¼ ¿ «τÑαÑñ¿ ñá¡¡δσ ñ½∩ óºá¿¼«ñÑ⌐ßΓó¿∩
  765.         ß »«ß½Ññ«óáΓѽ∞¡δ¼ »«αΓ«¼.
  766.  
  767.           êß»«½∞º«óá¡¿Ñ í«½∞Φ¿σ   í½«¬«ó   »á¼∩Γ¿   »α¿   αáí«ΓÑ   ó
  768.                        ßΓá¡ñáαΓ¡«⌐ ¬«¡Σ¿úπαᵿ¿ »á¼∩Γ¿.
  769.  
  770.              é ßΓá¡ñáαΓ¡«⌐   ¬«¡Σ¿úπαᵿ¿  »á¼∩Γ¿  Windows  αáí«ΓáÑΓ  ó
  771.         ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ  »α«µÑßß«α«ó  80286  ¿½¿  80386.  é  αÑá½∞¡«¼
  772.         αѪ¿¼Ñ ñá½∞¡¿⌐  áñαÑß  ß«ºñáÑΓß∩ ß »«¼«Θ∞ε 16-αáºα∩ñ¡«ú« áñαÑßá
  773.         ßÑú¼Ñ¡Γá ¿ 16-αáºα∩ñ¡«ú«  ß¼ÑΘÑ¡¿∩.  ÇñαÑß  ßÑú¼Ñ¡Γá  π¬áºδóáÑΓ
  774.         »áαáúαáΣ, ¬«Γ«αδ⌐  »αÑñßΓáó½∩ÑΓ  ß«í«⌐  í½«¬ αẼÑα«¼ 16 íá⌐Γ ó
  775.  
  776.        Windows 3.0/pg/3#3                                        = 18 =
  777.  
  778.         áñαÑß¡«¼ »α«ßΓαá¡ßΓóÑ αẼÑα«¼ 1îí. æ¼ÑΘÑ¡¿Ñ »αÑñßΓáó½∩ÑΓ ß«í«⌐
  779.         áñαÑß ó  ñ¿á»áº«¡Ñ  «Γ  0  ñ«  64è  «Γ¡«ß¿Γѽ∞¡« »áαáúαáΣá,  ¡á
  780.         ¬«Γ«αδ⌐ π¬áºδóáÑΓ  áñαÑß  ßÑú¼Ñ¡Γá.   é   ßΓá¡ñáαΓ¡«¼   αѪ¿¼Ñ,
  781.         16-í¿Γ«óδ⌐   áñαÑß   ßÑú¼Ñ¡Γá   »αÑñßΓáó½∩ÑΓ   ß«í«⌐  ßÑ½Ñ¬Γ«α,
  782.         á¡á½«ú¿τ¡δ⌐ ñÑß¬α¿»Γ«απ ó Windows.  ¥Γ«Γ ñÑß¬α¿»Γ«α  «»αÑñѽ∩ÑΓ
  783.         φ½Ñ¼Ñ¡Γ  ½«¬á½∞¡«⌐ ¿½¿ ú½«íá½∞¡«⌐ Γáí½¿µδ ñÑß¬α¿»Γ«α«ó (LDT ¿½¿
  784.         GDT).  ¥½Ñ¼Ñ¡Γδ φΓ¿σ Γáí½¿µ «»αÑñѽ∩εΓ,  ¡áσ«ñ∩Γß∩ ½¿ ó  »á¼∩Γ¿
  785.         ßÑú¼Ñ¡Γδ,   ¡á   ¬«Γ«αδÑ   ßßδ½áÑΓß∩  ßÑ½Ñ¬Γ«α.  àß½¿  ßÑú¼Ñ¡Γδ
  786.         ¡áσ«ñ∩Γß∩ ó »á¼∩Γ¿,  Γ«úñá φ½Ñ¼Ñ¡Γ Γáí½¿µδ «»αÑñѽ∩ÑΓ  ½¿¡Ñ⌐¡δ⌐
  787.         áñαÑß ßÑú¼Ñ¡Γá.
  788.  
  789.              àß½¿ óδ  óδñѽ∩ÑΓÑ  í«½∞Φ«⌐  í½«¬  »á¼∩Γ¿ (αẼÑα«¼ í«½∞ΦÑ
  790.         64è),  Microsoft C Compiler úÑ¡Ñα¿απÑΓ ¬«ñ ñ½∩ í«½∞Φ«ú«  (huge)
  791.         π¬áºáΓѽ∩,   óδ»«½¡∩εΘÑú«   ß»Ñµ¿á½∞¡δÑ   óδτ¿ß½Ñ¡¿∩,   ¬«Γ«αδÑ
  792.         »«ºó«½∩εΓ »ÑαѼÑßΓ¿Γ∞ π¬áºáΓѽ∞ τÑαѺ úαá¡¿µπ  ßÑú¼Ñ¡Γá  (64è).
  793.         Äñ¡á¬«  «¡  ñѽáÑΓ  φΓ« Γ«½∞¬« Ñß½¿ π¬áºáΓѽ∞ ∩ó¡« «íΩ∩ó½Ñ¡ ¬á¬
  794.         huge ¿½¿ Ñß½¿  ¼«ñπ½∞  ¬«¼»¿½¿απÑΓß∩  ß  ¿ß»«½∞º«ó᡿Ѽ  ¼«ñѽ¿
  795.         »á¼∩Γ¿  huge.  ìÑ  ¿º¼Ñ¡∩⌐ΓÑ ¡á»α∩¼πε ó ñá½∞¡Ñ¼ π¬áºáΓѽѠáñαÑß
  796.         ßÑú¼Ñ¡Γá.  Å«»δΓ¬á ¿º¼Ñ¡Ñ¡¿∩ ßÑú¼Ñ¡Γ¡«ú« áñαÑßá »α¿óÑñÑΓ ½¿Φ∞ ¬
  797.         »«∩ó½Ñ¡¿ε  ¡ÑóÑα¡«ú«  ßÑ½Ñ¬Γ«αá.  è«úñá  ºáΓѼ  Γᬫ⌐  ßÑ½Ñ¬Γ«α
  798.         ¿ß»«½∞ºπÑΓß∩ ñ½∩ τΓÑ¡¿∩ ¿½¿ ºá»¿ß¿ ñá¡¡δσ,  Windows  ß««íΘ¿Γ  «
  799.         ó«º¡¿¬¡«óÑ¡¿¿ ¡ÑπßΓαá¡¿¼«⌐ «Φ¿í¬¿ (GP), ¿½¿, τΓ« Γ«ªÑ ó«º¼«ª¡«,
  800.         ¡ÑóÑα¡δ⌐ ßÑ½Ñ¬Γ«α ¼«ªÑΓ π¬áºδóáΓ∞ ¡á ñαπú¿Ñ ñá¡¡δÑ ¿½¿ ¬«ñ.
  801.  
  802.              àß½¿ óδ  »¿ΦÑΓÑ  »α«úαá¼¼π  ¡á   áßßѼí½ÑαÑ,   ¼«ª¡«   ñ½∩
  803.         πóѽ¿τÑ¡¿∩ ñá½∞¡Ñú«     π¬áºáΓѽ∩    ¿ß»«½∞º«óáΓ∞    ú½«íá½∞¡πε
  804.         »ÑαѼѡ¡πε __ahiner,  ¬«Γ«αá∩ «»αÑñѽѡá ó MACROS.INC. é« óαѼ∩
  805.         ºáúαπº¬¿ Windows  ó αÑá½∞¡«¼ αѪ¿¼Ñ »α¿ßóá¿óáÑΓ φΓ«⌐ »ÑαѼѡ¡«⌐
  806.         º¡áτÑ¡¿Ñ 1000ì,  Γᬿ¼ «íαẫ¼ ñ«íáó½Ñ¡¿Ñ ÑÑ ¬ ßÑú¼Ñ¡Γ¡«⌐ τáßΓ¿
  807.         ñá½∞¡Ñú« π¬áºáΓѽ∩   »α«ñó¿¡ÑΓ   ñá½∞¡¿⌐   π¬áºáΓѽ∞  ¡á  1000ì
  808.         »áαáúαáΣ«ó. é ßΓá¡ñáαΓ¡«¼ αѪ¿¼Ñ  Windows  ºá¡«ß¿Γ  ó  __ahiner
  809.         ¬«ααÑ¬Γ¡«Ñ º¡áτÑ¡¿Ñ, ¡á ¬«Γ«α«Ñ ¼«ª¡« πóѽ¿τ¿óáΓ∞ ßÑ½Ñ¬Γ«α. ¥Γ«
  810.         ó«º¼«ª¡«, »«ß¬«½∞¬π »α¿ óδñѽѡ¿¿  í«½∞Φ¿σ  í½«¬«ó  »á¼∩Γ¿  »α¿
  811.         ñ«íáó½Ñ¡¿¿   1000ì,  Windows  óδñѽ∩ÑΓ  ºáó¿ß¿¼δ⌐  ßÑ½Ñ¬Γ«α  ¡á
  812.         ºáó¿ß¿¼δ⌐ í½«¬ »á¼∩Γ¿ ó 64è.  ¥Γ« ¡áºδóáÑΓß∩ "ßÑ½Ñ¬Γ«αδ óßΓδ¬".
  813.         ì¿ªÑ   »α¿óÑñÑ¡   »α¿¼Ñα  Γ«ú«,  ¬á¬  ¼«ª¡«  πóѽ¿τ¿Γ∞  ñá½∞¡¿⌐
  814.         π¬áºáΓѽ∞ ¡á 64è:
  815.  
  816.              extern __ahincr:abs
  817.                  .
  818.                  .
  819.                  .
  820.              mov ax,es      ;  es - áñαÑß ßÑú¼Ñ¡Γá, ¬«Γ«αδ⌐ óδ σ«Γ¿ΓÑ
  821.                             ;  πóѽ¿τ¿Γ∞
  822.              add ax,__ahincr
  823.              mov es,ax
  824.  
  825.              ü«½ÑÑ Γ«ú«,  ó  ßΓá¡ñáαΓ¡«⌐  ¬«¡Σ¿úπαᵿ¿ »á¼∩Γ¿ óδ ¼«ªÑΓÑ
  826.         óδñѽ¿Γ∞ í½«¬ αẼÑα«¼ ñ« 1îí.  é ßΓá¡ñáαΓ¡«¼ αѪ¿¼Ñ óßÑ  τáßΓ¿
  827.         »α¿¬½áñ¡«⌐  »α«úαá¼¼δ  (¬«ñ  ¿  ñá¡¡δÑ) ¡«α¼á½∞¡« »ÑαѼÑΘáѼδ ó
  828.         ½¿¡Ñ⌐¡«⌐ »á¼∩Γ¿.
  829.  
  830.  
  831.        Windows 3.0/pg/3#3                                        = 19 =
  832.  
  833.                      êß»«½∞º«óá¡¿Ñ ú½«íá½∞¡δσ ßÑ½Ñ¬Γ«α«ó.
  834.  
  835.              ä½∩ óδ»«½¡Ñ¡¿∩ óó«ñá ¿ óδó«ñá, «Γ«íαáªáѼ«ú« ¡á »á¼∩Γ∞, óδ
  836.         ¼«ªÑΓÑ  ¿ß»«½∞º«óáΓ∞  ß½ÑñπεΘ¿Ñ ¬«¡ßΓá¡Γδ ú½«íá½∞¡δσ ßÑ½Ñ¬Γ«α«ó
  837.         ñ½∩ ñ«ßΓπ»á ¬ ß««ΓóÑΓßΓóπεΘ¿¼ «í½áßΓ∩¼ »á¼∩Γ¿ ó  »α«úαá¼¼áσ  ¡á
  838.         áßßѼí½ÑαÑ:
  839.  
  840.              -  __A000H
  841.  
  842.              -  __B000H
  843.  
  844.              -  __B800H
  845.  
  846.              -  __C000H
  847.  
  848.              -  __D000H
  849.  
  850.              -  __E000H
  851.  
  852.              -  __F000H
  853.  
  854.              äá¡¡δ⌐ »α¿¼Ñα  ¿½½εßΓα¿απÑΓ ¬á¬ »αáó¿½∞¡« ¿ß»«½∞º«óáΓ∞ φΓ¿
  855.         ßÑ½Ñ¬Γ«αδ:
  856.  
  857.              mov ax,__A000H
  858.              mov es,ax
  859.  
  860.              êß»«½∞ºπ⌐ΓÑ ñá¡¡δÑ    ßÑ½Ñ¬Γ«αδ   Γ«½∞¬«   ñ½∩   »«ññÑ᪬¿
  861.         ñαá⌐óÑα«ó «í«απñ«óá¡¿∩,  óδ»«½¡∩εΘÑú« óó«ñ/óδó«ñ,  «Γ«íαáªáѼδ⌐
  862.         ¡á »á¼∩Γ∞.
  863.  
  864.                æ«ó¼ÑΘÑ¡¿Ñ ¬«ñ«óδσ ßÑú¼Ñ¡Γ«ó ¿ ßÑú¼Ñ¡Γ«ó ñá¡¡δσ.
  865.  
  866.              Äíδτ¡«, óδ ¡Ñ ¼«ªÑΓÑ ºá»πßΓ¿Γ∞ ¬«ñ, ¡áσ«ñ∩Θ¿⌐ß∩ ó ßÑú¼Ñ¡ΓÑ
  867.         ñá¡¡δσ. é ßΓá¡ñáαΓ¡«¼ αѪ¿¼Ñ Γá¬á∩ »«»δΓ¬á »α¿óÑñÑΓ ¬ »«∩ó½Ñ¡¿ε
  868.         ¡ÑπßΓαá¡¿¼«⌐ «Φ¿í¬¿ ¡áαπΦÑ¡¿∩ úαá¡¿µδ.
  869.  
  870.              Äñ¡á¬«, ó αÑñ¬¿σ ß½πτá∩σ φΓ« ¼«ªÑΓ íδΓ∞ ¡Ñ«íσ«ñ¿¼«,  ¿ φΓ«
  871.         ¼«ª¡« óδ»«½¡¿Γ∞ »πΓѼ ß«ó¼ÑΘÑ¡¿∩ ßÑú¼Ñ¡Γá  ñá¡¡δσ  »«  ó«»α«ßπ.
  872.         æ«ó¼ÑΘÑ¡¿Ñ »α¿ó«ñ¿Γ   ¬   ¬«»¿α«óá¡¿ε   ßÑ½Ñ¬Γ«αá   ßÑú¼Ñ¡Γá  ¿
  873.         ¿º¼Ñ¡Ñ¡¿ε »«½∩ TYPE Γᬿ¼ «íαẫ¼, τΓ«íδ ß φΓ¿¼ ßÑú¼Ñ¡Γ«¼ ¼«ª¡«
  874.         í佫 óδ»«½¡∩Γ∞  «»Ñαᵿ¿,  ¬«Γ«αδÑ í뫨 íδ ¡Ñ󫺼«ª¡δ ó «íδτ¡«¼
  875.         ß½πτáÑ.
  876.  
  877.              Windows »αÑñ«ßΓáó½∩ÑΓ   ñ½∩   ß«ó¼ÑΘÑ¡¿∩   ßÑú¼Ñ¡Γ«ó   ñóÑ
  878.         Σπ¡¬µ¿¿:
  879.  
  880.              - AllocDStoCSAlias
  881.  
  882.              - ChangeSelector
  883.  
  884.              AllocDStoCSAlias »«½πτáÑΓ   ßÑ½Ñ¬Γ«α   ßÑú¼Ñ¡Γá  ñá¡¡δσ  ¿
  885.         ó«ºóαáΘáÑΓ ßÑ½Ñ¬Γ«α  ¬«ñ«ó«ú«  ßÑú¼Ñ¡Γá.  ¥Γ«   »«ºó«½∩ÑΓ   óá¼
  886.  
  887.        Windows 3.0/pg/3#3                                        = 20 =
  888.  
  889.         ºá¡«ß¿Γ∞ ¬«¼á¡ñδ ó ßΓѬ ñá¡¡δσ, ß«ºñáΓ∞ ß«ó¼ÑΘÑ¡¿Ñ ñ½∩ ßÑú¼Ñ¡Γá
  890.         ßΓѬᠿ ºáΓѼ óδ»«½¡¿Γ∞ ¬«ñ ó ßΓѬÑ.
  891.  
  892.              ¥Γá Σπ¡¬µ¿∩ óδñѽ∩ÑΓ ¡«óδ⌐ ßÑ½Ñ¬Γ«α.  Å«ß½Ñ Γ«ú«,  ¬á¬ óá¼
  893.         πªÑ ¡Ñ  ¡πªÑ¡ ßÑ½Ñ¬Γ«α,  »«½πτÑ¡¡δ⌐ ß »«¼«Θ∞ε AllocDStoCSAlias,
  894.         óδ ñ«½ª¡δ Ñú« «ßó«í«ñ¿Γ∞ ß »«¼«Θ∞ε Σπ¡¬µ¿¿ FreeSelector.
  895.  
  896.              éδ ñ«½ª¡δ  íδΓ∞  «ßë᫪¡δ  ¿  ¡Ñ  ¿ß»«½∞º«óáΓ∞  ßÑ½Ñ¬Γ«α,
  897.         ó«ºóαáΘáѼδ⌐ Σπ¡¬µ¿Ñ⌐ AllocDStoAlias,  Ñß½¿ ¿¼ÑÑΓß∩ óÑα«∩Γ¡«ßΓ∞
  898.         Γ«ú«, τΓ« «¡ íδ½ »ÑαѼÑΘÑ¡.  ê¼ÑÑΓß∩  Γ«½∞¬«  «ñ¡á  ó«º¼«ª¡«ßΓ∞
  899.         »αÑñ«ΓóαáΓ¿Γ∞ »ÑαѼÑΘÑ¡¿Ñ ßÑú¼Ñ¡Γá »ÑαÑñ Ñú« ó맮ó«¼, ß »«¼«Θ∞ε
  900.         Σπ¡¬µ¿¿  GlobalFix,  ¬«Γ«αá∩  Σ¿¬ß¿απÑΓ  ßÑú¼Ñ¡Γ   ó   ½¿¡Ñ⌐¡«¼
  901.         áñαÑß¡«¼ »α«ßΓαá¡ßΓóÑ.
  902.  
  903.              éδ ñ«½ª¡δ  íδΓ∞ ΓᬪѠπóÑαÑ¡δ ó Γ«¼,  τΓ« ßÑú¼Ñ¡Γ ¡Ñ íπñÑΓ
  904.         »ÑαѼÑΘÑ¡, óáΦá  »α«úαἼᠠ»«ΓÑα∩ÑΓ  π»αáó½Ñ¡¿Ñ,  ¿  τΓ«  óáΦá
  905.         »α«úαἼᠡѠóδ»«½¡∩ÑΓ ñÑ⌐ßΓó¿⌐ »« óδñѽѡ¿ε »á¼∩Γ¿. Äíδτ¡« φΓ«
  906.         ΓαÑí«óá¡¿Ñ »α¿ó«ñ¿Γ  ¬  Γ«¼π,  τΓ«  óáΦÑ⌐  »α«úαἼѠ  »α¿ñÑΓß∩
  907.         »«½πτáΓ∞ ßÑ½Ñ¬Γ«α  »α¿ ¬áªñ«¼ «íαáΘÑ¡¿¿ ¡á óδñѽѡ¿Ñ »á¼∩Γ¿ ¿½¿
  908.         »«ß½Ñ  ¬áªñ«ú«  ß½πτá∩  »«ΓÑα¿  π»αáó½Ñ¡¿∩.  Äñ¡á¬«  óδ  ¼«ªÑΓÑ
  909.         ¿ºíáó¿Γ∞ß∩   «Γ   ¡Ñ«íσ«ñ¿¼«ßΓ¿   Γᬫú«  τáßΓ«ú«  óδñѽѡ¿∩  ¿
  910.         «ßó«í«ªñÑ¡¿∩   ßÑ½Ñ¬Γ«αá,   Ñß½¿    ó«ß»«½∞ºπÑΓÑß∞    óαѼѡ¡δ¼
  911.         ßÑ½Ñ¬Γ«α«¼.  öπ¡¬µ¿∩  ChangeSelector  »αÑñ«ßΓáó½∩ÑΓ óá¼ πñ«í¡δ⌐
  912.         ß»«ß«í ß«ó¼ÑΘÑ¡¿∩ ß  óαѼѡ¡δ¼  ßÑ½Ñ¬Γ«α«¼.  Ä¡á  »«½πτáÑΓ  ñóá
  913.         ßÑ½Ñ¬Γ«αá:  óαѼѡ¡δ⌐  ßÑ½Ñ¬Γ«α  ¿ ßÑ½Ñ¬Γ«α,  ¬«Γ«αδ⌐ óδ σ«Γ¿ΓÑ
  914.         ß«ó¼ÑßΓ¿Γ∞. ùΓ«íδ φëàßÑ½Ñ¬Γ«α »«ßΓ«∩¡¡« ß«ó¼ÑΘá½ß∩, óδ ñ«½ª¡δ
  915.         ßñѽáΓ∞ ß½ÑñπεΘÑÑ:
  916.  
  917.              1. éδºóáΓ∞   AllocateSelector   ñ½∩   ß«ºñá¡¿∩  óαѼѡ¡«ú«
  918.                 ßÑ½Ñ¬Γ«αá.
  919.  
  920.              2. è«úñá  ¡Ñ«íσ«ñ¿¼«,  óδºóáΓ∞   Σπ¡¬µ¿ε   ChangeSelector,
  921.                 »ÑαÑñáó Ñ⌐  óαѼѡ¡δ⌐  ßÑ½Ñ¬Γ«α ¿ ßÑ½Ñ¬Γ«α,  ¬«Γ«αδ⌐ óδ
  922.                 σ«Γ¿ΓÑ ß«ó¼ÑßΓ¿Γ∞.  Å«ß¬«½∞¬π óδ πªÑ óδñѽ¿½¿ ßÑ½Ñ¬Γ«α,
  923.                 Γ«    ¿   «ßó«í«ªñáΓ∞   Ñú«   »ÑαÑñ   óδº«ó«¼   Σπ¡¬µ¿¿
  924.                 ChangeSelector  ¡Ñ  ¡πª¡«.  éá¼  ½¿Φ∞  ¡πª¡«   óδºδóáΓ∞
  925.                 Σπ¡¬µ¿ε  ChangeSelector  ó«  óßÑσ  ß½πτá∩σ,  ó  ¬«Γ«αδσ
  926.                 ¡Ñ«íσ«ñ¿¼« ß«ó¼ÑßΓ¿Γ∞   ßÑú¼Ñ¡Γδ,    Ñß½¿    ßπΘÑßΓóπÑΓ
  927.                 óÑα«∩Γ¡«ßΓ∞ Γ«ú«, τΓ« «¡¿ í뫨 »ÑαѼÑΘÑ¡δ.
  928.  
  929.              3. àß½¿ óá¼ í«½∞ΦÑ ¡Ñ ¡πª¡« ß«ó¼ÑΘáΓ∞ ßÑú¼Ñ¡Γδ,  óδ ñ«½ª¡δ
  930.                 «ßó«í«ñ¿Γ∞ óαѼѡ¡δ⌐   ßÑ½Ñ¬Γ«α   ß   »«¼«Θ∞ε   Σπ¡¬µ¿¿
  931.                 FreeSelector.
  932.               16.1.4 è«¡Σ¿úπαᵿ∩  »á¼∩Γ¿  Windows  ó αáßΦ¿αÑ¡¡«¼ αѪ¿¼Ñ       
  933.                                »α«µÑßß«αá 80386.
  934.  
  935.              àß½¿ ó »«½∞º«óáΓѽ∞߬«⌐ ß¿ßΓѼѠ¿¼ÑÑΓß∩  »«  ¬αá⌐¡Ñ⌐  ¼ÑαÑ
  936.         2îí ñ«ßΓπ»¡«⌐ αáßΦ¿αÑ¡¡«⌐ »á¼∩Γ¿ ¿ »α«µÑßß«α 80386,  Γ« Windows
  937.         ¿ »α¿¬½áñ¡δÑ »α«úαá¼¼δ Windows αáí«ΓáεΓ  ó  αáßΦ¿αÑ¡¡«¼  αѪ¿¼Ñ
  938.         »α«µÑßß«αá 80386.  ¥Γ«  ó¿ñ  ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á.  é φΓ«¼ αѪ¿¼Ñ
  939.  
  940.        Windows 3.0/pg/3#3                                        = 21 =
  941.  
  942.         Windows, ¿ß»«½∞ºπ∩  ß»Ñµ¿á½∞¡δÑ  ßαÑñßΓóá   »α«µÑßß«αá   80386,
  943.         αÑ὿ºπÑΓ  ß¿ßΓѼπ  π»αáó½Ñ¡¿∩  ó¿αΓπá½∞¡«⌐ »á¼∩Γ∞ε,  ¿ß»«½∞ºπ∩
  944.         »«ñ¬áτ¬π ß  ñ¿ß¬á.  é  αѺπ½∞ΓáΓÑ  «íΩѼ  ñ«ßΓπ»¡«⌐  »α¿¬½áñ¡«⌐
  945.         »α«úαἼѠ  »á¼∩Γ¿   ¼«ªÑΓ  ó  ¡Ñ߬«½∞¬«  αẠ »αÑóδΦáΓ∞  «íΩѼ
  946.         ñ«ßΓπ»¡«⌐ αáßΦ¿αÑ¡¡«⌐ »á¼∩Γ¿ ó  ß¿ßΓѼÑ.  ÆÑ«αÑΓ¿τÑ߬¿  ó  φΓ«¼
  947.         αѪ¿¼Ñ  Windows  »«ºó«½∩ÑΓ  áñαÑß«óáΓ∞  ñ«  4  ú¿úáíá⌐Γ »á¼∩Γ¿,
  948.         «ñ¡á¬«  ó   αÑá½∞¡«ßΓ¿   «¡á   «úαá¡¿τѡᠠ «íΩѼ«¼   ñ«ßΓπ»¡«⌐
  949.         «»ÑαáΓ¿ó¡«⌐ »á¼∩Γ¿ ¿ »á¼∩Γ¿ ¡á ñ¿ß¬Ñ. îá¬ß¿¼á½∞¡« Windows ¼«ªÑΓ
  950.         óδñѽ¿Γ∞ ó αáßΦ¿αÑ¡¡«¼ αѪ¿¼Ñ 80386  «íΩÑ¬Γ  αẼÑα«¼  64îí.  é
  951.         αáßΦ¿αÑ¡¡«¼  αѪ¿¼Ñ  »α«µÑßß«αá  80386  óßÑ  ßÑú¼Ñ¡Γδ  (¬«ñá  ¿
  952.         ñá¡¡δσ)  »ÑαѼÑΘáѼδ,  Γᬠ ªÑ  ¬á¬  ¿  ½¿ßΓáѼδÑ   (ßΓαá¡¿τ¡«⌐
  953.         «αúá¡¿ºáµ¿¿).
  954.  
  955.              Åα¿¼Ñτá¡¿Ñ: Å«ß¬«½∞¬π    ó    αÑßΦ¿αÑ¡¡«¼   αѪ¿¼Ñ   80386
  956.         ¿ß»«½∞ºπÑΓ ó«º¼«ª¡«ßΓ¿ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á,  Γ«  «úαá¡¿τÑ¡¿∩  »«
  957.         ¿ß»«½∞º«óá¡¿ε »á¼∩Γ¿  ßΓá¡ñáαΓ¡«ú«  αѪ¿¼á  ΓᬪѠ »α¿¼Ñ¡¿¼δ  ¬
  958.         αáßΦ¿αÑ¡¡«¼π αѪ¿¼π.
  959.  
  960.              ì¿ªÑ «»¿ßá¡á  ¬«¡Σ¿úπαᵿ∩  »á¼∩Γ¿  ó  αáßΦ¿αÑ¡¡«¼  αѪ¿¼Ñ
  961.         »α«µÑßß«αá 80386:
  962.  
  963.              - â½«íá½∞¡á∩   ñ¿¡á¼¿τÑ߬á∩  «í½áßΓ∞  »á¼∩Γ¿  »αÑñßΓáó½∩ÑΓ
  964.                ß«í«⌐ «ñ¡« í«½∞Φ«Ñ ó¿αΓπá½∞¡«Ñ áñαÑß¡«Ñ »α«ßΓαá¡ßΓó«.  é
  965.                «Γ½¿τ¿Ñ  «Γ  ¬«¡Σ¿úπαᵿ¿  »á¼∩Γ¿ ß EMS 4.0,  Windows ¡Ñ
  966.                «Γ«íαáªáÑΓ ¬«ñ ¿ ñá¡¡δÑ ¼Ñªñπ áñαÑß¡δ¼ »α«ßΓαá¡ßΓó«¼ ó 1
  967.                îí ¿  óΓ«α¿τ¡«⌐  »á¼∩Γ∞ε.  é¼ÑßΓ«  φΓ«ú«  óßÑ »α¿¬½áñ¡δÑ
  968.                »α«úαá¼¼δ αáºñѽ∩εΓ «ñ¡« ¿ Γ«  ªÑ  ó¿αΓπá½∞¡«Ñ  áñαÑß¡«Ñ
  969.                »α«ßΓαá¡ßΓó«.
  970.  
  971.              - ÄíΩѼ ú½«íá½∞¡«ú« ó¿αΓπá½∞¡«ú« áñαÑß¡«ú« »α«ßΓαá¡ßΓóá ¡Ñ
  972.                «úαá¡¿τÑ¡ «íΩѼ«¼ αáßΦ¿αÑ¡¡«⌐ »á¼∩Γ¿.  ä¿ß¬ ¿ß»«½∞ºπÑΓß∩
  973.                ó  ¬áτÑßΓóÑ  óΓ«α¿τ¡«⌐  »á¼∩Γ¿,  αáßΦ¿α∩εΘÑ⌐ ó¿αΓπá½∞¡«Ñ
  974.                áñαÑß¡«Ñ »α«ßΓαá¡ßΓó«.
  975.  
  976.              è«¡Σ¿úπαᵿ∩ »á¼∩Γ¿ ó αáßΦ¿αÑ¡¡«¼ αѪ¿¼Ñ »α«µÑßß«αá í«½∞ΦÑ
  977.         ¡á»«¼¿¡áÑΓ íẫóπε ¬«¡Σ¿úπαáµ¿ε »á¼∩Γ¿,  τѼ ¬«¡Σ¿úπαᵿε ß EMS
  978.         4.0, ¿½¿   ßΓá¡ñáαΓ¡πε   ¬«¡Σ¿úπαᵿε.    ìá    α¿ßπ¡¬Ñ    16.5
  979.         ßΓαáó¡¿óáÑΓß∩ íẫóá∩ ¬«¡Σ¿úπαᵿ∩ ¿ ¬«¡Σ¿úπαᵿ∩ ó αáßΦ¿αÑ¡¡«¼
  980.         αѪ¿¼Ñ »α«µÑßß«αá 80386.
  981.  
  982.              üẫóá∩ ¬«¡Σ¿úπαᵿ∩ »á¼∩Γ¿.
  983.         ┌────────────────────────────────────────┐ \   A000H (640K)
  984.         │   æíαáßδóáѼδÑ ¬«ñ«óδÑ ßÑú¼Ñ¡Γδ        │  │
  985.         │                   │                    │  │
  986.         │                                       │  │
  987.         │                                        │  │
  988.         │                                       │  │
  989.         │                   │                    │  │  â½«íá½∞¡á∩
  990.         │  ÅÑαѼÑΘáѼδÑ ßÑú¼Ñ¡Γδ (¬«ñá ¿ ñá¡¡δσ) │   \ ñ¿¡á¼¿τÑ߬á∩
  991.         │                   ¿                    │   / «í½áßΓ∞ ñá¡¡δσ
  992.         │  ßíαáßδóáѼδÑ ßÑú¼Ñ¡Γδ ñá¡¡δσ          │  │
  993.         │                                        │  │
  994.         │                                       │  │
  995.         │                   │                    │  │
  996.         │  ö¿¬ß¿α«óá¡¡δÑ ßÑú¼Ñ¡Γδ (¬«ñá ¿        │  │
  997.         │                         ñá¡¡δσ)        │  │
  998.         ├────────────────────────────────────────┤ /
  999.         │         ÉѺ¿ñÑ¡Γ¡δÑ »α«úαá¼¼δ          │
  1000.         │          äαá⌐óÑαδ πßΓα«⌐ßΓó            │
  1001.         │                MS-DOS                  │
  1002.         │          Äí½áßΓ∞ ñá¡¡δσ BIOS           │
  1003.         │      Æáí½¿µá óÑ¬Γ«α«ó »αÑαδóá¡¿⌐       │
  1004.         └────────────────────────────────────────┘  0000H
  1005.  
  1006.        Windows 3.0/pg/3#3                                        = 22 =
  1007.  
  1008.  
  1009.  
  1010.           è«¡Σ¿úπαᵿ∩ »á¼∩Γ¿ ó αáßΦ¿αÑ¡¡«¼ αѪ¿¼Ñ »α«µÑßß«αá 80386.
  1011.  
  1012.         ┌────────────────────────────────────────┐ \    éÑαΦ¿¡á
  1013.         │   æíαáßδóáѼδÑ ¬«ñ«óδÑ ßÑú¼Ñ¡Γδ        │  │   αáßΦ¿αÑ¡¡«⌐
  1014.         │                   │                    │  │   »á¼∩Γ¿
  1015.         │                                       │  │
  1016.         .                                        .  │
  1017.         .                                        .  │
  1018.         .                                        .  │
  1019.         │                                        │  │
  1020.         │                                        │  │
  1021.         │                                        │  │
  1022.         │                                        │  │
  1023.         │                                        │  │
  1024.         │                                        │  │  â½«íá½∞¡á∩
  1025.         │                                        │   \ ñ¿¡á¼¿τÑ߬á∩
  1026.         │                                        │   / «í½áßΓ∞ ñá¡¡δσ
  1027.         │                                        │  │  ó ó¿αΓπá½∞¡«¼
  1028.         │                                        │  │  áñαÑß¡«¼ »α«ßΓ-
  1029.         │                                       │  │  αá¡ßΓóÑ
  1030.         │                   │                    │  │
  1031.         │  ÅÑαѼÑΘáѼδÑ ßÑú¼Ñ¡Γδ (¬«ñá ¿ ñá¡¡δσ) │  │
  1032.         │                   ¿                    │  │
  1033.         │  ßíαáßδóáѼδÑ ßÑú¼Ñ¡Γδ ñá¡¡δσ          │  │
  1034.         │                                       │  │
  1035.         │                   │                    │  │
  1036.         │  ö¿¬ß¿α«óá¡¡δÑ ßÑú¼Ñ¡Γδ (¬«ñá ¿        │  │
  1037.         │                         ñá¡¡δσ)        │  │
  1038.         ├────────────────────────────────────────┤ /
  1039.         .                                        .
  1040.         .                                        .
  1041.         .                                        .
  1042.         ├────────────────────────────────────────┤
  1043.         │         ÉѺ¿ñÑ¡Γ¡δÑ »α«úαá¼¼δ          │
  1044.         │          äαá⌐óÑαδ πßΓα«⌐ßΓó            │
  1045.         │                MS-DOS                  │
  1046.         │          Äí½áßΓ∞ ñá¡¡δσ BIOS           │
  1047.         │      Æáí½¿µá óÑ¬Γ«α«ó »αÑαδóá¡¿⌐       │
  1048.         └────────────────────────────────────────┘  0000H
  1049.  
  1050.  
  1051.              é íẫó«⌐   ¬«¡Σ¿úπαᵿ¿  ¿  ó  ¬«¡Σ¿úπαᵿ¿  αáßΦ¿αÑ¡¡«ú«
  1052.         αѪ¿¼á »α«µÑßß«αá 80386 Σ¿¬ß¿α«óá¡¡δ⌐ ¬«ñ ¿ ñá¡¡δÑ  αẼÑΘáεΓß∩
  1053.         ó   ¡¿ª¡¿σ   áñαÑßáσ   ßÑú¼Ñ¡Γ«ó.  ìÑßíαáßδóáѼδÑ  »ÑαѼÑΘáѼδÑ
  1054.         ßÑú¼Ñ¡Γδ ¬«ñá  ¿  ñá¡¡δσ   ¿   ßíαáßδóáѼδÑ   ßÑú¼Ñ¡Γδ   ñá¡¡δσ
  1055.  
  1056.        Windows 3.0/pg/3#3                                        = 23 =
  1057.  
  1058.         αáß»«½áúáεΓß∩   ¡áñ   Σ¿¬ß¿α«óá¡¡δ¼¿  ßÑú¼Ñ¡ΓἿ.  æíαáßδóáѼδÑ
  1059.         ¬«ñ«óδÑ  ßÑú¼Ñ¡Γδ  αáß»«½áúáεΓß∩  ó  ßΓáαΦ¿σ  áñαÑßáσ   »á¼∩Γ¿.
  1060.         Windows  »α¿ αáí«ΓÑ »α¿ ¬«¡Σ¿úπαᵿ¿ »á¼∩Γ¿ αáßΦ¿αÑ¡¡«ú« αѪ¿¼á
  1061.         »α«µÑßß«αá 80386 ¼¿¡¿¼¿º¿απÑΓ Σαáú¼Ñ¡Γáµ¿ε »á¼∩Γ¿ »«  ßαáó¡Ñ¡¿ε
  1062.         ß íẫó«⌐ ¬«¡Σ¿úπαᵿÑ⌐.
  1063.  
  1064.              è«¡Σ¿úπαᵿ∩ »á¼∩Γ¿  ó αáßΦ¿αÑ¡¡«¼ αѪ¿¼Ñ »α«µÑßß«αá 80386
  1065.         «Γ½¿τáÑΓß∩ «Γ «ßΓá½∞¡δ󠬫¡Σ¿úπαᵿ⌐ ΓѼ,  τΓ«  ó  ¡Ñ⌐  Windows
  1066.         »α«¿ºó«ñ¿Γ «í¼Ñ¡  ßÑú¼Ñ¡ΓἿ  ¬«ñá  ¿  ñá¡¡δσ  ¼Ñªñπ  »á¼∩Γ∞ε ¿
  1067.         ñ¿ß¬«¼. é ñαπú¿σ ¬«¡Σ¿úπαᵿ∩σ Windows ¼«ªÑΓ πñ὿Γ∞ ¿º  »á¼∩Γ¿
  1068.         ßíαáßδóáѼδÑ ßÑú¼Ñ¡Γδ,  ¡«  ¡Ñ ¼«ªÑΓ ß«σαá¡¿Γ∞ ñá¡¡δÑ ¡á ñ¿ß¬Ñ,
  1069.         τΓ«íδ ó ñá½∞¡Ñ⌐ΦѼ ¿σ ó«ßßΓá¡«ó¿Γ∞.
  1070.  
  1071.              Windows ó αáßΦ¿αÑ¡¡«¼  αѪ¿¼Ñ  »α«µÑßß«αá  386  »α«ñ«½ªáÑΓ
  1072.         óδñѽ∩Γ∞ Σ¿º¿τÑ߬πε »á¼∩Γ∞,  »«¬á φΓ« ¡Ñ«íσ«ñ¿¼«. çáΓѼ Windows
  1073.         ñ½∩ «ßó«í«ªñÑ¡¿∩ »á¼∩Γ¿ ¡áτ¿¡áÑΓ »ÑαѼÑΘáΓ∞  ßΓαá¡¿µδ  αẼÑα«¼
  1074.         4è ¬«ñá ¿ ñá¡¡δσ ¿º »á¼∩Γ¿ ¡á ñ¿ß¬.  Windows óδ»«½¡∩ÑΓ «»Ñαᵿ¿
  1075.         ½¿ßΓá¡¿∩ í½«¬á¼¿  »«  4è,  á  ¡Ñ   í½«¬á¼¿   αạ«ú«   αẼÑαá,
  1076.         ß««ΓóÑΓßΓóπεΘÑú« αẼÑαπ  ¬«ñ«óδσ ßÑú¼Ñ¡Γ«ó ¿ ßÑú¼Ñ¡Γ«ó ñá¡¡δσ.
  1077.         ¥Γ«Γ í½«¬ ¼«ªÑΓ ß«ñÑαªáΓ∞ Γ«½∞¬« τáßΓ∞ ßÑú¼Ñ¡Γá ¬«ñá ¿½¿ ñá¡¡δσ
  1078.         ¿½¿ »ÑαÑßѬáΓ∞ úαá¡¿µδ ñóπσ ¿½¿ í«½ÑÑ ßÑú¼Ñ¡Γ«ó.
  1079.  
  1080.              ¥Γá ßΓαá¡¿τ¡á∩   «αúá¡¿ºáµ¿∩   ñ½∩   »α¿¬½áñ¡δσ   »α«úαá¼¼
  1081.         »α«ºαáτ¡á. àß½¿  »α¿¬½áñ¡á∩  »α«úαἼᠠ »δΓáÑΓß∩   «ßπΘÑßΓó¿Γ∞
  1082.         ñ«ßΓπ» ¬ ßÑú¼Ñ¡Γπ ñá¡¡δσ ¿½¿ ¬«ñá,  ¬«Γ«αδ⌐ ßíα«ΦÑ¡ ¡á ñ¿ß¬, Γ«
  1083.         »α«µÑßß«α 80386 óδαáíáΓδóáÑΓ  ñ½∩  Windows  »αÑαδóá¡¿Ñ  "«Φ¿í¬á
  1084.         ßΓαá¡¿µδ". Windows «ßπΘÑßΓó½∩ÑΓ »«ñ¬áτ¬π ¡Ñ«íσ«ñ¿¼δσ »α¿¬½áñ¡«⌐
  1085.         »α«úαἼѠßΓαá¡¿µ ¿ ßíα«ß ¡Ñ¡πª¡δσ ¡á  ñ¿ß¬.  Windows  óδí¿αáÑΓ
  1086.         ßΓαá¡¿µδ, ¬«Γ«αδÑ íπñπΓ ßíα«ΦÑ¡δ ¡á ñ¿ß¬,  »«½∞ºπ∩ß∞ á½ú«α¿Γ¼«¼
  1087.         LRU ("¡á¿í«½ÑÑ ñáó¡« ¡Ñ ¿ß»«½∞ºπѼδ⌐").
  1088.  
  1089.              Æá¬á∩ ß¿ßΓѼᠠ   ó¿αΓπá½∞¡«⌐     »á¼∩Γ¿     »αÑñ«ßΓáó½∩ÑΓ
  1090.         ñ«»«½¡¿Γѽ∞¡πε »á¼∩Γ∞,  «íΩѼ ¬«Γ«α«⌐ «úαá¡¿τÑ¡ Γ«½∞¬« αẼÑα«¼
  1091.         Σá⌐½á »«ñ¬áτ¬¿ Windows, ¬«Γ«αδ⌐ αѺÑαó¿απÑΓß∩ ¡á ñ¿ß¬Ñ. Windows
  1092.         «»αÑñѽ∩ÑΓ ¡Ñ«íσ«ñ¿¼δ⌐   αẼÑα   Σá⌐½á   »«ñ¬áτ¬¿   ¡á  «ß¡«óÑ
  1093.         ¿¡Σ«α¼áµ¿¿ «í «íΩѼѠñ«ßΓπ»¡«⌐ Σ¿º¿τÑ߬«⌐ »á¼∩Γ¿  ¿  ñ«ßΓπ»¡«ú«
  1094.         »α«ßΓαá¡ßΓóá ¡á ñ¿ß¬Ñ. Å«½∞º«óáΓѽ∞ ¼«ªÑΓ ¿º¼Ñ¡¿Γ∞ αẼÑα Σá⌐½á
  1095.         »«ñ¬áτ¬¿, «»αÑñѽ¿ó Ñú«  ó  ß««ΓóÑΓßΓóπεΘѼ  φ½Ñ¼Ñ¡ΓÑ  ó  Σá⌐½Ñ
  1096.         SYSTEM.INI, ¿  ¼«ªÑΓ  «»αÑñѽ¿Γ∞  »«ßΓ«∩¡¡δ⌐  Σá⌐½  »«ñ¬áτ¬¿  ß
  1097.         »«¼«Θ∞ε ß½πªÑí¡«⌐ »α«úαá¼¼δ SWAPFILE.
  1098.  
  1099.              çá»α«ßδ Windows  ¡á  ºáúαπº¬π  ßÑú¼Ñ¡Γ«ó  ¬«ñá  ¿   ñá¡¡δσ
  1100.         αáí«ΓáεΓ ¡á  óÑαΦ¿¡Ñ  ßσÑ¼δ  ßΓαá¡¿τ¡«⌐ «αúá¡¿ºáµ¿¿ ó¿αΓπá½∞¡«⌐
  1101.         »á¼∩Γ¿ Windows. Æá¬¿¼ «íαẫ¼ Windows αáßß¼áΓα¿óáÑΓ ó¿αΓπá½∞¡πε
  1102.         »á¼∩Γ∞ ¬á¬  ¿¼ÑεΘπε  640è íẫó«⌐ »á¼∩Γ¿,  ¬«Γ«αá∩ ¿ß»«½∞ºπÑΓß∩
  1103.         ñ½∩ «»αÑñѽѡ¿∩  ¬á¬¿Ñ  ßÑú¼Ñ¡Γδ  ¬«ñá  ¿½¿  ñá¡¡δσ  ¡Ñ«íσ«ñ¿¼«
  1104.         ßíα«ß¿Γ∞. Äñ¡á¬« Windows πñá½∩ÑΓ ßíαáßδóáѼδÑ ßÑú¼Ñ¡Γδ Γ«½∞¬« ó
  1105.         ß½πτáÑ ¿ßτÑα»á¡¿∩ ó¿αΓπá½∞¡«⌐ »á¼∩Γ¿.
  1106.  
  1107.                  ÅαÑñ«ΓóαáΘÑ¡¿Ñ ßíα«ßá ßΓαá¡¿µ »á¼∩Γ¿ ¡á ñ¿ß¬.
  1108.  
  1109.              ê¡«úñá ó«º¡¿¬áÑΓ  ¡Ñ«íσ«ñ¿¼«ßΓ∞  ó  Γ«¼,  τΓ«íδ  ¡Ñ¬«Γ«αá∩
  1110.         «í½áßΓ∞ »á¼∩Γ¿  óßÑúñá ¡áσ«ñ¿½áß∞ ó »á¼∩Γ¿ ¿ ¡Ñ ßíαáßδóá½áß∞ ¡á
  1111.  
  1112.        Windows 3.0/pg/3#3                                        = 24 =
  1113.  
  1114.         ñ¿ß¬. ìá»α¿¼Ñα,  »α«µÑñπαá   í¿í½¿«ΓѬ¿   DLL   ñ«½ª¡á   óßÑúñá
  1115.         ¡áσ«ñ¿Γ∞ß∩ ó »á¼∩Γ¿, τΓ«íδ «¡á íδ½á óδºóá¡á ßαáºπ ªÑ ó «ΓóÑΓ ¡á
  1116.         »αÑαδóá¡¿Ñ íѺ «ª¿ñá¡¿∩ Γ«ú«,  τΓ« ß¿ßΓѼᠺáúαπº¿Γ ¡Ñ«íσ«ñ¿¼δÑ
  1117.         ßÑú¼Ñ¡Γδ. é  Γᬿσ  ß½πτá∩σ ¼«ª¡« ºáí½«¬¿α«óáΓ∞ í½«¬ »á¼∩Γ¿ ñ½∩
  1118.         »αÑñ«ΓóαáΘÑ¡¿∩ Ñú« ßíα«ßá ¡á ñ¿ß¬.
  1119.  
  1120.              ä½∩ í½«¬¿α«ó¬¿ ó맮ó¿ΓÑ Σπ¡¬µ¿ε GlobalPageLock, »ÑαÑñáó Ñ⌐
  1121.         ó ¬áτÑßΓóÑ »áαá¼ÑΓαá ú½«íá½∞¡δ⌐ ßÑ½Ñ¬Γ«α í½«¬¿απѼ«ú« ßÑú¼Ñ¡Γá.
  1122.         ¥Γá Σπ¡¬µ¿∩ πóѽ¿τ¿óáÑΓ ßτÑΓτ¿¬  í½«¬¿α«óá¡¡δσ  í½«¬«ó  ñá¡¡«ú«
  1123.         ßÑú¼Ñ¡Γá. ä« ΓÑσ »«α,  »«¬á φëàßτÑΓτ¿¬ ¡Ñ αáóÑ¡ ¡π½ε, ßÑú¼Ñ¡Γ
  1124.         «ßΓáÑΓß∩ »« ΓѼ ªÑ Σ¿º¿τÑ߬¿¼  áñαÑßá¼  ¿  ¡Ñ  ßíαáßδóáÑΓß∩  ¡á
  1125.         ñ¿ß¬. Å«ß½Ñ Γ«ú«, ¬á¬ í½«¬¿α«ó¬á πªÑ ¡Ñ ¡πª¡á, ó맮ó¿ΓÑ Σπ¡¬µ¿ε
  1126.         GlobalPageUnlock ñ½∩ π¼Ñ¡∞ΦÑ¡¿∩ ßτÑΓτ¿¬á í½«¬¿α«óá¡¡δσ ßΓαá¡¿µ.
  1127.         é ñαπú¿σ αѪ¿¼áσ φΓ¿ Σπ¡¬µ¿¿ ¡Ñ óδ»«½¡∩εΓ ¡¿¬á¬«⌐ αáí«Γδ.
  1128.  
  1129.              Åα¿¼Ñτá¡¿Ñ: ü½«¬¿α«óá¡¿Ñ »á¼∩Γ¿ ¼«ªÑΓ »α¿¼Ñ¡∩Γ∞ß∩ Γ«½∞¬« ó
  1130.         ¬α¿Γ¿τÑ߬¿σ ß¿Γπᵿ∩σ.   ìÑ   í½«¬¿απ⌐ΓÑ   ó   »á¼∩Γ¿  ¡á»α¿¼Ñα
  1131.         φ½Ñ¬Γα«¡¡πε Γáí½¿µπ,  í½«¬¿α«óá¡¿Ñ  ó½¿∩ÑΓ  ¡á   σáαá¬ΓÑα¿ßΓ¿¬¿
  1132.         αáí«Γδ óßÑσ »α¿¬½áñ¡δσ »α«úαá¼¼, ó¬½ετá∩ óáΦπ.
  1133.               16.2  êß»«½∞º«óá¡¿Ñ »á¼∩Γ¿ ó »α¿¬½áñ¡δσ »α«úαá¼¼áσ Windows.      
  1134.  
  1135.              Windows »«ññÑনóáÑΓ ßѼ∞ Γ¿»«ó ñá¡¡δσ,  ¬áªñδ⌐ ¿º ¬«Γ«αδσ
  1136.         ¿ß»«½∞ºπÑΓß∩ ó  αẽ¿τ¡δσ  ß¿Γπᵿ∩σ.  ì¿ªÑ  «»¿ßá¡δ  φΓ¿  Γ¿»δ
  1137.         ñá¡¡δσ ¿ »αÑñ½áúáÑΓß∩, ¬á¬«⌐ Γ¿» ó ¬á¬«¼ ß½πτáÑ ¿ß»«½∞º«óáΓ∞.
  1138.  
  1139.         Æ¿»              Ä»¿ßá¡¿Ñ
  1140.         ───────────────────────────────────────────────────────────────
  1141.         æΓáΓ¿τÑ߬¿Ñ      æΓáΓ¿τÑ߬¿Ñ ñá¡¡δÑ  ó¬½ετáεΓ óßÑ »ÑαѼѡ¡δÑ æ,
  1142.         ñá¡¡δÑ           ¬«Γ«αδÑ ∩ó¡« ¿½¿ ¡Ñ ∩ó¡« «íΩ∩ó½Ñ¡δ ¬á¬ static.
  1143.                          æΓáΓ¿τÑ߬¿Ñ ñá¡¡δÑ ó¬½ετáεΓ ΓᬪѠ»ÑαѼѡ¡δÑ,
  1144.                          «íΩ∩ó½Ñ¡¡δÑ ¬á¬ ó¡ÑΦ¡¿Ñ, ∩ó¡« (ß ¿ß»«½∞º«ó᡿Ѽ
  1145.                          ¬½ετÑó«ú« ß½«óá extern) ¿½¿ ¡Ñ∩ó¡«  («íΩ∩ó½Ñ¡δ
  1146.                          ó ¡áτá½Ñ Σá⌐½á ß ¿ßσ«ñ¡δ¼ ΓѬßΓ«¼ »ÑαÑñ ΓѽἿ
  1147.                          Σπ¡¬µ¿⌐).
  1148.  
  1149.         ÇóΓ«¼áΓ¿τÑ߬¿Ñ   ¥Γ« »ÑαѼѡ¡δÑ, óδñѽ∩ѼδÑ ó ßΓѬѠ»α¿ ó맮óÑ
  1150.         ñá¡¡δÑ           Σπ¡¬µ¿⌐. è ¡¿¼ «Γ¡«ß∩Γß∩ »áαá¼ÑΓαδ Σπ¡¬µ¿⌐ ¿
  1151.                          ½«¬á½∞¡« «íΩ∩ó½Ñ¡¡δÑ »ÑαѼѡ¡δÑ. æ¼«Γα¿ΓÑ αáº-
  1152.                          ñѽ 16.2.1 "ô»αáó½Ñ¡¿Ñ áóΓ«¼áΓ¿τÑ߬¿¼¿ ßÑú¼Ñ¡-
  1153.                          ΓἿ ñá¡¡δσ".
  1154.  
  1155.         ï«¬á½∞¡δÑ ñ¿¡á-  ï«¬á½∞¡δÑ ñ¿¡á¼¿τÑ߬¿Ñ ñá¡¡δÑ óδñѽ∩εΓß∩ ß
  1156.         ¼¿τÑ߬¿Ñ ñá¡¡δÑ  »«¼«Θ∞ε Σπ¡¬µ¿¿ LocalAlloc. ï«¬á½∞¡δÑ ñ¿¡á¼¿-
  1157.                          τÑ߬¿Ñ ñá¡¡δÑ óδñѽ∩εΓß∩ ó ½«¬á½∞¡«¼ ñ¿¡á¼¿-
  1158.                          τÑ߬«¼ ßÑú¼Ñ¡ΓÑ ñá¡¡δσ, ñ½∩ ¬«Γ«α«ú« ó »α¿¬-
  1159.                          ½áñ¡«⌐ »α«úαἼѠ«»αÑñѽѡ ßÑú¼Ñ¡Γ DS. éδñѽÑ-
  1160.                          ¡¿Ñ í½«¬«ó »á¼∩Γ¿ ó ½«¬á½∞¡«⌐ ñ¿¡á¼¿τÑ߬«⌐ «í-
  1161.                          ½áßΓ¿ »á¼∩Γ¿ á¡á½«ú¿τ¡« ¿ß»«½∞º«óá¡¿ε Σπ¡¬µ¿¿
  1162.                          æ malloc ó »α¿¬½áñ¡δσ »α«úαá¼¼áσ ñ½∩ DOS, ¿ß-
  1163.                          »«½∞ºπεΘ¿σ ¼á½πε   ¿  ßαÑñ¡εε  ¼«ñѽ¿  »á¼∩Γ¿.
  1164.                          æ¼«Γα¿ΓÑ αáºñѽ 16.2.2, "ô»αáó½Ñ¡¿Ñ í½«¬á¼¿ ½«-
  1165.                          ¬á½∞¡«⌐ ñ¿¡á¼¿τÑ߬«⌐ «í½áßΓ¿ »á¼∩Γ¿".
  1166.  
  1167.        Windows 3.0/pg/3#3                                        = 25 =
  1168.  
  1169.  
  1170.         â½«íá½∞¡δÑ ñ¿¡á- ¥Γ« ñá¡¡δÑ, óδñѽ∩ѼδÑ ó ú½«íá½∞¡«⌐ ñ¿¡á¼¿τÑß-
  1171.         ¼¿τÑ߬¿Ñ ñá¡¡δÑ  ¬«⌐   «í½áßΓ¿   »á¼∩Γ¿   ß   »«¼«Θ∞ε   Σπ¡¬µ¿¿
  1172.                          GlobalAlloloc. â½«íá½∞¡á∩ ñ¿¡á¼¿τÑ߬á∩ «í½áßΓ∞
  1173.                          »á¼∩Γ¿ -   φΓ«   ß¿ßΓѼ¡δ⌐  αÑßπαß.  éδñѽѡ¿Ñ
  1174.                          í½«¬«ó  »á¼∩Γ¿   ó   ú½«íá½∞¡«⌐   ñ¿¡á¼¿τÑ߬«⌐
  1175.                          «í½áßΓ¿  »á¼∩Γ¿  á¡á½«ú¿τ¡« óδñѽѡ¿ε »á¼∩Γ¿ ó
  1176.                          »α«úαá¼¼áσ  »«ñ  DOS  c  »«¼«Θ∞ε   ßΓá¡ñáαΓ¡«⌐
  1177.                          í¿í½¿«ΓÑτ¡«⌐  Σπ¡¬µ¿¿  æ  malloc  ó  í«½∞Φ«⌐ ¿
  1178.                          ¬«¼»á¬Γ¡«⌐ ¼«ñѽ∩σ »á¼∩Γ¿.  ÄΓ½¿τ¿Ñ ß«ßΓ«¿Γ  ó
  1179.                          Γ«¼,  τΓ«  ó  Windows  óδ  óδñѽ∩ÑΓÑ  »á¼∩Γ∞ ó
  1180.                          «í½áßΓ¿,  »«ΓÑ¡µ¿á½∞¡« αáºñѽ∩Ѽ«⌐  ß  ñαπú¿¼¿
  1181.                          »α¿¬½áñ¡δ¼¿ »α«úαἼἿ, Γ«úñᠬᬠ»«ñ DOS óß∩
  1182.                          ñ¿¡á¼¿τÑ߬á∩ «í½áßΓ∞  »á¼∩Γ¿  »αÑñ«ßΓáó½Ñ¡á  ó
  1183.                          óáΦÑ  αáß»«α∩ªÑ¡¿Ñ.  æ¼«Γα¿ΓÑ  αáºñѽ  16.2.3,
  1184.                          "ô»αáó½Ñ¡¿Ñ  í½«¬á¼¿  ú½«íá½∞¡«⌐  ñ¿¡á¼¿τÑ߬«⌐
  1185.                          «í½áßΓ¿ »á¼∩Γ¿".
  1186.  
  1187.         ä«»«½¡¿Γѽ∞¡δÑ   éáΦá »α¿¬½áñ¡á∩ »α«úαἼᠼ«ªÑΓ ß«ºñáΓ∞ «¬¡«
  1188.         íá⌐Γδ «¬¡á       Γᬿ¼ «íαẫ¼, τΓ« ó« ó¡πΓαÑ¡¡Ñ⌐ ßΓαπ¬ΓπαÑ
  1189.                          «¬¡á, ¬«Γ«απε   »«ññÑনóáÑΓ   Windows,  íπñπΓ
  1190.                          óδñÑ½Ñ¡δ  ñ«»«½¡¿Γѽ∞¡δÑ  íá⌐Γδ.   ä½∩   φΓ«ú«
  1191.                          ºáαÑú¿ßΓα¿απ⌐ΓÑ  ¬½áßß «¬¡á (ß »«¼«Θ∞ε Σπ¡¬µ¿¿
  1192.                          RegisterClass),  ¿ π¬áª¿ΓÑ,  τΓ« ¬áªñ«¼π  «¬¡π
  1193.                          ñá¡¡«ú«      ¬½áßßá      ñ«½ª¡δ     óδñѽ∩Γ∞ß∩
  1194.                          ñ«»«½¡¿Γѽ∞¡δÑ  íá⌐Γδ.   ä½∩   φΓ«ú«   π¬áª¿ΓÑ
  1195.                          ¡Ñ¡π½Ñó«Ñ º¡áτÑ¡¿Ñ ó »«½Ñ cbWndExtra ßΓαπ¬Γπαδ
  1196.                          WNDCLASS,   ¬«Γ«απε   óδ   »ÑαÑñáÑΓÑ   Σπ¡¬µ¿¿
  1197.                          RegisterClass.  éδ  ºáΓѼ  ¼«ªÑΓÑ ºá»¿ßáΓ∞ ¿½¿
  1198.                          »«½πτ¿Γ∞ ñá¡¡δÑ  ¿º  φΓ«⌐  «í½áßΓ¿  ß  »«¼«Θ∞ε
  1199.                          Σπ¡¬µ¿⌐      SetWindowWord,     SetWindowLong,
  1200.                          GetWindowWord ¿ GetWindowLong. æ¼«Γα¿ΓÑ αáºñѽ
  1201.                          16.2.4,  "ä«»«½¡¿Γѽ∞¡δÑ  íá⌐Γδ  ó  ßΓαπ¬Γπαáσ
  1202.                          ñá¡¡δ󠫬¡á ¿ ¬½áßßá".
  1203.  
  1204.         ä«»«½¡¿Γѽ∞¡δÑ   è½áßß ¼«ª¡« ß«ºñáΓ∞ Γᬿ¼ «íαẫ¼, τΓ« ñ½∩
  1205.         íá⌐Γδ ¬½áßßá     ¡Ñú« »«ß½Ñ ßΓαπ¬Γπαδ WNDCLASS íπñπΓ óδñѽѡδ
  1206.                          ñ«»«½¡¿Γѽ∞¡δÑ íá⌐Γδ.  Åα¿ αÑú¿ßΓαᵿ¿  ¬½áßßá
  1207.                          «¬¡á  óδ  ¼«ªÑΓÑ  π¬áºáΓ∞ ¡Ñ¡π½Ñó«Ñ º¡áτÑ¡¿Ñ ó
  1208.                          »«½Ñ cbClassExtra.  çáΓѼ óδ  ¼«ªÑΓÑ  ºá»¿ßáΓ∞
  1209.                          ñá¡¡δÑ  ¿½¿  »«½πτ¿Γ∞ ñá¡¡δÑ ¿º φΓ«⌐ «í½áßΓ¿ ß
  1210.                          »«¼«Θ∞ε  Σπ¡¬µ¿⌐  SetClassWord,  SetClassLong,
  1211.                          GetClassWord  ¿  GetClassLong.  GetWindowLong.
  1212.                          æ¼«Γα¿ΓÑ αáºñѽ 16.2.4,  "ä«»«½¡¿Γѽ∞¡δÑ íá⌐Γδ
  1213.                          ó ßΓαπ¬Γπαáσ ñá¡¡δ󠫬¡á ¿ ¬½áßßá".
  1214.  
  1215.         ÉÑßπαßδ          ÉÑßπαßδ - φΓ« ¡Ñ¿º¼Ñ¡∩ѼδÑ ¡áí«αδ ñá¡¡δσ, σαá-
  1216.                          ¡∩Θ¿Ñß∩ ó «í½áßΓ¿ αÑßπαß«ó óδ»«½¡∩Ѽ«ú« Σá⌐½á.
  1217.                          ¥Γ¿  ñá¡¡δÑ ºáúαπªáεΓß∩ ó »á¼∩Γ∞,  «Γ¬πñá óáΦá
  1218.                          »α«úαἼᠼ«ªÑΓ  ¿σ  ¿ß»«½∞º«óáΓ∞.  éδ  ¼«ªÑΓÑ
  1219.                          «»αÑñѽ¿Γ∞ ß«íßΓóÑ¡¡δÑ αÑßπαßδ,  ¬«Γ«αδÑ íπñπΓ
  1220.                          ß«ñÑαªáΓ∞  ΓÑ  ñá¡¡δÑ  (Γ«½∞¬«  ñ½∩   τΓÑ¡¿∩),
  1221.                          ¬«Γ«αδÑ  óδ  σ«Γ¿ΓÑ ß«σαá¡¿Γ∞.  éδ »«ñ¬½ετáÑΓÑ
  1222.  
  1223.        Windows 3.0/pg/3#3                                        = 26 =
  1224.  
  1225.                          αÑßπαßδ ¬ ßó«Ñ¼π Σá⌐½π .EXE ¿½¿ .DLL ß »«¼«Θ∞ε
  1226.                          ¬«¼»¿½∩Γ«αá   αÑßπαß«ó.  é  »Ñα¿«ñ  óδ»«½¡Ñ¡¿∩
  1227.                          »α«úαá¼¼δ óδ »«½πτáÑΓÑ ñ«ßΓπ» ¬ αÑßπαßá¼ τÑαѺ
  1228.                          αẽ¿τ¡δÑ Σπ¡¬µ¿¿ í¿í½¿«ΓѬ Windows.  æ¼«Γα¿ΓÑ
  1229.                          αáºñѽ 16.2.5, "ô»αáó½Ñ¡¿Ñ αÑßπαßἿ".
  1230.         ───────────────────────────────────────────────────────────────
  1231.                   16.2.1  ô»αáó½Ñ¡¿Ñ áóΓ«¼áΓ¿τÑ߬¿¼¿ ßÑú¼Ñ¡ΓἿ ñá¡¡δσ.        
  1232.  
  1233.              èáªñá∩ »α¿¬½áñ¡á∩  »α«úαἼᠠ¿¼ÑÑΓ  «ñ¿¡  ßÑú¼Ñ¡Γ ñá¡¡δσ,
  1234.         ¡áºδóáѼδ⌐ "áóΓ«¼áΓ¿τÑ߬¿⌐ ßÑú¼Ñ¡Γ ñá¡¡δσ", ¬«Γ«αδ⌐ ¼«ªÑΓ ¿¼ÑΓ∞
  1235.         αẼÑα ñ« 64è. ÇóΓ«¼áΓ¿τÑ߬¿⌐ ßÑú¼Ñ¡Γ ñá¡¡δσ ß«ñÑαª¿Γ ß½ÑñπεΘ¿Ñ
  1236.         Γ¿»δ ñá¡¡δσ:
  1237.  
  1238.         Æ¿»              Ä»¿ßá¡¿Ñ
  1239.         ───────────────────────────────────────────────────────────────
  1240.         çáú«½«ó«¬ ºáñáτ¿ 16 íá⌐Γ ¿¡Σ«α¼áµ¿¿, ¬«Γ«απε Windows »«ññÑন-
  1241.                          óáÑΓ ñ½∩   ¬áªñ«⌐  »α¿¬½áñ¡«⌐  »α«úαá¼¼δ.  Ä¡¿
  1242.                          óßÑúñá αẼÑΘáεΓß∩ ó »Ñαóδσ 16 íá⌐Γáσ áóΓ«¼á-
  1243.                          Γ¿τÑ߬«ú« ßÑú¼Ñ¡Γá ñá¡¡δσ.
  1244.  
  1245.         æΓáΓ¿τÑ߬¿Ñ      éßÑ »ÑαѼѡ¡δÑ æ, ∩ó¡« ¿½¿ ¡Ñ∩ó¡« «íΩ∩ó½Ñ¡¡δÑ
  1246.         ñá¡¡δÑ           ¬á¬ static ¿½¿ extern ∩ó¡« ¿½¿ ¡Ñ∩ó¡«.
  1247.  
  1248.         æΓѬ             æΓѬ ¿ß»«½∞ºπÑΓß∩ ñ½∩ σαá¡Ñ¡¿∩ áóΓ«¼áΓ¿τÑ߬¿σ
  1249.                          ñá¡¡δσ. æΓѬ  ¿¼ÑÑΓ  Σ¿¬ß¿α«óá¡¡δ⌐ αẼÑα,  ¡«
  1250.                          Ñú« á¬Γ¿ó¡á∩ τáßΓ∞ πóѽ¿τ¿óáÑΓß∩ ¿ π¼Ñ¡∞ΦáÑΓß∩
  1251.                          ó ß««ΓóÑΓßΓó¿¿ ß óδº«ó«¼ Σπ¡¬µ¿⌐ ¿ ó«ºóαáΓ«¼
  1252.                          ¿º Σπ¡¬µ¿⌐.  Åα¿ ¬áªñ«¼ ó맮óÑ  Σπ¡¬µ¿¿  áñαÑß
  1253.                          ó«ºóαáΓá  »«¼ÑΘáÑΓß∩ ó á¬Γ¿ó¡πε «í½áßΓ∞ ßΓѬá,
  1254.                          ΓᬠªÑ ¬á¬ ¿ »áαá¼ÑΓαδ, »ÑαÑñáóáѼδÑ Σπ¡¬µ¿¿.
  1255.  
  1256.         ï«¬á½∞¡á∩ ñ¿¡á-  æ«ñÑαª¿Γ óßÑ ½«¬á½∞¡δÑ ñ¿¡á¼¿τÑ߬¿Ñ ñá¡¡δÑ,
  1257.         ¼¿τÑ߬á∩ «í½áßΓ∞ ¬«Γ«αδÑ óδñѽ∩εΓß∩ Σπ¡¬µ¿Ñ⌐ LocalAlloc.
  1258.         ñá¡¡δσ
  1259.         ───────────────────────────────────────────────────────────────
  1260.  
  1261.              ìá α¿ßπ¡¬Ñ  16.6  »α¿óÑñÑ¡  ó¿ñ  áóΓ«¼áΓ¿τÑ߬«ú«  ßÑú¼Ñ¡Γá
  1262.         ñá¡¡δσ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ.
  1263.  
  1264.              ┌───────────────────────────────────┐ \
  1265.              │  ï«¬á½∞¡á∩ ñ¿¡á¼¿τÑ߬á∩ «í½áßΓ∞   │  │
  1266.              │             ñá¡¡δσ                │  │
  1267.              ├───────────────────────────────────┤  │
  1268.              │              æΓѬ                 │   \ ä« 64 è
  1269.              ├───────────────────────────────────┤   /
  1270.              │        æΓáΓ¿τÑ߬¿Ñ ñá¡¡δÑ         │  │
  1271.              ├───────────────────────────────────┤  │
  1272.              │         çáú«½«ó«¬ ºáñáτ¿          │  │
  1273.              └───────────────────────────────────┘ /
  1274.  
  1275.              É¿ßπ¡«¬ 16.6  ÇóΓ«¼áΓ¿τÑ߬¿⌐ ßÑú¼Ñ¡Γ ñá¡¡δσ.
  1276.  
  1277.  
  1278.        Windows 3.0/pg/3#3                                        = 27 =
  1279.  
  1280.              ä½∩ »α¿¬½áñ¡«⌐  »α«úαá¼¼δ  αẼÑα ßΓѬá óßÑúñá Σ¿¬ß¿α«óá¡.
  1281.         éδ «»αÑñѽ∩ÑΓÑ Ñú« αẼÑα ó Σá⌐½Ñ «»αÑñѽѡ¿∩ ¼«ñπ½∩ »α¿¬½áñ¡«⌐
  1282.         »α«úαá¼¼δ «»ÑαáΓ«α«¼ STACKSIZE.  Windows áóΓ«¼áΓ¿τÑ߬¿ óδñѽ∩ÑΓ
  1283.         ßΓѬ ¼¿¡¿¼á½∞¡«ú« αẼÑαá 5è. éδ ¼«ªÑΓÑ »«φ¬ß»Ñα¿¼Ñ¡Γ¿α«óáΓ∞ ß«
  1284.         ßó«Ñ⌐ »α«úαá¼¼«⌐,  τΓ«íδ  «»αÑñѽ¿Γ∞  «»Γ¿¼á½∞¡δ⌐  αẼÑα ßΓѬá
  1285.         óáΦÑ⌐ »α«úαá¼¼δ.   Äñ¡á¬«   αѺπ½∞ΓáΓδ    »ÑαÑ»«½¡Ñ¡¿∩    ßΓѬá
  1286.         ¡Ñ»αÑñ߬áºπѼδ.
  1287.  
  1288.              ÉẼÑα ½«¬á½∞¡«⌐  ñ¿¡á¼¿τÑ߬«⌐ «í½áßΓ¿ »á¼∩Γ¿ «»αÑñѽ∩ÑΓß∩
  1289.         ó ß««ΓóÑΓßΓó¿¿ ß« º¡áτÑ¡¿Ñ¼,  π¬áºá¡¡δ¼ ó «»ÑαáΓ«αÑ HEAPSIZE  ó
  1290.         Σá⌐½Ñ «»αÑñѽѡ¿∩   ¼«ñπ½∩   »α¿¬½áñ¡«⌐   »α«úαá¼¼δ.  ï«¬á½∞¡á∩
  1291.         ñ¿¡á¼¿τÑ߬á∩ «í½áßΓ∞   »á¼∩Γ¿   αáßΓÑΓ   »α¿   ó맮óÑ   Σπ¡¬µ¿¿
  1292.         LocalAlloc. êßσ«ñ¡δ⌐   αẼÑα  ½«¬á½∞¡«⌐  ñ¿¡á¼¿τÑ߬«⌐  «í½áßΓ¿
  1293.         »á¼∩Γ¿ ñ«½ªÑ¡ »« ¼Ñ¡∞ΦÑ⌐ ¼ÑαÑ ó¼ÑΘáΓ∞ ΓѬπΘ¿Ñ »ÑαѼѡ¡δÑ ßαÑñδ.
  1294.         ÉѬ«¼Ñ¡ñπѼδ⌐ ¼¿¡¿¼π¼  αáóÑ¡  1è.  àß½¿ »α¿¬½áñ¡«⌐ »α«úαἼѠ¡Ñ
  1295.         ΓαÑíπÑΓß∩ ñ«ßΓπ» ¬ »ÑαѼѡ¡δ¼ ßαÑñδ,  Γ« óδ ¼«ªÑΓѠ߬«¼»«¡«óáΓ∞
  1296.         óáΦπ »α¿¬½áñ¡πε   »α«úαá¼¼π   ß   «íΩÑ¬Γ¡δ¼   Σá⌐½«¼,   ¬«Γ«αδ⌐
  1297.         »αÑñ«ΓóαáΘáÑΓ »«¼ÑΘÑ¡¿Ñ    φΓ«⌐    ¿¡Σ«α¼áµ¿¿    ó    ½«¬á½∞¡πε
  1298.         ñ¿¡á¼¿τÑ߬πε «í½áßΓ∞ »á¼∩Γ¿.  æ¼«Γα¿ΓÑ ú½áóπ 14, "ƒºδ¬ æ ¿ ∩ºδ¬
  1299.         áßßѼí½Ñαá".
  1300.  
  1301.              àß½¿ áóΓ«¼áΓ¿τÑ߬¿⌐  ßÑú¼Ñ¡Γ  ñá¡¡δσ  óáΦÑ⌐  »α«úαá¼¼δ  ¡Ñ
  1302.         í½«¬¿α«óá¡ ¿½¿  ¡Ñ  Σ¿¬ß¿α«óá¡¡δ⌐,  Γ«  ó«º¼«ª¡«,  τΓ« «¡ íπñÑΓ
  1303.         »ÑαѼÑΘÑ¡, ¬«úñá óáΦá  »α«úαἼᠠó맮óÑΓ  Σπ¡¬µ¿ε  LocalAlloc.
  1304.         àß½¿ ½«¬á½∞¡á∩  ñ¿¡á¼¿τÑ߬á∩  «í½áßΓ∞  ñá¡¡δσ ñ«½ª¡á αáßΓ¿,  Γ«
  1305.         Windows ¿ΘÑΓ ¼ÑßΓ« ó Σ¿º¿τÑ߬«⌐  »á¼∩Γ¿  ñ½∩  αẼÑΘÑ¡¿∩  óßÑú«
  1306.         áóΓ«¼áΓ¿τÑ߬«ú« ßÑú¼Ñ¡Γá ñá¡¡δσ ¿ »ÑαѼÑΘáÑΓ Ñú« Γπñá. Å«¬á ñ½∩
  1307.         ñ«ßΓπ»á  ¬  ñá¡¡δ¼  ¿º  áóΓ«¼áΓ¿τÑ߬«ú«  ßÑú¼Ñ¡Γá  ñá¡¡δσ  óáΦá
  1308.         »α«úαἼᠿ߻«½∞ºπÑΓ  í½¿ª¡¿Ñ  π¬áºáΓѽ¿,  ¡¿¬á¬¿σ  »α«í½Ñ¼  ¡Ñ
  1309.         ó«º¡¿¬áÑΓ.  é  ß½πτáÑ  ¡Ñ«íσ«ñ¿¼«ßΓ¿  óδ  ¼«ªÑΓÑ  »αÑñ«ΓóαáΓ¿Γ∞
  1310.         »ÑαѼÑΘÑ¡¿Ñ áóΓ«¼áΓ¿τÑ߬«ú«  ßÑú¼Ñ¡Γá  ñá¡¡δσ  ñáªÑ  »α¿ ó맮óÑ
  1311.         Σπ¡¬µ¿¿ LocalAlloc   ß   »«¼«Θ∞ε   Σπ¡¬µ¿¿   LockData.   Äñ¡á¬«
  1312.         í½«¬¿α«óá¡¿Ñ  áóΓ«¼áΓ¿τÑ߬«ú«  ßÑú¼Ñ¡Γá ñá¡¡δσ ¼«ªÑΓ »α¿óÑßΓ¿ ¬
  1313.         Γ«¼π,  τΓ« ó맮ó Σπ¡¬µ¿¿ LocalAlloc ºáóÑαΦ¿Γß∩  ¡Ñπñáτ¡«,  Ñß½¿
  1314.         ßÑú¼Ñ¡Γ  ¡Ñ  ¼«ªÑΓ  íδΓ∞ »ÑαѼÑΘÑ¡ ¿ Ñß½¿ Σ¿¬ß¿α«óá¡¡δ⌐ ßÑú¼Ñ¡Γ
  1315.         ¡áσ«ñ¿Γß∩ ¡áñ áóΓ«¼áΓ¿τÑ߬¿¼ ßÑú¼Ñ¡Γ«¼.
  1316.  
  1317.              àß½¿ »α¿¬½áñ¡á∩   »α«úαἼᠠ ºá»αáΦ¿óáÑΓ   í«½∞ΦÑ,    τѼ
  1318.         ñ«ßΓπ»¡« »á¼∩Γ¿  ¿º  ½«¬á½∞¡«⌐  ñ¿¡á¼¿τÑ߬«⌐  «í½áßΓ¿,  Γ«  «¡á
  1319.         αáßΓÑΓ ñ« ΓÑσ »«α,  »«¬á  αẼÑα  ßÑú¼Ñ¡Γá  ¡Ñ  ñ«ßΓ¿ú¡ÑΓ  64è.
  1320.         Äñ¡á¬«  »α¿  «ßó«í«ªñÑ¡¿¿  «íΩÑ¬Γ«ó  ó  ½«¬á½∞¡«⌐  ñ¿¡á¼¿τÑ߬«⌐
  1321.         «í½áßΓ¿ »á¼∩Γ¿ «¡á ¡Ñ ßª¿¼áÑΓß∩.  éδ ¼«ªÑΓÑ ßñѽáΓ∞ φΓ« óαπτ¡πε
  1322.         Σπ¡¬µ¿Ñ⌐ LocalShrink.  ¥Γá  Σπ¡¬µ¿∩  ó¡áτá½Ñ  ßª¿¼áÑΓ ½«¬á½∞¡πε
  1323.         ñ¿¡á¼¿τÑ߬πε «í½áßΓ∞ »á¼∩Γ¿  ¿  ºáΓѼ  «íαѺáÑΓ  áóΓ«¼áΓ¿τÑ߬¿⌐
  1324.         ßÑú¼Ñ¡Γ ñ« ¡Ñ«íσ«ñ¿¼«ú« αẼÑαá.  LocalShrink ¡Ñ ¼«ªÑΓ «íαѺáΓ∞
  1325.         ¡¿ ¡¿ªÑ »«ß½Ññ¡Ñú«  óδñѽѡ¡«ú«  «íΩѬΓá,  ¡¿  ¡¿ªÑ  π¬áºá¡¡«ú«
  1326.         αẼÑαá ½«¬á½∞¡«⌐ ñ¿¡á¼¿τÑ߬«⌐ «í½áßΓ¿ »á¼∩Γ¿.
  1327.  
  1328.              é Σá⌐½Ñ  «»¿ßá¡¿∩  ¼«ñπ½∩  »α¿¬½áñ¡«⌐  »α«úαá¼¼δ óδ ¼«ªÑΓÑ
  1329.         π¬áºáΓ∞,  τΓ«  áóΓ«¼áΓ¿τÑ߬¿⌐  ßÑú¼Ñ¡Γ   ñá¡¡δσ   ñ«½ªÑ¡   íδΓ∞
  1330.         Σ¿¬ß¿α«óá¡¡δ¼ ¿½¿  »ÑαѼÑΘáѼδ¼,  á¡á½«ú¿τ¡«  ñαπú¿¼ ßÑú¼Ñ¡Γá¼.
  1331.         éδ ñ«½ª¡δ   «»¿ßáΓ∞   áóΓ«¼áΓ¿τÑ߬¿⌐   ßÑú¼Ñ¡Γ    ñá¡¡δσ    ¬á¬
  1332.         »ÑαѼÑΘáѼδ⌐ ¿  ¼¡«ªÑßΓóÑ¡¡δ⌐,  Ñß½¿  π  óáß ¡ÑΓ óÑ߬¿σ »α¿τ¿¡,
  1333.  
  1334.        Windows 3.0/pg/3#3                                        = 28 =
  1335.  
  1336.         τΓ«íδ  ¡Ñ  ñѽáΓ∞  φΓ«ú«.  ÇóΓ«¼áΓ¿τÑ߬¿⌐  ßÑú¼Ñ¡Γ  ñá¡¡δσ   »«
  1337.         π¼«½τá¡¿ε   ¿¼ÑÑΓ   »áαá¼ÑΓα   PRELOAD.  ì¿ªÑ  »α¿óÑñÑ¡  »α¿¼Ñα
  1338.         «íΩ∩ó½Ñ¡¿∩ áóΓ«¼áΓ¿τÑ߬«ú« ßÑú¼Ñ¡Γá  ñá¡¡δσ  ó  Σá⌐½Ñ  «»¿ßá¡¿∩
  1339.         ¼«ñπ½∩ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ:
  1340.  
  1341.              DATA MOVEABLE MULTIPLE
  1342.  
  1343.              Ä»αÑñѽ¿ó áóΓ«¼áΓ¿τÑ߬¿⌐  ßÑú¼Ñ¡Γ ñá¡¡δσ ¬á¬ »ÑαѼÑΘáѼδ⌐,
  1344.         óδ »«ºó«½∩ÑΓÑ Windows »ÑαѼÑΘáΓ∞  Ñú«  »α¿  ¿º¼Ñ¡Ñ¡¿¿  αẼÑαá.
  1345.         àß½¿ «¡ íπñÑΓ Σ¿¬ß¿α«óá¡¡δ¼,  Γ« Windows óδñѽ∩ÑΓ »á¼∩Γ∞ Γ«½∞¬«
  1346.         ó ß½πτáÑ,  Ñß½¿ ñ«ßΓπ»¡« ñ«ßΓáΓ«τ¡« »á¼∩Γ¿. Æá¬¿¼ «íαẫ¼, Ñß½¿
  1347.         óδ  ¿ß»«½∞ºπÑΓÑ  Σ¿¬ß¿α«óá¡¡δ⌐  ßÑú¼Ñ¡Γ,  Γ« óδ ñ«½ª¡δ ºáñáΓ∞ ó
  1348.         «»ÑαáΓ«αÑ  HEAPSIZE  ñ«ßΓáΓ«τ¡δ⌐  αẼÑα  ñ¿¡á¼¿τÑ߬«⌐  «í½áßΓ¿
  1349.         »á¼∩Γ¿.
  1350.  
  1351.              ùΓ«íδ ¬áªñδ⌐  φ¬ºÑ¼»½∩α óáΦÑ⌐ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ »«½πτ¿½
  1352.         ßó«⌐ áóΓ«¼áΓ¿τÑ߬¿⌐ ßÑú¼Ñ¡Γ ñá¡¡δσ,  ¡Ñ«íσ«ñ¿¼« «»αÑñѽ¿Γ∞  Ñú«
  1353.         ¬á¬ ¼¡«ªÑßΓóÑ¡¡δ⌐ (MULTIPLE).  ÇΓα¿íπΓ SINGLE »α¿¼Ñ¡¿¼ Γ«½∞¬« ¬
  1354.         áóΓ«¼áΓ¿τÑ߬¿¼ ßÑú¼Ñ¡Γá¼ ñá¡¡δσ DLL. öá¬Γ¿τÑ߬¿ DLL ñ«½ª¡δ íδΓ∞
  1355.         «»αÑñѽѡδ ß φΓ¿¼ áΓα¿íπΓ«¼,  »«ß¬«½∞¬π DLL ñ«½ª¡δ ¿¼ÑΓ∞ Γ«½∞¬«
  1356.         «ñ¿¡ φ¬ºÑ¼»½∩α.
  1357.               16.2.2 ô»αáó½Ñ¡¿Ñ í½«¬á¼¿ ½«¬á½∞¡«⌐  ñ¿¡á¼¿τÑ߬«⌐  «í½áßΓ¿       
  1358.                                     »á¼∩Γ¿.
  1359.  
  1360.              é Windows  ½«¬á½∞¡á∩  ñ¿¡á¼¿τÑ߬á∩  «í½áßΓ∞  ñá¡¡δσ  ¼«ªÑΓ
  1361.         αáß»«½áúáΓ∞ß∩ ó  ½εí«¼  ßÑú¼Ñ¡ΓÑ.   Äñ¡á¬«   τáΘÑ   óßÑú«   «¡á
  1362.         αáß»«½áúáÑΓß∩ ó áóΓ«¼áΓ¿τÑ߬«¼ ßÑú¼Ñ¡ΓÑ ñá¡¡δσ.
  1363.  
  1364.              öπ¡¬µ¿∩ LocalInit   «»αÑñѽ∩ÑΓ  π¬áºá¡¡πε  «í½áßΓ∞  ó¡πΓα¿
  1365.         ßÑú¼Ñ¡Γá ñá¡¡δσ  ó  ¬áτÑßΓóÑ  ½«¬á½∞¡«⌐  ñ¿¡á¼¿τÑ߬«⌐   «í½áßΓ¿
  1366.         »á¼∩Γ¿. é맮ó  Σπ¡¬µ¿¿ LocalAlloc ¿ ñαπú¿σ Σπ¡¬µ¿⌐ ñ½∩ αáí«Γδ ß
  1367.         ½«¬á½∞¡«⌐ ñ¿¡á¼¿τÑ߬«⌐ «í½áßΓ∞ε »á¼∩Γ¿ αáí«ΓáÑΓ ß ßÑú¼Ñ¡Γ«¼, ¡á
  1368.         ¬«Γ«αδ⌐  π¬áºδóáÑΓ  αÑú¿ßΓα  DS.  öπ¡¬µ¿¿  αáí«Γδ  ß  ½«¬á½∞¡«⌐
  1369.         ñ¿¡á¼¿τÑ߬«⌐  «í½áßΓ∞ε   »á¼∩Γ¿   αáí«ΓáεΓ,   Ñß½¿   «¡á   íδ½á
  1370.         ¿¡¿µ¿á½¿º¿α«óá¡á LocalInit.
  1371.  
  1372.              àß½¿ óδ  αáºαáíáΓδóáÑΓÑ  DLL,  ¬«Γ«α«⌐ ΓαÑíπÑΓß∩ ½«¬á½∞¡á∩
  1373.         ñ¿¡á¼¿τÑ߬á∩ «í½áßΓ∞ »á¼∩Γ¿,  Γ« óδ ñ«½ª¡δ óδºóáΓ∞ LocalInit  ó
  1374.         »α«µÑßßÑ ¿¡¿µ¿á½¿ºáµ¿¿  í¿í½¿«ΓѬ¿.  ìÑ«íσ«ñ¿¼«  «Γ¼ÑΓ¿Γ∞,  τΓ«
  1375.         LocalInit í½«¬¿απÑΓ  ßÑú¼Ñ¡Γ  ñá¡¡δσ.  Å«φΓ«¼π,  »«ß½Ñ   ó맮óá
  1376.         LocalInit ñ½∩  í¿í½¿«ΓѬ¿  óá¼,  ó«º¼«ª¡«,  »«¡áñ«í¿Γß∩ ßñѽáΓ∞
  1377.         ßÑú¼Ñ¡Γ »ÑαѼÑΘáѼδ¼.  éδ ¼«ªÑΓÑ ßñѽáΓ∞ φΓ« ß »«¼«Θ∞ε  Σπ¡¬µ¿¿
  1378.         UnlockData.
  1379.  
  1380.              àß½¿ óδ αáºαáíáΓδóáÑΓÑ »α¿¬½áñ¡πε »α«úαá¼¼π Windows,  Γ« ó
  1381.         »α«Γ¿ó«»«½«ª¡«ßΓ∞ DLL óá¼ ¡Ñ ¡πª¡« ñ½∩ áóΓ«¼áΓ¿τÑ߬«ú« ßÑú¼Ñ¡Γá
  1382.         ñá¡¡δσ   óδºδóáΓ∞  Σπ¡¬µ¿ε  LocalInit.  Windows  ßἫßΓ«∩Γѽ∞¡«
  1383.         óδºδóáÑΓ LocalInit, ¿ß»«½∞ºπ∩ ¿¡Σ«α¼áµ¿ε « αẼÑΘÑ¡¿¿ «ßΓá½∞¡δσ
  1384.         ñá¡¡δσ  ó  áóΓ«¼áΓ¿τÑ߬«¼  ßѼúÑ¡ΓÑ  ñá¡¡δσ  (ºáú«½«ó«¬ ºáñáτ¿,
  1385.         ßΓáΓ¿τÑ߬¿Ñ ñá¡¡δÑ,  ßΓѬ) ¿  ¿¡Σ«α¼áµ¿ε  «  αẼÑαÑ  ½«¬á½∞¡«⌐
  1386.         ñ¿¡á¼¿τÑ߬«⌐ «í½áßΓ¿ »á¼∩Γ¿,  π¬áºá¡¡πε ó Σá⌐½Ñ «»¿ßá¡¿∩ ¼«ñπ½∩
  1387.         »α¿¬½áñ¡«⌐ »α«úαá¼¼δ.
  1388.  
  1389.        Windows 3.0/pg/3#3                                        = 29 =
  1390.  
  1391.  
  1392.              Äαúá¡¿ºáµ¿∩ ½«¬á½∞¡«⌐    ñ¿¡á¼¿τÑ߬«⌐    «í½áßΓ¿    »á¼∩Γ¿
  1393.         á¡á½«ú¿τ¡á «αúá¡¿ºáµ¿¿ ú½«íá½∞¡«⌐ ñ¿¡á¼¿τÑ߬«⌐ «í½áßΓ¿ »á¼∩Γ¿:
  1394.  
  1395.              - ö¿¬ß¿α«óá¡¡δÑ   í½«¬¿   αẼÑΘáεΓß∩   ¡á  ñ¡Ñ  ½«¬á½∞¡«⌐
  1396.                ñ¿¡á¼¿τÑ߬«⌐ «í½áßΓ¿ »á¼∩Γ¿.
  1397.  
  1398.              - ÅÑαѼÑΘáѼδÑ,  ¡ÑßíαáßδóáѼδÑ  í½«¬¿   αẼÑΘáεΓß∩   ¡áñ
  1399.                Σ¿¬ß¿α«óá¡¡δ¼¿ í½«¬á¼¿.
  1400.  
  1401.              - æíαáßδóáѼδÑ  í½«¬¿  óδñѽ∩εΓß∩  «Γ  óÑαΦ¿¡δ  ú½«íá½∞¡«⌐
  1402.                ñ¿¡á¼¿τÑ߬«⌐ «í½áßΓ¿ »á¼∩Γ¿.
  1403.  
  1404.  
  1405.  
  1406.        Windows 3.0/pg/3#3                                        = 30 =
  1407.  
  1408.             äá¡¡á∩ «αúá¡¿ºáµ¿∩ »α¿óÑñѡᠡá α¿ßπ¡¬Ñ 16.7.
  1409.  
  1410.              ┌──────────────────────────────────┐  éÑαΦ¿¡á
  1411.              │        æíαáßδóáѼδÑ í½«¬¿        │
  1412.              │                │                 │
  1413.              │                                 │
  1414.              │                                  │
  1415.              │                                  │
  1416.              │                                  │
  1417.              │                                 │
  1418.              │                │                 │
  1419.              │        ÅÑαѼÑΘáѼδÑ í½«¬¿        │
  1420.              │                                 │
  1421.              │                │                 │
  1422.              │        ö¿¬ß¿α«óá¡¡δÑ í½«¬¿       │
  1423.              └──────────────────────────────────┘  ä¡«
  1424.  
  1425.              É¿ßπ¡«¬ 16.7  Äαúá¡¿ºáµ¿∩  ½«¬á½∞¡«⌐  ñ¿¡á¼¿τÑ߬«⌐ «í½áßΓ¿
  1426.         »á¼∩Γ¿.
  1427.  
  1428.              è«úñá Windows   ñ«íáó½∩ÑΓ   ¡«óδÑ   í½«¬¿   ¬    ½«¬á½∞¡«⌐
  1429.         ñ¿¡á¼¿τÑ߬«⌐ «í½áßΓ¿ »á¼∩Γ¿ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ,  »ÑαѼÑΘáѼδÑ
  1430.         í½«¬¿ ¼«úπΓ »ÑαѼÑΘáΓ∞ß∩ ñ½∩  π¼Ñ¡∞ΦÑ¡¿∩  αẼÑαá  ñ¿¡á¼¿τÑ߬«⌐
  1431.         «í½áßΓ¿ »á¼∩Γ¿.  èα«¼Ñ φΓ«ú« Windows ¼«ªÑΓ πñá½∩Γ∞ ßíαáßδóáѼδÑ
  1432.         í½«¬¿ ñ½∩ «ßó«í«ªñÑ¡¿∩ ¼ÑßΓá ñ½∩ ¡«óδσ.  Windows ¡Ñ  »ÑαѼÑΘáÑΓ
  1433.         Σ¿¬ß¿α«óá¡¡δÑ í½«¬¿ ó ½«¬á½∞¡«⌐ ñ¿¡á¼¿τÑ߬«⌐ «í½áßΓ¿ »á¼∩Γ¿.
  1434.  
  1435.            éδñѽѡ¿Ñ »á¼∩Γ¿ ó ½«¬á½∞¡«⌐ ñ¿¡á¼¿τÑ߬«⌐ «í½áßΓ¿ »á¼∩Γ¿.
  1436.  
  1437.              öπ¡¬µ¿∩ LocalAlloc  »«ºó«½∩ÑΓ  óá¼  óδñѽ¿Γ∞  í½«¬  »á¼∩Γ¿
  1438.         π¬áºá¡¡«ú« αẼÑαá ó ½«¬á½∞¡«⌐ ñ¿¡á¼¿τÑ߬«⌐  «í½áßΓ¿  »á¼∩Γ¿  ¿
  1439.         «»αÑñѽ¿Γ∞ σáαá¬ΓÑα¿ßΓ¿¬¿   í½«¬á.  òáαá¬ΓÑα¿ßΓ¿¬¿  «»αÑñѽ∩εΓ,
  1440.         ∩ó½∩ÑΓß∩ ½¿ í½«¬ »ÑαѼÑΘáÑ¼δ¼ ¿½¿  Σ¿¬ß¿α«óá¡¡δ¼,  ¿  ¼«ªÑΓ  ½¿
  1441.         »ÑαѼÑΘáѼδ⌐ í½«¬ ßíαáßδóáΓ∞ß∩.  ä«»πßΓ¿¼δ ß½ÑñπεΘ¿Ñ ¬«¼í¿¡áµ¿¿
  1442.         Σ½áú«ó:
  1443.  
  1444.              - LMEM_FIXED
  1445.  
  1446.              - LMEM_MOVEABLE
  1447.  
  1448.              - LMEM_MOVEABLE ¿ LMEM_DISCARDABLE
  1449.  
  1450.              Åα¿ óδñѽѡ¿¿  í½«¬á  ó  ½«¬á½∞¡«⌐  ñ¿¡á¼¿τÑ߬«⌐   «í½áßΓ¿
  1451.         ñá¡¡δσ ñαπú¿Ñ  í½«¬¿  ¼«úπΓ  »ÑαѼÑΘáΓ∞ß∩  ¿½¿ ßíαáßδóáΓ∞ß∩.  é
  1452.         ¡Ñ¬«Γ«αδσ ß½πτá∩σ ó«º¼«ª¡« óδ  ºáσ«Γ¿ΓÑ,  τΓ«íδ  »α¿  óδñѽѡ¿¿
  1453.         ¡«ó«ú« í½«¬á  »á¼∩Γ¿  ¡Ñ  »α«¿ßσ«ñ¿½á  αÑ«αúá¡¿ºáµ¿∩  ½«¬á½∞¡«⌐
  1454.         ñ¿¡á¼¿τÑ߬«⌐ «í½áßΓ¿   »á¼∩Γ¿.    é«º¼«ª¡«    óá¼    ¡Ñ«íσ«ñ¿¼«
  1455.         úáαá¡Γ¿α«óáΓ∞, τΓ«   π¬áºáΓѽ¿  ¡á  »ÑαѼÑΘáѼδÑ  í½«¬¿  »á¼∩Γ¿
  1456.         «ßΓá¡πΓß∩ óÑα¡δ¼¿.  ùΓ«íδ úáαá¡Γ¿α«óáΓ∞,  τΓ«  í½«¬¿  ¡Ñ  íπñπΓ
  1457.         ßíα«ΦÑ¡δ »α¿ óδñѽѡ¿¿ ¡«ó«ú«,  π¬áª¿ΓÑ »α¿ ó맮óÑ LocalAlloc ó
  1458.         »áαá¼ÑΓαÑ wFlags º¡áτÑ¡¿Ñ LMEM_NODISCARD.  ùΓ«íδ úáαá¡Γ¿α«óáΓ∞,
  1459.         τΓ« í½«¬¿ ¡Ñ íπñπΓ ¡¿ ßíα«ΦÑ¡δ, ¡¿ »ÑαѼÑΘÑ¡δ, π¬áª¿ΓÑ º¡áτÑ¡¿Ñ
  1460.         LMEM_NOCOMPACT.
  1461.  
  1462.        Windows 3.0/pg/3#3                                        = 31 =
  1463.  
  1464.  
  1465.              LocalAlloc ó«ºóαáΘáÑΓ ñÑß¬α¿»Γ«α ½«¬á½∞¡«ú« í½«¬á  »á¼∩Γ¿.
  1466.         àß½¿ ó  ½«¬á½∞¡«⌐  ñ¿¡á¼¿τÑ߬«⌐  «í½áßΓ¿ ¡Ñ σóáΓáÑΓ »á¼∩Γ¿,  Γ«
  1467.         Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ NULL.  Åα¿ ¿ß»«½∞º«óá¡¿¿  «ßΓá½∞¡δσ  Σπ¡¬µ¿⌐
  1468.         αáí«Γδ ß í½«¬á¼¿ »á¼∩Γ¿,  ¬«Γ«αδÑ «»¿ßá¡δ ¡¿ªÑ,  óδ »«½∞ºπÑΓÑß∞
  1469.         ñÑß¬α¿»Γ«α«¼, »«½πτÑ¡¡δ¼ «Γ Σπ¡¬µ¿¿ LocalAlloc.
  1470.  
  1471.                  ü½«¬¿α«óá¡¿Ñ ¿ αáºí½«¬¿α«óá¡¿Ñ í½«¬«ó »á¼∩Γ¿.
  1472.  
  1473.              ä½∩ ¼¡«ú¿σ »α«úαá¼¼¿ßΓ«ó ¡á æ,  »α¿óδ¬Φ¿σ ¬  ¿ß»«½∞º«óá¡¿ε
  1474.         Σπ¡¬µ¿¿ malloc,  αáí«Γá  ß ñÑß¬α¿»Γ«αἿ »á¼∩Γ¿ ¼«ªÑΓ «¬áºáΓ∞ß∩
  1475.         ¡«ó«⌐. Æ.¬.  óδñѽ∩ѼδѠ󠽫¬á½∞¡«⌐ ñ¿¡á¼¿τÑ߬«⌐ «í½áßΓ¿ »á¼∩Γ¿
  1476.         «íΩѬΓδ ¼«úπΓ »ÑαѼÑΘáΓ∞ß∩ »α¿ ñ«íáó½Ñ¡¿¿ ¡«óδσ «íΩÑ¬Γ«ó, Γ« óδ
  1477.         ¡Ñ ¼«ªÑΓÑ  »«ñαáºπ¼ÑóáΓ∞,  τΓ«   π¬áºáΓѽ¿   ¡á   φΓ¿   «íΩѬΓδ
  1478.         «ßΓá¡πΓß∩ óÑα¡δ¼¿.  äÑß¬α¿»Γ«αδ  »αÑñ«ßΓáó½∩εΓ  óá¼ ¬«¡ßΓá¡Γ¡πε
  1479.         ßß佬π ¡á »ÑαѼÑΘáѼδ⌐ «íΩѬΓ.
  1480.  
  1481.              Å«ß¬«½∞¬π ñÑß¬α¿»Γ«α ∩ó½∩ÑΓß∩ ¡Ñ »α∩¼δ¼ π¬áºáΓѽѼ, Γ« Ñú«
  1482.         ¡Ñ«íσ«ñ¿¼« "αáºαÑΦ¿Γ∞" ñ½∩ »«½πτÑ¡¿∩ áñαÑßá ½«¬á½∞¡«ú« «íΩѬΓá.
  1483.         ¥Γ« ñѽáÑΓß∩ ß »«¼«Θ∞ε Σπ¡¬µ¿¿  LocalLock.  LocalLock  óαѼѡ¡«
  1484.         Σ¿¬ß¿απÑΓ «íΩÑ¬Γ  ó  «»αÑñѽѡ¡«¼  ¼ÑßΓÑ ½«¬á½∞¡«⌐ ñ¿¡á¼¿τÑ߬«⌐
  1485.         «í½áßΓ¿ »á¼∩Γ¿.  Æá¬¿¼  «íαẫ¼  úáαá¡Γ¿απÑΓß∩,  τΓ«   í½¿ª¡¿⌐
  1486.         áñαÑß, ó«ºóαáΘáѼδ⌐ Σπ¡¬µ¿Ñ⌐ LocalLock, íπñÑΓ «»αÑñѽ∩Γ∞ ñá¡¡δ⌐
  1487.         «íΩÑ¬Γ ñ« ΓÑσ »«α,  »«¬á óδ ¡Ñ ó맮ó¿ΓÑ LocalUnlock.  æ½ÑñπεΘ¿⌐
  1488.         »α¿¼Ñα  ñѼ«¡ßΓα¿απÑΓ,  ¬á¬  ¼«ª¡«  ¿ß»«½∞º«óáΓ∞  LocalLock ñ½∩
  1489.         »«½πτÑ¡¿∩ áñαÑßá »ÑαѼÑΘáѼ«ú« «íΩѬΓá.
  1490.  
  1491.              HANDLE hLocalObject;
  1492.              char NEAR * pcLocalObject;  /* ó ßαÑñ¡Ñ⌐ ¿ ¼á½«⌐ ¼«ñѽ¿
  1493.                                             NEAR ¼«ª¡« ¡Ñ π¬áºδóáΓ∞ */
  1494.  
  1495.              if(hLocalObject = LocalAlloc(LMEM_MOVEABLE,32))
  1496.              {
  1497.                 if(pcLocalObject = LocalLock(hLocalObject))
  1498.                 {
  1499.                     /* pcLocalObject ¿ß»«½∞ºπÑΓß∩ ¬á¬ í½¿ª¡¿⌐ π¬áºá-
  1500.                        Γѽ∞ ¡á ½«¬á½∞¡δ⌐ «íΩÑ¬Γ */
  1501.                     .
  1502.                     .
  1503.                     .
  1504.                     LocalUnlock(hLocalObject);
  1505.                  else
  1506.                  {
  1507.                      /* ÉÑᬵ¿∩ ¡á ¡Ñ󫺼«ª¡«ßΓ∞ í½«¬¿α«ó¬¿ */
  1508.                  }
  1509.              }
  1510.              else
  1511.              {
  1512.                 /* ìÑ󫺼«ª¡« óδñѽ¿Γ∞ ¼ÑßΓ« »«ñ 32 íá⌐Γá */
  1513.              }
  1514.  
  1515.              àß½¿ óδ óδñѽ∩ÑΓÑ í½«¬ »á¼∩Γ¿ ß áΓα¿íπΓ«¼  LMEM_FIXED,  Γ«
  1516.         πªÑ úáαá¡Γ¿απÑΓß∩,  τΓ«  í½«¬  ¡Ñ  íπñÑΓ »ÑαѼÑΘáΓ∞ß∩ ó »á¼∩Γ¿.
  1517.  
  1518.        Windows 3.0/pg/3#3                                        = 32 =
  1519.  
  1520.         æ½Ññ«óáΓѽ∞¡«, óδ ¡Ñ  ñ«½ª¡δ  óδºδóáΓ∞  Σπ¡¬µ¿ε  LocalLock  ñ½∩
  1521.         í½«¬¿α«óá¡¿∩ Σ¿¬ß¿α«óá¡¡«ú« í½«¬á »á¼∩Γ¿.  æ½Ññ«óáΓѽ∞¡«, óδ ¡Ñ
  1522.         ¼«ªÑΓÑ »«½πτ¿Γ∞ áñαÑßá «íΩѬΓá  ß  »«¼«Θ∞ε  Σπ¡¬µ¿¿  LocalLock.
  1523.         é¼ÑßΓ« φΓ«ú«    ó   ¬áτÑßΓóÑ   í½¿ª¡Ñú«   áñαÑßá   ¿ß»«½∞ºπÑΓß∩
  1524.         ñÑß¬α¿»Γ«α,  ó«ºóαáΘáѼδ⌐ Σπ¡¬µ¿Ñ⌐  LocalAlloc.  ì¿ªÑ  »α¿óÑñÑ¡
  1525.         »α¿¼Ñα:
  1526.  
  1527.              char NEAR * pcLocalObject;  /* ó ßαÑñ¡Ñ⌐ ¿ ¼á½«⌐ ¼«ñѽ¿
  1528.                                             NEAR ¼«ª¡« ¡Ñ π¬áºδóáΓ∞ */
  1529.  
  1530.              if(ºßLocalObject = LocalAlloc(LMEM_MOVEABLE,32))
  1531.              {
  1532.                     /* pcLocalObject ¿ß»«½∞ºπÑΓß∩ ¬á¬ í½¿ª¡¿⌐ π¬áºá-
  1533.                        Γѽ∞ ¡á ½«¬á½∞¡δ⌐ «íΩѬΓ
  1534.                        ìÑ ¡πª¡« í½«¬¿α«óáΓ∞ ¿ αáºí½«¬¿α«óáΓ∞
  1535.                        Σ¿¬ß¿α«óá¡¡δ⌐ «íΩÑ¬Γ */
  1536.                     .
  1537.                     .
  1538.                     .
  1539.              }
  1540.              else
  1541.              {
  1542.                 /* ìÑ󫺼«ª¡« óδñѽ¿Γ∞ ¼ÑßΓ« »«ñ 32 íá⌐Γá */
  1543.              }
  1544.  
  1545.              éδ ñ«½ª¡δ ¿ºíÑúáΓ∞ Γ«ú«,  τΓ«íδ ó ¼«¼Ñ¡Γ, ¬«úñá ¡Ñ«íσ«ñ¿¼«
  1546.         óδñѽ¿Γ∞ ¡«óδ⌐    í½«¬,    »ÑαѼÑΘáѼδ⌐    «íΩÑ¬Γ     «ßΓáóá½ß∩
  1547.         í½«¬¿α«óá¡¡δ¼ ó  »á¼∩Γ¿.  ¥Γ«  π¼Ñ¡∞ΦáÑΓ  φΣΣÑ¬Γ¿ó¡«ßΓ∞  αáí«Γδ
  1548.         ß¿ßΓѼδ π»αáó½Ñ¡¿∩ »á¼∩Γ∞ε Windows.  Windows óδ¡πªñÑ¡  αáí«ΓáΓ∞
  1549.         ó«¬απú í½«¬¿α«óá¡¡«ú« «íΩѬΓá,  τΓ«íδ óδñѽ¿Γ∞ »á¼∩Γ∞ ó «í½áßΓ¿
  1550.         »ÑαѼÑΘáѼδσ í½«¬«ó »á¼∩Γ¿.
  1551.  
  1552.                        êº¼Ñ¡Ñ¡¿Ñ í½«¬á ½«¬á½∞¡«⌐ »á¼∩Γ¿.
  1553.  
  1554.              ä½∩ ¿º¼Ñ¡Ñ¡¿∩  αẼÑαá  í½«¬á  »á¼∩Γ¿   íѺ   »«ΓÑα¿   Ñú«
  1555.         ß«ñÑন¼«ú« óδ  ¼«ªÑΓÑ ¿ß»«½∞º«óáΓ∞ Σπ¡¬µ¿ε LocalRealloc.  àß½¿
  1556.         óδ π¬áªÑΓÑ ¼Ñ¡∞Φ¿⌐ αẼÑα,  Windows «íαѪÑΓ í½«¬.  àß½¿ π¬áªÑΓÑ
  1557.         í«½∞Φ¿⌐ αẼÑα,  Γ«  ó  ß½πτáÑ  ºáñá¡¿∩ áΓα¿íπΓá LMEM_ZEROINIT,
  1558.         «ßΓáóΦá∩ß∩ τáßΓ∞ í½«¬á  íπñÑΓ  ºá»«½¡Ñ¡á  ¡π½∩¼¿,  ó  »α«Γ¿ó¡«¼
  1559.         ß½πτáÑ ß«ñÑন¼«Ñ  «ßΓáóΦÑ⌐ß∩  τáßΓ¿ í½«¬á ¡Ñ«»αÑñѽѡ«.  Æá¬ªÑ
  1560.         ¬á¬ ¿ ó ß½πτáÑ ß LocalAlloc,  ó맮ó LocalRealloc ¼«ªÑΓ »α¿óÑßΓ¿
  1561.         ¬ »ÑαѼÑΘÑ¡¿ε ¿ ßíα«ßπ í½«¬«ó »á¼∩Γ¿. ä½∩ »αÑñ«ΓóαáΘÑ¡¿∩ ßíα«ßá
  1562.         í½«¬«ó, óδ  ¼«ªÑΓÑ   π¬áºáΓ∞   º¡áτÑ¡¿Ñ   LMEM_NODISCARD,   ñ½∩
  1563.         »αÑñ«ΓóαáΘÑ¡¿∩ ßíα«ßá  ¿  »ÑαѼÑΘÑ¡¿∩  ¼«ª¡«  π¬áºáΓ∞  º¡áτÑ¡¿Ñ
  1564.         LMEM_NOCOMPACT.
  1565.  
  1566.              éδ ¼«ªÑΓÑ ΓᬪѠ¿ß»«½∞º«óáΓ∞  LocalRealloc  ñ½∩  ¿º¼Ñ¡Ñ¡¿∩
  1567.         áΓα¿íπΓ«ó í½«¬á ß LMEM_MOVEABLE ¡á LMEM_DISCARDABLE ¿ ¡á«í«α«Γ.
  1568.         ä½∩ φΓ«ú« óδ ñ«½ª¡δ π¬áºáΓ∞ LMEM_MODIFY:
  1569.  
  1570.                 hLocalObject = LocalAlloc(32,LMEM_MOVEABLE)
  1571.                 .
  1572.                 .
  1573.  
  1574.        Windows 3.0/pg/3#3                                        = 33 =
  1575.  
  1576.                 .
  1577.                 hLocalObject = LocalRealloc(hLocalObject,
  1578.                                             32,
  1579.                                        LMEM_MODIFY | LMEM_DISCARDABLE));
  1580.  
  1581.              éδ ¡Ñ ¼«ªÑΓÑ ¿ß»«½∞º«óáΓ∞ LMEM_MODIFY ß  LocalRealloc  ñ½∩
  1582.         ¿º¼Ñ¡Ñ¡¿∩ áΓα¿íπΓ«ó í½«¬á ß ¿ ¡á LMEM_FIXED.
  1583.  
  1584.                  Äßó«í«ªñÑ¡¿Ñ ¿ ßíα«ß í½«¬«ó ½«¬á½∞¡«⌐ »á¼∩Γ¿.
  1585.  
  1586.              öπ¡¬µ¿¿ Windows   LocalDiscard   ¿   LocalFree   »«ºó«½∩εΓ
  1587.         ß««ΓóÑΓßΓóÑ¡¡« ßíα«ß¿Γ∞ ¿ «ßó«í«ñ¿Γ∞ í½«¬ ½«¬á½∞¡«⌐ »á¼∩Γ¿.
  1588.  
  1589.              îѪñπ ßíα«ß«¼ ¿ «ßó«í«ªñÑ¡¿Ñ¼ í½«¬á ¿¼ÑÑΓß∩  «Γ½¿τ¿Ñ.  Åα¿
  1590.         ßíα«ßÑ ½«¬á½∞¡«ú«  í½«¬á  Ñú« ß«ñÑন¼«Ñ πñá½∩ÑΓß∩ ¿º ½«¬á½∞¡«⌐
  1591.         ñ¿¡á¼¿τÑ߬«⌐ «í½áßΓ¿  »á¼∩Γ¿,  «ñ¡á¬«  ñÑß¬α¿»Γ«α  φΓ«ú«  í½«¬á
  1592.         «ßΓáÑΓß∩ ¬«ααÑ¬Γ¡δ¼.  Åα¿  «τ¿ßΓ¬Ñ  í½«¬á  »á¼∩Γ¿  πñá½∩ÑΓß∩ ¡Ñ
  1593.         Γ«½∞¬« Ñú«  ß«ñÑন¼«Ñ,  ¡«  ¿  Ñú«   ñÑß¬α¿»Γ«α   ¿º   Γáí½¿µδ
  1594.         ¬«ααÑ¬Γ¡δσ ñÑß¬α¿»Γ«α«ó.   ü½«¬  ½«¬á½∞¡«⌐  »á¼∩Γ¿  ¼«ªÑΓ  íδΓ∞
  1595.         ßíα«ΦÑ¡ ¿½¿  πñá½Ñ¡  Γ«½∞¬«  ó   Γ«¼   ß½πτáÑ,   Ñß½¿   «¡   ¡Ñ
  1596.         ºáí½«¬¿α«óá¡.
  1597.  
  1598.              àß½¿ óδ  ß«í¿αáÑΓÑß∞ ó ñá½∞¡Ñ⌐ΦѼ ¿ß»«½∞º«óáΓ∞ ñÑß¬α¿»Γ«α,
  1599.         Γ« óδ ¼«ªÑΓÑ ¡Ñ «τ¿ΘáΓ∞ í½«¬,  á ßíα«ß¿Γ∞ Ñú«.  ùΓ«íδ  »«óΓ«α¡«
  1600.         ¿ß»«½∞º«óáΓ∞ ñÑß¬α¿»Γ«α ßíα«ΦÑ¡¡«ú« í½«¬á, π¬áª¿ΓÑ Ñú« ó ó맮óÑ
  1601.         Σπ¡¬µ¿¿ LocalRealloc,  ó¼ÑßΓÑ  ß  ¡Ñ¡π½Ñóδ¼  º¡áτÑ¡¿Ñ¼  αẼÑαá
  1602.         ¡«ó«ú« í½«¬á.   Åα¿   »«óΓ«α¡«¼  ¿ß»«½∞º«óá¡¿¿  ñÑß¬α¿»Γ«αá  óδ
  1603.         ¿ß¬½ετáÑΓÑ ¡Ñ«íσ«ñ¿¼«ßΓ∞ «ßó«í«ªñáΓ∞ ßΓáαδ⌐ ¿  ß«ºñáóáΓ∞  ¡«óδ⌐
  1604.         ñÑß¬α¿»Γ«α.  èα«¼Ñ  φΓ«ú«,  »«óΓ«α¡«Ñ ¿ß»«½∞º«óá¡¿Ñ ñÑß¬α¿»Γ«αá
  1605.         »«ºó«½∩ÑΓ óá¼ »ÑαÑñ »«»δΓ¬«⌐  óδñѽ¿Γ∞  í½«¬  ½«¬á½∞¡«⌐  »á¼∩Γ¿
  1606.         «»αÑñѽ¿Γ∞ ñ«ßΓπ»¡δ⌐ «íΩѼ »á¼∩Γ¿.
  1607.  
  1608.                              çἫαᪿóá¡¿Ñ »á¼∩Γ¿.
  1609.  
  1610.              éδ ¼«ªÑΓÑ  óαѼѡ¡«  ºá¼«α«º¿Γ∞ ½«¬á½∞¡πε »á¼∩Γ∞ ß »«¼«Θ∞ε
  1611.         Σπ¡¬µ¿¿ LocalFreeze ñ½∩ úáαá¡Γ¿¿ Γ«ú«,  τΓ«íδ íδΓ∞ πóÑαÑ¡¡δ¼  ó
  1612.         Γ«¼,  τΓ«  »α¿  »«ß½ÑñπεΘ¿σ  ó맮óáσ  LocalAlloc ¿ LocalRealloc
  1613.         ¡¿¬á¬¿Ñ í½«¬¿ ¡Ñ íπñπΓ »«óΓ«α¡« óδñÑ½Ñ¡δ  ¿½¿  ßíα«ΦÑ¡δ.  é맮ó
  1614.         LocalFreeze   á¡á½«ú¿τÑ¡   π¬áºá¡¿ε   ó   »«ß½ÑñπεΘ¿σ   ó맮óáσ
  1615.         LocalAlloc ¿ LocalRealloc áΓα¿íπΓá LMEM_NOCOMPACT.
  1616.  
  1617.              éδ «Γ¼Ñ¡∩ÑΓÑ ºá¼«αᪿóá¡¿Ñ »á¼∩Γ¿ Σπ¡¬µ¿Ñ⌐ LocalMelt.
  1618.  
  1619.                 Å«½πτÑ¡¿Ñ ¿¡Σ«α¼áµ¿¿ « í½«¬Ñ ½«¬á½∞¡«⌐ »á¼∩Γ¿.
  1620.  
  1621.              öπ¡¬µ¿¿ LocalSize   ¿   LocalFlags    »αÑñ«ßΓáó½∩εΓ    óá¼
  1622.         ¿¡Σ«α¼áµ¿ε «  í½«¬áσ  ½«¬á½∞¡«⌐  »á¼∩Γ¿.  LocalSize  ó«ºóαáΘáÑΓ
  1623.         αẼÑα í½«¬á.  LocalFlags «»αÑñѽ∩ÑΓ,  ßíαáßδóáѼδ⌐ ½¿ í½«¬,  ¿
  1624.         Ñß½¿ ßíαáßδóáѼδ⌐,  Γ« ßíα«ΦÑ¡ ½¿ «¡. LocalFlags ΓᬪѠ߫«íΘáÑΓ
  1625.         ß«ßΓ«∩¡¿Ñ ßτÑΓτ¿¬á í½«¬¿α«ó«¬ ñá¡¡«ú« í½«¬á.
  1626.  
  1627.  
  1628.        Windows 3.0/pg/3#3                                        = 34 =
  1629.  
  1630.               16.2.3 ô»αáó½Ñ¡¿Ñ í½«¬á¼¿ ú½«áí½∞¡«⌐ ñ¿¡á¼¿τÑ߬«⌐  «í½áßΓ¿       
  1631.                                     ñá¡¡δσ.
  1632.  
  1633.              â½«íá½∞¡á∩ ñ¿¡á¼¿τÑ߬á∩  «í½áßΓ∞ »á¼∩Γ¿ »αÑñßΓáó½∩ÑΓ ß«í«⌐
  1634.         ß¿ßΓѼ¡δ⌐  αÑßπαß,  ¬«Γ«αδ⌐  αáºñѽ∩ÑΓß∩  αáº¡δ¼¿   »α¿¬½áñ¡δ¼¿
  1635.         »α«úαἼἿ.   Åਪ½áñ¡á∩  »α«úαἼᠠ¼«ªÑΓ  ºá»α«ß¿Γ∞  Windows
  1636.         óδñѽ¿Γ∞ í½«¬ »á¼∩Γ¿ ó ú½«íá½∞¡«⌐ ñ¿¡á¼¿τÑ߬«⌐ «í½áßΓ¿ »á¼∩Γ¿ ß
  1637.         »«¼«Θ∞ε Σπ¡¬µ¿¿ GlobalAlloc.  Windows ¿ß»«½∞ºπÑΓ φΓπ ªÑ Σπ¡¬µ¿ε
  1638.         ñ½∩ óδñѽѡ¿∩ »á¼∩Γ¿ ñ½∩ ßó«¿σ ß«íßΓóÑ¡¡δσ ¡πªñ. Æá¬¿¼ «íαẫ¼,
  1639.         ß  »«¼«Θ∞ε  Σπ¡¬µ¿⌐,  «»¿ßá¡¡δσ ó ñá¡¡«¼ αáºñѽÑ,  óδ »«½πτáÑΓÑ
  1640.         ñ«ßΓπ»  ¬  ó«º¼«ª¡«ßΓ∩¼  ß¿ßΓÑ¼δ  π»αáó½Ñ¡¿∩  »á¼∩Γ∞ε  Windows,
  1641.         ¬«Γ«αδÑ  Windows ¿ß»«½∞ºπÑΓ ñ½∩ ß«íßΓóÑ¡¡δσ ¡πªñ.  èα«¼Ñ φΓ«ú«,
  1642.         φΓ¿  Σπ¡¬µ¿¿  »«ºó«½∩εΓ  óáΦÑ⌐  »α«úαἼѠ  ¬«¡¬πα¿α«óáΓ∞   ¿½¿
  1643.         ß«Γαπñ¡¿τáΓ∞  ß  ßἫ⌐  ß¿ßΓѼ«⌐  ¡á  Γ«¼ ªÑ πα«ó¡Ñ »α¿ó¿½Ñú¿⌐.
  1644.         ìÑ»αáó¿½∞¡«Ñ   ¿ß»«½∞º«óá¡¿Ñ    φΓ¿σ    »α¿ó¿½Ñú¿⌐    π¼Ñ¡∞ΦáÑΓ
  1645.         ó«º¼«ª¡«ßΓ¿  óáΦÑ⌐  »α«úαá¼¼δ  »«  óºá¿¼«ñÑ⌐ßΓó¿ε ß Windows ¿ ß
  1646.         ñαπú¿¼¿ »α¿¬½áñ¡δ¼¿ »α«úαἼἿ.
  1647.  
  1648.              æ½ÑñπεΘ¿Ñ «»¿ßá¡¿∩  »«¼«úπΓ  óá¼  «»αÑñѽ¿Γ∞,  úñÑ   ½πτΦÑ
  1649.         óδñѽ∩Γ∞ í½«¬  »á¼∩Γ¿ ó ¬áªñ«¼ ¬«¡¬αÑΓ¡«¼ ß½πτáÑ:  ó ú½«íá½∞¡«⌐
  1650.         ¿½¿ ½«¬á½∞¡«⌐ ñ¿¡á¼¿τÑ߬«⌐ «í½áßΓ¿ »á¼∩Γ¿.
  1651.  
  1652.              - éδ  ñ«½ª¡δ  áñαÑß«óáΓ∞  í½«¬,  óδñѽѡ¡δ⌐  ó   ½«¬á½∞¡«⌐
  1653.                ñ¿¡á¼¿τÑ߬«⌐ «í½áßΓ¿    »á¼∩Γ¿,   ß   »«¼«Θ∞ε   í½¿ª¡Ñú«
  1654.                π¬áºáΓѽ∩  (»«ß½Ñ  Ñú«  αáºαÑΦÑ¡¿∩  ß  »«¼«Θ∞ε   Σπ¡¬µ¿¿
  1655.                LocalLock). æ ñαπú«⌐ ßΓ«α«¡δ, óδ ñ«½ª¡δ áñαÑß«óáΓ∞ í½«¬,
  1656.                óδñѽѡ¡δ⌐ ó ú½«íá½∞¡«⌐ ñ¿¡á¼¿τÑ߬«⌐ «í½áßΓ¿  »á¼∩Γ¿,  ß
  1657.                »«¼«Θ∞ε  ñá½∞¡Ñú«  π¬áºáΓѽ∩  (»«ß½Ñ  Ñú«  αáºαÑΦÑ¡¿∩  ß
  1658.                »«¼«Θ∞ε Σπ¡¬µ¿¿ GlobalLock).
  1659.  
  1660.              - ï«¬á½∞¡á∩ ñ¿¡á¼¿τÑ߬á∩ «í½áßΓ∞ ñá¡¡δσ «Γ¡«ß¿Γѽ∞¡« ¼á½δ⌐
  1661.                αÑßπαß,   »«ß¬«½∞¬π  «¡á  αẼÑΘáÑΓß∩  ó  áóΓ«¼áΓ¿τÑ߬«¼
  1662.                ßÑú¼Ñ¡ΓÑ ñá¡¡δσ »α¿¬½áñ¡«⌐  »α«úαá¼¼δ,  αẼÑα  ¬«Γ«α«ú«
  1663.                «úαá¡¿τÑ¡ 64è.   ÇóΓ«¼áΓ¿τÑ߬¿⌐   ßÑú¼Ñ¡Γ  ñá¡¡δσ  ¬α«¼Ñ
  1664.                ú½«íá½∞¡«⌐ ñ¿¡á¼¿τÑ߬«⌐ «í½áßΓ¿ »á¼∩Γ¿ ó¬½ετáÑΓ  ßΓѬ  ¿
  1665.                ßΓáΓ¿τÑ߬¿Ñ   ñá¡¡δÑ.  Å«φΓ«¼π  ú½«íá½∞¡á∩  ñ¿¡á¼¿τÑ߬á∩
  1666.                «í½áßΓ∞ ñá¡¡δσ ¡á¼¡«ú« í«½∞ΦÑ.
  1667.  
  1668.              àß½¿ «íΩÑ¬Γ »á¼∩Γ¿ óσ«ñ¿Γ ó ΓѬπΘ¿⌐ "αáí«τ¿⌐ ¡áí«α", Γ« óδ
  1669.         ñ«½ª¡δ »«»δΓáΓ∞ß∩  αáß»«½«ª¿Γ∞  Ñú«  ó  ½«¬á½∞¡«⌐  ñ¿¡á¼¿τÑ߬«⌐
  1670.         «í½áßΓ¿ »á¼∩Γ¿ ß ΓѼ,  τΓ«íδ ¿ß»«½∞º«óáΓ∞ »αÑ¿¼πΘÑßΓóá  í½¿ª¡Ñ⌐
  1671.         áñαÑßᵿ¿.  é ΓѬπΘ¿⌐ "αáí«τ¿⌐ ¡áí«α" óσ«ñ∩Γ ñá¡¡δÑ,  ¬ ¬«Γ«αδ¼
  1672.         óδ ñ«½ª¡δ  τáßΓ«  «íαáΘáΓ∞ß∩  ó«  óαѼ∩  óδ»«½¡Ñ¡¿∩  ñ½¿Γѽ∞¡δσ
  1673.         «»Ñαᵿ⌐.   ÄíΩѬΓδ,   ñ«ßΓπ»   ¬  ¬«Γ«αδ¼  »α«¿ºó«ñ¿Γß∩  αѪÑ,
  1674.         »«¼ÑΘáεΓß∩  ó  ú½«íá½∞¡πε  ñ¿¡á¼¿τÑ߬πε   «í½áßΓ∞   ñá¡¡δσ.   é
  1675.         ¡Ñ¬«Γ«αδσ  »α¿¬½áñ¡δσ  »α«úαá¼¼áσ  ñ«ó«½∞¡«  τπóßΓó¿Γѽѡ «í¼Ñ¡
  1676.         ñá¡¡δ¼¿ ¼Ñªñπ  ú½«íá½∞¡«⌐  ¿  ½«¬á½∞¡«⌐  «í½áßΓ∩¼¿  »á¼∩Γ¿  »α¿
  1677.         ¿º¼Ñ¡Ñ¡¿¿ "αáí«τÑú« ¡áí«αá".
  1678.  
  1679.              Åα¿ αáºαáí«Γ¬Ñ  ßΓαπ¬Γπαδ  «íΩÑ¬Γ«ó  ú½«íá½∞¡«⌐ »á¼∩Γ¿ óá¼
  1680.         τáßΓ« »α¿σ«ñ¿Γß∩ óδí¿αáΓ∞ ¼Ñªñπ ó«º¼«ª¡«ßΓ∞ε αáºí¿Γ∞ «íΩÑ¬Γ  ¡á
  1681.         φ½Ñ¼Ñ¡Γáα¡δÑ  »«ñ«íΩѬΓδ  ¿½¿  ó«º¼«ª¡«ßΓ∞ε ß«Ññ¿¡¿Γ∞ ¡Ñí«½∞Φ¿Ñ
  1682.         «íΩѬΓδ ó «ñ¿¡ í«½ÑÑ ß½«ª¡δ⌐.  Åα¿ óδí«αÑ,  óδ ñ«½ª¡δ »α¿¡¿¼áΓ∞
  1683.         ó« ó¡¿¼á¡¿Ñ ß½ÑñπεΘÑÑ:
  1684.  
  1685.  
  1686.        Windows 3.0/pg/3#3                                        = 35 =
  1687.  
  1688.              - èáªñδ⌐  ú½«íá½∞¡δ⌐ «íΩÑ¬Γ ΓαÑíπÑΓ ñ«»«½¡¿Γѽ∞¡« »α¿¼Ñα¡«
  1689.                20 íá⌐Γ.
  1690.  
  1691.              - â½«íá½∞¡δÑ «íΩѬΓδ óδα«ó¡Ñ¡δ »« úαá¡¿µÑ αáºñѽ«ó  »«  32
  1692.                íá⌐Γá.   ÅÑαóδÑ  16  íá⌐Γ  ºáαѺÑαó¿α«óá¡δ  »«ñ  «íδτ¡δ⌐
  1693.                ºáú«½«ó«¬ í½«¬á »á¼∩Γ¿. Åα¿ αáí«ΓÑ Windows ó ßΓá¡ñáαΓ¡«⌐
  1694.                ¬«¡Σ¿úπαᵿ¿    »á¼∩Γ¿   ¿½¿   ó   ¬«¡Σ¿úπαᵿ¿   »á¼∩Γ¿
  1695.                αáßΦ¿αÑ¡¡«ú« αѪ¿¼á »α«µÑßß«αá 80386 τ¿ß½«  ñÑß¬α¿»Γ«α«ó
  1696.                »á¼∩Γ¿   «úαá¡¿τÑ¡«   8192,   ¿º  ¬«Γ«αδσ  Γ«½∞¬«  τáßΓ∞
  1697.                »α¿¡áñ½Ñª¿Γ ¬áªñ«⌐ »α¿¬½áñ¡«⌐ »α«úαá¼¼Ñ.
  1698.  
  1699.              é «ß¡«ó¡«¼,  óá¼  ß½ÑñπÑΓ  ¿ºíÑúáΓ∞  óδñѽѡ¿∩   ¡Ñí«½∞Φ¿σ
  1700.         «íΩÑ¬Γ«ó. Æá¬«⌐   «íΩÑ¬Γ   (128  ¿½¿  ¼Ñ¡∞ΦÑ  íá⌐Γ)  ¡ÑßÑΓ  ÑΘÑ
  1701.         ñ«»«½¡¿Γѽ∞¡«⌐ ¿¡Σ«α¼áµ¿¿ 15 »α«µÑ¡Γ«ó,  »½εß «ßΓáΓ«¬, »α¿¼Ñα¡«
  1702.         16 íá⌐Γ,  ¬«úñá  αẼÑα  í½«¬á  ¡Ñ  ∩ó½∩ÑΓß∩  ¬αáΓ¡δ¼  32.  ¥Γá
  1703.         ñ«»«½¡¿Γѽ∞¡á∩ ¿¡Σ«α¼áµ¿∩ ¼«ªÑΓ íδΓ∞ óδα«ó¡Ñ¡á,  ¡« «¡á  óßÑúñá
  1704.         »α¿ßπΓßΓóπÑΓ. éδ  ñ«½ª¡δ  «ß«íÑ¡¡«  ¿ºíÑúáΓ∞ óδñѽѡ¿∩ í«½∞Φ«ú«
  1705.         τ¿ß½á (¡Ñ߬«½∞¬«  ß«ΓÑ¡)  ¼Ñ½¬¿σ  «íΩÑ¬Γ«ó,   Ñß½¿   ¿σ   ¼«ª¡«
  1706.         «íΩÑñ¿¡¿Γ∞ ó   ¡Ñ߬«½∞¬«   í«½∞Φ¿σ   «íΩÑ¬Γ«ó.  ¥Γ«  ¡Ñ  Γ«½∞¬«
  1707.         π¼Ñ¡∞ΦáÑΓ «íΩѼ ñ«»«½¡¿Γѽ∞¡«⌐ ¿¡Σ«α¼áµ¿¿,  ¡« ΓᬪѠ ¿ß¬½ετáÑΓ
  1708.         ¡Ñ«íσ«ñ¿¼«ßΓ∞  ¿ß»«½∞º«óá¡¿∩  í«½∞Φ«ú«  τ¿ß½á  ñÑß¬α¿»Γ«α«ó  ¿º
  1709.         «úαá¡¿τÑ¡¡«ú« ¡áí«αá.
  1710.  
  1711.              Åα¿ πτÑΓÑ  óδΦÑ»α¿óÑñÑ¡¡δσ  ºá¼Ñτá¡¿⌐   óδñѽѡ¿Ñ   í½«¬«ó
  1712.         »á¼∩Γ¿  ó  ú½«íá½∞¡«⌐  ñ¿¡á¼¿τÑ߬«⌐  «í½áßΓ¿  »á¼∩Γ¿ á¡á½«ú¿τ¡«
  1713.         αáí«ΓÑ  ß  í½«¬á¼¿  »á¼∩Γ¿  ó  ½«¬á½∞¡«⌐  ñ¿¡á¼¿τÑ߬«⌐  «í½áßΓ¿
  1714.         »á¼∩Γ¿.  ô»αáó½Ñ¡¿Ñ ½«¬á½∞¡«⌐ »á¼∩Γ∞ε «»¿ßá¡« ó αáºñѽѠ16.2.2,
  1715.         "ô»αáó½Ñ¡¿Ñ í½«¬á¼¿ ½«¬á½∞¡«⌐ ñ¿¡á¼¿τÑ߬«⌐ «í½áßΓ¿ »á¼∩Γ¿".
  1716.  
  1717.              é ß½ÑñπεΘ¿σ αáºñѽáσ »α¿óÑñÑ¡« «»¿ßá¡¿Ñ Σπ¡¬µ¿⌐ π»αáó½Ñ¡¿∩
  1718.         ú½«íá½∞¡«⌐ ñ¿¡á¼¿τÑ߬«⌐ »á¼∩Γ∞ε.
  1719.  
  1720.            éδñѽѡ¿Ñ í½«¬á ó ú½«íá½∞¡«⌐ ñ¿¡á¼¿τÑ߬«⌐ «í½áßΓ¿ »á¼∩Γ¿.
  1721.  
  1722.              öπ¡¬µ¿∩ GlobalAlloc   óδñѽ∩ÑΓ   í½«¬   »á¼∩Γ¿  π¬áºá¡¡«ú«
  1723.         αẼÑαá ó  ú½«íá½∞¡«⌐  ñ¿¡á¼¿τÑ߬«⌐  «í½áßΓ¿  »á¼∩Γ¿.   Windows
  1724.         π»αáó½∩ÑΓ í½«¬á¼¿    »á¼∩Γ¿    ó    ß««ΓóÑΓßΓó¿¿   ß   Γ«⌐   ªÑ
  1725.         ¬½áßß¿Σ¿¬áµ¿Ñ⌐, τΓ« ¿ ó ½«¬á½∞¡«⌐ »á¼∩Γ¿, Γ.Ñ. í½«¬¿ ¼«úπΓ íδΓ∞
  1726.         Σ¿¬ß¿α«óá¡¡δÑ, »ÑαѼÑΘáѼδÑ   ¿  ßíαáßδóáѼδÑ.  Æá¬¿¼  «íαẫ¼,
  1727.         ¼«úπΓ íδΓ∞ ºáñá¡δ ß««ΓóÑΓßΓóπεΘ¿Ñ Σ½áú¿:
  1728.  
  1729.              - GMEM_FIXED
  1730.  
  1731.              - GMEM_MOVEABLE
  1732.  
  1733.              - GMEM_MOVEABLE ¿ LMEM_DISCARDABLE
  1734.  
  1735.              ä½∩ π»αáó½Ñ¡¿∩  ú½«íá½∞¡«⌐  »á¼∩Γ∞ε  ¿ß»«½∞ºπÑΓß∩  Γ«Γ  ªÑ
  1736.         ¼Ñσá¡¿º¼, τΓ«   ¿   ñ½∩  π»αáó½Ñ¡¿∩  ½«¬á½∞¡«⌐  »á¼∩Γ∞ε.  Æá¬¿¼
  1737.         «íαẫ¼,  óδ ¼«ªÑΓÑ π¬áºáΓ∞  »α¿  ó맮óÑ  GlobalAlloc  áΓα¿íπΓδ
  1738.         GMEM_NODISCARD     ¿    GMEM_NOCOMPACT.    æ¼«Γα¿ΓÑ    «»¿ßá¡¿Ñ
  1739.         LMEM_NOCOMPACT ¿ LMEM_NODISCARD ó αáºñѽѠ"éδñѽѡ¿Ñ  »á¼∩Γ¿  ó
  1740.         ½«¬á½∞¡«⌐ ñ¿¡á¼¿τÑ߬«⌐ «í½áßΓ¿ »á¼∩Γ¿".
  1741.  
  1742.        Windows 3.0/pg/3#3                                        = 36 =
  1743.  
  1744.  
  1745.              GlobalAlloc ó«ºóαáΘáÑΓ ñÑß¬α¿»Γ«α óδñѽѡ¡«ú« ó ú½«íá½∞¡«⌐
  1746.         ñ¿¡á¼¿τÑ߬«⌐ «í½áßΓ¿  »á¼∩Γ¿  í½«¬á.  àß½¿  ñ½∩  πñ«ó½ÑΓó«αÑ¡¿∩
  1747.         ºá»α«ßá ¡Ññ«ßΓáΓ«τ¡«   »á¼∩Γ¿,   GlobalAlloc  ó«ºóαáΘáÑΓ  NULL.
  1748.         Å«ß¬«½∞¬π ¡Ñ úáαá¡Γ¿απÑΓß∩ πñ«ó½ÑΓó«αÑ¡¿Ñ ºá»α«ßá, Γ« óδ ñ«½ª¡δ
  1749.         »α«óÑα∩Γ∞ ó«ºóαáΘáѼ«Ñ     Σπ¡¬µ¿Ñ⌐    GlobalAlloc    º¡áτÑ¡¿Ñ.
  1750.         ü«½∞Φ¿¡ßΓóπ «»¿ßá¡¡δσ ó ß½ÑñπεΘ¿σ  αáºñѽáσ  Σπ¡¬µ¿⌐  ΓαÑíπÑΓß∩
  1751.         ñá¡¡δ⌐ ñÑß¬α¿»Γ«α.
  1752.  
  1753.           éδñѽѡ¿Ñ í½«¬«ó  ú½«íá½∞¡«⌐  »á¼∩Γ¿ ¿º DLL »α¿ αáí«ΓÑ »«ñ
  1754.                           ¬«¡Σ¿úπαᵿÑ⌐ »á¼∩Γ¿ ß EMS.
  1755.  
  1756.              Å« π¼«½τá¡¿ε Windows πñ«ó½ÑΓó«α∩ÑΓ ºá»α«ß DLL ¡á óδñѽѡ¿Ñ
  1757.         »á¼∩Γ¿ ó  ºáó¿ß¿¼«ßΓ¿  «Γ  Γ«ú«,  ¬á¬¿¼  «íαẫ¼ íδ½á ºáúαπªÑ¡á
  1758.         í¿í½¿«ΓѬá. àß½¿  í¿í½¿«ΓѬᠠíδ½á  ºáúαπªÑ¡á  ∩ó¡«  ß  »«¼«Θ∞ε
  1759.         ó맮óá Σπ¡¬µ¿¿ LoadModule, Γ« Windows óδñѽ∩ÑΓ ú½«íá½∞¡δÑ í½«¬¿
  1760.         ó »á¼∩Γ¿,  ¡áσ«ñ∩ΘÑ⌐ß∩ ¡¿ªÑ úαá¡¿µδ «Γ«íαáªÑ¡¿∩. ä½∩ í¿í½¿«ΓѬ,
  1761.         ºáúαπªÑ¡¡δσ ¡Ñ∩ó¡« «»ÑαáΓ«α«¼ IMPORTS ó Σá⌐½Ñ «»¿ßá¡¿∩ αÑßπαß«ó
  1762.         »α¿¬½áñ¡«⌐ »α«úαá¼¼δ (.DEF),  Windows óδñѽ∩ÑΓ í½«¬  ú½«íá½∞¡«⌐
  1763.         »á¼∩Γ¿ óδΦÑ úαá¡¿µδ «Γ«íαáªÑ¡¿∩ (Ñß½¿ Windows αáí«ΓáÑΓ ó αѪ¿¼Ñ
  1764.         ß í«½∞Φ¿¼ ΣαÑ⌐¼«¼ «Γ«íαáªÑ¡¿∩).  àß½¿ Windows αáí«ΓáÑΓ ó αѪ¿¼Ñ
  1765.         ß ¼á½δ¼ ΣαÑ⌐¼«¼ «Γ«íαáªÑ¡¿∩, ú½«íá½∞¡δÑ í½«¬¿ »á¼∩Γ¿ óδñѽ∩εΓß∩
  1766.         ¡¿ªÑ úαá¡¿µδ «Γ«íαáªÑ¡¿∩.
  1767.  
  1768.              â½«íá½∞¡δÑ «íΩѬΓδ   »á¼∩Γ¿,   óδñѽѡ¡δÑ   ¡¿ªÑ   úαá¡¿µδ
  1769.         «Γ«íαáªÑ¡¿∩, ¼«úπΓ  ß½πª¿Γ∞  »«¼Ñσ«⌐ ¡Ñ¬«Γ«αδ¼ Γ¿»á¼ í¿í½¿«ΓѬ,
  1770.         Γᬿ¼, ¡á»α¿¼Ñα,  ¬á¬  ñαá⌐óÑα  »α¿¡ΓÑαá,  ¬«Γ«αδ¼   ¡Ñ«íσ«ñ¿¼δ
  1771.         í«½∞Φ¿Ñ íπΣÑαδ ñ½∩ ñá¡¡δσ.  àß½¿ ¼ÑßΓ« »«ñ ¡¿σ íπñÑΓ óδñѽ∩Γ∞ß∩
  1772.         ¡¿ªÑ úαá¡¿µδ «Γ«íαáªÑ¡¿∩, Γ« φëà«úαá¡¿τÑ¡¡δ⌐ ß¿ßΓѼ¡δ⌐ αÑßπαß
  1773.         íπñÑΓ ¿ß»«½∞º«óáΓ∞ß∩ ¡ÑφΣΣÑ¬Γ¿ó¡«. ä½∩ αÑΦÑ¡¿∩ φΓ«⌐ »α«í½Ñ¼δ óδ
  1774.         ¼«ªÑΓÑ ¬«¼»¿½¿α«óáΓ∞ óáΦπ DLL ß ¬½ετѼ -e ¬«¼»¿½∩Γ«αá  αÑßπαß«ó
  1775.         RC. ¥Γ«Γ ¬½ετ »ÑαѬ½ετáÑΓ αẼÑΘÑ¡¿Ñ ú½«íá½∞¡δσ «íΩÑ¬Γ«ó »á¼∩Γ¿
  1776.         ß  ¿ß»«½∞ºπѼ«ú«   »«   π¼«½τá¡¿ε   αẼÑΘÑ¡¿∩   ¡¿ªÑ   úαá¡¿µδ
  1777.         «Γ«íαáªÑ¡¿∩ ¡á αẼÑΘÑ¡¿Ñ óδΦÑ úαá¡¿µδ.
  1778.  
  1779.              ü¿í½¿«ΓѬ¿, ¬«¼»¿½¿απѼδÑ   ß   ¬½ετѼ   -Ñ,  ñ«½ª¡δ  íδΓ∞
  1780.         ¡á»¿ßá¡δ ß πτÑΓ«¼ Γ«ú«, τΓ« »α¿ »ÑαѬ½ετÑ¡¿¿ ß ¬«¡ΓѬßΓá ºáñáτ¿
  1781.         ¿σ  ú½«íá½∞¡δÑ  «íΩѬΓδ  íπñπΓ «Γ«íαáªÑ¡δ ó αáßΦ¿αÑ¡¡πε »á¼∩Γ∞.
  1782.         é«º¼«ª¡«  í¿í½¿«ΓѬѠ ¡Ñ«íσ«ñ¿¼«,  τΓ«íδ  ¡Ñ¬«Γ«αδÑ  ú½«íá½∞¡δÑ
  1783.         «íΩѬΓδ óßÑúñá ¡áσ«ñ¿½¿ß∞ ¡¿ªÑ úαá¡¿µδ «Γ«íαáªÑ¡¿∩,  ñáªÑ ¬«úñá
  1784.         »α«¿ßσ«ñ¿Γ »ÑαѬ½ετÑ¡¿Ñ ¼Ñªñπ »α¿¬½áñ¡δ¼¿ »α«úαἼἿ.  é  φΓ«¼
  1785.         ß½πτáÑ í¿í½¿«ΓѬᠼ«ªÑΓ óδºóáΓ∞ Σπ¡¬µ¿ε GlobalAlloc c áΓα¿íπΓ«¼
  1786.         GMEM_NOT_BANKED.
  1787.  
  1788.           ü½«¬¿α«óá¡¿Ñ ¿   αáºí½«¬¿α«óá¡¿Ñ   í½«¬«ó   ó   ú½«íá½∞¡«⌐
  1789.                          ñ¿¡á¼¿τÑ߬«⌐ «í½áßΓ¿ »á¼∩Γ¿.
  1790.  
  1791.              éδ ¼«ªÑΓÑ   »«½πτ¿Γ∞  ñá½∞¡¿⌐  áñαÑß  í½«¬á  ó  ú½«íá½∞¡«⌐
  1792.         ñ¿¡á¼¿τÑ߬«⌐ «í½áßΓ¿ »á¼∩Γ¿ ß  »«¼«Θ∞ε  Σπ¡¬µ¿¿  GlobalLock.  é
  1793.         αÑá½∞¡«¼ αѪ¿¼Ñ   φΓá   Σπ¡¬µ¿∩   í½«¬¿απÑΓ   í½«¬   »á¼∩Γ¿   ó
  1794.         «»αÑñѽѡ¡«¼ ¼ÑßΓÑ.  é« óßÑσ αѪ¿¼áσ ñá¡¡á∩ Σπ¡¬µ¿∩  ó«ºóαáΘáÑΓ
  1795.         ñá½∞¡¿⌐  π¬áºáΓѽ∞,  ñ½∩ ¬«Γ«α«ú« úáαá¡Γ¿απÑΓß∩,  τΓ« ñ« ó맮óá
  1796.         GlobalUnlock «¡ «ßΓá¡ÑΓß∩ ¬«ααÑ¬Γ¡δ¼.
  1797.  
  1798.        Windows 3.0/pg/3#3                                        = 37 =
  1799.  
  1800.  
  1801.              é αÑá½∞¡«¼ αѪ¿¼Ñ Σπ¡¬µ¿∩ GlobalLock óδ¡πªñÑ¡á í½«¬¿α«óáΓ∞
  1802.         «íΩÑ¬Γ  ó  »á¼∩Γ¿,  τΓ«íδ Ñú« π¬áºáΓѽ∞ «ßΓáóá½ß∩ ¬«ααÑ¬Γ¡δ¼ ñ«
  1803.         ó맮óá   GlobalUnlock.   Å«ß¬«½∞¬π    »α¿    φΓ«¼    »α«¿ßσ«ñ¿Γ
  1804.         ñÑ⌐ßΓó¿Γѽ∞¡«Ñ í½«¬¿α«óá¡¿Ñ «íΩѬΓá,  Γ« GlobalLock πóѽ¿τ¿óáÑΓ
  1805.         ßτÑΓτ¿¬ í½«¬¿α«ó«¬    «íΩѬΓá.    ¥Γ«Γ    ßτÑΓτ¿¬     »«ºó«½∩ÑΓ
  1806.         úáαá¡Γ¿α«óáΓ∞,  τΓ«  «íΩÑ¬Γ  ¡Ñ  íπñÑΓ  ßíα«ΦÑ¡ ¿½¿ «τ¿ΘÑ¡ ó Γ«
  1807.         óαѼ∩, ¬«úñá «¡ ¿ß»«½∞ºπÑΓß∩.
  1808.  
  1809.              é ºáΘ¿ΦÑ¡¡«¼ αѪ¿¼Ñ (ßΓá¡ñáαΓ¡«¼  ¿½¿  αáßΦ¿αÑ¡¡«¼  αѪ¿¼Ñ
  1810.         »α«µÑßß«αá 80386)  Windows  Σ¿¬ß¿απÑΓ  «íΩÑ¬Γ ó »á¼∩Γ¿ Γ«½∞¬« ó
  1811.         Γ«¼ ß½πτáÑ,   Ñß½¿   «¡   ßíαáßδóáѼδ⌐.   ô¬áºáΓѽ∞    «ßΓáÑΓß∩
  1812.         ¬«ααÑ¬Γ¡δ¼, »«¬á í½«¬ »ÑαѼÑΘáÑΓß∩ ó ½¿¡Ñ⌐¡«⌐ »á¼∩Γ¿. Å«ß¬«½∞¬π
  1813.         Windows ó ñÑ⌐ßΓó¿Γѽ∞¡«ßΓ¿ ¡Ñ í½«¬¿απÑΓ «íΩÑ¬Γ ó »á¼∩Γ¿,  Γ«  ó
  1814.         ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ GlobalLock ¡Ñ πóѽ¿τ¿óáÑΓ ßτÑΓτ¿¬á í½«¬¿α«ó«¬
  1815.         ñ½∩ ¡ÑßíαáßδóáѼδσ  «íΩÑ¬Γ«ó.  GlobalUnlock  π¼Ñ¡∞ΦáÑΓ  ßτÑΓτ¿¬
  1816.         í½«¬¿α«ó«¬, Γ«½∞¬«, Ñß½¿ Σπ¡¬µ¿∩ GlobalLock Ñú« πóѽ¿τ¿½á.
  1817.  
  1818.              Äñ¡á¬«, óδ óßÑ αáó¡« »α¿ αáí«ΓÑ ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ ñ«½ª¡δ
  1819.         óδºóáΓ∞ Σπ¡¬µ¿ε  GlobalUnlock  »«ß½Ñ   Γ«ú«,   ¬á¬   π¬áºáΓѽ∞,
  1820.         ó«ºóαáΘáѼδ⌐ Σπ¡¬µ¿Ñ⌐ GlobalLock, óá¼ í«½∞ΦÑ ¡Ñ ¡πªÑ¡.
  1821.  
  1822.              èα«¼Ñ Σπ¡¬µ¿⌐   GlobalLock   ¿  GlobalUnloc  ¡á  ß«ßΓ«∩¡¿Ñ
  1823.         ßτÑΓτ¿¬á í½«¬¿α«ó«¬ ó½¿∩εΓ ß½ÑñπεΘ¿Ñ Σπ¡¬µ¿¿:
  1824.  
  1825.              ôóѽ¿τ¿óáεΓ ß«ñÑন¼«Ñ ßτÑΓτ¿¬á í½«¬¿α«ó«¬
  1826.              ──────────────────────────────────────────
  1827.              GlobalFix
  1828.              GlobalWire
  1829.              LockSegment
  1830.  
  1831.              ô¼Ñ¡∞ΦáεΓ ß«ñÑন¼«Ñ ßτÑΓτ¿¬á í½«¬¿α«ó«¬
  1832.              ──────────────────────────────────────────
  1833.              GlobalUnfix
  1834.              GlobalUnWire
  1835.              UnlockSegment
  1836.  
  1837.              Ä»¿ßá¡¿Ñ φΓ¿σ Σπ¡¬µ¿⌐ ß¼«Γα¿ΓÑ ó  æ»αáó«τ¡«¼  απ¬«ó«ñßΓóÑ,
  1838.         Γ«¼ 1.   öπ¡¬µ¿∩   GlobalFlags  ó«ºóαáΘáÑΓ  ß«ßΓ«∩¡¿Ñ  ßτÑΓτ¿¬á
  1839.         í½«¬¿α«ó«¬, πßΓá¡«ó½Ñ¡¡«Ñ φΓ¿¼¿ Σπ¡¬µ¿∩¼¿.
  1840.  
  1841.              Éá¡∞ΦÑ í佫   ß¬áºá¡«,   τΓ«   ñ½∩   ½«¬á½∞¡δσ   «íΩÑ¬Γ«ó,
  1842.         óδñѽѡ¡δσ ß áΓα¿íπΓ«¼ LMEM_FIXED, ¡Ñ ¡πª¡« »«½πτáΓ∞ ¿σ áñαÑß ß
  1843.         »«¼«Θ∞ε Σπ¡¬µ¿¿ LocalLock. Äñ¡á¬« φΓ« ¡Ñ «Γ¡«ß¿Γß∩ ¬ ú½«íá½∞¡δ¼
  1844.         Σ¿¬ß¿α«óá¡¡δ¼  «íΩѬΓá¼.  ä½∩  »«½πτÑ¡¿∩  áñαÑßá Σ¿¬ß¿α«óá¡¡«ú«
  1845.         «íΩѬΓá óßÑ αáó¡« ¡Ñ«íσ«ñ¿¼« ¿ß»«½∞º«óáΓ∞ Σπ¡¬µ¿ε GlobalLock.
  1846.  
  1847.              æ½ÑñπεΘ¿⌐ »α¿¼Ñα ¿½½εßΓα¿απÑΓ »«½πτÑ¡¿Ñ áñαÑßá ú½«íá½∞¡«ú«
  1848.         «íΩѬΓá.
  1849.  
  1850.              HANDLE hGlobalObject;
  1851.              LPSTR  lpGlobalObject;
  1852.  
  1853.  
  1854.        Windows 3.0/pg/3#3                                        = 38 =
  1855.  
  1856.              if(hGlobalObject = GlobalAlloc(GMEM_MOVEABLE,1024))
  1857.              {
  1858.                 if(lpGlobalObject = GlobalLock(hGlobalObject))
  1859.                 {
  1860.                     /* lpGlobalObject ¿ß»«½∞ºπÑΓß∩ ¬á¬ ñá½∞¡¿⌐ π¬áºá-
  1861.                        Γѽ∞ ¡á «íΩÑ¬Γ ó ú½«íá½∞¡«⌐ ñ¿¡á¼¿τÑ߬«⌐ «í½áßΓ¿
  1862.                        »á¼∩Γ¿ */
  1863.                     .
  1864.                     .
  1865.                     .
  1866.                     GlobalUnlock(hGlobalObject);
  1867.                  else
  1868.                  {
  1869.                      /* ÉÑᬵ¿∩ ¡á ¡Ñ󫺼«ª¡«ßΓ∞ í½«¬¿α«ó¬¿ */
  1870.                  }
  1871.              }
  1872.              else
  1873.              {
  1874.                 /* ìÑ󫺼«ª¡« óδñѽ¿Γ∞ ¼ÑßΓ« »«ñ 1024 íá⌐Γá */
  1875.              }
  1876.  
  1877.              àß½¿ óδ óδñѽ∩ÑΓÑ «íΩѬΓ, αẼÑα ¬«Γ«α«ú« αáóÑ¡ ¿½¿ í«½∞ΦÑ
  1878.         64è, óδ  ñ«½ª¡δ   ∩ó¡«   «»αÑñѽ¿Γ∞   π¬áºáΓѽ∞,   ó«ºóαáΘáѼδ⌐
  1879.         GlobalLock, ¬á¬  huge.  ì¿ªÑ  »α¿óÑñÑ¡  »α¿¼Ñα  óδñѽѡ¿∩ í½«¬á
  1880.         αẼÑα«¼ 128è:
  1881.  
  1882.              HANDLE hGlobalObject;
  1883.              char huge * hpGlobalObject;
  1884.  
  1885.              if(hGlobalObject = GlobalAlloc(GMEM_MOVEABLE,0x20000L))
  1886.              {
  1887.                 if(hpGlobalObject = GlobalLock(hGlobalObject))
  1888.                 {
  1889.                     /* hpGlobalObject ¿ß»«½∞ºπÑΓß∩ ¬á¬ ñá½∞¡¿⌐ π¬áºá-
  1890.                        Γѽ∞ ¡á «íΩÑ¬Γ ó ú½«íá½∞¡«⌐ ñ¿¡á¼¿τÑ߬«⌐ «í½áßΓ¿
  1891.                        »á¼∩Γ¿ */
  1892.                     .
  1893.                     .
  1894.                     .
  1895.                     GlobalUnlock(hGlobalObject);
  1896.                  else
  1897.                  {
  1898.                      /* ÉÑᬵ¿∩ ¡á ¡Ñ󫺼«ª¡«ßΓ∞ í½«¬¿α«ó¬¿ */
  1899.                  }
  1900.              }
  1901.              else
  1902.              {
  1903.                 /* ìÑ󫺼«ª¡« óδñѽ¿Γ∞ ¼ÑßΓ« »«ñ í½«¬ αẼÑα«¼ 128è */
  1904.              }
  1905.  
  1906.             êº¼Ñ¡Ñ¡¿Ñ í½«¬á ú½«íá½∞¡«⌐ ñ¿¡á¼¿τÑ߬«⌐ «í½áßΓ¿ »á¼∩Γ¿.
  1907.  
  1908.              éδ ¼«ªÑΓÑ ¿º¼Ñ¡¿Γ∞ αẼÑα ¿ áΓα¿íπΓδ ú½«íá½∞¡«ú« í½«¬á »α¿
  1909.  
  1910.        Windows 3.0/pg/3#3                                        = 39 =
  1911.  
  1912.         ß«σαá¡Ñ¡¿¿ Ñú«  ß«ñÑন¼«ú«  ß  »«¼«Θ∞ε  Σπ¡¬µ¿¿ GlobalRealloc.
  1913.         àß½¿ óδ π¬áªÑΓÑ ¼Ñ¡∞Φ¿⌐ αẼÑα,  Windows «íαѪÑΓ í½«¬.  àß½¿ óδ
  1914.         π¬áªÑΓÑ    í«½∞Φ¿⌐   αẼÑα   ¿   áΓα¿íπΓ   GMEM_ZEROINIT,   Γ«
  1915.         ñ«»«½¡¿Γѽ∞¡á∩  τáßΓ∞  íπñÑΓ  ºá»«½¡Ñ¡á   ¡π½∩¼¿.   æ   »«¼«Θ∞ε
  1916.         áΓα¿íπΓ«ó  GMEM_DISCARD  ¿  GMEM_NOCOMPACT óδ ºá»αÑΓ¿ΓÑ Windows
  1917.         ßíαáßδóáΓ∞  ¿  »ÑαѼÑΘáΓ∞  í½«¬¿  ñ½∩  πñ«ó½ÑΓó«αÑ¡¿∩   ºá»α«ßá
  1918.         GlobalRealloc.
  1919.  
  1920.              èα«¼Ñ φΓ«ú«,  ß  »«¼«Θ∞ε  Σπ¡¬µ¿¿  GlobalRealloc óδ ¼«ªÑΓÑ
  1921.         ¿º¼Ñ¡¿Γ∞ áΓα¿íπΓδ í½«¬á ß« ßíαáßδóáѼ«ú«  ¡á  ¡ÑßíαáßδóáѼδ⌐  ¿
  1922.         ¡á«í«α«Γ. é «Γ½¿τ¿Ñ «Γ LocalRealloc, óδ ¼«ªÑΓÑ ¿º¼Ñ¡¿Γ∞ áΓα¿íπΓ
  1923.         í½«¬á ß  GMEM_FIXED  ¡á  GMEM_MOVEABLE  ¿½¿   GMEM_DISCARDABLE.
  1924.         Äñ¡á¬« óδ   ¡Ñ   ¼«ªÑΓÑ  ¿º¼Ñ¡¿Γ∞  áΓα¿íπΓδ  ßíαáßδóáѼ«ú«  ¿½¿
  1925.         »ÑαѼÑΘáѼ«ú« í½«¬á  ¡á  GMEM_FIXED.  ä½∩  ¿º¼Ñ¡Ñ¡¿∩  áΓα¿íπΓ«ó
  1926.         í½«¬á ú½«íá½∞¡«⌐  »á¼∩Γ¿  »α¿  ó맮óÑ  GlobalRealloc ¡Ñ«íσ«ñ¿¼«
  1927.         ΓᬪѠπ¬áºáΓ∞ áΓα¿íπΓ GMEM_MODIFY.  æ¼«Γα¿ΓÑ »α¿¼Ñα  ó  αáºñѽÑ
  1928.         16.2.2, "꺼ѡѡ¿Ñ   í½«¬á   ½«¬á½∞¡«⌐   ñ¿¡á¼¿τÑ߬«⌐   «í½áßΓ¿
  1929.         »á¼∩Γ¿".
  1930.  
  1931.              éδ ñ«½ª¡δ »α«∩ó½∩Γ∞ «ßë᫪¡«ßΓ∞  »α¿  πóѽ¿τÑ¡¿¿  αẼÑαá
  1932.         ú½«íá½∞¡«ú« í½«¬á, ¬«úñá Ñú« αẼÑα »ÑαÑßѬáÑΓ úαá¡¿µπ, ¬αáΓ¡πε
  1933.         64è. Windows ¼«ªÑΓ óÑα¡πΓ∞  ¡«óδ⌐  ñÑß¬α¿»Γ«α  ñ½∩  ¿º¼Ñ¡Ñ¡¡«ú«
  1934.         í½«¬á. ¥Γ«,  ¡á»α¿¼Ñα, »α«¿ßσ«ñ¿Γ »α¿ ¿º¼Ñ¡Ñ¡¿¿ αẼÑαá í½«¬á ß
  1935.         50è ¡á 70è ¿½¿ ß«  120è  ñ«  130è.  é  ßΓá¡ñáαΓ¡«¼  αѪ¿¼Ñ  φΓ«
  1936.         »α«¿ßσ«ñ¿Γ »α¿ »ÑαÑßÑτÑ¡¿¿ úαá¡¿µδ 65519 íá⌐Γ,  Γ.Ñ. ¡á 17 íá⌐Γ
  1937.         ¼Ñ¡∞ΦÑ 64è.
  1938.  
  1939.              Å«ß¬«½∞¬π »α¿ αáí«ΓÑ ó ßΓá¡ñáαΓ¡«¼ αѪ¿¼Ñ ¿ ó  αáßΦ¿αÑ¡¡«¼
  1940.         αѪ¿¼Ñ »α«µÑßß«αá    80386    Windows   ¿ß»«½∞ºπÑΓ   ΓÑσ¡«½«ú¿ε
  1941.         "ßÑ½Ñ¬Γ«α«ó ó ßΓδ¬",  Γ« »α¿ »ÑαÑßÑτÑ¡¿¿ αẼÑαá í½«¬á  úαá¡¿µδ
  1942.         ¬αáΓ¡«⌐ 64è,  Windows ó«º¼«ª¡« «ßπΘÑßΓó¿Γ »«¿ß¬ í«½∞ΦÑú« ¡áí«αá
  1943.         ºáó¿ß¿¼δσ ßÑ½Ñ¬Γ«α«ó.  àß½¿ Γᬫ⌐ ¡áí«α íπñÑΓ  ¡á⌐ñÑ¡,  Windows
  1944.         óÑα¡ÑΓ »Ñαóδ⌐  ßÑ½Ñ¬Γ«α  φΓ«ú« ¡áí«αá.  æ¼«Γα¿ΓÑ αáºñѽ 16.1.3,
  1945.         "êß»«½∞º«óá¡¿Ñ í«½∞Φ¿σ í½«¬«ó »á¼∩Γ¿ »α¿ αáí«ΓÑ  ó  ßΓá¡ñáαΓ¡«⌐
  1946.         ¬«¡Σ¿úπαᵿ¿ »á¼∩Γ¿".
  1947.  
  1948.              æ½ÑñπεΘ¿⌐ »α¿¼Ñα   »«¬áºδóáÑΓ,  ¬á¬  ¡Ñ  ¡áñ«  πóѽ¿τ¿óáΓ∞
  1949.         αẼÑα í½«¬á ú½«íá½∞¡«⌐ »á¼∩Γ¿. ¥Γ«Γ ß»«ß«í »«ñσ«ñ¿Γ ñ½∩ αáí«Γδ
  1950.         ó  íẫó«⌐  ¬«¡Σ¿úπαᵿ¿  »á¼∩Γ¿ ¿ ó ¬«¡Σ¿úπαᵿ¿ EMS 4.0.,  ¡«
  1951.         ∩ó½∩ÑΓß∩ ¡ÑóÑα¡δ¼ »α¿ αáí«ΓÑ Windows ó ßΓá¡ñáαΓ¡«⌐ ¬«¡Σ¿úπαᵿ¿
  1952.         ¿ ¬«¡Σ¿úπαᵿ¿ »á¼∩Γ¿ αáßΦ¿αÑ¡¡«ú« αѪ¿¼á »α«µÑßß«αá 80386.
  1953.  
  1954.              /* ìà æïàäôëÆà äÇììÄîô ÅÉêîàÉô */
  1955.              GlobalRealloc(hHugeObject,
  1956.                            0x20000L,
  1957.                            GMEM_MOVEABLE);
  1958.  
  1959.              é »αÑñδñπΘѼ »α¿¼ÑαÑ ñÑß¬α¿»Γ«α  hHudeObject  ¼«ªÑΓ  ßΓáΓ∞
  1960.         ¡Ñ¬«ααÑ¬Γ¡δ¼ ó  ºáó¿ß¿¼«ßΓ¿ «Γ Γ«ú«,  ¬á¬ Windows πñ«ó½ÑΓó«α¿½á
  1961.         ñá¡¡δ⌐  ºá»α«ß.  ì¿ªÑ  »α¿óÑñÑ¡  ¬«ααÑ¬Γ¡δ⌐  »α¿¼Ñα  ñ½∩   óßÑσ
  1962.         ¬«¡Σ¿úπαᵿ⌐ »á¼∩Γ¿ Windows.
  1963.  
  1964.              /* æïàäôëÆà äÇììÄîô ÅÉêîàÉô */
  1965.  
  1966.        Windows 3.0/pg/3#3                                        = 40 =
  1967.  
  1968.  
  1969.              if(hTempHugeObject = GlobalRealloc(hHugeObject,
  1970.                                                 0x20000L,
  1971.                                                 GMEM_MOVEABLE);
  1972.              {
  1973.                 hHugeObject = hTempHugeObject;
  1974.              }
  1975.              else
  1976.              {
  1977.                 /* «íΩÑ¬Γ ¡Ñ ¼«ªÑΓ íδΓ∞ óδñѽѡ */
  1978.              }
  1979.  
  1980.              é φΓ«¼   »α¿¼ÑαÑ   ¿ß»«½∞ºπÑΓß∩    óαѼѡ¡δ⌐    ñÑß¬α¿»Γ«α
  1981.         hTempHugeObject, ¬«Γ«αδ⌐  »αÑñ«ΓóαáΘáÑΓ ºá¡ÑßÑ¡¿Ñ ó hHugeObject
  1982.         NULL, ó«ºóαáΘáѼ«ú«    ó    ß½πτáÑ    ¡Ñπñáτ¡«ú«     ºáóÑαΦÑ¡¿∩
  1983.         GlobalRealloc.
  1984.  
  1985.                    Äτ¿ßΓ¬á ¿ ßíα«ß í½«¬«ó ú½«íá½∞¡«⌐ »á¼∩Γ¿.
  1986.  
  1987.              öπ¡¬µ¿¿ GlobalFree   ¿  GlobalDiscard  ¿ñÑ¡Γ¿τ¡δ  Σπ¡¬µ¿∩¼
  1988.         LocalFree ¿ LocalDiscard ºá ¿ß¬½ετÑ¡¿Ñ¼ Γ«ú«,  τΓ« «¡¿ αáí«ΓáεΓ
  1989.         ß ú½«íá½∞¡δ¼¿  «íΩѬΓἿ,  á  ¡Ñ ½«¬á½∞¡δ¼¿.  ÄíßπªñÑ¡¿Ñ αáí«Γδ
  1990.         Σπ¡¬µ¿⌐ LocalFree ¿ LocalDiscard óδ ¡á⌐ñÑΓÑ ó αáºñѽѠ16.2.2, ó
  1991.         »áαáúαáΣÑ "Äτ¿ΘÑ¡¿Ñ ¿ ßíα«ß í½«¬«ó ½«¬á½∞¡«⌐ »á¼∩Γ¿".
  1992.  
  1993.                Å«½πτÑ¡¿Ñ ¿¡Σ«α¼áµ¿¿ « í½«¬áσ ú½«íá½∞¡«⌐ »á¼∩Γ¿.
  1994.  
  1995.              öπ¡¬µ¿¿ GlobalSize   ¿   GlobalFlags   »αÑñ«ßΓáó½∩εΓ   óá¼
  1996.         ¿¡Σ«α¼áµ¿ε « í½«¬áσ ú½«íá½∞¡«⌐  »á¼∩Γ¿.  GlobalSize  ó«ºóαáΘáÑΓ
  1997.         αẼÑα í½«¬á.  GlobalFlags «»αÑñѽ∩ÑΓ,  ßíαáßδóáѼδ⌐ ½¿ í½«¬, ¿
  1998.         Ñß½¿ ßíαáßδóáѼδ⌐,  Γ« ßíα«ΦÑ¡ ½¿ «¡. Ä¡á ΓᬪѠ«»αÑñѽ∩ÑΓ, íδ½
  1999.         ½¿ í½«¬ óδñѽѡ ß áΓα¿íπΓἿ GMEM_DDESHARE ¿½¿ GMEM_NOT_BANKED.
  2000.  
  2001.           ü½«¬¿α«óá¡¿Ñ í½«¬«ó   ú½«íá½∞¡«⌐   »á¼∩Γ¿   ¡á  ñ½¿Γѽ∞¡δ⌐
  2002.                                     »Ñα¿«ñ.
  2003.  
  2004.              è«úñá óδ   óδºδóáÑΓÑ   GLobalLock    ñ½∩    »αÑñ«ΓóαáΘÑ¡¿∩
  2005.         »ÑαѼÑΘÑ¡¿∩ »ÑαѼÑΘáѼ«ú«  «íΩѬΓá  ó  ú½«íá½∞¡«⌐  ñ¿¡á¼¿τÑ߬«⌐
  2006.         «í½áßΓ¿ »á¼∩Γ¿,  óδ π¼Ñ¡∞ΦáÑΓÑ φΣΣÑ¬Γ¿ó¡«ßΓ∞ π»αáó½Ñ¡¿∩ Windows
  2007.         «ßΓá½∞¡δ¼¿ «íΩѬΓἿ ó »á¼∩Γ¿. ä«»π߬áÑΓß∩ í½«¬¿α«óá¡¿Ñ «íΩѬΓá
  2008.         Γ«½∞¬« ¡á ¬«α«Γ¬¿⌐ »α«¼ÑªπΓ«¬ óαѼѡ¿. ä½∩ í½«¬¿α«óá¡¿∩ «íΩѬΓá
  2009.         ¡á ñ½¿Γѽ∞¡«Ñ    óαѼ∩    ó¼ÑßΓ«   Σπ¡¬µ¿¿   GlobalLock   ¡πª¡«
  2010.         ¿ß»«½∞º«óáΓ∞ Σπ¡¬µ¿ε   GlobalWire.   ¥Γá   Σπ¡¬µ¿∩   »ÑαѼÑΘáÑΓ
  2011.         í½«¬¿απѼδ⌐ «íΩÑ¬Γ  ó  ¼½áñΦ¿Ñ áñαÑßá,  ¬«Γ«αδÑ ºáαѺÑαó¿α«óá¡δ
  2012.         »«ñ Σ¿¬ß¿α«óá¡¡δÑ «íΩѬΓδ,  ¿ ºáΓѼ í½«¬¿απÑΓ Ñú«. ü½«¬¿α«óá¡¿Ñ
  2013.         «íΩѬΓá ó   ¼½áñΦ¿σ   áñαÑßáσ   »«ºó«½∩ÑΓ   Windows  φΣΣÑ¬Γ¿ó¡«
  2014.         ¿ß»«½º«óáΓ∞ »á¼∩Γ∞,  ¡« ΓαÑíπÑΓ í«½∞ΦÑ óαѼѡ¿  ¡á  »ÑαѼÑΘÑ¡¿Ñ
  2015.         «íΩѬΓá. öπ¡¬µ¿∩   GlobalUnWire   αáºí½«¬¿απÑΓ   «íΩѬΓ.  Å«ß½Ñ
  2016.         αáºí½«¬¿α«óá¡¿∩ «íΩѬΓá    «¡    »ÑαѼÑΘáÑΓß∩    ¿º     «í½áßΓ¿
  2017.         Σ¿¬ß¿α«óá¡¡δσ «íΩÑ¬Γ«ó ú½«íá½∞¡«⌐ »á¼∩Γ¿.
  2018.  
  2019.            ôóÑñ«¼½Ñ¡¿Ñ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ »α¿ ßíα«ßÑ í½«¬á »á¼∩Γ¿.
  2020.  
  2021.  
  2022.        Windows 3.0/pg/3#3                                        = 41 =
  2023.  
  2024.              àß½¿ óδ σ«Γ¿ΓÑ,  τΓ«íδ Windows »α¿ ßíα«ßÑ í½«¬á ú½«íá½∞¡«⌐
  2025.         »á¼∩Γ¿ πóÑñ«¼½∩½á    óáΦπ    »α«úαá¼¼π,    ó맮ó¿ΓÑ     Σπ¡¬µ¿ε
  2026.         GlobalNotify. ¥Γπ Σπ¡¬µ¿ε ¼«ª¡« ¿ß»«½∞º«óáΓ∞,  Ñß½¿,  ¡á»α¿¼Ñα,
  2027.         óδ »¿Φ¿ΓÑ ß«íßΓóÑ¡¡πε ß¿ßΓѼπ π»αáó½Ñ¡¿∩  ó¿αΓπá½∞¡«⌐  »á¼∩Γ∞ε,
  2028.         ¬«Γ«αá∩ ¿ß»«½∞ºπÑΓ »«ñ¬áτ¬π ß ¿ ¡á ñ¿ß¬.  Åα¿ ó맮óÑ Σπ¡¬µ¿¿ óδ
  2029.         «»αÑñѽ∩ÑΓÑ  áñαÑß  Σπ¡¬µ¿¿   ¼¡«ú«¬αáΓ¡«ú«   ó맮óá,   ¬«Γ«αá∩
  2030.         »«½πτáÑΓ πóÑñ«¼½Ñ¡¿Ñ « ßíα«ßÑ í½«¬á.
  2031.  
  2032.                      êº¼Ñ¡Ñ¡¿∩, ¬«úñá í½«¬ »á¼∩Γ¿ ßíα«ΦÑ¡.
  2033.  
  2034.              Åα¿ π»αáó½Ñ¡¿¿  ú½«íá½∞¡«⌐  ñ¿¡á¼¿τÑ߬«⌐  «í½áßΓ∞ε  »á¼∩Γ¿
  2035.         Windows ¿ß»«½∞ºπÑΓ á½ú«α¿Γ¼ LRU  ñ½∩  «»αÑñѽѡ¿∩  Γ«ú«,  ¬á¬«⌐
  2036.         í½«¬ ¡πª¡«  ßíα«ß¿Γ∞ »α¿ ¡Ñ«íσ«ñ¿¼«ßΓ¿ «ßó«í«ªñÑ¡¿∩ »á¼∩Γ¿.  éδ
  2037.         ¼«ªÑΓÑ »ÑαѼÑßΓ¿Γ∞ í½«¬ »á¼∩Γ¿ ¡á »«ß½Ññ¡ÑÑ ¼ÑßΓ« ó ß»¿ß¬Ñ  LRU
  2038.         ß  »«¼«Θ∞ε  Σπ¡¬µ¿¿ GlobalLRUOldest.  ¥Γ« «º¡áτáÑΓ,  τΓ« ñá¡¡δ⌐
  2039.         «íΩÑ¬Γ íπñÑΓ ¡á¿í«½ÑÑ »«ñσ«ñ∩ΘÑ⌐ ¬á¡ñ¿ñáΓπα«⌐  ¡á  ßíαáßδóá¡¿Ñ.
  2040.         àß½¿   óá¼   ¡πª¡«,   τΓ«íδ   «íΩÑ¬Γ   íδ½  ¡á¿¼Ñ¡ÑÑ  óÑα«∩Γ¡«⌐
  2041.         ¬á¡ñ¿ñáΓπα«⌐ ¡á  ßíαáßδóá¡¿Ñ,  ¼«ª¡«  ó«ß»«½∞º«óáΓ∞ß∩  Σπ¡¬µ¿Ñ⌐
  2042.         GlobalLRUNewest.
  2043.  
  2044.              ¥Γ¿ Σπ¡¬µ¿¿  ¿ß»«½∞ºπεΓß∩,  ¡á»α¿¼Ñα,  »α¿  πñá½Ñ¡¿¿  ¬«ñá
  2045.         ¿¡¿µ¿á½¿ºáµ¿¿, ¬«úñá «¡ í«½∞ΦÑ ¡Ñ ¡πªÑ¡. èα«¼Ñ φΓ«ú«, óδ ¼«ªÑΓÑ
  2046.         ¿ß»«½∞º«óáΓ∞  φΓ¿  Σπ¡¬µ¿¿  »α¿  ß«ºñá¡¿¿  ß«íßΓóÑ¡¡«⌐  ß¿ßΓѼδ
  2047.         π»αáó½Ñ¡¿∩ ó¿αΓπá½∞¡«⌐ »á¼∩Γ∞ε,  ¬«Γ«αá∩ ¿ß»«½∞ºπÑΓ »«ñ¬áτ¬π  ß
  2048.         ñ¿ß¬á.  æ  »«¼«Θ∞ε φΓ¿σ Σπ¡¬µ¿⌐ óδ ¼«ªÑΓÑ ó«ºñÑ⌐ßΓó«óáΓ∞ ¡á Γ«,
  2049.         ¬á¬¿Ñ «íΩѬΓδ íπñπΓ ßíα«ΦÑ¡δ ó  »Ñαóπε,  á  ¬á¬¿Ñ  ó  »«ß½Ññ¡εε
  2050.         «τÑαÑñ∞ ñ½∩ ¼¿¡¿¼¿ºáµ¿¿ «íαáΘÑ¡¿∩ ¬ ñ¿ß¬π.
  2051.  
  2052.            Äτ¿ßΓ¬á ú½«íá½∞¡«⌐ »á¼∩Γ¿ ó ß«ßΓ«∩¡¿¿ ¡Ññ«ßΓáΓ¬á »á¼∩Γ¿.
  2053.  
  2054.              â½«íá½∞¡á∩ »á¼∩Γ∞ - φΓ« αáºñѽ∩Ѽδ⌐ αÑßπαß. òáαá¬ΓÑα¿ßΓ¿¬¿
  2055.         óßÑσ »α¿¬½áñ¡δσ »α«úαá¼¼ ºáó¿ß∩Γ  «Γ  ¿σ  ú«Γ«ó¡«ßΓ¿  αáºñѽ∩Γ∞
  2056.         φëà αÑßπαß.  Åα¿  ¡Ññ«ßΓáΓ¬Ñ ß¿ßΓѼ¡«⌐ »á¼∩Γ¿ óáΦá »α¿¬½áñ¡á∩
  2057.         »α«úαἼᠠñ«½ª¡á  íδΓ∞  ß»«ß«í¡á  «ßó«í«ñ¿Γ∞   óδñѽѡ¡πε   Ñ⌐
  2058.         ú½«íá½∞¡πε »á¼∩Γ∞.
  2059.  
  2060.              Windows »«ßδ½áÑΓ      ß««íΘÑ¡¿Ñ     WM_COMPACTING     óßѼ
  2061.         óδß«¬«πα«ó¡Ñóδ¼ «¬¡á¼,  ¬«úñá «¡á  «»αÑñѽ∩ÑΓ,  τΓ«  ó  ΓÑτÑ¡¿¿
  2062.         ¿¡ΓÑαóá½á óαѼѡ¿  «Γ  30  ñ« 60 ßѬπ¡ñ ¡á αÑ«αúá¡¿ºáµ¿ε »á¼∩Γ¿
  2063.         ΓαáΓ¿½«ß∞ í«½∞ΦÑ 15 »α«µÑ¡Γ«ó ß¿ßΓѼ¡«ú« óαѼѡ¿. ¥Γ« ß««íΘÑ¡¿Ñ
  2064.         ú«ó«α¿Γ « ¡Ññ«ßΓáΓ¬Ñ »á¼∩Γ¿.
  2065.  
  2066.              Åα¿ »«½πτÑ¡¿¿  φΓ«ú«  ß««íΘÑ¡¿∩  óáΦá »α¿¬½áñ¡á∩ »α«úαá¼¼á
  2067.         ñ«½ª¡á «ßó«í«ñ¿Γ∞ ¼á¬ß¿¼á½∞¡« ó«º¼«ª¡πε τáßΓ∞ »á¼∩Γ¿,  »α¿¡¿¼á∩
  2068.         ó« ó¡¿¼á¡¿Ñ  ΓѬπΘπε  á¬Γ¿ó¡«ßΓ∞  »α¿¬½áñ¡«⌐  »α«úαá¼¼δ ¿ τ¿ß½«
  2069.         ñαπú¿σ »α¿¬½áñ¡δσ  »α«úαá¼¼,  αáí«ΓáεΘ¿σ  »«ñ  Windows.   ùΓ«íδ
  2070.         «»αÑñѽ¿Γ∞ τ¿ß½« αáí«ΓáεΘ¿σ »«ñ Windows »α¿¬½áñ¡δσ »α«úαá¼¼, óδ
  2071.         ¼«ªÑΓÑ ó«ß»«½∞º«óáΓ∞ß∩ Σπ¡¬µ¿Ñ⌐ GetNumTasks.
  2072.                 16.2.4  êß»«½∞º«óá¡¿Ñ ñ«»«½¡¿Γѽ∞¡δσ íá⌐Γ Ä¬¡á ¿ ¬½áßßá.       
  2073.  
  2074.              éδ ¼«ªÑΓÑ σαá¡¿Γ∞ ñ«»«½¡¿Γѽ∞¡δÑ ñá¡¡δÑ  óáΦÑ⌐  »α¿¬½áñ¡«⌐
  2075.         »α«úαá¼¼δ ó¼ÑßΓÑ  ß«  ßΓαπ¬Γπα«⌐  ñá¡¡δσ,  «»¿ßδóáεΘÑ⌐ áΓα¿íπΓδ
  2076.  
  2077.        Windows 3.0/pg/3#3                                        = 42 =
  2078.  
  2079.         ¬½áßßá ¿½¿   «¬¡á.   ¥Γ¿   ñ«»«½¡¿Γѽ∞¡δÑ   ñá¡¡δÑ   ¡áºδóáεΓß∩
  2080.         ñ«»«½¡¿Γѽ∞¡δÑ íá⌐Γδ ¬½áßßá ¿ ñ«»«½¡¿Γѽ∞¡δÑ íá⌐Γδ «¬¡á.
  2081.  
  2082.              ¥Γ¿ ß«íßΓóÑ¡¡δÑ  ñá¡¡δÑ  αẼÑΘáεΓß∩  ó  ßΓαπ¬ΓπαÑ ñá¡¡δσ,
  2083.         ¬«Γ«απε »«ññÑনóáÑΓ Windows.  Åα¿ ó맮óÑ Σπ¡¬µ¿¿ RegisterClass
  2084.         »«½Ñ  cbWndExtra «»αÑñѽ∩ÑΓ τ¿ß½« ñ«»«½¡¿Γѽ∞¡δσ íá⌐Γ,  ¬«Γ«αδÑ
  2085.         íπñπΓ »«ññÑনóáΓ∞ß∩  ñ½∩  óßÑσ  «¬«¡,  »α¿¡áñ½ÑªáΘ¿σ   ñá¡¡«¼π
  2086.         ¬½áßßπ.
  2087.  
  2088.              ¥Γ¿ ñá¡¡δÑ  ¼«úπΓ ¿ß»«½∞º«óáΓ∞ß∩,  ¬«úñá π óáß ¿¼ÑÑΓß∩ ñóá
  2089.         ¿½¿ í«½∞ΦÑ «¬¡á,  »α¿¡áñ½ÑªáΘ¿σ «ñ¡«¼π ¿ Γ«¼π ªÑ ¬½áßßπ,  ¿  óδ
  2090.         σ«Γ¿ΓÑ  ßó∩ºáΓ∞  ß  ¬áªñδ¼  «¬¡«¼ π¡¿¬á½∞¡δ⌐ ¡áí«α ñá¡¡δσ.  üѺ
  2091.         ñá¡¡«⌐ ó«º¼«ª¡«ßΓ¿ óá¼ »α¿Φ½«ß∞ íδ »«ññÑনóáΓ∞ ß»¿ß«¬ ßΓαπ¬Γπα
  2092.         ñá¡¡δσ ñ½∩  ¬áªñ«ú«  «¬¡á.  çáΓѼ,  »α¿ ¡Ñ«íσ«ñ¿¼«ßΓ¿ ñ«ßΓπ»á ¬
  2093.         ñá¡¡δ¼  «»αÑñѽѡ¡«ú«   «¬¡á   óá¼   »α¿Φ½«ß∞   íδ   «»αÑñѽ∩Γ∞
  2094.         ß««ΓóÑΓßΓóπεΘ¿⌐    φ½Ñ¼Ñ¡Γ    ó   ß»¿ß¬Ñ.   Åα¿   ¿ß»«½∞º«óá¡¿¿
  2095.         ñ«»«½¡¿Γѽ∞¡δσ íá⌐Γ «¬¡á óδ ¼«ªÑΓÑ ¡á»α∩¼πε «ßπΘÑßΓó½∩Γ∞ ñ«ßΓπ»
  2096.         ¬ ñá¡¡δ¼,  ¿ß»«½∞ºπ∩ ñÑß¬α¿»Γ«α «¬¡á,  ¿ ¡Ñ ºáó«ñ¿Γ∞ «Γñѽ∞¡«ú«
  2097.         ß»¿ß¬á.
  2098.  
  2099.              ä½∩ ºá»¿ß¿ ñá¡¡δσ ó «í½áßΓ∞ ñ«»«½¡¿Γѽ∞¡δσ ñá¡¡δ󠫬¡á  óδ
  2100.         ¼«ªÑΓÑ ¿ß»«½∞º«óáΓ∞ Σπ¡¬µ¿ε SetWindowWord ¿ SetWindowLong.  ÄíÑ
  2101.         φΓ¿ Σπ¡¬µ¿¿   »«½πτáεΓ   ß¼ÑΘÑ¡¿Ñ    íá⌐Γá    ó¡πΓα¿    «í½áßΓ¿
  2102.         ñ«»«½¡¿Γѽ∞¡δσ ñá¡¡δσ,  Γ«τ¬¿,  ó  ¬«Γ«απε  ¡Ñ«íσ«ñ¿¼« ºá»¿ßáΓ∞
  2103.         ñá¡¡δÑ. ìπ½Ñó«Ñ ß¼ÑΘÑ¡¿Ñ «»αÑñѽ∩ÑΓ »Ñαóδ⌐  φ½Ñ¼Ñ¡Γ  Γ¿»á  WORD
  2104.         ¿½¿ LONG. æ¼ÑΘÑ¡¿Ñ 2 «»αÑñѽ∩ÑΓ óΓ«α«⌐ φ½Ñ¼Ñ¡Γ Γ¿»á WORD ó φΓ«⌐
  2105.         «í½áßΓ¿. æ¼ÑΘÑ¡¿Ñ 4  «»αÑñѽ∩ÑΓ  ΓαÑΓ¿⌐  φ½Ñ¼Ñ¡Γ  Γ¿»á  WORD  ¿
  2106.         óΓ«α«⌐ Γ¿»á    LONG.    ìÑ«íσ«ñ¿¼«    «Γ¼ÑΓ¿Γ∞,   τΓ«   Σπ¡¬µ¿¿
  2107.         SetWindowWord ¿ SetWindowLong »«½πτáεΓ ΓᬪѠ ΓᬿѠ ¬«¡ßΓá¡Γδ,
  2108.         ¬á¬ GWW_STYLE  ¿  GWW_ENDPROC,  «»αÑñѽѡ¡δÑ  ó WINDOWS.H.  ¥Γ¿
  2109.         ¬«¡ßΓá¡Γδ ß«ñÑαªáΓ  «Γα¿µáΓѽ∞¡δÑ  ß¼ÑΘÑ¡¿∩  ó¡πΓα¿   ßΓαπ¬Γπαδ
  2110.         ñá¡¡δσ  «¬¡á.  ä½¿¡á  ßΓαπ¬Γπαδ  ñá¡¡δσ  (¼¿¡πß  αẼÑα «í½áßΓ¿
  2111.         ñ«»«½¡¿Γѽ∞¡δσ ñá¡¡δσ) Γᬿ¼ «íαẫ¼  ñ«íáó½∩ÑΓß∩  ¬  ß¼ÑΘÑ¡¿ε,
  2112.         »ÑαÑñáóáѼ«¼π  »α¿  ó맮óÑ  SetWindowWord ¿ SetWindowLong,  ñ½∩
  2113.         «»αÑñѽѡ¿∩  ñÑ⌐ßΓó¿Γѽ∞¡«ú«   ß¼ÑΘÑ¡¿∩   «Γ¡«ß¿Γѽ∞¡«   ¡áτá½á
  2114.         ßΓαπ¬Γπαδ ñá¡¡δσ.
  2115.  
  2116.              ä½∩ τΓÑ¡¿∩  ñá¡¡δσ  ¿º  «í½áßΓ¿ ñ«»«½¡¿Γѽ∞¡δσ ñá¡¡δ󠫬¡á
  2117.         ¿ß»«½∞ºπεΓß∩ Σπ¡¬µ¿¿ GetWindowWord  ¿  GetWindowLong.  æ¼ÑΘÑ¡¿Ñ
  2118.         π¬áºδóáÑΓß∩ ¬á¬ ¿ ó Σπ¡¬µ¿∩σ SetWindowWord ¿ SetWindowLong.
  2119.  
  2120.              é ¬«¡Σ¿úπαᵿ¿ »á¼∩Γ¿ EMS ßΓαπ¬Γπαδ ñá¡¡δ󠫬¡á óδñѽ∩εΓß∩
  2121.         ó  «Γ¡«ß¿Γѽ∞¡«  «úαá¡¿τÑ¡¡«⌐  «í½áßΓ¿  »á¼∩Γ¿   ¡¿ªÑ   úαá¡¿µδ
  2122.         «Γ«íαáªÑ¡¿∩.  àß½¿  óδ  σ«Γ¿ΓÑ  ßó∩ºáΓ∞  ß  «¬¡«¼ í«½∞Φ«⌐ «íΩѼ
  2123.         ñ«»«½¡¿Γѽ∞¡δσ ñá¡¡δσ (í«½∞ΦÑ 10  íá⌐Γ),  Γ«  ½πτΦÑ  ó  «í½áßΓ¿
  2124.         ñ«»«½¡¿Γѽ∞¡δσ ñá¡¡δσ σαá¡¿Γ∞ ú½«íá½∞¡δ⌐ ñÑß¬α¿»Γ«α,  á ¡Ñ ßἿ
  2125.         ñá¡¡δÑ.  ¥Γ« »«ºó«½∩ÑΓ π¼Ñ¡∞Φ¿Γ∞ «í½áßΓ∞ ñ«»«½¡¿Γѽ∞¡δσ  ñá¡¡δσ
  2126.         ñ« 2 íá⌐Γ, ¡Ñ«íσ«ñ¿¼δσ ñ½∩ σαá¡Ñ¡¿∩ ú½«íá½∞¡«ú« ñÑß¬α¿»Γ«αá.
  2127.  
  2128.              Æá¬ªÑ, ¬á¬  óδ  ¼«ªÑΓÑ  ßó∩ºáΓ∞  ñ«»«½¡¿Γѽ∞¡δÑ  ñá¡¡δÑ  ß
  2129.         «¬¡«¼, óδ ¼«ªÑΓÑ ßó∩ºáΓ∞ ñ«»«½¡¿Γѽ∞¡δÑ ñá¡¡δÑ ¿ ß ¬½áßß«¼. ä½∩
  2130.         ñ«ßΓπ»á   ¬  φΓ¿¼  ñá¡¡δ¼  ¿ß»«½∞ºπεΓß∩  Σπ¡¬µ¿¿  SetClassWord,
  2131.         SetClassLong,  GetClassWord ¿ GetClassLong.  é«º¼«ª¡δ ß¿Γπᵿ¿,
  2132.  
  2133.        Windows 3.0/pg/3#3                                        = 43 =
  2134.  
  2135.         ¬«úñá ¡πª¡« »α¿ßó«¿Γ∞ ñá¡¡δÑ, «Γ¡«ß∩Θ¿Ñß∩ ¬« óßÑ¼π ¬½áßßπ ¬á¬ ¬
  2136.         «ñ¡«¼π µÑ½«¼π, ¿ ¬«Γ«αδÑ «íΘ¿Ñ ñ½∩ óßÑ󠫬«¡ «ñ¡«ú« ¬½áßßá.
  2137.                                     16.2.5  ô»αáó½Ñ¡¿Ñ αÑßπαßἿ.              
  2138.  
  2139.              ÉÑßπαßδ - φΓ« ñá¡¡δÑ,  »αÑñ¡áº¡áτÑ¡¡δÑ Γ«½∞¬« ñ½∩  τΓÑ¡¿∩,
  2140.         σαá¡∩Θ¿Ñß∩  ó  .EXE  Σá⌐½Ñ  »α¿¬½áñ¡«⌐ »α«úαá¼¼δ ¿½¿ Σá⌐½Ñ .DLL
  2141.         í¿í½¿«ΓѬ¿,  ¿ ¬«Γ«αδÑ Windows ºáúαπªáÑΓ »α¿ ¡Ñ«íσ«ñ¿¼«ßΓ¿. Ä¡¿
  2142.         ó¬½ετáεΓ  αáßΓα«óδÑ  ¬áαΓδ,  ¿¬«¡δ,  ¬παß«αδ,  »á¡Ñ½¿ ñ¿á½«úá ¿
  2143.         Φα¿ΣΓδ.  éδ ¼«ªÑΓÑ ¿σ ß«ºñáΓ∞  ß  »«¼«Θ∞ε  αÑñá¬Γ«α«ó  αÑßπαß«ó
  2144.         SDKPAINT, DIALOG ¿ FONTEDIT. ÉÑßπαßδ »«ñß«Ññ¿¡∩εΓß∩ ¬ Σá⌐½π
  2145.         .EXE ¿½¿   .DLL   ß   »«¼«Θ∞ε  ¬«¼»¿½∩Γ«αá  αÑßπαß«ó  (RC).  éδ
  2146.         ¿ß»«½∞ºπÑΓÑ º¡á¡¿Ñ Windows Σ«α¼áΓ«ó φΓ¿σ αÑßπαß«ó,  «»Ñα¿απ∩  ß
  2147.         ¡¿¼¿ ß  »«¼«Θ∞ε  ß»Ñµ¿á½∞¡δσ  Σπ¡¬µ¿⌐,  Γá¬¿σ  ¬á¬ LoadIcon ¿½¿
  2148.         CreateDialog.
  2149.  
  2150.              Windows ºáúαπªáÑΓ αÑßπαßδ ó »á¼∩Γ∞ ó ó¿ñÑ «ñ¡«ú« ßÑú¼Ñ¡Γá.
  2151.         ÉÑßπαß ¼«ªÑΓ  íδΓ∞  «»¿ßá¡ ¬á¬ »ÑαѼÑΘáѼδ⌐,  Σ¿¬ß¿α«óá¡¡δ⌐ ¿½¿
  2152.         ßíαáßδóáѼδ⌐. Åα¿ «»αÑñѽѡ¿¿ Γ«ú«,  ¬á¬«⌐ ñ«½ªÑ¡ íδΓ∞  αÑßπαß,
  2153.         Γ.Ñ. ßíαáßδóáѼδ⌐,  Σ¿¬ß¿α«óá¡¡δ⌐ ¿½¿ »ÑαѼÑΘáѼδ⌐,  óδ  ñ«½ª¡δ
  2154.         »α¿¡¿¼áΓ∞  ó«  ó¡¿¼á¡¿Ñ  ΓÑ  ªÑ »α¿τ¿¡δ,  τΓ« ¿ »α¿ «»αÑñѽѡ¿¿
  2155.         áΓα¿íπΓ«ó ú½«íá½∞¡δσ í½«¬«ó »á¼∩Γ¿.
  2156.  
  2157.              àß½¿ óδ   «íΩ∩ó½∩ÑΓÑ  αÑßπαß  ß  ¬½ετѼ  PRELOAD,  Windows
  2158.         ºáúαπº¿Γ Ñú« ó«  óαѼ∩  ºá»π߬ᠠ»α¿¬½áñ¡«⌐  »α«úαá¼¼δ.  ê¡áτÑ,
  2159.         Windows ºáúαπº¿Γ   Ñú«   Γ«½∞¬«  ¬«úñá  «¡  »«¡áñ«í¿Γ∞ß∩  (¬½ετ
  2160.         LOADONCALL). ¥Γ¿ ¬½ετ¿ «ß«íÑ¡¡«  óáª¡δ  »α¿  αáí«ΓÑ  »α¿¬½áñ¡«⌐
  2161.         »α«úαá¼¼δ ó   ¬«¡Σ¿úπαᵿ¿   »á¼∩Γ¿  EMS  ß  ¡Ñí«½∞Φ¿¼  ΣαÑ⌐¼«¼
  2162.         «Γ«íαáªÑ¡¿∩. æ¼«Γα¿ΓÑ    αáºñѽ   16.6.4,   "ū߽Ññ«óáΓѽ∞¡«ßΓ∞
  2163.         ¬«ñ«óδσ   ßÑú¼Ñ¡Γ«ó   ó   .DEF   Σá⌐½Ñ",   ó   ¬«Γ«α«¼   ñáÑΓß∩
  2164.         ñ«»«½¡¿Γѽ∞¡á∩  ¿¡Σ«α¼áµ¿∩  »«  »«ó«ñπ  ºáúαπº¬¿  αÑßπα߫󠠻α¿
  2165.         αáí«ΓѠ󠬫¡Σ¿úπαᵿ¿ »á¼∩Γ¿ EMS ß ¼á½δ¼ ΣαÑ⌐¼«¼ «Γ«íαáªÑ¡¿∩.
  2166.  
  2167.              èα«¼Ñ αѼπαß«ó,  Σ«α¼áΓ  ¬«Γ«αδσ  αáß»«º¡áÑΓ  Windows,  óδ
  2168.         ¼«ªÑΓÑ ß«ºñáΓ∞ ßó«¿ ß«íßΓóÑ¡¡δÑ αÑßπαßδ,  αáß»«º¡áóáѼδÑ Γ«½∞¬«
  2169.         óáΦÑ⌐ »α«úαá¼¼«⌐.  äá¡¡δÑ  ó  φΓ«¼  ß½πτáÑ  ¼«úπΓ  ¿¼ÑΓ∞  ½εí«⌐
  2170.         Σ«α¼áΓ, ó¬½ετá∩ ΓѬßΓ ASCII, ñó«¿τ¡δÑ ñá¡¡δÑ ¿½¿ ¿σ ß¼Ñß∞.
  2171.  
  2172.              ÉÑΦá∩ ó«»α«ß « »αÑñßΓó½Ñ¡¿¿ ñá¡¡δσ ¬á¬ «Γñѽ∞¡δ⌐ Σá⌐½  ¿½¿
  2173.         ¬á¬ αÑßπαßδ, óδ ñ«½ª¡δ »α¿¡¿¼áΓ∞ ó« ó¡¿¼á¡¿Ñ ß½ÑñπεΘÑÑ:
  2174.  
  2175.              - Åα¿ ¬«¼»¿½∩µ¿¿ αÑßπα߫󠬠óáΦÑ⌐ »α¿¬½áñ¡«⌐ »α«úαἼѠ óδ
  2176.                óßÑ  ñá¡¡δÑ  »«¼ÑΘáÑΓÑ  ó  .EXE-Σá⌐½.  ì¿  óá¼ ¡¿ óáΦѼπ
  2177.                »«½∞º«óáΓÑ½ε ¡Ñ »α¿ñÑΓß∩ íÑß»«¬«¿Γ∞ß∩ «í ¿¡ßΓá½½¿α«óá¡¿¿
  2178.                ñ«»«½¡¿Γѽ∞¡δσ Σá⌐½«ó ñá¡¡δσ ó¼ÑßΓÑ ß .EXE-Σá⌐½«¼.
  2179.  
  2180.              - æ ñαπú«⌐ ßΓ«α«¡δ ¿ß»«½∞º«óá¡¿Ñ ñá¡¡δσ  ó  ó¿ñÑ  αÑßπαß«ó
  2181.                «º¡áτáÑΓ, τΓ«   »α¿   ¿º¼Ñ¡Ñ¡¿¿   ñá¡¡δσ  Σá⌐½  »α¿ñÑΓß∩
  2182.                ¬«¼»¿½¿α«óáΓ∞ ºá¡«ó«.  àß½¿ óδ  ¡Ñ  σ«Γ¿ΓÑ  ñ½∩  ¬áªñ«ú«
  2183.                »«½∞º«óáΓѽ∩ ¬«¼»¿½¿α«óáΓ∞    »α«úαá¼¼π    ß     αáº¡δ¼¿
  2184.                αÑßπαßἿ,  Γ«  πñ«í¡ÑÑ  íπñÑΓ ¿ß»«½∞º«óáΓ∞ αạδÑ Σá⌐½δ
  2185.                ñá¡¡δσ, á ¡Ñ αạδÑ .EXE-Σá⌐½δ.
  2186.  
  2187.  
  2188.        Windows 3.0/pg/3#3                                        = 44 =
  2189.  
  2190.              ÿáú¿, ¡Ñ«íσ«ñ¿¼δÑ  ñ½∩  »α¿ß«Ññ¿¡Ñ¡¿∩ ¬ EXE ¿ DLL - Σá⌐½á¼
  2191.         αÑßπαß«ó, «»αÑñѽ∩Ѽδσ óἿ, «»¿ßá¡δ ó "Tools".
  2192.  
  2193.              é ß½ÑñπεΘ¿σ αáºñѽáσ  «»¿ßá¡δ  Σπ¡¬µ¿¿,  ¿ß»«½∞ºπѼδÑ  ñ½∩
  2194.         ñ«ßΓπ»á ¬ «»αÑñѽ∩Ñ¼δ¼ óἿ αÑßπαßá¼.
  2195.  
  2196.             Ä»αÑñѽѡ¿Ñ ¼ÑßΓ«»«½«ªÑ¡¿∩ «»αÑñѽ∩Ѽδσ óἿ αÑßπαß«ó.
  2197.  
  2198.              öπ¡¬µ¿∩ FindResource  «»αÑñѽ∩ÑΓ ¼ÑßΓ«»«½«ªÑ¡¿Ñ αÑßπαßá »«
  2199.         Ñú« ¿¼Ñ¡¿ ó «»¿ßá¡¿¿ αÑßπαßá.  öπ¡¬µ¿∩  ó«ºóαáΘáÑΓ  ñÑß¬α¿»Γ«α,
  2200.         ¬«Γ«αδ⌐ óδ   ¼«ªÑΓÑ  ó  ñá½∞¡Ñ⌐ΦѼ  ¿ß»«½∞º«óáΓ∞  ñ½∩  ºáúαπº¬¿
  2201.         αÑßπαßá ß »«¼«Θ∞ε  Σπ¡¬µ¿¿  LoadResource.  äÑß¬α¿»Γ«α  αÑßπαßá,
  2202.         ó«ºóαáΘáѼδ⌐ Σπ¡¬µ¿Ñ⌐  FindResource,   «»αÑñѽ∩ÑΓ   ¿¡Σ«α¼áµ¿ε,
  2203.         ¬«Γ«αá∩   «»¿ßδóáÑΓ  Ñú«  Γ¿»,  «íΩ∩ó½Ñ¡¡δ⌐  ó  Σá⌐½Ñ  «»¿ßá¡¿∩
  2204.         αÑßπαß«ó »α¿¬½áñ¡«⌐  »α«úαá¼¼δ,  ¼ÑßΓ«¡áσ«ªñÑ¡¿Ñ  ó  EXE-   ¿½¿
  2205.         DLL-Σá⌐½Ñ ¿ αẼÑα αÑßπαßá.
  2206.  
  2207.              ìá»α¿¼Ñα, »αÑñ»«½«ª¿¼,   óδ   σ«Γ¿ΓÑ  ó  ¬áτÑßΓóÑ  αÑßπαßá
  2208.         »«ññÑনóáΓ∞ ΓѬßΓ«óδ⌐ Σá⌐½ ó ¬«ñÑ ASCII ß  ¿¼Ñ¡Ñ¼  MYTEXT.EXE.
  2209.         ê¼∩  αÑßπαßá  "mytext",  á ó«º¼«ª¡«Ñ ¿¼∩ Γ¿»á "TEXT".  Ä»¿ßá¡¿Ñ
  2210.         Γᬫú« αÑßπαßá ó Σá⌐½Ñ «»¿ßá¡¿∩ αÑßπαß«ó  »α¿¬½áñ¡«⌐  »α«úαá¼¼δ
  2211.         íπñÑΓ óδú½∩ñÑΓ∞ ß½ÑñπεΘ¿¼ «íαẫ¼:
  2212.  
  2213.              mytext TEXT mytext.txt
  2214.  
  2215.              é »α«úαἼѠ óδ  ¼«ªÑΓÑ  »«½πτ¿Γ∞  ñÑß¬α¿»Γ«α  αÑßπαßá   ß
  2216.         »«¼«Θ∞ε Σπ¡¬µ¿¿ FindResource:
  2217.  
  2218.              HANDLE hMyTextResLoc;
  2219.                 .
  2220.                 .
  2221.                 .
  2222.                 hMyTextResLoc = FindResource(hInstance, "TEXT","mytext");
  2223.  
  2224.                         çáúαπº¬á ß«íßΓóÑ¡¡δσ αÑßπαß«ó.
  2225.  
  2226.              öπ¡¬µ¿∩ FindResource   ¡Ñ  ºáúαπªáÑΓ  αÑßπαß  ¿º  Σá⌐½á  ó
  2227.         »á¼∩Γ∞. Ä¡á Γ«½∞¬« «»αÑñѽ∩ÑΓ  Ñú«  ¼ÑßΓ«»«½«ªÑ¡¿Ñ  ó  Σá⌐½Ñ  ¿
  2228.         ó«ºóαáΘáÑΓ ñÑß¬α¿»Γ«α,  ¬«Γ«αδ⌐  «»αÑñѽ∩ÑΓ  ¿¡Σ«α¼áµ¿ε  «  Ñú«
  2229.         αẻ«½«ªÑ¡¿¿. ä½∩ ºáúαπº¬¿ αÑßπαßá ó »á¼∩Γ∞ óδ  ñ«½ª¡δ  óδºóáΓ∞
  2230.         LoadResource, ¬á¬ »«¬áºá¡« ¡¿ªÑ:
  2231.  
  2232.              HANDLE hMyTextResLoc;
  2233.                 HANDLE hMyTextRes;
  2234.                 .
  2235.                 .
  2236.                 .
  2237.                 hMyTextResLoc = FindResource(hInstance, "TEXT","mytext");
  2238.                 if(!hMyTextRes = LoadResource(hInstance,hMyTextResLoc))
  2239.                 {
  2240.                    /* «íαáí«Γ¬á ß«íδΓ¿∩, ¬«úñá ñ½∩ ºáúαπº¬¿ αÑßπαßá
  2241.                       ¡Ññ«ßΓáΓ«τ¡« »á¼∩Γ¿ */
  2242.                 }
  2243.  
  2244.        Windows 3.0/pg/3#3                                        = 45 =
  2245.  
  2246.  
  2247.              öπ¡¬µ¿∩ LoadResource  ßἫßΓ«∩Γѽ∞¡«  óδºδóáÑΓ GlobalAlloc
  2248.         ñ½∩ óδñѽѡ¿∩  »á¼∩Γ¿ ñ½∩ αÑßπα߫󠿠ºáΓѼ ¬«»¿απÑΓ ¿σ ¿º Σá⌐½á
  2249.         ó »á¼∩Γ∞.
  2250.  
  2251.              ü½«¬¿α«óá¡¿Ñ ¿ αáºí½«¬¿α«óá¡¿Ñ ß«íßΓóÑ¡¡δσ αÑßπαß«ó.
  2252.  
  2253.              ä½∩ ñ«ßΓπ»á   ¬   ñá¡¡δ¼  αÑßπαß«ó,  ¡áσ«ñ∩Θ¿¼ß∩  ó  í½«¬Ñ
  2254.         ú½«íá½∞¡«⌐ »á¼∩Γ¿,  óδ  ñ«½ª¡δ óδºóáΓ∞ Σπ¡¬µ¿ε LockResource ñ½∩
  2255.         í½«¬¿α«óá¡¿∩ »á¼∩Γ¿ ¿ »«½πτÑ¡¿∩ ñá½∞¡Ñú« π¬áºáΓѽ∩  ¡á  ñá¡¡δÑ.
  2256.         ¥Γ«  φ¬ó¿óá½Ñ¡Γ¡« ¿ß»«½∞º«óá¡¿ε GlobalLock ñ½∩ »«½πτÑ¡¿∩ áñαÑßá
  2257.         í½«¬á »á¼∩Γ¿,  óδñѽѡ¡«ú« ß »«¼«Θ∞ε Σπ¡¬µ¿¿  GlobalLock.  ì¿ªÑ
  2258.         »α¿ó«ñ¿Γß∩ »α«ñ«½ªÑ¡¿Ñ »αÑñδñπΘÑú« »α¿¼Ñαá:
  2259.  
  2260.              LPSTR lpstrMyText;
  2261.                 .
  2262.                 .
  2263.                 .
  2264.                 lpstrMyText = LockResource(hMyTextRes);
  2265.  
  2266.              Å«ß½Ñ »«½πτÑ¡¿∩ ñá½∞¡Ñú« áñαÑßá αÑßπαßá óδ  ¼«ªÑΓÑ  τ¿ΓáΓ∞
  2267.         ¿º ¡Ñú«  ñá¡¡δÑ ΓᬠªÑ,  ¬á¬ ¿º í½«¬á »á¼∩Γ¿,  ºáí½«¬¿α«óá¡¡«ú«
  2268.         Σπ¡¬µ¿Ñ⌐ GlobalLock.   é   «Γ½¿τ¿Ñ   «Γ   GlobalLock,   Σπ¡¬µ¿∩
  2269.         LockResource ó   ß½πτáÑ   ßíα«ßá   í½«¬á   »á¼∩Γ¿   ß  αÑßπαß«¼
  2270.         ßἫßΓ«∩Γѽ∞¡« óδºδóáÑΓ Σπ¡¬µ¿ε LoadResource ñ½∩ Ñú«  »«óΓ«α¡«⌐
  2271.         ºáúαπº¬¿.
  2272.  
  2273.              è«úñá ñ«ßΓπ»  ¬  αÑßπαßá¼  óá¼  í«½∞ΦÑ  ¡Ñ ¡πªÑ¡ óδ ñ«½ª¡δ
  2274.         óδºóáΓ∞ Σπ¡¬µ¿ε  UnlockResource.   ¥Γá   Σπ¡¬µ¿∩   φ¬ó¿óá½Ñ¡Γ¡á
  2275.         GlobalUnlock. àß½¿  óδ  «íΩ∩󿽿  αÑßπαß  ¬á¬  ßíαáßδóáѼδ⌐ ¿½¿
  2276.         »ÑαѼÑΘáѼδ⌐, φΓ« »αÑñ«ßΓáó½∩ÑΓ Windows ó«º¼«ª¡«ßΓ∞  »ÑαѼÑΘáΓ∞
  2277.         ¿½¿ ßíαáßδóáΓ∞    í½«¬    »á¼∩Γ¿,    ß«ñÑαªáΘ¿⌐   αÑßπαß,   »α¿
  2278.         ¡Ñ«íσ«ñ¿¼«ßΓ¿ πñ«ó½ÑΓó«αÑ¡¿∩  ñαπú¿σ  ºá»α«ß«ó   ¡á   óδñѽѡ¿Ñ
  2279.         »á¼∩Γ¿.
  2280.  
  2281.                          Äτ¿ßΓ¬á ß«íßΓóÑ¡¡δσ αÑßπαß«ó.
  2282.  
  2283.              öπ¡¬µ¿∩ FreeResource á¡á½«ú¿τ¡á GlobalFRee. Ä¡á ßíαáßδóáÑΓ
  2284.         í½«¬ »á¼∩Γ¿,   ¿ß»«½∞ºπѼδ⌐  ñ½∩  σαá¡Ñ¡¿∩  ñá¡¡δσ  αÑßπαßá,  ¿
  2285.         ñÑß¬α¿»Γ«α,  ¿ß»«½∞ºπѼδ⌐ ñ½∩ ñ«ßΓπ»á ¬ ñá¡¡«¼π  αÑßπαßπ.  àß½¿
  2286.         ó«º¡¿¬¡ÑΓ  ¡Ñ«íσ«ñ¿¼«ßΓ∞ ß¡«óá ºáúαπº¿Γ∞ αÑßπαß,  óδ ñ«½ª¡δ φΓ«
  2287.         ßñѽáΓ∞ ß »«¼«Θ∞ε Σπ¡¬µ¿¿  LoadResource,  ¿ß»«½∞ºπ∩  ñÑß¬α¿»Γ«α
  2288.         Ñú«  ¼ÑßΓ«»«½«ªÑ¡¿∩,  ¬«Γ«αδ⌐  óδ  »«½πτ¿½¿  ó ¡áτá½Ñ ß »«¼«Θ∞ε
  2289.         Σπ¡¬µ¿¿ FindResource.
  2290.  
  2291.  
  2292.  
  2293.        Windows 3.0/pg/3#3                                        = 46 =
  2294.  
  2295.                                 16.3  êß»«½∞º«óá¡¿Ñ ¼«ñѽÑ⌐ »á¼∩Γ¿.            
  2296.  
  2297.              Åਪ½áñ¡δÑ »α«úαá¼¼δ  Windows,  Γᬠ ªÑ  ¬á¬  ¿ »α¿¬½áñ¡δÑ
  2298.         »α«úαá¼¼δ DOS,  ¼«úπΓ ¿¼ÑΓ∞ «ñ¿¡ ¿½¿ ¡Ñ߬«½∞¬« ßÑú¼Ñ¡Γ«ó ñá¡¡δσ
  2299.         ¿ «ñ¿¡ ¿½¿ ¡Ñ߬«½∞¬« ßÑú¼Ñ¡Γ«ó ¬«ñá.  î«ñѽ∞ »á¼∩Γ¿, ¬«Γ«απε óδ
  2300.         π¬áºδóáÑΓÑ »α¿ ¬«¼»¿½∩µ¿¿ ¿ßσ«ñ¡δσ ¼«ñπ½Ñ⌐,  «»αÑñѽ∩ÑΓ,  íπñÑΓ
  2301.         ½¿ ¬«¼»¿½∩Γ«α ¿ß»«½∞º«óáΓ∞ ñá½∞¡¿Ñ ¿½¿ í½¿ª¡¿Ñ áñαÑßá.  àß½¿ óδ
  2302.         π¬áºδóáÑΓÑ  ¼«ñѽ∞  »á¼∩Γ¿,  ó  ¬«Γ«α«⌐  »α«úαἼᠠ¿¼ÑÑΓ  «ñ¿¡
  2303.         ßÑú¼Ñ¡Γ ¬«ñá  ¿½¿  ñá¡¡δσ,  Γ«  ¬«¼»¿½∩Γ«α  íπñÑΓ  úÑ¡Ñα¿α«óáΓ∞
  2304.         í½¿ª¡¿Ñ  áñαÑßá  ñ½∩  ñ«ßΓπ»á ß««ΓóÑΓßΓóÑ¡¡« ¬ ¬«ñπ ¿½¿ ñá¡¡δ¼.
  2305.         àß½¿ óδ ¿ß»«½∞ºπÑΓÑ ¼«ñѽ∞ »á¼∩Γ¿ ß ¡Ñ߬«½∞¬¿¼¿ ßÑú¼Ñ¡ΓἿ ¬«ñá
  2306.         ¿½¿  ñá¡¡δσ,  Γ«  ¬«¼»¿½∩Γ«α  íπñÑΓ ß««ΓóÑΓßΓóÑ¡¡« úÑ¡Ñα¿α«óáΓ∞
  2307.         ñá½∞¡¿Ñ áñαÑßá ñ½∩ ñ«ßΓπ»á ¬  ¬«ñπ  ¿½¿  ñá¡¡δ¼.  É¿ßπ¡«¬  16.8
  2308.         ¿½½εßΓα¿απÑΓ   ó½¿∩¡¿Ñ  ¼«ñѽ¿  »á¼∩Γ¿  ¡á  Γ«,  ¬á¬¿¼  «íαẫ¼
  2309.         »α¿¬½áñ¡á∩ »α«úαá¼¼á áñαÑßπÑΓ ¬«ñ ¿ ñá¡¡δÑ.
  2310.  
  2311.                             ù¿ß½« ¬«ñ«óδσ ßÑú¼Ñ¡Γ«ó
  2312.  
  2313.                                     Äñ¿¡        ìÑ߬«½∞¬«
  2314.                               ┌──────────────┬──────────────┐
  2315.           ù¿ß½«               │  îá½á∩       │  æαÑñ¡∩∩     │
  2316.           ßÑú¼Ñ¡Γ«ó    Äñ¿¡   │  ¼«ñѽ∞      │  ¼«ñѽ∞      │
  2317.           ñá¡¡δσ              │  »á¼∩Γ¿      │  »á¼∩Γ¿      │
  2318.                               ├──────────────┼──────────────┤
  2319.                               │  è«¼»á¬Γ¡á∩  │  ü«½∞Φá∩     │
  2320.                   ìÑ߬«½∞¬«   │  ¼«ñѽ∞      │  ¼«ñѽ∞      │
  2321.                               │  »á¼∩Γ¿      │  »á¼∩Γ¿      │
  2322.                               └──────────────┴──────────────┘
  2323.  
  2324.              É¿ßπ¡«¬ 16.8  î«ñѽ¿ »á¼∩Γ¿ ¬«¼»¿½∩Γ«αá Microsoft.
  2325.  
  2326.              äóÑ ¼«ñѽ¿ »á¼∩Γ¿:  í«½∞Φá∩  ¿  huge,  ¬«Γ«αδÑ  úÑ¡Ñα¿απεΓ
  2327.         ñá½∞¡¿Ñ áñαÑßá  »α¿  «íαáΘÑ¡¿¿  ¬á¬  ¬  ñá¡¡δ¼ Γᬠ¿ ¬ ¬«ñπ.  é
  2328.         í«½∞Φ«⌐ ¼«ñѽ¿ »á¼∩Γ¿ ñá½∞¡¿Ñ áñαÑßá ¼«úπΓ πóѽ¿τ¿óáΓ∞ß∩ Γ«½∞¬«
  2329.         ó »αÑñѽáσ 64 èíá⌐Γ«ó«ú« ßÑú¼Ñ¡Γá.  é ¼«ñѽ¿ »á¼∩Γ¿ huge áñαÑßá
  2330.         ¼«úπΓ πóѽ¿τ¿óáΓ∞ß∩ ¿ »ÑαÑßѬáΓ∞ úαá¡¿µδ  ßÑú¼Ñ¡Γ«ó,  Γ.¬.  ñ½∩
  2331.         ¡¿σ »α«¿ºó«ñ¿Γß∩  πóѽ¿τÑ¡¿Ñ  ¡Ñ  Γ«½∞¬« ß¼ÑΘÑ¡¿∩,  ¡« ¿ áñαÑßá
  2332.         ßÑú¼Ñ¡Γá. Æá¬ªÑ,  Ñß½¿ ¼«ñπ½∞ ¬«¼»¿½¿απÑΓß∩  ó  í«½∞Φ«⌐  ¼«ñѽ¿
  2333.         »á¼∩Γ¿, Γ«   ó   αÑá½∞¡«¼  αѪ¿¼Ñ  Ñú«  ßÑú¼Ñ¡Γ  ñá¡¡δσ  óßÑúñá
  2334.         Σ¿¬ß¿α«óá¡, ¿ ó« óßÑσ αѪ¿¼áσ Windows  ¼«ªÑΓ  ºáúαπº¿Γ∞  Γ«½∞¬«
  2335.         «ñ¿¡ φ¬ºÑ¼»½∩α φΓ«ú« ¼«ñπ½∩.
  2336.  
  2337.              é «íΘѼ,  ½πτΦÑ  óßÑú«  ñ½∩  »α¿¬½áñ¡δσ  »α«úαá¼¼  Windows
  2338.         ¿ß»«½∞º«óáΓ∞ ¼á½πε ¼«ñѽ∞ »á¼∩Γ¿.  Åα¿ αáí«ΓÑ Windows ó íẫó«⌐
  2339.         ¬«¡Σ¿úπαᵿ¿ »á¼∩Γ¿ ¿ ¬«¡Σ¿úπαᵿ¿ EMS,  τΓ« »α¿ó«ñ¿Γ  ¬  Γ«¼π,
  2340.         τΓ«  ñá½∞¡¿Ñ  ßÑú¼Ñ¡Γδ  ñá¡¡δσ  »α«úαá¼¼,  «Γ¬«¼»¿½¿α«óá¡¡δσ  ó
  2341.         ¬«¼»á¬Γ¡«⌐, í«½∞Φ«⌐   ¿   hude   ¼«ñѽ∩σ   »á¼∩Γ¿,   ßΓá¡«ó∩Γß∩
  2342.         Σ¿¬ß¿α«óá¡¡δ¼¿,  τΓ« πσπñΦáÑΓ σáαá¬ΓÑα¿ßΓ¿¬¿ ß¿ßΓѼδ π»αáó½Ñ¡¿∩
  2343.         »á¼∩Γ¿   Windows.   äá½∞¡¿Ñ   ßÑú¼Ñ¡Γδ   ñá¡¡δσ   ñ«½ª¡δ   íδΓ∞
  2344.         Σ¿¬ß¿α«óá¡δ,    »«ß¬«½∞¬π   Windows   ¡Ñ   ß«ñÑαª¿Γ   ¼Ñσá¡¿º¼á
  2345.         »ÑαѡạáτÑ¡¿∩  ñá½∞¡¿σ  ßß佫¬  ¡á   »ÑαѼÑΘáѼδÑ   ó   »á¼∩Γ¿
  2346.         ßÑú¼Ñ¡Γδ.   Äñ¡á¬«  Windows  ß«ñÑαª¿Γ  ¼Ñσá¡¿º¼  »ÑαѡạáτÑ¡¿∩
  2347.         ßß佫¬ ¡á áóΓ«¼áΓ¿τÑ߬¿⌐ ßÑú¼Ñ¡Γ ñá¡¡δσ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ  ¿
  2348.  
  2349.        Windows 3.0/pg/3#3                                        = 47 =
  2350.  
  2351.         ¡á ¬«ñ«óδ⌐ ßÑú¼Ñ¡Γ, ¬«úñá «¡¿ »ÑαѼÑΘáεΓß∩.
  2352.  
  2353.              àß½¿ óδ ¿ß»«½∞ºπÑΓÑ Microsoft C Compiler,  Γ« ¬«¼»¿½¿απ⌐ΓÑ
  2354.         »α¿¬½áñ¡δÑ »α«úαá¼¼δ ß ¬½ετѼ -AS ñ½∩ ¼á½«⌐ ¼«ñѽ¿ »á¼∩Γ¿ ¿ -AM
  2355.         ñ½∩ ßαÑñ¡Ñ⌐ ¼«ñѽ¿ »á¼∩Γ¿.
  2356.  
  2357.              Windows »«ºó«½∩ÑΓ óá¼ ¿ß»«½∞º«óáΓ∞ "ß¼Ñß∞" ¼«ñѽÑ⌐ »á¼∩Γ¿.
  2358.         é ß¼ÑΦá¡¡«⌐ ¼«ñѽ¿ »á¼∩Γ¿  óδ  ¬«¼»¿½¿απÑΓÑ  ¼«ñπ½¿,  ¿ß»«½∞ºπ∩
  2359.         ¬½ετ -AS ¿ ñ½∩ ΓÑσ ¼«ñπ½Ñ⌐,  ¬«Γ«αδÑ óδ σ«Γ¿ΓÑ »«¼ÑßΓ¿Γ∞ ó «ñ¿¡
  2360.         ¬«ñ«óδ⌐ ßÑú¼Ñ¡Γ óδ π¬áºδóáÑΓÑ «ñ¡« ¿ Γ« ªÑ ¿¼∩ ßÑú¼Ñ¡Γá,  á ñ½∩
  2361.         ΓÑσ  ¼«ñπ½Ñ⌐,  ¬«Γ«αδÑ  ñ«½ª¡δ  ¡áσ«ñ¿Γ∞ß∩  ó ñαπú¿σ ßÑú¼Ñ¡Γáσ,
  2362.         π¬áºδóáÑΓÑ «Γ½¿τ¡δÑ ¿¼Ñ¡á ßÑú¼Ñ¡Γ«ó.  ä½∩  »α¿ßó«Ñ¡¿∩  ßÑú¼Ñ¡Γπ
  2363.         ¿¼Ñ¡¿ ¿ß»«½∞ºπÑΓß∩  ¬½ετ  -NT.  öπ¡¬µ¿¿,  óδºδóáѼδÑ  ¿º αạδσ
  2364.         ßÑú¼Ñ¡Γ«ó, ñ«½ª¡δ íδΓ∞ «íΩ∩ó½Ñ¡δ ó ¼«ñπ½Ñ, ¬«Γ«αδ⌐ «ßπΘÑßΓó½∩ÑΓ
  2365.         ¿σ ó맮ó ¬á¬ ñá½∞¡¿Ñ (far), ¬á¬ »«¬áºá¡« ¡¿ªÑ:
  2366.  
  2367.              WORD FAR PASCAL FuncInAnotherCodeSeg(WORD,LONG);
  2368.              WORD wReturn;
  2369.                .
  2370.                .
  2371.                .
  2372.              wReturn = FuncInAnotherCodeSeg(0,0L);
  2373.  
  2374.              ÅαÑ¿¼πΘÑßΓó« ß¼ÑΦá¡¡«⌐   ¼«ñѽ¿  ºá¬½ετáÑΓß∩  ó  Γ«¼,  τΓ«
  2375.         ¡Ñ«íσ«ñ¿¼« ¿ß»«½∞º«óáΓ∞ ñá½∞¡¿Ñ ó맮óδ Γ«½∞¬« ¼Ñªñπ ßÑú¼Ñ¡ΓἿ.
  2376.         öπ¡¬µ¿¿, «íΩ∩ó½Ñ¡¡δÑ ¬á¬ far,  ΓαÑíπεΓ í«½∞ΦÑ ¼ÑßΓá ¿ ¿σ  ó맮ó
  2377.         «ßπΘÑßΓó½∩ÑΓß∩ ¼Ññ½Ñ¡¡ÑÑ.
  2378.  
  2379.              é ñαπú«⌐ Σ«α¼Ñ ß¼ÑΦá¡¡«⌐ ¼«ñѽ¿ óδ ¼«ªÑΓÑ ¬«¼»¿½¿α«óáΓ∞  ß
  2380.         ¿ß»«½∞º«ó᡿Ѽ ¬½ετá   -AM,   ¬«Γ«αδ⌐   ºáßΓáó½∩ÑΓ   ¬«¼»¿½∩Γ«α
  2381.         úÑ¡Ñα¿α«óáΓ∞ »« π¼«½τá¡¿ε ñá½∞¡¿Ñ ó맮óδ.  çáΓѼ,  ΓÑ  Σπ¡¬µ¿¿,
  2382.         óδº«ó ¬«Γ«αδσ «ßπΘÑßΓó½∩ÑΓß∩ ¿º φΓ«ú« ªÑ ßÑú¼Ñ¡Γá,  «»¿ßδóáεΓß∩
  2383.         ¬á¬ í½¿ª¡¿Ñ (near).  ìÑñ«ßΓáΓ¬«¼ φΓ«ú« ¼ÑΓ«ñá ∩ó½∩ÑΓß∩ Γ«,  τΓ«
  2384.         Σπ¡¬µ¿¿ ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓÑ¼δ æ ΓᬪѠíπñπΓ ñá½∞¡¿¼¿.
  2385.                               16.4  êß»«½∞º«óá¡¿Ñ ñá¡¡δσ Γ¿»á huge.            
  2386.  
  2387.              é »α«úαá¼¼áσ  ¡á  æ óδ ¼«ªÑΓÑ «íΩ∩ó¿Γ∞ ñá¡¡δÑ ¬á¬ huge.  é
  2388.         φΓ«¼ ß½πτáÑ   ¬«¼»¿½∩Γ«α   æ    íπñÑΓ    ¬«ααÑ¬Γ¡«    óδ»«½¡∩Γ∞
  2389.         áα¿Σ¼ÑΓ¿τÑ߬¿Ñ ñÑ⌐ßΓó¿∩ ß π¬áºáΓѽ∩¼¿ Γᬿ¼ «íαẫ¼,  τΓ«íδ «¡¿
  2390.         ¼«ú½¿ »ÑαÑßѬáΓ∞  úαá¡¿µδ   ßÑú¼Ñ¡Γ«ó.   éδ   ¼«ªÑΓÑ   »«ßδ½áΓ∞
  2391.         π¬áºáΓѽ¿ Γ¿»á huge Σπ¡¬µ¿∩¼ í¿í½¿«ΓѬ¿ Windows ¿½¿ ß«íßΓóÑ¡¡δ¼
  2392.         Σπ¡¬µ¿∩¼, ¬«Γ«αδÑ ñ«½ª¡δ »«½πτáΓ∞ ñá½∞¡¿Ñ π¬áºáΓѽ¿,  ¡« Γ«½∞¬«
  2393.         Ñß½¿ Σπ¡¬µ¿∩ ¡Ñ óδ»«½¡∩ÑΓ ó¡πΓαÑ¡¡Ñú« πóѽ¿τÑ¡¿∩ π¬áºáΓѽ∩, ñ½∩
  2394.         π¬áºá¡¿∩ «íΩѬΓá,  ¬«Γ«αδ⌐   »ÑαѬαδóáÑΓ   úαá¡¿µπ   ßÑú¼Ñ¡Γ«ó.
  2395.         ìá»α¿¼Ñα, ¡¿ªÑ»α¿óÑñÑ¡¡δ⌐   »α¿¼Ñα   ñ«»πßΓ¿¼,   »«ß¬«½∞¬π   16
  2396.         ∩ó½∩ÑΓß∩ ¬«φΣΣ¿µ¿Ñ¡Γ«¼ 64è (65536).
  2397.  
  2398.              char huge Record[10000][16];
  2399.              int       i;
  2400.  
  2401.              TextOut(hDC,x,y,(LPSTR)Record[i],16);
  2402.  
  2403.  
  2404.        Windows 3.0/pg/3#3                                        = 48 =
  2405.  
  2406.              æ½ÑñπεΘ¿⌐ »α¿¼Ñα ¡áαπΦáÑΓ φΓ« «úαá¡¿τÑ¡¿Ñ, Γ.¬. π¬áºáΓѽ∞,
  2407.         »«ßδ½áѼδ⌐ Σπ¡¬µ¿¿  TextOut,  π¬áºδóáÑΓ  ¡á  «íΩѬΓ,  ¬«Γ«αδ⌐ ó
  2408.         ¬«¡µÑ ¬«¡µ«ó »ÑαÑßÑτÑΓ úαá¡¿µπ 64è:
  2409.  
  2410.              char huge Record[10000][15];
  2411.              int       i;
  2412.  
  2413.              TextOut(hDC,x,y,(LPSTR)Record[i],15);
  2414.              /* ¡Ñ ñѽá⌐ΓÑ Γᬠ*/
  2415.  
  2416.              Å«ß¬«½∞¬π 15 ¡Ñ ∩ó½∩ÑΓß∩ ñѽ¿ΓѽѼ 64è,  Γ« ó ¬«¡µÑ ¬«¡µ«ó
  2417.         π¬áºáΓѽ∞ »ÑαÑßÑτÑΓ úαá¡¿µπ ßÑú¼Ñ¡Γá.
  2418.                        16.5. ùeú« ß½ÑñπÑΓ ¿ºíÑúáΓ∞ »α¿ αáí«ΓÑ ß ñá¡¡δ¼¿        
  2419.  
  2420.              é »αÑñδñπΘ¿σ  αáºñѽáσ  »α¿óÑñѡᠠ«ß¡«ó¡á∩  ¿¡Σ«α¼áµ¿∩  «
  2421.         Γ«¼, ¬á¬  αáí«ΓáÑΓ  ß¿ßΓѼᠠπ»αáó½Ñ¡¿∩  »á¼∩Γ∞ε Windows.  äá¡δ
  2422.         ß«óÑΓδ »« »«ó«ñπ Γ«ú«,  ¬á¬¿¼ «íαẫ¼  óδñѽ∩Γ∞  »á¼∩Γ∞  ¿  ¬á¬
  2423.         φΣΣÑ¬Γ¿ó¡« ¿ß»«½∞º«óáΓ∞ αẽ¿τ¡δÑ ¼ÑΓ«ñδ ñ½∩ óδñѽѡ¿∩ »á¼∩Γ¿.
  2424.  
  2425.              é ñá¡¡«¼  αáºñѽѠ ¼δ  ß«ßαÑñ«Γ«τ¿¼  ó¡¿¼á¡¿Ñ  ¡á «ß¡«ó¡δσ
  2426.         «Φ¿í¬áσ »α«úαá¼¼¿α«óá¡¿∩ ó ßαÑñÑ  Windows,  ¬«Γ«αδÑ  óδ  ñ«½ª¡δ
  2427.         ¿ºíÑúáΓ∞ ó ßó«¿σ »α«úαá¼¼áσ.  àß½¿ óδ »«¡¿¼áÑΓÑ,  ¬á¬  αáí«ΓáÑΓ
  2428.         ß¿ßΓѼᠠπ»αáó½Ñ¡¿∩ »á¼∩Γ∞ε Windows,  Γ« ß½ÑñπεΘ¿Ñ ß«óÑΓδ íπñπΓ
  2429.         »α«ºαáτ¡δ.
  2430.  
  2431.           ìÑ »αÑñ»«½áúá⌐ΓÑ,   τΓ«  πα«óÑ¡∞  »α¿ó¿½Ñú¿⌐,  ¡á  ¬«Γ«α«¼
  2432.                  αáí«ΓáÑΓ óáΦá »α«úαá¼¼á, «ßΓá¡ÑΓß∩ ¡Ñ¿º¼Ñ¡¡δ¼.
  2433.  
  2434.              üπñπΘ¿Ñ óÑαß¿¿ Windows íπñπΓ ¿º¼Ñ¡∩Γ∞ πα«óÑ¡∞  »α¿ó¿½Ñú¿⌐,
  2435.         ¡á ¬«Γ«α«¼ αáí«ΓáεΓ »α¿¬½áñ¡δÑ »α«úαá¼¼δ.
  2436.  
  2437.           ìÑ ¿ß»«½∞ºπ⌐ΓÑ  ñá½∞¡¿Ñ  π¬áºáΓѽ¿ ¡á ßΓáΓ¿τÑ߬¿Ñ ñá¡¡δÑ ó
  2438.                         ¼á½«⌐ ¿ ßαÑñ¡Ñ⌐ ¼«ñѽ¿ »á¼∩Γ¿.
  2439.  
  2440.              ÅαÑñ»«½«ª¿¼, ¼«ñπ½∞ ß«ñÑαª¿Γ ß½ÑñπεΘ¿Ñ «íΩ∩ó½Ñ¡¿∩:
  2441.  
  2442.              static LPSTR lpstrDlgName = "MyDlg";
  2443.                  /*  ìà æïàäôëÆà äÇììÄîô ÅÉêîàÉô */
  2444.                 .
  2445.                 .
  2446.                 .
  2447.                 hDlg = CreateDialog(hInstance,
  2448.                                     lpstrDlgName,
  2449.                                     hWndParent,
  2450.                                     lpDlgFunction);
  2451.  
  2452.              ô¬áºáΓѽ∞ LPSTR (char FAR *) πßΓá¡áó½¿óáÑΓß∩ »α¿  ºáúαπº¬Ñ
  2453.         »α«úαá¼¼δ ó  »á¼∩Γ∞  ¿  ¼«ªÑΓ ßΓáΓ∞ ¡Ñ¬«ααÑ¬Γ¡δ¼,  Ñß½¿ Windows
  2454.         »ÑαѼÑßΓ¿Γ áóΓ«¼áΓ¿τÑ߬¿⌐  ßÑú¼Ñ¡Γ  ñá¡¡δσ,  ¬«Γ«αδ⌐   ß«ñÑনΓ
  2455.         ßΓ᫬π "MyDlg"    (¬«¡Ñτ¡«    φΓ«ú«    ¡Ñ    »α«¿º«⌐ñÑΓ,   Ñß½¿
  2456.         áóΓ«¼áΓ¿τÑ߬¿⌐ ßÑú¼Ñ¡Γ ñá¡¡δσ íπñÑΓ Σ¿¬ß¿α«óá¡¡δ¼).
  2457.  
  2458.  
  2459.        Windows 3.0/pg/3#3                                        = 49 =
  2460.  
  2461.              ÅαÑñδñπΘ¿⌐ »α¿¼Ñα ¼«ª¡« ¿ß»αáó¿Γ∞,  Ñß½¿ «íΩ∩ó¿Γ∞  í½¿ª¡¿⌐
  2462.         π¬áºáΓѽ∞ ¡á ßΓ᫬π,  PSTR (char NEAR *), ¿ »α¿óÑßΓ¿ Ñú« ¬ Γ¿»π
  2463.         LPSTR ó ó맮óÑ Σπ¡¬µ¿¿ CreateDialog,  ¬á¬ »«¬áºá¡« ó  ß½ÑñπεΘѼ
  2464.         »α¿¼ÑαÑ:
  2465.  
  2466.              static PSTR pstrDlgName = "MyDlg";
  2467.                  /*  æïàäôëÆà äÇììÄîô ÅÉêîàÉô */
  2468.                 .
  2469.                 .
  2470.                 .
  2471.                 hDlg = CreateDialog(hInstance,
  2472.                                     (LPSTR)pstrDlgName,
  2473.                                     hWndParent,
  2474.                                     lpDlgFunction);
  2475.  
  2476.              ƒó¡«Ñ »α¿óÑñÑ¡¿Ñ ¬ Γ¿»π ñá½∞¡Ñú« π¬áºáΓѽ∩ ó ¼«¼Ñ¡Γ ó맮óá
  2477.         Σπ¡¬µ¿¿ »α¿óÑñÑΓ  ¬  Γ«¼π,  τΓ«  ß«ñÑন¼«Ñ  αÑú¿ßΓαá  DS íπñÑΓ
  2478.         »«¼ÑΘÑ¡« ó ßΓѬ ó ¼«¼Ñ¡Γ ó맮óá Σπ¡¬µ¿¿, á ¡Ñ ó ¼«¼Ñ¡Γ ºáúαπº¬¿
  2479.         »α«úαá¼¼δ.
  2480.  
  2481.           ìÑ »«ßδ½á⌐ΓÑ  ñá¡¡δÑ  ñαπú«⌐  »α¿¬½áñ¡«⌐  »α«úαἼѠ τÑαѺ
  2482.                             ú½«íá½∞¡δ⌐ ñÑß¬α¿»Γ«α.
  2483.  
  2484.              ä½∩ αáºñѽѡ¿∩  ñá¡¡δσ  ß  ñαπú«⌐ »α¿¬½áñ¡«⌐ »α«úαá¼¼«⌐ ¡Ñ
  2485.         ¿ß»«½∞ºπ⌐ΓÑ ú½«íá½∞¡δ⌐    ñÑß¬α¿»Γ«α,    Γ.¬.     óδ     ñ«½ª¡δ
  2486.         »«ñαáºπ¼ÑóáΓ∞, τΓ«  óáΦá  ¿  ñαπú¿Ñ »α«úαá¼¼δ ¿¼ÑεΓ αáºí¿Γ«Ñ ¡á
  2487.         τáßΓ¿ áñαÑß¡«Ñ »α«ßΓαá¡ßΓó«.  ìá»α¿¼Ñα,  Ñß½¿  óáΦá  »α¿¬½áñ¡á∩
  2488.         »α«úαá¼¼á αáí«ΓáÑΓ   »α¿  ¬«¡Σ¿úπαᵿ¿  »á¼∩Γ¿  EMS  ß  í«½∞Φ¿¼
  2489.         ΣαÑ⌐¼«¼ «ΓαíαáªÑ¡¿∩.  ÇñαÑß  ,  ó«ºóαáΘáѼδ⌐   »α¿   αáºαÑΦÑ¡¿¿
  2490.         ñÑß¬α¿»Γ«αá, «»αÑñѽ∩ÑΓ  í½«¬ ó «í½áßΓ¿ «Γ«íαáªÑ¡¿∩.  àß½¿ óáΦá
  2491.         »α¿¬½áñ¡á∩ »α«úαἼᠠ»«ßδ½áÑΓ  ºáΓѼ  φëà ñÑß¬α¿»Γ«α  ñαπú«⌐
  2492.         »α¿¬½áñ¡«⌐ »α«úαá¼¼Ñ,  Γ«  »α¿  »«»δΓ¬Ñ  »«½πτ¿Γ∞  áñαÑß  í½«¬á
  2493.         »á¼∩Γ¿ (ß »«¼«Θ∞ε Σπ¡¬µ¿¿ GlobalLock), ó αѺπ½∞ΓáΓÑ óδ »«½πτ¿ΓÑ
  2494.         áñαÑß ó   «ñ¡«¼Ñú«íá⌐Γ«ó«¼  Σ¿º¿τÑ߬«¼  áñαÑß¡«¼  »α«ßΓαá¡ßΓóÑ.
  2495.         Äñ¡á¬« φëà ñÑß¬α¿»Γ«α  π¬áºδóáÑΓ  ¡á  ñá¡¡δÑ,  «Γ«íαáªÑ¡¡δÑ ó
  2496.         «í½áßΓ∞ «Γ«íαáªÑ¡¿∩ EMS ñ½∩ ñαπú«⌐ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ,  á  ¡Ñ
  2497.         ñá¡¡δÑ óáΦÑ⌐ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ.
  2498.  
  2499.              Éáßß¼«Γα¿¼ ß½ÑñπεΘ¿⌐ ¡ÑóÑα¡δ⌐ »α¿¼Ñα:
  2500.  
  2501.              WORD wMyMsg;
  2502.                 HANDLE hGlobalObject;
  2503.                 .
  2504.                 .
  2505.                 .
  2506.                 wMyMsg = RegisterWindowMessage((LPSTR)"MyMessage");
  2507.                 hGlobalHandle = GlobalAlloc(GMEM_FIXED,100H);
  2508.                 .
  2509.                 .
  2510.                 .
  2511.                 PostMessage(-1,wMyMsg,hGlobalObject,0L);
  2512.                  /*  ìà æïàäôëÆà äÇììÄîô ÅÉêîàÉô */
  2513.  
  2514.  
  2515.        Windows 3.0/pg/3#3                                        = 50 =
  2516.  
  2517.              é ñá¡¡«¼ »α¿¼ÑαÑ óßѼ «¬¡á¼ (¿ ñαπú¿σ »α¿¬½áñ¡δσ »α«úαá¼¼)
  2518.         »ÑαÑñáÑΓß∩ ß»Ñµ¿á½∞¡« ºáαÑú¿ßΓα¿α«óá¡¡«Ñ ß««íΘÑ¡¿Ñ. àß½¿ ñαπúá∩
  2519.         »α«úαἼᠺáαÑú¿ßΓα¿α«óá½á   ß««íΘÑ¡¿Ñ   ß   Γᬿ¼   ªÑ  ¿¼Ñ¡Ñ¼
  2520.         "MyMessage", Γ« «¡á ΓᬪѠ߼«ªÑΓ αáß»«º¡áΓ∞ ñá¡¡«Ñ ß««íΘÑ¡¿Ñ  ó
  2521.         «ñ¡«⌐ ¿º  Σπ¡¬µ¿⌐  «íαáí«Γ¬¿  ß««íΘÑ¡¿⌐  «¬¡á.  àß½¿  ºáΓѼ φΓá
  2522.         »α«úαἼᠻ«»δΓáÑΓß∩   »«½πτ¿Γ∞  áñαÑß  «íΩѬΓá,  «»αÑñѽ∩Ѽ«ú«
  2523.         ñÑß¬α¿»Γ«α«¼ hGlobalObject,  Γ«  »α¿  αáí«ΓÑ  »α¿  ¬«¡Σ¿úπαᵿ¿
  2524.         »á¼∩Γ¿ EMS ß í«½∞Φ¿¼ ΣαÑ⌐¼«¼ «Γ«íαáªÑ¡¿∩,  áñαÑß,  ó«ºóαáΘáѼδ⌐
  2525.         Σπ¡¬µ¿Ñ⌐ GlobalLock,  íπñÑΓ ¡ÑóÑα¡δ¼.  äáªÑ ΓÑ ñá¡¡δÑ,  ¬«Γ«αδÑ
  2526.         óδñÑ½Ñ¡δ   ß   áΓα¿íπΓ«¼   GMEM_FIXED,   óßÑ   αáó¡«  ó  ñá¡¡«⌐
  2527.         ¬«¡Σ¿úπαᵿ¿ «Γ«íαáªáεΓß∩ ó αáßΦ¿αÑ¡¡πε »á¼∩Γ∞.
  2528.  
  2529.              èα«¼Ñ Γ«ú«,  ó  íπñπΘ¿σ  óÑαß¿∩σ  Windows  »α¿  αáí«ΓÑ   ó
  2530.         ßΓá¡ñáαΓ¡«⌐   ¬«¡Σ¿úπαᵿ¿   »á¼∩Γ¿   ¿   ¬«¡Σ¿úπαᵿ¿   »á¼∩Γ¿
  2531.         αáßΦ¿αÑ¡¡«ú«  αѪ¿¼á  »α«µÑßß«αá  80386  áñαÑß¡«Ñ  »α«ßΓαá¡ßΓó«
  2532.         »α¿¬½áñ¡«⌐ »α«úαá¼¼δ íπñÑΓ αáºñѽѡ¡δ¼ ¡á τáßΓ¿.
  2533.  
  2534.              Windows »«ññÑনóáÑΓ ß½ÑñπεΘ¿Ñ ¼ÑΓ«ñδ «í¼Ñ¡á ñá¡¡δ¼¿ ¼Ñªñπ
  2535.         »α¿¬½áñ¡δ¼¿ »α«úαἼἿ   -  φΓ«  ß¿ßΓѼ¡δ⌐  íπΣÑα  ¿  »α«Γ«¬«½
  2536.         ñ¿¡á¼¿τÑ߬«ú« «í¼Ñ¡á ñá¡¡δ¼¿ (DDE). àß½¿ óδ »«ßδ½áÑΓÑ τÑαѺ DDE
  2537.         ú½«íá½∞¡δ⌐ ñÑß¬α¿»Γ«α,    Γ«    «¡    ñ«½ªÑ¡    ¿¼ÑΓ∞   áΓα¿íπΓ
  2538.         GMEM_DDESHARE. Åα¿   αáºñѽѡ¿¿   »á¼∩Γ¿   óδ   óßÑúñá   ñ«½ª¡δ
  2539.         »«½∞º«óáΓ∞ß∩ DDE.
  2540.  
  2541.              éδ ¼«ªÑΓÑ   »«½∞º«óáΓ∞ß∩   »α«Γ«¬«½«¼   DDE  ñ½∩  »ÑαÑñáτ¿
  2542.         ú½«íá½∞¡«ú« ñÑß¬α¿»Γ«αá  »«Γ«¼π,  τΓ«  ñ½∩  Γᬿσ  ñÑß¬α¿»Γ«α«ó
  2543.         Windows óδ»«½¡∩ÑΓ   ñ«»«½¡¿Γѽ∞¡πε   «íαáí«Γ¬π.   è«úñá  óΓ«αá∩
  2544.         »α¿¬½áñ¡δ∩ »α«úαἼᠠ»δΓáÑΓß∩  »«½πτ¿Γ∞  áñαÑß  Γᬫú«   í½«¬á
  2545.         »á¼∩Γ¿, Windows ºáúαπªáÑΓ  Ñú«  ¿º  αáßΦ¿αÑ¡¡«⌐  »á¼∩Γ¿  »Ñαó«⌐
  2546.         »α«úαá¼¼δ  ó«  óαѼѡ¡δ⌐  ú½«íá½∞¡δ⌐ í½«¬ ó «í½áßΓ¿ «Γ«íαáªÑ¡¿∩
  2547.         óΓ«α«⌐ »α«úαá¼¼δ.  é«ºóαáΘáѼδ⌐ Σπ¡¬µ¿Ñ⌐ GlobalLock áñαÑß Γᬿ¼
  2548.         «íαẫ¼ π¬áºδóáÑΓ ¡á φëàóαѼѡ¡δ⌐ ú½«íá½∞¡δ⌐ í½«¬. Åਪ½áñ¡á∩
  2549.         »α«úαá¼¼á,  ¬«Γ«αá∩ ó ¡áßΓ«∩Θ¿⌐ ¼«¼Ñ¡Γ «Γ«íαáªÑ¡á ¡á Σ¿º¿τÑ߬πε
  2550.         »á¼∩Γ∞, ¼«ªÑΓ   Γ«½∞¬«   τ¿ΓáΓ∞  φΓ¿  ñá¡¡δÑ.  è«úñá  »α«úαá¼¼á
  2551.         óδºδóáÑΓ Σπ¡¬µ¿ε GlobalUnlock,  Windows πñá½∩ÑΓ φëà óαѼѡ¡δ⌐
  2552.         í½«¬   ¿º   ú½«íá½∞¡«⌐   ñ¿¡á¼¿τÑ߬«⌐   «í½áßΓ¿  »á¼∩Γ¿  óΓ«α«⌐
  2553.         »α«úαá¼¼δ.
  2554.  
  2555.           ìÑ »«ñαáºπ¼Ñóá⌐ΓÑ ºáó¿ß¿¼«ßΓ¿ ¼Ñªñπ ñÑß¬α¿»Γ«α«¼ ¿ ñá½∞¡¿¼
  2556.                          π¬áºáΓѽѼ ó αạδσ αѪ¿¼áσ.
  2557.  
  2558.              Åα¿ ¿ß»«½∞º«óá¡¿¿  ú½«íá½∞¡δσ  í½«¬«ó »á¼∩Γ¿ ñ½∩ »«½πτÑ¡¿∩
  2559.         áñαÑßá í½«¬á   ¡Ñ«íσ«ñ¿¼«    óßÑúñá    »«½∞º«óáΓ∞ß∩    Σπ¡¬µ¿Ñ⌐
  2560.         GlobalLock, ¡Ñºáó¿ß¿¼« «Γ αѪ¿¼á, ó ¬«Γ«α«¼ αáí«ΓáÑΓ Windows.
  2561.  
  2562.           ìÑ ºáúαπªá⌐ΓÑ ó ßÑú¼Ñ¡Γ¡δÑ αÑú¿ßΓαδ º¡áτÑ¡¿∩, «Γ½¿τáεΘ¿Ñß∩
  2563.                     «Γ ΓÑσ, τΓ« ºáúαπªÑ¡δ Windows ¿½¿ DOS.
  2564.  
  2565.              Åα¿ αáí«ΓÑ Windows ó ßΓá¡ñáαΓ¡«⌐ ¬«¡Σ¿úπαᵿ¿ »á¼∩Γ¿  ¿  ó
  2566.         ¬«¡Σ¿úπαᵿ¿ αáßΦ¿αÑ¡¡«ú«  αѪ¿¼á  »α«µÑßß«αá  80386 ßÑú¼Ñ¡Γ¡δÑ
  2567.         αÑú¿ßΓαδ αáßß¼áΓα¿óáεΓß∩  ¬á¬  ßÑ½Ñ¬Γ«αδ,  á  ¡Ñ   ¬á¬   áñαÑßá
  2568.         »áαáúαáΣ«ó. Æá¬¿¼  «íαẫ¼,  ¡Ñ  ¡áñ«  »δΓáΓ∞ß∩ ßτ¿ΓáΓ∞ Γáí½¿µπ
  2569.         »αÑαδóá¡¿⌐, πßΓá¡«ó¿ó ó 0 αÑú¿ßΓα DS ¿½¿ ES. êß»«½∞ºπ⌐ΓÑ Γ«½∞¬«
  2570.  
  2571.        Windows 3.0/pg/3#3                                        = 51 =
  2572.  
  2573.         Σπ¡¬µ¿¿ DOS ñ½∩ ºáσóáΓá »αÑαδóá¡¿⌐.
  2574.  
  2575.               ìÑ óδ»«½¡∩⌐ΓÑ ßἫßΓ«∩Γѽ∞¡« ßÑú¼Ñ¡Γ¡πε áα¿Σ¼ÑΓ¿¬π.
  2576.  
  2577.              ìÑ »δΓá⌐ΓÑß∞    πóѽ¿τ¿Γ∞    ßÑú¼Ñ¡Γ¡δ⌐   áñαÑß   ñá½∞¡Ñú«
  2578.         π¬áºáΓѽ∩. ¥Γá  ΓÑσ¡¿¬á  ¡Ñ  ¼«ªÑΓ  íδΓ∞  ¿ß»«½∞º«óá¡á,   ¬«úñá
  2579.         Windows αáí«ΓáÑΓ   ó  ßΓá¡ñáαΓ¡«⌐  ¬«¡Σ¿úπαᵿ¿  »á¼∩Γ¿  ¿½¿  ó
  2580.         ¬«¡Σ¿úπαᵿ¿ αáßΦ¿αÑ¡¡«ú«  αѪ¿¼á  »α«µÑßß«αá  80386.  æ¼«Γα¿ΓÑ
  2581.         »áαáúαáΣ "ü½«¬¿α«óá¡¿Ñ   ¿  αáºí½«¬¿α«óá¡¿Ñ  í½«¬«ó  ú½«íá½∞¡«⌐
  2582.         »á¼∩Γ¿" ó αáºñѽѠ16.2.3.
  2583.  
  2584.                        ìÑ ßαáó¡¿óá⌐ΓÑ áñαÑßá ßÑú¼Ñ¡Γ«ó.
  2585.  
  2586.              ìÑ ßαáó¡¿óá⌐ΓÑ º¡áτÑ¡¿∩ ßÑ½Ñ¬Γ«α«ó ñ½∩  «»αÑñѽѡ¿∩  Γ«ú«,
  2587.         ¬á¬«⌐ ßÑú¼Ñ¡Γ ¡áσ«ñ¿Γß∩ ó ¼½áñΦ¿σ áñαÑßáσ. ¥Γá ΓÑσ¡¿¬á ¡Ñ ¼«ªÑΓ
  2588.         íδΓ∞  ¿ß»«½∞º«óá¡á,  ¬«úñá  Windows  αáí«ΓáÑΓ   ó   ßΓá¡ñáαΓ¡«⌐
  2589.         ¬«¡Σ¿úπαᵿ¿  »á¼∩Γ¿  ¿½¿  ó  ¬«¡Σ¿úπαᵿ¿  αáßΦ¿αÑ¡¡«ú« αѪ¿¼á
  2590.         »α«µÑßß«αá 80386.
  2591.  
  2592.                ìÑ τ¿Γá⌐ΓÑ ¿ ¡Ñ »¿Φ¿ΓÑ ºá ¬«¡µ«¼ «íΩѬΓá »á¼∩Γ¿.
  2593.  
  2594.              ì¿ »α¿  ¬á¬¿σ  «íßΓ«∩Γѽ∞ßΓóáσ  ¡Ñ  »δΓá⌐ΓÑß∞  »¿ßáΓ∞  ¿½¿
  2595.         τ¿ΓáΓ∞ ñá¡¡δÑ  ºá  ¬«¡µ«¼ «íΩѬΓá »á¼∩Γ¿.  ò«Γ∩ ó ¬«¡Σ¿úπαᵿ∩σ
  2596.         »á¼∩Γ¿  φΓ«  ¡Ñ  «Γ½áó½¿óáÑΓß∩,  ¡«  »α¿   αáí«ΓÑ   Windows   ó
  2597.         ßΓá¡ñáαΓ¡«⌐ ¬«¡Σ¿úπαᵿ¿ »á¼∩Γ¿ ¿½¿ ó ¬«¡Σ¿úπαᵿ¿ αáßΦ¿αÑ¡¡«ú«
  2598.         αѪ¿¼á »α«µÑßß«αá   80386   φΓ«   »α¿ó«ñ¿Γ   ¬    ó«º¡¿¬¡«óÑ¡¿ε
  2599.         ¡ÑπßΓαá¡¿¼«⌐ «Φ¿í¬¿ (GP).
  2600.                                                                                
  2601.                16.6  ô»αáó½Ñ¡¿Ñ »á¼∩Γ∞ε ñ½∩ ¬«ñá »α«úαá¼¼δ.
  2602.  
  2603.              éδ ñ«½ª¡δ   »½á¡¿α«óáΓ∞,   ¬á¬   Windows  íπñÑΓ  π»αáó½∩Γ∞
  2604.         ¬«ñ«ó묨 ßÑú¼Ñ¡ΓἿ, ¬«Γ«αδÑ ß«ßΓáó½∩εΓ óδ»«½¡∩Ѽπε τáßΓ∞ óáΦÑ⌐
  2605.         »α¿¬½áñ¡«⌐  »α«úαá¼¼δ  ¿½¿ í¿í½¿«ΓѬ¿.  ¥Γ« »½á¡¿α«óá¡¿Ñ ñ«½ª¡«
  2606.         ó¬½ετáΓ∞ ß½ÑñπεΘÑÑ:
  2607.  
  2608.              - ä«½ª¡δ  ½¿   ¬«ñ«óδÑ   ßÑú¼Ñ¡Γδ   íδΓ∞   Σ¿¬ß¿α«óá¡¡δ¼¿,
  2609.                »ÑαѼÑΘáÑ¼δ¼¿ ¿½¿ πñá½∩Ñ¼δ¼¿.
  2610.  
  2611.              - ä«½ª¡á  ½¿  óáΦá »α«úαἼᠿ½¿ í¿í½¿«ΓѬá ß«ñÑαªáΓ∞ «ñ¿¡
  2612.                ¿½¿ ¡Ñ߬«½∞¬« ¬«ñ«óδσ ßÑú¼Ñ¡Γ«ó.
  2613.  
  2614.              - èᬠ »«ññÑনóáΓ∞   íá½á¡ß   ¼Ñªñπ   αẼÑαἿ   ¬«ñ«óδσ
  2615.                ßÑú¼Ñ¡Γ«ó ¿ ñá½∞¡¿¼¿ ó맮óἿ ¼Ñªñπ ¡¿¼¿.
  2616.  
  2617.              - Å«α∩ñ«¬,  ó  ¬«Γ«α«¼  Windows  ñ«½ª¡á  ºáúαπªáΓ∞ ¬«ñ«óδÑ
  2618.                ßÑú¼Ñ¡Γδ.
  2619.  
  2620.              é ñá¡¡«¼ αáºñѽѠ»α¿ó«ñ¿Γß∩ ¿¡Σ«α¼áµ¿∩ « Γ«¼,  ¬á¬ Windows
  2621.         π»αáó½∩ÑΓ ¬«ñ«¼ »α¿¬½áñ¡δσ »α«úαá¼¼ ¿ í¿í½¿«ΓѬ, á ΓᬪѠñáεΓß∩
  2622.         ß«óÑΓδ « Γ«¼, ¬á¬ »¿ßáΓ∞ »α«úαá¼¼δ ß πτÑΓ«¼ ñá¡¡«⌐ ¿¡Σ«α¼áµ¿¿.
  2623.                     16.6.1  êß»«½∞º«óá¡¿Ñ áΓα¿íπΓ«ó ¬«ñ«óδσ ßÑú¼Ñ¡Γ«ó.         
  2624.  
  2625.  
  2626.        Windows 3.0/pg/3#3                                        = 52 =
  2627.  
  2628.              ä½∩ π»αáó½Ñ¡¿∩ ¬«ñ«ó묨 ßÑú¼Ñ¡ΓἿ Windows  ¿ß»«½∞ºπÑΓ  ΓÑ
  2629.         ªÑ ß»«ß«íδ, τΓ« ¿ ñ½∩ π»αáó½Ñ¡¿∩ ßÑú¼Ñ¡ΓἿ ñá¡¡δσ. éδ ¼«ªÑΓÑ ¿
  2630.         τáßΓ« ñ«½ª¡δ αáºñѽ¿Γ∞ óáΦπ »α¿¬½áñ¡πε »α«úαá¼¼π  ¡á  «Γñѽ∞¡δÑ
  2631.         ¬«ñ«óδÑ ßÑú¼Ñ¡Γδ.  éδ ¼«ªÑΓÑ «íΩ∩ó¿Γ∞, τΓ« «»αÑñѽѡ¡δ⌐ ¬«ñ«óδ⌐
  2632.         ßÑ»ú¼Ñ¡Γ   ñ«½ªÑ¡   íδΓ∞   Σ¿¬ß¿α«óá¡¡δ¼,   »ÑαѼÑΘáÑ¼δ¼    ¿½¿
  2633.         ßíαáßδóáѼδ¼, Γᬠ ªÑ  ¬á¬  óδ  φΓ« ñѽáÑΓÑ ñ½∩ áóΓ«¼áΓ¿τÑ߬«ú«
  2634.         ßÑú¼Ñ¡Γá ñá¡¡δσ ¿½¿ ñ½∩ ú½«íá½∞¡δσ «íΩÑ¬Γ«ó.
  2635.  
  2636.              é Σá⌐½Ñ «»¿ßá¡¿∩  ¼«ñπ½∩  »α¿¬½áñ¡«⌐  »α«úαá¼¼δ  (.DEF)  ß
  2637.         »«¼«Θ∞ε «»ÑαáΓ«αá CODE ¼«ª¡« π¬áºáΓ∞,  τΓ« »« π¼«½τá¡¿ε ¬«ñ«óδÑ
  2638.         ßÑú¼Ñ¡Γδ íπñπΓ Σ¿¬ß¿α«óá¡¡δ¼¿, »ÑαѼÑΘáÑ¼δ¼¿ ¿½¿ ßíαáßδóáÑ¼δ¼¿.
  2639.         ìá»α¿¼Ñα, ó  ß½ÑñπεΘѼ  »α¿¼ÑαÑ  «íΩ∩ó½∩ÑΓß∩,  τΓ«  ñ½∩ ¬«ñ«óδσ
  2640.         ßÑú¼Ñ¡Γ«ó »« π¼«½τá¡¿ε íπñÑΓ »α¿¼Ñ¡∩Γ∞ß∩ áΓα¿íπΓ MOVEABLE:
  2641.  
  2642.              CODE MOVEABLE;
  2643.  
  2644.              éδ ¼«ªÑΓÑ  «»αÑñѽ¿Γ∞  ñαπú¿Ñ  áΓα¿íπΓδ  ñ½∩   ¬«¡¬αÑΓ¡«ú«
  2645.         ¬«ñ«ó«ú« ßÑú¼Ñ¡Γá, ¿ß»«½∞ºπ∩ ¼ÑΓ«ñ, «»¿ßá¡¡δ⌐ ó αáºñѽѠ16.6.2,
  2646.         "êß»«½∞º«óá¡¿Ñ ¡Ñ߬«½∞¬¿σ ¬«ñ«óδσ ßÑú¼Ñ¡Γ«ó".
  2647.  
  2648.              àß½¿ óδ «íΩ∩ó¿ΓÑ  ¬«ñ«óδ⌐  ßÑú¼Ñ¡Γ  ¬á¬  ßíαáßδóáѼδ⌐,  Γ«
  2649.         Windows ¼«ªÑΓ   ßíα«ß¿Γ∞   Ñú«,  Ñß½¿  »«¡áñ«í¿Γß∩  »á¼∩Γ∞  ñ½∩
  2650.         πñ«ó½ÑΓó«αÑ¡¿∩  ºá»α«ßá  ¡Ñ  ÑÑ  óδñѽѡ¿Ñ.  Å«ß¬«½∞¬π  ¬«ñ«óδ⌐
  2651.         ßÑú¼Ñ¡Γ ¡Ñ¿º¼Ñ¡∩Ѽδ⌐, Γ« »α¿ ßíα«ßÑ ßÑú¼Ñ¡Γá ¡Ñ ¡πª¡« «»áßáΓ∞ß∩
  2652.         »«ΓÑα¿ ñá¡¡δσ.  Åα¿ ó맮óÑ ¬«ñ«ó«ú« ßÑú¼Ñ¡Γá,  «ΓßπΓßΓóπεΘÑú« ó
  2653.         »á¼∩Γ¿,  Windows  ºáúαπªáÑΓ  Ñú«  ¿º .EXE-Σá⌐½á.  Äñ¡á¬«,  Ñß½¿
  2654.         ßíαáßδóáѼ«ú«  ßÑú¼Ñ¡Γá  ¡ÑΓ  ó  »á¼∩Γ¿,  Γ«  ñ½∩  Ñú«   ó맮óá
  2655.         ΓαÑíπÑΓß∩  ñ«»«½¡¿Γѽ∞¡«Ñ  óαѼ∩,  ¡Ñ«íσ«ñ¿¼«Ñ  Windows ñ½∩ Ñú«
  2656.         ºáúαπº¬¿ ó  »á¼∩Γ∞.  æ  ñαπú«⌐  ßΓ«α«¡δ,  φΓ«  ñ«ó«½∞¡«  ß½áíδ⌐
  2657.         ¡Ññ«ßΓáΓ«¬,   Γ.¬.  ñ½∩  ßíα«ßá  ßÑú¼Ñ¡Γ«ó  Windows  ¿ß»«½∞ºπÑΓ
  2658.         á½ú«α¿Γ¼ LRU,  ¿ Γᬿ¼ «íαẫ¼ τáßΓ« ¿ß»«½∞ºπѼδÑ  ßÑú¼Ñ¡Γδ  ¡Ñ
  2659.         íπñπΓ ßíα«ΦÑ¡δ.
  2660.                    16.6.2  êß»«½∞º«óá¡¿Ñ ¡Ñ߬«½∞¬¿σ ¬«ñ«óδσ ßÑú¼Ñ¡Γ«ó.         
  2661.  
  2662.              ü«½∞Φ¿¡ßΓó« »α¿¬½áñ¡δσ     »α«úαá¼¼     Windows     ñ«½ª¡«
  2663.         ¬«¼»¿½¿α«óáΓ∞ß∩ ó ß¼ÑΦá¡¡«⌐  ¼«ñѽ¿  »á¼∩Γ¿.  è«ñ  ñ«½ªÑ¡  íδΓ∞
  2664.         αáºñѽѡ ¡á «Γ¡«ß¿Γѽ∞¡« ¡Ñí«½∞Φ¿Ñ (»α¿¼Ñα¡« 4è) ßÑú¼Ñ¡Γδ.  ¥Γ«
  2665.         »«ºó«½∩ÑΓ Windows ½Ñú¬« »ÑαѼÑΘáΓ∞ ¿σ ó  »á¼∩Γ¿.  ê¡Σ«α¼áµ¿ε  «
  2666.         ß¼ÑΦá¡¡«⌐ ¼«ñѽ¿  óδ  ¡á⌐ñÑΓÑ  ó  αáºñѽѠ16.3,  "êß»«½∞º«óá¡¿Ñ
  2667.         ¼«ñѽÑ⌐ »á¼∩Γ¿".
  2668.  
  2669.              è«úñá óδ ¬«¼»¿½¿απÑΓÑ ¼«ñπ½∞ ¡á ∩ºδ¬Ñ æ, ¬«ñ«ó«¼π ßÑú¼Ñ¡Γπ
  2670.         »« π¼«½τá¡¿ε  »α¿ßóá¿óáÑΓß∩  ¿¼∩  _TEXT.  éδ  ¼«ªÑΓÑ  »α¿ßó«¿Γ∞
  2671.         ¬«ñ«ó«¼π ßÑú¼Ñ¡Γπ ñαπú«Ñ ¿¼∩ ß »«¼«Θ∞ε ¬½ετá -NT ó ¬«¼á¡ñÑ  cl.
  2672.         éδ ñѽ¿ΓÑ ¬«ñ ¡á αẽ¿τ¡δÑ ßÑú¼Ñ¡Γδ, »α¿ßóá¿óá∩ αẽ¿τ¡δÑ ¿¼Ñ¡á
  2673.         ßÑú¼Ñ¡Γ«ó αáº¡δ¼ ¼«ñπ½∩¼.  æ½ÑñπεΘá∩  ¬«¼á¡ñá  ß«ºñáÑΓ  ¬«ñ«óδ⌐
  2674.         ßÑú¼Ñ¡Γ ß ¿¼Ñ¡Ñ¼ CODESEG1.
  2675.  
  2676.              cl -u -c -AS -Gsw -Oas -Zpe -NT CODESEG1 module1.c
  2677.  
  2678.              ä½∩ ¬«ñ«ó«ú« ßÑú¼Ñ¡Γá ¼«ª¡« π¬áºáΓ∞ áΓα¿íπΓδ,  «Γ½¿τ¡δÑ «Γ
  2679.         πßΓá¡áó½¿óáѼδσ »« π¼«½τá¡¿ε «»ÑαáΓ«α«¼ CODE ó  Σá⌐½Ñ  «»¿ßá¡¿∩
  2680.  
  2681.        Windows 3.0/pg/3#3                                        = 53 =
  2682.  
  2683.         ¼«ñπ½∩ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ.  ìá»α¿¼Ñα, ß½ÑñπεΘ¿⌐ Σá⌐½ «»¿ßá¡¿∩
  2684.         ¼«ñπ½∩  «íΩ∩ó½∩ÑΓ  óßÑ  ¬«ñ«óδÑ  ßÑú¼Ñ¡Γδ   »ÑαѼÑΘáÑ¼δ¼¿,   ºá
  2685.         ¿ß¬½ετÑ¡¿Ñ¼  ßÑú¼Ñ¡Γá  ß  ¿¼Ñ¡Ñ¼ CODESEG1,  ¬«Γ«αδ⌐ «íΩ∩ó½∩ÑΓß∩
  2686.         ßíαáßδóáѼδ¼:
  2687.  
  2688.              CODE LOADONCALL MOVEABLE
  2689.  
  2690.                 SEGMENTS
  2691.                           CODESEG1  MOVEABLE  DISCARDABLE
  2692.                                                                                
  2693.               16.6.3  üá½á¡ß¿α«óá¡¿Ñ ¬«ñ«óδσ ßÑú¼Ñ¡Γ«ó.
  2694.  
  2695.              ò«Γ∩ ¼δ  ú«ó«α¿½¿ « Γ«¼,  τΓ« ¬«ñ«óδÑ ßÑú¼Ñ¡Γδ ñ«½ª¡δ íδΓ∞
  2696.         ¼á½Ñ¡∞¬¿¼¿, ¡Ñ«íσ«ñ¿¼« »αÑñóáα¿Γѽ∞¡« «µÑ¡¿Γ∞,  ó« τΓ« óδ½∞εΓß∩
  2697.         ñá½∞¡¿Ñ  ó맮óδ ¼Ñªñπ ßÑú¼Ñ¡ΓἿ »« ßαáó¡Ñ¡¿ε ß í½¿ª¡¿¼¿ ó¡πΓα¿
  2698.         ßÑú¼Ñ¡Γ«ó.  ä½∩  »α¿¬½áñ¡«⌐  »α«úαá¼¼δ  Windows  ñá½∞¡¿⌐  ó맮ó
  2699.         «íσ«ñ¿Γß∩  ¡á¼¡«ú« ñ«α«ªÑ,  τѼ ó DOS.  èáªñδ⌐ ó맮ó ΓαÑíπÑΓ «Γ
  2700.         Windows ñ«»«½¡¿Γѽ∞¡«⌐ «íαáí«Γ¬¿, Γ.¬. Ñú« ¡Ñ«íσ«ñ¿¼« ¡á»αáó¿Γ∞
  2701.         ó ßÑú¼Ñ¡Γ, ¬«Γ«αδ⌐ ¼«ú íδΓ∞ »ÑαѼÑΘÑ¡ ¿½¿ ßíα«ΦÑ¡.
  2702.  
  2703.              çáñáτá íá½á¡ß¿α«ó¬¿   ¬«ñ«óδσ   ßÑú¼Ñ¡Γ«ó   ó   »α¿¬½áñ¡«⌐
  2704.         »α«úαἼѠºá¬½ετáÑΓß∩  ó  ¼¿¡¿¼¿ºáµ¿¿  ñá½∞¡¿σ  ó맮ó«ó   ¼Ñªñπ
  2705.         ßÑú¼Ñ¡ΓἿ,   αẼÑα   ¬«Γ«αδσ  ¡Ñ  »αÑóδΦáÑΓ  º¡áτ¿Γѽ∞¡«  4è.
  2706.         öπ¡¬µ¿¿, τáßΓ« óδºδóáεΘ¿Ñ ñαπú ñαπúá,  ñ«½ª¡δ »«¼ÑΘáΓ∞ß∩ ó «ñ¿¡
  2707.         ¬«ñ«óδ⌐ ßÑú¼Ñ¡Γ ß πτÑΓ«¼ αẼÑαá ßÑú¼Ñ¡Γá.
  2708.               16.6.4 Å«α∩ñ«¬   ¬«ñ«óδσ  ßÑú¼Ñ¡Γ«ó  ó  Σá⌐½Ñ  «»αÑñѽѡ¿∩       
  2709.                       ¼«ñπ½∩ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ (.DEF).
  2710.  
  2711.              é ¬«¡Σ¿úπαᵿ¿ »á¼∩Γ¿  EMS  ß  ¼á½δ¼  ΣαÑ⌐¼«¼  «Γ«íαáªÑ¡¿∩
  2712.         ßÑú¼Ñ¡Γδ  ¿  αÑßπαßδ  ºáúαπªáεΓß∩  óδΦÑ  úαá¡¿µδ  «Γ«íαáªÑ¡¿∩ ó
  2713.         ß««ΓóÑΓßΓó¿¿  ß  »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ε  ¿σ  ºáúαπº¬¿   ó   »á¼∩Γ∞
  2714.         Windows.   àß½¿   ¬«ñ«óδ⌐   ßÑú¼Ñ¡Γ   ºáúαπªÑ¡   óδΦÑ   úαá¡¿µδ
  2715.         «Γ«íαáªÑ¡¿∩, «¡ ¡Ñ ¼«ªÑΓ íδΓ∞ ßíα«ΦÑ¡.
  2716.  
  2717.              ùΓ«íδ ¼á¬ß¿¼á½∞¡«  ¿ß»«½∞º«óáΓ∞  »αÑ¿¼πΘÑßΓóá  αáßΦ¿αÑ¡¡«⌐
  2718.         »á¼∩Γ¿, óδ  ñ«½ª¡δ  «»¿ßáΓ∞  ó  Σá⌐½Ñ  «»αÑñѽѡ¿∩  ¼«ñπ½∩  ¬á¬
  2719.         PRELOAD ¿  MOVEABLE  ßÑú¼Ñ¡Γδ,  ¬  ¬«Γ«αδ¼  »α«¿ßσ«ñ¿Γ   τáßΓ«Ñ
  2720.         «íαáΘÑ¡¿Ñ. ¥Γ¿  ßÑú¼Ñ¡Γδ ñ«½ª¡δ íδΓ∞ π¬áºá¡δ ó ß»¿ß¬Ñ ó ¡áτá½Ñ,
  2721.         Γ.¬. «¡¿ ñ«½ª¡δ  íδΓ∞  ºáúαπªÑ¡δ  »Ñαó묨.  àß½¿  óδ  φΓ«ú«  ¡Ñ
  2722.         ßñѽáÑΓÑ, Γ«  óδΦÑ  úαá¡¿µδ  «Γ«íαáªÑ¡¿∩  ¼«úπΓ  »«»áßΓ∞  ¼Ñ¡ÑÑ
  2723.         ó᪡δÑ ßÑú¼Ñ¡Γδ. ìá»α¿¼Ñα, ¬«ñ ¿¡¿µ¿á½¿ºáµ¿¿, ¬«Γ«αδ⌐ ¡Ñ«íσ«ñ¿¼
  2724.         Γ«½∞¬« ó ¼«¼Ñ¡Γ ºáúαπº¬¿ »α«úαá¼¼δ, íπñÑΓ »«¼ÑΘÑ¡ ó αáßΦ¿αÑ¡¡πε
  2725.         »á¼∩Γ∞ ¡á óßÑ óαѼ∩ αáí«Γδ »α«úαá¼¼δ.  ¥Γ« «º¡áτáÑΓ, τΓ« ñαπú¿Ñ
  2726.         ¬«ñ«óδÑ ßÑú¼Ñ¡Γδ,  «íαáΘÑ¡¿Ñ ¬ ¬«Γ«αδ¼ »α«¿ßσ«ñ¿Γ τáßΓ«,  ¼«úπΓ
  2727.         «¬áºáΓ∞ß∩ ¡¿ªÑ  úαá¡¿µδ  «Γ«íαáªÑ¡¿∩  ¿  íπñπΓ   ßíα«ΦÑ¡δ   »α¿
  2728.         óδñѽѡ¿¿ ñ«»«½¡¿Γѽ∞¡«⌐ »á¼∩Γ¿.
  2729.  
  2730.              ä½∩ «»αÑñѽѡ¿∩  ¡á¿í«½ÑÑ  τáßΓ«  ¿ß»½«½∞ºπѼδσ  ßÑú¼Ñ¡Γ«ó
  2731.         ¼«ª¡« ¿ß»«½∞º«óáΓ∞ Profiler. æ¼«Γα¿ΓÑ "Tools".
  2732.  
  2733.              Äí∩ó½Ñ¡¿Ñ ßÑú¼Ñ¡ΓᠬᬠMOVEABLE ¿½¿ DISCARDABLE ¡Ñ ó½¿∩ÑΓ,
  2734.         Ñß½¿ ßÑú¼Ñ¡Γ   íπñÑΓ   ºáúαπªÑ¡   óδΦÑ  úαá¡¿µδ  «Γ«íαáªÑ¡¿∩  ó
  2735.  
  2736.        Windows 3.0/pg/3#3                                        = 54 =
  2737.  
  2738.         ¬«¡Σ¿úπαᵿ¿ »á¼∩Γ¿ EMS ß  ¼á½δ¼  ΣαÑ⌐¼«¼  «Γ«íαáªÑ¡¿∩.  éδ  ¡Ñ
  2739.         ñ«½ª¡δ «íΩ∩ó½∩Γ∞ ¬«ñ«óδ⌐ ßÑú¼Ñ¡Γ ¬á¬ FIXED, ¡« φΓ« ¡Ñ «º¡áτáÑΓ,
  2740.         τΓ« óδ  ¼«ªÑΓÑ  φΓ«  ñѽáΓ∞  ñ½∩  ñαπú¿σ  ¬«¡Σ¿úπαᵿ⌐  »á¼∩Γ¿,
  2741.         ¡á»α¿¼Ñα, ñ½∩ EMS ß í«½∞Φ¿¼ ΣαÑ⌐¼«¼ «Γ«íαáªÑ¡¿∩.
  2742.  
  2743.              ÉÑßπαßδ »α¿¬½áñ¡«⌐  »α«úαá¼¼δ  Γᬠ ªÑ ¼«úπΓ αáß»«½áúáΓ∞ß∩
  2744.         óδΦÑ úαá¡¿µδ «Γ«íαáªÑ¡¿∩.  éδ ¼«ªÑΓÑ ó½¿∩Γ∞ ¡á φΓ« ΓᬠªÑ,  ¬á¬
  2745.         óδ  φΓ«  ñѽáÑΓÑ  ó  ß½πτáÑ  ß  ¬«ñ«ó묨 ßÑú¼Ñ¡ΓἿ.  ä½∩ φΓ«ú«
  2746.         ¡Ñ«íσ«ñ¿¼«  «íΩ∩ó¿Γ∞  αÑßπαß  ó  Σá⌐½Ñ  «»¿ßá¡¿∩   αÑßπα߫󠠠ß
  2747.         »áαá¼ÑΓα«¼ PRELOAD ß½ÑñπεΘ¿¼ «íαẫ¼:
  2748.  
  2749.              mycursor CURSOR PRELOAD point.cur
  2750.  
  2751.              çá¼ÑΓ¿¼, τΓ«  ¬«ñ«óδÑ ßÑú¼Ñ¡Γδ ñ«½ª¡δ íδΓ∞ ºáúαπªÑ¡δ »ÑαÑñ
  2752.         αÑßπαßἿ.
  2753.                                              16.7  çᬽετÑ¡¿Ñ.                 
  2754.  
  2755.              Windows π»αáó½∩ÑΓ »á¼∩Γ∞ε,  »δΓá∩ß∞ «íÑß»Ñτ¿Γ∞ ÑÑ ¡á¿í«½ÑÑ
  2756.         φΣΣÑ¬Γ¿ó¡«Ñ ¿ß»«½∞º«óá¡¿Ñ. ê¼ÑÑΓß∩ τÑΓδαÑ «ß¡«ó¡δ󠬫¡Σ¿úπαᵿ¿
  2757.         »á¼∩Γ¿, ¬«Γ«αδÑ í«½ÑÑ ¿½¿ ¼Ñ¡ÑÑ  ß««ΓóÑΓßΓóπεΓ  αѪ¿¼á¼  αáí«Γδ
  2758.         Windows. é  ¬áªñ«⌐ ¬«¡Σ¿úπαᵿ¿ Windows «ßπΘÑßΓó½∩ÑΓ π»αáó½Ñ¡¿Ñ
  2759.         »á¼∩Γ∞ε »«αạ«¼π.  Åਪ½áñ¡δÑ   »α«úαá¼¼δ   ñ«½ª¡δ   ß½Ññ«óáΓ∞
  2760.         ¡Ñ¬«Γ«αδ¼  »αáó¿½á¼,  τΓ«íδ αáí«ΓáΓ∞ »«ñ Windows,  αáí«ΓáεΘÑ⌐ ó
  2761.         ßΓá¡ñáαΓ¡«¼ αѪ¿¼Ñ ¿½¿ ó αáßΦ¿αÑ¡¡«¼ αѪ¿¼Ñ »α«µÑßß«αá 80386.
  2762.  
  2763.         Éáºñѽ               Éπ¬«ó«ñßΓó«
  2764.         ───────────────────────────────────────────────────────────────
  2765.         êß»«½∞º«óá¡¿Ñ ∩ºδ¬á  Éπ¬«ó«ñßΓó« »α«úαá¼¼¿ßΓá: ú½áóá 14, "ƒºδ¬
  2766.         æ ¿ ∩ºδ¬á áßßѼí½Ñαá æ ¿ ∩ºδ¬ áßßѼí½Ñαá".
  2767.         ó »α¿¬½áñ¡δσ »α«ú-
  2768.         αá¼¼áσ Windows
  2769.  
  2770.         öπ¡¬µ¿¿ π»αáó½Ñ¡¿∩   æ»αáó«τ¡«Ñ απ¬«ó«ñßΓó«, Γ«¼ 1: â½áóá 4,
  2771.         »á¼∩Γ∞ε              "滿߫¬ Σπ¡¬µ¿⌐".
  2772.  
  2773.         Ä»ÑαáΓ«αδ Σá⌐½á      æ»αáó«τ¡«Ñ απ¬«ó«ñßΓó«, Γ«¼ 2: â½áóá 10,
  2774.         «»αÑñѽѡ¿∩ ¼«ñπ½∩   "Ä»ÑαáΓ«αδ Σá⌐½á «»αÑñѽѡ¿∩ ¼«ñπ½∩".
  2775.  
  2776.  
  2777.  
  2778.        Windows 3.0/pg/3#3                                        = 55 =
  2779.  
  2780.                                    â½áóá 17.  Åáαá¼ÑΓαδ »α¿¡ΓÑαá.              
  2781.        ----------------------------------------------------------------
  2782.              è«úñá »«½∞º«óáΓѽ∞ «ßπΘÑßΓó½∩ÑΓ »ÑτáΓ∞ ¿º óáΦÑ⌐ »α«úαá¼¼δ,
  2783.         Γ« »«½πτÑ¡¡δ⌐ αѺπ½∞ΓáΓ íπñÑΓ ºáó¿ßÑΓ∞  ¡Ñ  Γ«½∞¬«  «Γ  ñá¡¡δσ,
  2784.         ¬«Γ«αδÑ óδó«ñ∩Γß∩  ¡á  »α¿¡ΓÑα,  ¡«  ¿  «Γ  ΓѬπΘ¿σ  »áαá¼ÑΓα«ó
  2785.         »α¿¡ΓÑαá.  ¥Γ¿ »áαá¼ÑΓαδ ¼«úπΓ ó¬½ετáΓ∞ Γá¬πε  ¿¡Σ«α¼áµ¿ε,  ¬á¬
  2786.         αẼÑα ßΓαá¡¿µδ, «α¿Ñ¡Γᵿε óδó«ñá ¿½¿ Γ¿» íπ¼áú¿.
  2787.  
  2788.              Åα«ßΓÑ⌐Φ¿⌐ »πΓ∞  ñ½∩  óδó«ñá ¡á »α¿¡ΓÑα ¿ß»«½∞ºπÑΓ ΓѬπΘ¿Ñ
  2789.         πßΓá¡«ó«½Ñ¡¡δÑ »áαá¼ÑΓαδ (»«¬áºá¡ ó ú½áóÑ 12,  "ÅÑτáΓ∞") íѺ ¿σ
  2790.         »α«óÑન ¿½¿ ¿º¼Ñ¡Ñ¡¿∩.  Æá¬«⌐ »«ñσ«ñ αáí«ΓáÑΓ ñ« ΓÑσ »«α, »«¬á
  2791.         ΓѬπΘ¿Ñ »áαá¼ÑΓαδ  »α¿¡ΓÑαá  πñ«ó½ÑΓó«α∩εΓ  ¡πªñá¼   »α¿¬½áñ¡«⌐
  2792.         »α«úαá¼¼δ.  Äñ¡á¬«,  Ñß½¿ φΓ« ¡Ñ Γá¬, Γ« óδó«ñ ¡á »α¿¡ΓÑα óáΦÑ⌐
  2793.         »α¿¬½áñ¡«⌐ »α«úαá¼¼δ íπñÑΓ «Γ½¿τáΓ∞ß∩ «Γ ¿ñÑá½∞¡«ú«.  ìá»α¿¼Ñα,
  2794.         Ñß½¿  óáΦá  »α¿¬½áñ¡á∩  »α«úαἼᠻÑτáΓáÑΓ φ½Ñ¬Γα«¡¡πε Γáí½¿µπ,
  2795.         ¬«Γ«αá∩ ΓαÑíπÑΓ "½á¡ñΦáΣΓ¡πε" «α¿Ñ¡Γᵿε óδó«ñá,  ¡á  »α¿¡ΓÑαÑ,
  2796.         ¡á  ¬«Γ«α«¼  πßΓá¡«ó½Ñ¡á  "»«αΓαÑΓ¡á∩"  «α¿Ñ¡Γᵿ∩,  Γ«  ó»«½¡Ñ
  2797.         ó«º¼«ª¡«,  τΓ«  óδó«ñ¿¼δÑ  ñá¡¡δÑ  óδ½ÑºπΓ  ºá  »αáóπε  úαá¡¿µπ
  2798.         íπ¼áú¿.
  2799.  
  2800.              Microsoft Windows   3.0   »«ºó«½∩ÑΓ   ¿º¼Ñ¡¿Γ∞   »áαá¼ÑΓαδ
  2801.         »α¿¡ΓÑαá ó ß««ΓóÑΓßΓó¿¿ ß ¡πªñἿ  óáΦÑ⌐  »α¿¬½áñ¡«⌐  »α«úαá¼¼δ
  2802.         (¡á»α¿¼Ñα, «α¿Ñ¡Γáµ¿ε  óδó«ñá ¡á "½á¡ñΦáΣΓ¡πε" ¿½¿ Γ¿» íπ¼áú¿).
  2803.         Å«ß½Ñ «»αÑñѽѡ¿∩ ¡«óδσ »áαá¼ÑΓα«ó »α¿¬½áñ¡á∩  »α«úαἼᠠ¼«ªÑΓ
  2804.         »ÑτáΓáΓ∞, ¿ß»«½∞ºπ∩ ¡«óδÑ »áαá¼ÑΓαδ.
  2805.  
  2806.              Å«ß¬«½∞¬π »áαá¼ÑΓαδ   ¡á   αạδσ  »α¿¡ΓÑαáσ  αẽ¿τáεΓß∩,
  2807.         »α¿¬½áñ¡á∩ »α«úαá¼¼á ñ½∩ ¿º¼Ñ¡Ñ¡¿∩ ¿σ ñ«½ª¡á  óºá¿¼«ñÑ⌐ßΓó«óáΓ∞
  2808.         ß ñαá⌐óÑα«¼  »α¿¡ΓÑαá.  ü«½∞Φ¿¡ßΓó« ñαá⌐óÑα«ó »α¿¡ΓÑα«ó Windows
  2809.         ß«ñÑαªáΓ ß»Ñµ¿á½∞¡δÑ   Σπ¡¬µ¿¿   ñ½∩    π»α«ΘÑ¡¿∩    π»αáó½Ñ¡¿∩
  2810.         »áαá¼ÑΓαἿ »α¿¡ΓÑαá.
  2811.  
  2812.              é ñá¡¡«⌐  ú½áóÑ «»¿ßá¡«,  ¬á¬ ¿ß»«½∞º«óáΓ∞ φΓ¿ Σπ¡¬µ¿¿ ñ½∩
  2813.         ¼á¡¿»π½¿α«óá¡¿∩ »áαá¼ÑΓαἿ »α¿¡ΓÑα«ó.
  2814.  
  2815.              Åα¿ó«ñ¿Γß∩ ¿¡Σ«α¼áµ¿∩ »« ß½ÑñπεΘ¿¼ ΓѼá¼:
  2816.  
  2817.              - èᬠWindows π»αáó½∩ÑΓ »áαá¼ÑΓαἿ »α¿¡ΓÑα«ó.
  2818.  
  2819.              - êß»«½∞º«óá¡¿Ñ Σπ¡¬µ¿⌐ ñαá⌐óÑα«ó πßΓα«⌐ßΓó.
  2820.  
  2821.              - Å«½πτÑ¡¿Ñ σáαá¬ΓÑα¿ßΓ¿¬ ñαá⌐óÑαá »α¿¡ΓÑαá.
  2822.  
  2823.              - îá¡¿»π½¿α«óá¡¿Ñ »áαá¼ÑΓαἿ »α¿¡ΓÑα«ó.
  2824.  
  2825.              - è«»¿α«óá¡¿Ñ »áαá¼ÑΓα«ó ß «ñ¡«ú« »α¿¡ΓÑαá ¡á ñαπú«⌐.
  2826.  
  2827.              - êº¼Ñ¡Ñ¡Ñ¡¿Ñ »áαá¼ÑΓα«ó »α¿¡ΓÑαá »«½∞º«óáΓѽѼ.
  2828.  
  2829.              - Éáí«Γá ß ñαá⌐óÑαἿ,  ¡á»¿ßá¡¡δ¼¿ ñ½∩ »αÑñδñπΘ¿σ  óÑαß¿⌐
  2830.                Windows.
  2831.  
  2832.  
  2833.        Windows 3.0/pg/3#3                                        = 56 =
  2834.  
  2835.                     17.1  èᬠWindows π»αáó½∩ÑΓ »áαá¼ÑΓαἿ »α¿¡ΓÑα«ó.         
  2836.  
  2837.              Åα¿ óδó«ñÑ   ¡á  »ÑτáΓ∞  »α¿¬½áñ¡á∩  »α«úαἼᠠ¿ß»«½∞ºπÑΓ
  2838.         ¬«¡ΓѬßΓ πßΓα«⌐ßΓóá  »α¿¡ΓÑαá,  ß«ºñá¡¡δ⌐  ß  »«¼«Θ∞ε   Σπ¡¬µ¿¿
  2839.         CreateDC. Åα¿ ß«ºñá¡¿¿ ¬«¡ΓѬßΓá πßΓα«⌐ßΓóá »α¿¡ΓÑαá »α¿¬½áñ¡á∩
  2840.         »α«úαἼᠠ«»αÑñѽ∩ÑΓ  ñ½∩   ¡Ñú«   ñαá⌐óÑα,   ¿¼∩,   »«αΓ   ¿,
  2841.         ¡Ñ«í∩ºáΓѽ∞¡«,  »áαá¼ÑΓαδ  »α¿¡ΓÑαá  ñ½∩ ñá¡¡«ú« ñαá⌐óÑαá.  ¥Γ¿
  2842.         »áαá¼ÑΓαδ  ºáó¿ß∩Γ  «Γ  πßΓα«⌐ßΓóá;   ¬áªñδ⌐   ¡áí«α   ∩ó½∩ÑΓß∩
  2843.         ß»Ñµ¿Σ¿τ¡δ¼  ñ½∩  ¬«¡¬αÑΓ¡«ú«  »α¿¡ΓÑαá  ¿ ñαá⌐óÑαá.  Å«ß¬«½∞¬π
  2844.         Γ«τ¡δÑ  »áαá¼ÑΓαδ  ¼«úπΓ  «Γ½¿τáΓ∞ß∩  ñ½∩   ¬áªñ«ú«   »α¿¡ΓÑαá,
  2845.         »α¿¬½áñ¡á∩ »α«úαἼᠠñ«½ª¡á »ÑαÑñáóáΓ∞ ¬áªñ«¼π »α¿¡ΓÑαπ Γ«½∞¬«
  2846.         αáß»«º¡áóáѼδÑ ¿¼ »áαá¼ÑΓαδ.
  2847.  
  2848.              è«úñá »α¿¬½áñ¡á∩  »α«úαἼᠠ»α¿   »«ñú«Γ«ó¬Ñ   ¬   »ÑτáΓ¿
  2849.         óδºδóáÑΓ   CreateDC   ñ½∩  ß«ºñá¡¿∩  ¬«¡ΓѬßΓá  πßΓα«⌐ßΓóá  ñ½∩
  2850.         »α¿¡ΓÑαá, Windows ß«ºñáÑΓ ¬«¡ΓѬßΓ πßΓα«⌐ßΓóá, ¿ß»«½∞ºπ∩ »Ñαóδ⌐
  2851.         ¡á⌐ñÑ¡¡δ⌐   ¡áí«α  »áαá¼ÑΓα«ó.  Åáαá¼ÑΓαδ  ¿ΘπΓß∩  ó  ß½ÑñπεΘѼ
  2852.         »«α∩ñ¬Ñ:
  2853.  
  2854.              1. Windows »δΓáÑΓß∩ ó ¡áτá½Ñ ¿ß»«½∞º«óáΓ∞ »áαá¼ÑΓαδ  (Ñß½¿
  2855.                 «¡¿ ÑßΓ∞),  »«ßδ½áѼδÑ  Σπ¡¬µ¿¿  CreateDC  ó  »áαá¼ÑΓαÑ
  2856.                 lpInitData.
  2857.  
  2858.              2. àß½¿ »α¿ ó맮óÑ Σπ¡¬µ¿¿ CreateDæ  »α¿¬½áñ¡á∩  »α«úαá¼¼á
  2859.                 ¡Ñ »ÑαÑñáÑΓ »áαá¼ÑΓα«ó »α¿¡ΓÑαá, Windows ¿ΘÑΓ »«ß½Ññ¡¿Ñ
  2860.                 »áαá¼ÑΓαδ, »«ß½Ññ¡¿¼¿ ß«σαá¡Ñ¡¡δÑ  ó  »á¼∩Γ¿  ñαá⌐óÑα«¼
  2861.                 »α¿¡ΓÑαá ß »«¼«Θ∞ε Σπ¡¬µ¿¿ SetEnvironment.
  2862.  
  2863.              3. àß½¿  ñαá⌐óÑα  »α¿¡ΓÑαá  ÑΘÑ ¡Ñ ß«σαá¡∩½ ΓᬿѠñá¡¡δÑ ß
  2864.                 »«¼«Θ∞ε SetEnvironment, Windows ¿ΘÑΓ »áαá¼ÑΓαδ »α¿¡ΓÑαá
  2865.                 ó Σá⌐½Ñ WIN.INI.
  2866.  
  2867.              4. àß½¿  WIN.INI  ¡Ñ  ß«ñÑαª¿Γ  »«½¡«ú« ¡áí«αá »áαá¼ÑΓα«ó,
  2868.                 ñαá⌐óÑα »α¿¡ΓÑαá   ºá»«½¡∩ÑΓ    »α«íÑ½δ    ß«íßΓóÑ¡¡δ¼¿
  2869.                 »áαá¼ÑΓαἿ, ¿ß»«½∞ºπÑ¼δ¼¿ »« π¼«½τá¡¿ε.
  2870.  
  2871.              ìá¿í«½∞ΦÑÑ π»αáó½Ñ¡¿Ñ   »áαá¼ÑΓαἿ   »α¿¡ΓÑαá  óδ  ¼«ªÑΓÑ
  2872.         «íÑß»Ñτ¿Γ∞, »ÑαÑñáóá∩ ¿σ »α¿ ó맮óÑ Σπ¡¬µ¿¿ CreateDC.  àß½¿  óδ
  2873.         «»αÑñѽ¿ΓÑ »áαá¼ÑΓαδ  »α¿¡ΓÑαá  ß »«¼«Θ∞ε CreateDC,  Γ« Windows
  2874.         íπñÑΓ ¿ß»«½∞º«óáΓ∞ ¿σ ó¼ÑßΓ« óßÑσ »áαá¼ÑΓα«ó ¿º  Σá⌐½á  WIN.INI
  2875.         ¿½¿ ñαá⌐óÑαá »α¿¡ΓÑαá.
  2876.                      17.1.1. Åáαá¼ÑΓαδ »α¿¡ΓÑαá ¿ ßΓαπ¬Γπαá DEVMODE.           
  2877.  
  2878.              Äíδτ¡«, »áαá¼ÑΓαδ  »α¿¡ΓÑαá ¿ß»«½∞ºπεΓß∩ ó Σ«α¼Ñ ßΓαπ¬Γπαδ
  2879.         DEVMODE. ìá»α¿¼Ñα,  Ñß½¿ óδ »«ßδ½áÑΓÑ  »áαá¼ÑΓαδ  »α¿¡ΓÑαá  »α¿
  2880.         ó맮óÑ Σπ¡¬µ¿¿   CreateDC,   óδ  ó  ñÑ⌐ßΓó¿Γѽ∞¡«ßΓ¿  »«ßδ½áÑΓÑ
  2881.         π¬áºáΓѽ∞ ¡á  ßΓαπ¬Γπαπ  DEVMODE.  (ê߬½ετÑ¡¿Ñ¼  ∩ó½∩ÑΓß∩  Σá⌐½
  2882.         WIN.INI, ó   ¬«Γ«α«¼   »áαá¼ÑΓαδ  »α¿¡ΓÑαá  ß«ñÑαªáΓß∩  ó  ó¿ñÑ
  2883.         ΓѬßΓ«óδσ ßΓ᫬.)  Äíδτ¡«,  »α¿¬½áñ¡δÑ  »α«úαá¼¼δ  ¡Ñ   ß«ºñáεΓ
  2884.         ßἫßΓ«∩Γѽ∞¡« ßΓαπ¬Γπαπ  DEVMODE,  ó¼ÑßΓ«  φΓ«ú«  «¡¿ »«½πτáεΓ
  2885.         π¬áºáΓѽ∞ ¡á ¡ÑÑ  «Γ  ñαá⌐óÑαá  »α¿¡ΓÑαá  ¿  »α¿  ¡Ñ«íσ«ñ¿¼«ßΓ¿
  2886.         ¼«ñ¿Σ¿µ¿απεΓ ÑÑ   ß«ñÑন¼«Ñ.   ¥Γ«Γ   ¼ÑΓ«ñ  úáαá¡Γ¿απÑΓ,  τΓ«
  2887.         ßΓαπ¬Γπαá íπñÑΓ »«½¡«⌐ ¿ »αáó¿½∞¡«⌐.
  2888.  
  2889.        Windows 3.0/pg/3#3                                        = 57 =
  2890.  
  2891.  
  2892.              æΓαπ¬Γπαá DEVMODE ó¬½ετáÑΓ Γα¿ Γ¿»á ¿¡Σ«α¼áµ¿¿:
  2893.  
  2894.         ê¡Σ«α¼áµ¿∩             Ä»¿ßá¡¿Ñ
  2895.         ───────────────────────────────────────────────────────────────
  2896.         ê¡Σ«α¼áµ¿∩ ºáú«½«ó¬á   ÅÑαóδÑ »∩Γ∞ »«½Ñ⌐ ß«ñÑαªáΓ ¿¡Σ«α¼áµ¿ε
  2897.                                ºáú«½«ó¬á ßΓαπ¬Γπαδ. ¥Γá ¿¡Σ«α¼áµ¿∩
  2898.                                ó¬½ετáÑΓ ¿¼∩ »α¿¡ΓÑαá (¡á»α¿¼Ñα, "PCL/HP
  2899.                                Laserjet"), óÑαß¿ε, ¿ ¿¡Σ«α¼áµ¿ε « αáº-
  2900.                                ¼ÑαÑ ßΓαπ¬Γπαδ DEVMODE. éδ «í∩ºá¡δ π¬á-
  2901.                                ºáΓ∞ »«½¡πε ¿¡Σ«α¼áµ¿ε ºáú«½«ó¬á.
  2902.  
  2903.         Ç»»áαáΓ¡«-¡Ñºáó¿ß¿¼á∩  ü«½∞Φ¿¡ßΓó« »«½Ñ⌐ DEVMODE ß«ñÑαªáΓ á»-
  2904.         ¿¡Σ«α¼áµ¿∩             »áαáΓ¡«-¡Ñºáó¿ß¿¼πε ¿¡Σ«α¼áµ¿ε, Γá¬πε
  2905.                                ¬á¬ «α¿Ñ¡Γᵿ∩, αẼÑα íπ¼áú¿ ¿ τ¿ß½«
  2906.                                ¬«»¿⌐. ò«Γ∩ ßΓαπ¬Γπαá DEVMODE ß«ñÑনΓ
  2907.                                »«½¡δ⌐ ¡áí«α á»»áαáΓ¡«-¡Ñºáó¿ß¿¼δσ »áαá-
  2908.                                ¼ÑΓα«ó, ¡Ñ¬«Γ«αδÑ »α¿¡ΓÑαδ ¡Ñ »«ññÑন-
  2909.                                óáεΓ ¡¿ «ñ¡«ú« ¿º ¡¿σ. ìá»α¿¼Ñα, í«½∞-
  2910.                                Φ¿¡ßΓó« »α¿¡ΓÑα«ó ¼«ªÑΓ »ÑτáΓáΓ∞  Γ«½∞¬«
  2911.                                ¡á «ñ¡«⌐ ßΓ«α«¡Ñ íπ¼áú¿, ¿ ñαá⌐óÑαδ Γᬿσ
  2912.                                »α¿¡ΓÑα«ó ñ«½ª¡δ ¿ú¡«α¿α«óáΓ∞ »«½Ñ
  2913.                                dmDuplex ßΓαπ¬Γπαδ DEVMODE, ¬«Γ«α«Ñ «»-
  2914.                                αÑñѽ∩ÑΓ ñóπσßΓ«α«¡¡εε »ÑτáΓ∞.
  2915.  
  2916.         Ç»»áαáΓ¡«-ºáó¿ß¿¼á∩    Å«½Ñ dmDriverData ßΓαπ¬Γπαδ DEVMODE
  2917.         ¿¡Σ«α¼áµ¿∩             ß«ñÑαª¿Γ á»»áαáΓ¡«-ºáó¿ß¿¼δÑ ñá¡¡δÑ, ¬«-
  2918.                                Γ«αδÑ «»αÑñѽ∩εΓß∩ ñ½∩ ¬áªñ«ú« ñαá⌐óÑαá
  2919.                                πßΓα«⌐ßΓóá. Äíδτ¡«, »α¿¬½áñ¡á∩ »α«úαá¼¼á
  2920.                                ¡Ñ ñ«½ª¡á ¿º¼Ñ¡∩Γ∞ φΓ¿ ñá¡¡δÑ, á »α«ßΓ«
  2921.                                »ÑαÑñáóáΓ∞ ¿σ ñαá⌐óÑαπ.
  2922.         ───────────────────────────────────────────────────────────────
  2923.  
  2924.              ùΓ«íδ »α¿  ó맮óÑ  CreateDC  »ÑαÑñáΓ∞   »«½¡πε   ßΓαπ¬Γπαπ
  2925.         DEVMODE, ½πτΦÑ  óßÑú«  ó¡áτá½Ñ  »«½πτ¿Γ∞  ÑÑ  ß »«¼«Θ∞ε Σπ¡¬µ¿¿
  2926.         ExtDeviceMode (ó¬½ετáÑΓß∩ ó ñαá⌐óÑαδ  »α¿¡ΓÑα«ó  Windows  3.0).
  2927.         ¥Γá Σπ¡¬µ¿¿ ß««íΘáÑΓ ñαá⌐óÑαπ »α¿¡ΓÑαá,  τΓ« ¡Ñ«íσ«ñ¿¼« ß«ºñáΓ∞
  2928.         ßΓαπ¬Γπαπ DEVMODE c ΓѬπΘ¿¼¿  »áαá¼ÑΓαἿ  »α¿¡ΓÑαá.  Å«ß¬«½∞¬π
  2929.         ñαá⌐óÑα ß«ºñáÑΓ   ßΓαπ¬Γπαπ   ßἫßΓ«∩Γѽ∞¡«   ¿  ºá»«½¡∩ÑΓ  ÑÑ
  2930.         á»»áαáΓ¡«-ºáó¿ß¿¼«⌐ ¿¡Σ«α¼áµ¿Ñ⌐, óδ ¼«ªÑΓÑ αáßß¼áΓα¿óáΓ∞ ÑÑ ¬á¬
  2931.         ºá¬«¡τÑ¡¡πε. çáΓѼ  óáΦá  »α¿¬½áñ¡á∩  »α«úαἼᠠ¼«ªÑΓ  »«ß½áΓ∞
  2932.         ßΓαπ¬Γπαπ DEVMODE Σπ¡¬µ¿¿ CreateDC.
  2933.  
  2934.              Ä»¿ßá¡¿Ñ Σπ¡¬µ¿¿   DEVMODE    »α¿óÑñÑ¡«    ó    æ»αáó«τ¡«¼
  2935.         απ¬«ó«ñßΓóÑ, Γ«¼  2.  öπ¡¬µ¿∩  CreateDC  «»¿ßá¡á  ó »Ñαó«¼ Γ«¼Ñ
  2936.         æ»αáó«τ¡«ú« απ¬«ó«ñßΓóá.
  2937.                          17.1.2. Åáαá¼ÑΓαδ »α¿¡ΓÑαá ¿ ßαÑñá »α¿¡ΓÑαá           
  2938.  
  2939.              "æαÑñ«⌐ »α¿¡ΓÑαá"   ¡áºδóáεΓ   ¡áí«α    Ñú«    »áαá¼ÑΓα«ó,
  2940.         ¡áσ«ñ∩Θ¿⌐ß∩ ó  »á¼∩Γ¿.  î«ªÑΓ  íδΓ∞  »« «ñ¡«⌐ ßαÑñÑ »α¿¡ΓÑαá ¡á
  2941.         ¬áªñδ⌐ »«αΓ.  ÆÑ¬πΘ¿⌐  ñαá⌐óÑα  »α¿¡ΓÑαá   (Ñß½¿   »«½∞º«óáΓѽ∞
  2942.         πßΓá¡«ó¿½ Ñú« ñ½∩ »«αΓá) «ΓóÑτáÑΓ ºá ß«ºñá¡¿Ñ ¿ »«ññÑ᪬π ßαÑñδ
  2943.  
  2944.        Windows 3.0/pg/3#3                                        = 58 =
  2945.  
  2946.         »α¿¡ΓÑαá ñ½∩ ñá¡¡«ú« »«αΓá.
  2947.  
  2948.              Åáαá¼ÑΓαδ ßαÑñδ   ñ½∩    ¬áªñ«ú«    »α¿¡ΓÑαá    á¡á½«ú¿τ¡δ
  2949.         ¿ß»«½∞ºπÑ¼δ¼ ó Σá⌐½Ñ WIN.INI,  ºá ¿ß¬½ετÑ¡¿Ñ¼ Γ«ú«, τΓ« ó Σá⌐½Ñ
  2950.         WIN.INI «¡¿ αáßß¼áΓα¿óáεΓß∩ ¬á¬ ßΓ᫬¿,  ó Γ« óαѼ∩ ¬á¬ ó ßαÑñÑ
  2951.         «¡¿ ß«ñÑαªáΓß∩  ó  »á¼∩Γ¿ ó Σ«α¼Ñ ßΓαπ¬Γπαδ DEVMODE.  Å«ññÑ᪬á
  2952.         ¿¡Σ«α¼áµ¿¿ ó »á¼∩Γ¿  πóѽ¿τ¿óáÑΓ  ß¬«α«ßΓ∞  ß«ºñá¡¿∩  ¬«¡ΓѬßΓá
  2953.         πßΓα«⌐ßΓóá ñ½∩ »α¿¡ΓÑαá.
  2954.  
  2955.              è«úñá »α¿¬½áñ¡á∩  »α«úαἼᠠ߫ºñáÑΓ  ¬«¡ΓѬßΓ  πßΓα«⌐ßΓóá
  2956.         ñ½∩ »α¿¡ΓÑαá íѺ «»αÑñѽѡ¿∩  ß«íßΓóÑ¡¡δσ  »áαá¼ÑΓα«ó,  Windows
  2957.         ¿ß»«½∞ºπÑΓ »áαá¼ÑΓαδ ¿º ßαÑñδ »α¿¡ΓÑαá.
  2958.  
  2959.              Å«ß¬«½∞¬π ßαÑñá   »α¿¡ΓÑαá   ßó∩ºá¡á  ß  »«αΓ«¼  »α¿¡ΓÑαá,
  2960.         ¿º¼Ñ¡Ñ¡¿Ñ ßαÑñδ »α¿¡ΓÑαá »«ó½ÑτÑΓ ºá ß«í«⌐ ¿º¼Ñ¡Ñ¡¿Ñ »áαá¼ÑΓα«ó
  2961.         »α¿¡ΓÑαá ñ½∩   óßÑσ  »α¿¬½áñ¡δσ  »α«úαá¼¼,  ¬«Γ«αδÑ  ¡Ñ  ºáñáεΓ
  2962.         ß«íßΓóÑ¡¡δσ »áαá¼ÑΓα«ó.
  2963.  
  2964.              Åα¿ ¿ß»«½∞º«óá¡¿¿  ñαá⌐óÑα«ó  »α¿¡ΓÑαá,   ¡á»¿ßá¡¡δσ   ñ½∩
  2965.         Windows óÑαß¿¿  3.0,  »α¿¬½áñ¡á∩ »α«úαἼᠼ«ªÑΓ ¼á¡¿»π½¿α«óáΓ∞
  2966.         »áαá¼ÑΓαἿ »α¿¡ΓÑαá ñ½∩ πñ«ó½ÑΓó«αÑ¡¿∩  ß«íßΓóÑ¡¡δσ  ¡πªñ.  àÑ
  2967.         ¿º¼Ñ¡Ñ¡¿∩ ¡Ñ    »«ó½¿∩εΓ   ¡á   ñαπú¿Ñ   »α¿¬½áñ¡δÑ   »α«úαá¼¼δ
  2968.         ¿ß»«½∞ºπεΘ¿Ñ Γ«Γ  ªÑ   »«αΓ.   (Åα¿   ¿ß»«½∞º«óá¡¿¿   ñαá⌐óÑα«ó
  2969.         »α¿¡ΓÑα«ó ñ½∩  í«½ÑÑ αá¡¡δσ óÑαß¿⌐ Windows »α¿¬½áñ¡á∩ »α«úαá¼¼á
  2970.         ¼«ú½á ¿º¼Ñ¡∩Γ∞ »áαá¼ÑΓαδ »α¿¡ΓÑαá,  Γ«½∞¬« ¿º¼Ñ¡∩∩ Σá⌐½ WIN.INI
  2971.         ¿½¿  ßαÑñπ  »α¿¡ΓÑαá.  ¥Γ«  ó½¿∩½« ¡á óßÑ »α¿¬½áñ¡δÑ »α«úαá¼¼δ,
  2972.         ¿ß»«½ºπεΘ¿Ñ φë໫αΓ íѺ πßΓᡫ󬿠߫íßΓóÑ¡¡δσ »áαá¼ÑΓα«ó.)
  2973.                       17.2  êß»«½∞º«óá¡¿Ñ Σπ¡¬µ¿⌐ ñαá⌐óÑα«ó πßΓα«⌐ßΓó.         
  2974.  
  2975.              ü«½∞Φ¿¡ßΓó« ñαá⌐óÑα«ó   »α¿¡ΓÑα«ó   ó¬½ετáÑΓ   ß»Ñµ¿á½∞¡δÑ
  2976.         Σπ¡¬µ¿¿,  ¬«Γ«αδÑ »«ºó«½∩εΓ »α¿¬½áñ¡«⌐ »α«úαἼѠ¼á¡¿»π½¿α«óáΓ∞
  2977.         »áαá¼ÑΓαἿ ñαá⌐óÑαá ¿ »«αΓá »α¿¡ΓÑαá.
  2978.  
  2979.              - æΓáαδÑ ñαá⌐óÑαδ »α¿¡ΓÑα«ó ß«ñÑαªáΓ  Σπ¡¬µ¿ε  DeviceMode.
  2980.                ¥Γá Σπ¡¬µ¿∩   «Γ«íαáªá½á   »á¡Ñ½∞   ñ¿á½«úá   ó  ¬«Γ«α«⌐
  2981.                »«½∞º«óáΓѽ∞ ¼«ú πßΓá¡«ó¿Γ∞  »áαá¼ÑΓαδ  »α¿¡ΓÑαá,  ΓᬿÑ
  2982.                ¬á¬ «α¿Ñ¡Γᵿ∩  ¿  αẼÑα íπ¼áú¿.  êº¼Ñ¡Ñ¡¿∩,  ó¡ÑßÑ¡¡δÑ
  2983.                »«½∞º«óáΓѽѼ, ó½¿∩½¿  ¡á  Σá⌐½  WIN.INI  ¿   ¡á   ßαÑñπ
  2984.                »α¿¡ΓÑαá.
  2985.  
  2986.              - äαá⌐óÑαδ  »α¿¡ΓÑα«ó  Windows óÑαß¿¿ 3.0 ß«ñÑαªáΓ Σπ¡¬µ¿ε
  2987.                ExtDeviceMode, ¬«Γ«αá∩     »αÑñ«ßΓáó½∩ÑΓ      »α¿¬½áñ¡«⌐
  2988.                »α«úαἼѠ¼¡«ú«    ó«º¼«ª¡«ßΓÑ⌐    »«    ¼á¡¿»π½¿α«óá¡¿ε
  2989.                »áαá¼ÑΓαἿ »α¿¡ΓÑαá íѺ ó½¿∩¡¿∩  ¡á  ñαπú¿Ñ  »α¿¬½áñ¡δÑ
  2990.                »α«úαá¼¼δ.  ¥Γá  Σπ¡¬µ¿∩ »«ºó«½∩ÑΓ »«½∞º«óáΓÑ½ε »«½πτ¿Γ∞
  2991.                ¬«»¿ε   »áαá¼ÑΓα«ó   »α¿¡ΓÑαá   ó   ßΓαπ¬ΓπαÑ   DEVMODE.
  2992.                Åਪ½áñ¡á∩   »α«úαἼᠠ ¼«ªÑΓ  ºáΓѼ  ¿ß»«½∞º«óáΓ∞  φΓπ
  2993.                ßΓαπ¬Γπαπ  ñ½∩  ¿º¼Ñ¡Ñ¡¿∩  »áαá¼ÑΓα«ó  »α¿¡ΓÑαá,  ó¼ÑßΓ«
  2994.                Γ«ú«,  τΓ«íδ ß«ºñáóáΓ∞ ÑÑ ßἫßΓ«∩Γѽ∞¡«. (ExtDeviceMode
  2995.                ΓᬪѠ߫ñÑαª¿Γ óßÑ  ó«º¼«ª¡«ßΓ¿,  ¬«Γ«αδÑ  »αÑñ«ßΓáó½∩½á
  2996.                Σπ¡¬µ¿∩ DeviceMode ó αá¡¡¿σ óÑαß¿∩σ Windows).
  2997.  
  2998.  
  2999.        Windows 3.0/pg/3#3                                        = 59 =
  3000.  
  3001.              - äαá⌐óÑαδ  Windows  óÑαß¿¿  3.0  ΓᬪѠ ß«ñÑαªáΓ  Σπ¡¬µ¿ε
  3002.                DeviceCapabilities. ¥Γá  Σπ¡¬µ¿∩  »«ºó«½∩ÑΓ   »α¿¬½áñ¡«⌐
  3003.                »α«úαἼѠ«»αÑñѽ¿Γ∞   ¬á¬¿Ñ   »«½∩   ßΓαπ¬Γπαδ  DEVMODE
  3004.                »«ññÑনóáεΓß∩ ñá¡¡δ¼ »α¿¡ΓÑα«¼.
  3005.  
  3006.              öπ¡¬µ¿¿ ñαá⌐óÑαá   πßΓα«⌐ßΓóá   ∩ó½∩εΓß∩   τáßΓ∞ε   ßἫú«
  3007.         ñαá⌐óÑαá, á  ¡Ñ «íδτ¡δ¼¿ Σπ¡¬µ¿∩¼¿ Windows.  Å«φΓ«¼π ñ½∩ ó맮óá
  3008.         Σπ¡¬µ¿⌐ ñαá⌐óÑαá ¡Ñ«íσ«ñ¿¼« ß½Ññ«óáΓ∞ ß½ÑñπεΘÑ⌐ »α«µÑñπαÑ:
  3009.  
  3010.              1. çáúαπº¿Γ∞  ñαá⌐óÑα   ó   »á¼∩Γ∞   ß   »«¼«Θ∞ε   Σπ¡¬µ¿¿
  3011.                 LoadLibrary.
  3012.  
  3013.              2. æ   »«¼«Θ∞ε   Σπ¡¬µ¿¿   GetProcAddress  »«½πτ¿Γ∞  áñαÑß
  3014.                 ¡Ñ«íσ«ñ¿¼«⌐ Σπ¡¬µ¿¿.   (àß½¿   Σπ¡¬µ¿∩   GetProcAddress
  3015.                 ó«ºóαáΘáÑΓ ¡π½Ñó«⌐ π¬áºáΓѽ∞,  φΓ« «º¡áτáÑΓ, τΓ« ñá¡¡δ⌐
  3016.                 ñαá⌐óÑα ¡Ñ »«ññÑনóáÑΓ φΓπ Σπ¡¬µ¿ε.)
  3017.  
  3018.              3. ä½∩  ó맮óá   Σπ¡¬µ¿¿   ñαá⌐óÑαá   ¿ß»«½∞ºπ⌐ΓÑ   áñαÑß,
  3019.                 ó«ºóαáΘáѼδ⌐ Σπ¡¬µ¿Ñ⌐ GetProcAddress.
  3020.  
  3021.              4. Å«ß½Ñ   ºáóÑαΦÑ¡¿∩   ¿ß»«½∞º«óá¡¿∩   Σπ¡¬µ¿⌐  ñαá⌐óÑαá,
  3022.                 ß »«¼«Θ∞ε Σπ¡¬µ¿¿ Windows FreeLibrary óδúαπº¿ΓÑ ñαá⌐óÑα
  3023.                 πßΓα«⌐ßΓóá ¿º ß¿ßΓѼδ.
  3024.  
  3025.              ì¿ªÑ »α¿óÑñÑ¡  »α¿¼Ñα,  ¬á¬  óδºóáΓ∞ Σπ¡¬µ¿ε ExtDeviceMode
  3026.         ñ½∩ ñαá⌐óÑαá PSCRIPT.DRV:
  3027.  
  3028.              FARPROC lpfnExtDeviceMode;
  3029.              FARPROC lpfnDeviceMode;
  3030.              HANDLE  hDriver;
  3031.  
  3032.              hDriver = LoadLibrary("PSCRIPT.DRV);
  3033.              lpfnExtDeviceMode = GetProcAddress(hDriver,"ExtDeviceMode");
  3034.  
  3035.              if(lpfnExtDeviceMode != NULL)
  3036.                 {
  3037.                 /* àß½¿ ñαá⌐óÑα »«ññÑনóáÑΓ Σπ¡¬µ¿ε ExtDeviceMode,
  3038.                    óδºóáΓ∞ Σπ¡¬µ¿ε ExtDeviceMode τÑαѺ áñαÑß, ß«ñÑα-
  3039.                    ªáΘ¿⌐ß∩ ó lpfnExtDeviceMode. */
  3040.                 }
  3041.              else
  3042.                 {
  3043.                 /* àß½¿ ñαá⌐óÑα ¡Ñ ñ½∩ óÑαß¿¿ 3.0 ¿ ¡Ñ »«ññÑনóáÑΓ
  3044.                    ¡«óδÑ Σπ¡¬µ¿¿, Γ« ó¼ÑßΓ« φΓ«ú« ¿ß»«½∞º«óáΓ∞ Σπ¡¬µ¿ε
  3045.                    DeviceMode */
  3046.  
  3047.                 lpfnDeviceMode = GetProcAddress(hDriver,"DeviceMode");
  3048.  
  3049.                 if(lpfnExtDeviceMode != NULL)
  3050.                    {
  3051.                    /* àß½¿ ñαá⌐óÑα »«ññÑনóáÑΓ Σπ¡¬µ¿ε DeviceMode,
  3052.                       óδºóáΓ∞ Σπ¡¬µ¿ε DeviceMode τÑαѺ áñαÑß, ß«ñÑα-
  3053.                       ªáΘ¿⌐ß∩ ó lpfnDeviceMode. */
  3054.  
  3055.        Windows 3.0/pg/3#3                                        = 60 =
  3056.  
  3057.                    }
  3058.                 }
  3059.              FreeLibrary(hDriver);   /* »«ß½Ñ ºáóÑαΦÑ¡¿∩ óδúαπº¿Γ∞
  3060.                                         ñαá⌐óÑα */
  3061.                                                                                
  3062.              17.3  Å«½πτÑ¡¿Ñ σáαá¬ΓÑα¿ßΓ¿¬ ñαá⌐óÑαá »α¿¡ΓÑαá.
  3063.  
  3064.              öπ¡¬µ¿∩ ñαá⌐óÑαá    DeviceCapabilities    »«ºó«½∩ÑΓ    óá¼
  3065.         «»αÑñѽ¿Γ∞ ó«º¼«ª¡«ßΓ¿  ¬«¡¬αÑΓ¡«ú«  »α¿¡ΓÑαá,   ó¬½ετá∩   »«½∩
  3066.         ßΓαπ¬Γπαδ DEVMODE,   ¬«Γ«αδÑ   »«ññÑনóáÑΓ   ñá¡¡δ⌐   »α¿¡ΓÑα.
  3067.         ìá»α¿¼Ñα, Ñß½¿  óáΦá   »α«úαἼᠠ ºáó¿ß¿Γ   «Γ   "½á¡ñΦáΣΓ¡«⌐"
  3068.         «α¿Ñ¡Γᵿ¿, «¡á ¼«ªÑΓ óδºóáΓ∞ Σπ¡¬µ¿ε DeviceCapabilities, τΓ«íδ
  3069.         «»αÑñѽ¿Γ∞, »«ññÑনóáÑΓ ½¿ ñá¡¡δ⌐ »α¿¡ΓÑα Γá¬πε «α¿Ñ¡Γᵿε.
  3070.  
  3071.              öπ¡¬µ¿∩ DeviceCapabilities »«ñα«í¡« «»¿ßá¡á ó »Ñαó«¼  Γ«¼Ñ
  3072.         æ»αáó«τ¡«ú« απ¬«ó«ñßΓóá.
  3073.                                17.4  Éáí«Γá ß »áαá¼ÑΓαἿ »α¿¡ΓÑαá.            
  3074.  
  3075.              öπ¡¬µ¿∩ ExtDeviceMode   »«ºó«½∩ÑΓ  «ñ¡«óαѼѡ¡«  óδ»«½¡∩Γ∞
  3076.         ¡Ñ߬«½∞¬« ñÑ⌐ßΓó¿⌐. éδ ¼«ªÑΓÑ ¿ß»«½∞º«óáΓ∞ ÑÑ ñ½∩:
  3077.  
  3078.              - Å«½πτÑ¡¿∩   ßΓαπ¬Γπαδ   DEVMODE,   ß«ñÑαªáΘÑ⌐    ΓѬπΘ¿Ñ
  3079.                »áαá¼ÑΓαδ »α¿¡ΓÑαá.
  3080.  
  3081.              - êº¼Ñ¡Ñ¡¿∩ «ñ¡«ú« ¿ í«½ÑÑ »áαá¼ÑΓα«ó »α¿¡ΓÑαá.
  3082.  
  3083.              - çá»α«ßá π »«½∞º«óáΓѽ∩ »áαá¼ÑΓα«ó »α¿¡ΓÑαá.
  3084.  
  3085.              - æíα«ßá ßαÑñδ »α¿¡ΓÑαá ¿ ¿¡Σ«α¼áµ¿¿ ó WIN.INI.
  3086.  
  3087.              Å«ß¬«½∞¬π ExtDeviceMode    óδ»«½¡∩ÑΓ   ßΓ«½∞¬«   αẽ¿τ¡δσ
  3088.         Σπ¡¬µ¿⌐ óδ ó«º¼«ª¡« «í¡áαπª¿ΓÑ,  τΓ« »α«úαἼᠠτáßΓ«  óδºδóáÑΓ
  3089.         Σπ¡¬µ¿ε ExtDeviceMode  ¡á  »α«Γ∩ªÑ¡¿¿  »«½πτÑ¡¿∩,  ¿º¼Ñ¡Ñ¡¿∩  ¿
  3090.         »«ññÑ᪬¿ »áαá¼ÑΓα«ó »α¿¡ΓÑαá.
  3091.  
  3092.              Åα¿ ó맮óÑ ExtDeviceMode óδ π¬áºδóáÑΓÑ:
  3093.  
  3094.              - äÑß¬α¿»Γ«α ¼«ñπ½∩  ¡Ñ«íσ«ñ¿¼«ú«  óá¼  ñαá⌐óÑαá  »α¿¡ΓÑαá
  3095.                (Ñú« ó«ºóαáΘáεΓ Σπ¡¬µ¿¿ LoadLibrary ¿ GetModuleHandle).
  3096.  
  3097.              - ê¼∩ ñαá⌐óÑαá »α¿¡ΓÑαá (ìá»α¿¼Ñα, "PCL/HP Laserjet").
  3098.  
  3099.              - ê¼∩  »«αΓá,  ¬  ¬«Γ«α«¼π  »«ñ¬½ετÑ¡  »α¿¡ΓÑα  (¡á»α¿¼Ñα,
  3100.                "LPT2:").
  3101.  
  3102.              - Ä»Ñαᵿε, ¬«Γ«απε ¡Ñ«íσ«ñ¿¼« óδ»«½¡¿Γ∞.
  3103.  
  3104.                éδ «»αÑñѽ∩ÑΓÑ     αẽ¿τ¡δÑ     «»Ñαᵿ¿,      π¬áºδóá∩
  3105.                ß««ΓóÑΓßΓóπεΘ¿Ñ º¡áτÑ¡¿∩  ó  »áαá¼ÑΓαÑ  wMode.  àß½¿  óδ
  3106.                σ«Γ¿ΓÑ óδ»«½¡¿Γ∞  ¡Ñ߬«½∞¬«  «»Ñαᵿ⌐  «ñ¡«óαѼѡ¡«,  óδ
  3107.                ¼«ªÑΓÑ  ¬«¼í¿¡¿α«óáΓ∞  ñóá  ¿½¿ í«½ÑÑ º¡áτÑ¡¿⌐ ß »«¼«Θ∞ε
  3108.                í¿Γ«ó«⌐ «»Ñαᵿ¿ OR ("|").
  3109.  
  3110.        Windows 3.0/pg/3#3                                        = 61 =
  3111.  
  3112.  
  3113.              - üπΣÑα ñ½∩ óó«ñá (Ñß½¿ ÑßΓ∞).
  3114.  
  3115.                Åਪ½áñ¡á∩ »α«úαἼᠠ¼«ªÑΓ  ó  ¬áτÑßΓóÑ  íπΣÑαá   óó«ñá
  3116.                π¬áºáΓ∞ »«½¡πε  ¿½¿ τáßΓ∞ ßΓαπ¬Γπαδ DEVMODE.  (é «Γ½¿τ¿Ñ
  3117.                «Γ  ñαπú¿σ  Σπ¡¬µ¿⌐,  ¿ß»«½∞ºπεΘ¿σ  ßΓαπ¬Γπαπ   DEVMODE,
  3118.                ExtDeviceMode  ¡Ñ ΓαÑíπÑΓ,  τΓ«íδ ßΓαπ¬Γπαá DEVMODE íδ½á
  3119.                »«½¡«⌐.)
  3120.  
  3121.              - éδσ«ñ¡«⌐ íπΣÑα (Ñß½¿ ÑßΓ∞).
  3122.  
  3123.                Å« ºá»α«ßπ  »α¿¬½áñ¡«⌐  »α«úαá¼¼δ  ñαá⌐óÑα   óδó«ñ¿Γ   ó
  3124.                óδσ«ñ¡«⌐ íπΣÑα »«½¡πε ßΓαπ¬Γπαπ DEVMODE.
  3125.  
  3126.              Åα¿¼Ñτá¡¿Ñ: öπ¡¬µ¿∩      ExtDeviceMode      ΓαÑíπÑΓ      ó
  3127.         ñÑ⌐ßΓó¿Γѽ∞¡«ßΓ¿ ó«ßѼ∞ »áαá¼ÑΓα«ó.  éδΦÑ »α¿óÑñÑ¡δ  Γ«½∞¬«  ΓÑ
  3128.         »áαá¼ÑΓαδ, ¬«Γ«αδÑ   «Γ¡«ß∩Γß∩   ¬  ¡áΦÑ¼π  «íßπªñÑ¡¿ε.  Å«½¡«Ñ
  3129.         «»¿ßá¡¿Ñ »áαá¼ÑΓα«ó Σπ¡¬µ¿¿ ExtDeviceMode óδ ¡á⌐ñÑΓÑ  ó  »Ñαó«¼
  3130.         Γ«¼Ñ æ»αáó«τ¡«ú« απ¬«ó«ñßΓóá.
  3131.                17.4.1  Ä»αÑñѽѡ¿Ñ óó«ñá ¿ óδó«ñá Σπ¡¬µ¿¿ ExtDeviceMode.       
  3132.  
  3133.              Åáαá¼ÑΓα wMode   «»αÑñѽ∩ÑΓ,   ¬á¬  Σπ¡¬µ¿∩  ExtDeviceMode
  3134.         »«½πτáÑΓ óó«ñ ¿ ¬πñá «¡á  »α«¿ºó«ñ¿Γ  óδó«ñ.  ÉÑᬵ¿∩  ñαá⌐óÑαá
  3135.         ºáó¿ß¿Γ «Γ π¬áºá¡¡«ú« º¡áτÑ¡¿∩ (º¡áτÑ¡¿⌐).
  3136.  
  3137.              àß½¿ óδ  πßΓá¡áó½¿óáÑΓÑ  »áαá¼ÑΓα  wMode  αáó¡δ¼ ¡π½ε,  Γ«
  3138.         Σπ¡¬µ¿∩ ExtDeviceMode  ó«ºóαáΘáÑΓ  »α«ßΓ«   αẼÑα   ó   íá⌐Γáσ
  3139.         ßΓαπ¬Γπαδ DEVMODE. Äíδτ¡«, Γᬿ¼ «íαẫ¼ óδ»«½¡∩εΓ »Ñαóδ⌐ ó맮ó
  3140.         Σπ¡¬µ¿¿ ExtDeviceMode,  τΓ«íδ  «»αÑñѽ¿Γ∞  αẼÑα  íπΣÑαá   ñ½∩
  3141.         óδó«ñá.
  3142.  
  3143.              éδ ¼«ªÑΓÑ   »α¿ßó«¿Γ∞  »áαá¼ÑΓαπ  wMode  «ñ¡«  ¿½¿  í«½∞ΦÑ
  3144.         º¡áτÑ¡¿⌐. Ä¡¿ »α¿óÑñÑ¡δ ó Γáí½¿µÑ 17.1.  ä½∩ ¬áªñ«ú« º¡áτÑ¡¿∩ ó
  3145.         Γáí½¿µÑ π¬áºá¡« ß½ÑñπεΘÑÑ:
  3146.  
  3147.              - àú« ¿¼∩.
  3148.  
  3149.              - ùѼ π»αáó½∩ÑΓ: óó«ñ«¼ ¿½¿ óδó«ñ«¼.
  3150.  
  3151.              - è«α«Γ¬«Ñ «»¿ßá¡¿Ñ ¬áªñ«ú« º¡áτÑ¡¿∩.
  3152.  
  3153.         Æáí½¿µá 17.1  ç¡áτÑ¡¿∩ »áαá¼ÑΓαá wMode.
  3154.         ───────────────────────────────────────────────────────────────
  3155.         ç¡áτÑ¡¿Ñ      éó«ñ/éδó«ñ         Ä»¿ßá¡¿Ñ
  3156.         ───────────────────────────────────────────────────────────────
  3157.         DM_IN_BUF     éó«ñ               æ««íΘáÑΓ ñαá⌐óÑαπ, τΓ« ¡Ñ«íσ«-
  3158.                                          ñ¿¼« ¿º¼Ñ¡¿Γ∞ »áαá¼ÑΓαδ »α¿¡-
  3159.                                          ΓÑαá ó ß««ΓóÑΓßΓó¿¿ ß »ÑαÑñá¡-
  3160.                                          ¡δ¼¿ ó« óσ«ñ¡«¼ íπΣÑαÑ ó ßΓαπ¬-
  3161.                                          ΓπαÑ DEVMODE.
  3162.  
  3163.         DM_IN_PROMPT  éó«ñ               æ««íΘáÑΓ ñαá⌐óÑαπ »α¿¡ΓÑαá, τΓ«
  3164.  
  3165.        Windows 3.0/pg/3#3                                        = 62 =
  3166.  
  3167.                                          ¡Ñ«íσ«ñ¿¼« óδóÑßΓ¿ »á¡Ñ½∞ ñ¿á-
  3168.                                          ½«úá Print Setup ¿ ¿º¼Ñ¡¿Γ∞
  3169.                                          ΓѬπΘ¿Ñ »áαá¼ÑΓαδ ó ß««ΓóÑßΓó¿¿
  3170.                                          ß π¬áºá¡¡δ¼¿ »«½∞º«óáΓѽѼ.
  3171.  
  3172.         DM_OUT_BUF    éδó«ñ              éδóÑßΓ¿ ΓѬπΘ¿Ñ »áαá¼ÑΓαδ »α¿¡-
  3173.                                          ΓÑαá ó óδσ«ñ¡«⌐ íπΣÑα ó Σ«α¼Ñ
  3174.                                          ßΓαπ¬Γπαδ DEVMODE.
  3175.  
  3176.         DM_OUT_DEFAULT éδó«ñ             éδóÑßΓ¿ ΓѬπΘ¿Ñ »áαá¼ÑΓαδ
  3177.                                          »α¿¡ΓÑαá ó ßαÑñπ »α¿¡ΓÑαá ¿ ó
  3178.                                          Σá⌐½ WIN.INI.
  3179.         ───────────────────────────────────────────────────────────────
  3180.  
  3181.              éδ ¼«ªÑΓÑ ¿ß»«½∞º«óáΓ∞ ¬«¼í¿¡áµ¿¿  º¡áτÑ¡¿⌐  wMode,  τΓ«íδ
  3182.         »«ºó«½¿Γ∞ π»αáó½∩Γ∞  »áαá¼ÑΓαἿ  »α¿¡ΓÑαᠬᬠóáΦÑ⌐ »α¿¬½áñ¡«⌐
  3183.         »α«úαá¼¼Ñ, Γᬠ¿ »«½∞º«óáΓѽε.
  3184.  
  3185.              é᪡«Ñ »α¿¼Ñτá¡¿Ñ:  ä½∩ ¿º¼Ñ¡Ñ¡¿∩ »áαá¼ÑΓα«ó  »α¿¡ΓÑαá  óδ
  3186.         ñ«½ª¡δ π¬áºáΓ∞  »«  ¬αá⌐¡Ñ⌐  ¼ÑαÑ  «ñ¡« óσ«ñ¡«Ñ º¡áτÑ¡¿Ñ ¿ «ñ¡«
  3187.         óδσ«ñ¡«Ñ. ìá»α¿¼Ñα,  ñ½∩ »«½πτÑ¡¿∩ »áαá¼ÑΓα«ó «Γ »«½∞º«óáΓѽ∩ ¿
  3188.         πßΓᡫ󬿠¿σ  ó  ßαÑñÑ  »α¿¡ΓÑαá  ¿  ó  Σá⌐½Ñ WIN.INI óδ ¼«ªÑΓÑ
  3189.         ¿ß»«½∞º«óáΓ∞ ¬«¼í¿¡áµ¿ε º¡áτÑ¡¿⌐ DM_IN_PROMPT ¿ DM_OUT_DEFAULT.
  3190.         àß½¿ óδ   π¬áª¿ΓÑ  Γ«½∞¬«  óδσ«ñ¡δÑ  º¡áτÑ¡¿∩  (DM_OUT_BUF  ¿½¿
  3191.         DM_OUT_DEFAULT), ñαá⌐óÑα óδóÑñÑΓ ΓѬπΘ¿Ñ  »áαá¼ÑΓαδ,  ¿ú¡«α¿απ∩
  3192.         ½εíδÑ π¬áºá¡¡δÑ óἿ óσ«ñ¡δÑ. àß½¿ óδ «»αÑñѽ¿ΓÑ Γ«½∞¬« óσ«ñ¡δÑ
  3193.         »áαá¼ÑΓαδ (DM_IN_PROMPT  ¿½¿  DM_IN_BUF),  ó맮ó  ExtDeviceMode
  3194.         »α¿óÑñÑΓ Γ«½∞¬« ¬ óó«ñπ, ¿ ½εí«⌐ óδó«ñ ó ñá¡¡«¼ ß½πτáÑ ¡Ñ íπñÑΓ
  3195.         ¿¼ÑΓ∞ ¡¿¬á¬«ú« φΣΣѬΓá.
  3196.                          17.4.2  Å«½πτÑ¡¿Ñ ¬«»¿¿ »áαá¼ÑΓα«ó »α¿¡ΓÑαá.          
  3197.  
  3198.              ùáßΓ« πñ«í¡«  »α¿  αáí«ΓÑ  ß  »áαá¼ÑΓαἿ  »α¿¡ΓÑαá  ¿¼ÑΓ∞
  3199.         ΓѬπΘ¿¿ »áαá¼ÑΓαδ    ¬«¡¬αÑΓ¡«ú«    »α¿¡ΓÑαá.   ¥Γ«   »«ºó«½∩ÑΓ
  3200.         »α¿¬½áñ¡«⌐ »α«úαἼѠ «»αÑñѽ¿Γ∞,  ß««ΓóÑΓßΓóπεΓ  ½¿   «¡¿   ÑÑ
  3201.         ¡πªñá¼.
  3202.  
  3203.              ä½∩ »«½πτÑ¡¿∩ ¬«»¿¿ »áαá¼ÑΓα«ó ñαá⌐óÑαá »α¿¡ΓÑαá:
  3204.  
  3205.              1. Ä»αÑñѽ¿ΓÑ,  ß¬«½∞¬« ¼ÑßΓá ΓαÑíπÑΓ  óδσ«ñ¡á∩  ßΓαπ¬Γπαá
  3206.                 DEVMODE. ä½∩ φΓ«ú« ó맮ó¿ΓÑ ExtDeviceMode ß »áαá¼ÑΓα«¼
  3207.                 wMode αáó¡δ¼ 0.
  3208.  
  3209.                 öπ¡¬µ¿∩ ExtDeviceMode  ó«ºóαáΘáÑΓ   αẼÑα   ó   íá⌐Γáσ
  3210.                 ßΓαπ¬Γπαδ DEVMODE  (¬«Γ«αá∩  ¼«ªÑΓ íδΓ∞ ß«ºñá¡á ó맮ó«¼
  3211.                 ExtDeviceMode ß wMode αáó¡δ¼ DM_OUT_BUF).
  3212.  
  3213.              2. éδñѽ¿ΓÑ íπΣÑα Γᬫú« αẼÑαá.
  3214.  
  3215.              3. é맮ó¿ΓÑ ExtDeviceMode ß¡«óá. ÅÑαÑñáóáѼδÑ Ñ⌐ »áαá¼ÑΓαδ
  3216.                 ñ«½ª¡δ ß«ñÑαªáΓ∞ ß½ÑñπεΘπε ¿¡Σ«α¼áµ¿ε:
  3217.  
  3218.  
  3219.        Windows 3.0/pg/3#3                                        = 63 =
  3220.  
  3221.                 Åáαá¼ÑΓα          ç¡áτÑ¡¿Ñ
  3222.                 ───────────────────────────────────────────────────────
  3223.                 lpDEVMODEoutput   ô¬áºáΓѽ∞ ¡á óδσ«ñ¡«⌐ íπΣÑα, ¬«Γ«αδ⌐
  3224.                                   óδ óδñѽ¿½¿.
  3225.  
  3226.                 wMode             DM_OUT_BUF
  3227.                 ───────────────────────────────────────────────────────
  3228.  
  3229.              äαá⌐óÑα »α¿¡ΓÑαá   ºáΓѼ   »«¼ÑΘáÑΓ  ßΓαπ¬Γπαπ  DEVMODE  ß
  3230.         ΓѬπΘ¿¼¿ »áαá¼ÑΓαἿ »α¿¡ΓÑαá ó π¬áºá¡¡δ⌐ óἿ íπΣÑα.
  3231.  
  3232.              Å«ß¬«½∞¬π óδσ«ñ¡«⌐   íπΣÑα   ß«ñÑαª¿Γ   »«½¡πε   ßΓαπ¬Γπαπ
  3233.         DEVMODE, óδ  ¼«ªÑΓÑ  ºáΓѼ  ÑÑ  »ÑαÑñáóáΓ∞  Σπ¡¬µ¿∩¼ CreateDC ¿
  3234.         SetEnvironment, Γ.¬.   «¡¿   «íÑ  ΓαÑíπεΓ  ó  ¬áτÑßΓóÑ  óσ«ñ¡«⌐
  3235.         ßΓαπ¬Γπαπ DEVMODE.
  3236.  
  3237.              Åα¿¼Ñτá¡¿Ñ: é맮ó Σπ¡¬µ¿¿ ExtDeviceMode c »áαá¼ÑΓα«¼ wMode
  3238.         αáó¡δ¼ DM_OUT BUF  á¡á½«ú¿τÑ¡  ó맮óπ  GetEnvironment,  Γ.¬.  ó
  3239.         «íÑ¿σ ß½πτá∩σ    ó«ºóαáΘáεΓß∩    »áαá¼ÑΓαδ,   ¿ß»«½∞ºπѼδÑ   »«
  3240.         π¼«½τá¡¿ε. ÄΓ½¿τ¿Ñ ºá¬½ετáÑΓß∩ ó Γ«¼, τΓ« Σπ¡¬µ¿∩ ExtDeviceMode
  3241.         αáí«ΓáÑΓ óßÑúñá,  Γ.¬.  αáí«ΓáÑΓ ß ñαá⌐óÑα«¼,  á GetEnvironment
  3242.         αáí«ΓáÑΓ óÑα¡« Γ«½∞¬« ó  Γ«¼  ß½πτáÑ,  Ñß½¿  ñαá⌐óÑα  ñ«  φΓ«ú«
  3243.         óδºδóá½ Σπ¡¬µ¿ε SetEnvironment.
  3244.                              17.4.3  êº¼Ñ¡Ñ¡¿Ñ »áαá¼ÑΓα«ó »α¿¡ΓÑαá.            
  3245.  
  3246.              ùáßΓ«, »α¿  óδó«ñÑ  ¿¡Σ«α¼áµ¿¿   ¡á   »α¿¡ΓÑα   »α¿¬½áñ¡«⌐
  3247.         »α«úαἼѠΓαÑíπÑΓß∩ ¿º¼Ñ¡¿Γ∞ ΓѬπΘ¿Ñ »áαá¼ÑΓαδ »α¿¡ΓÑαá.
  3248.  
  3249.              ä½∩ ¿º¼Ñ¡Ñ¡¿∩  »áαá¼ÑΓα«ó  »α¿¡ΓÑαá  π¬áª¿ΓÑ  ó  »áαá¼ÑΓαÑ
  3250.         wMode ¬á¬  óó«ñ  (DM_IN_BUF  ¿½¿  DM_IN_PROMPT),  Γᬠ ¿  óδó«ñ
  3251.         (DM_OUT_BUF  ¿½¿  DM_OUT_DEFAULTS).  éδ ¼«ªÑΓ π¬áºáΓ∞ ¡Ñ߬«½∞¬«
  3252.         º¡áτÑ¡¿⌐,  ñ« ΓÑσ »«α,  »«¬á ¿¼ÑÑΓß∩ «ñ¡« º¡áτÑ¡¿Ñ ñ½∩ óó«ñá  ¿
  3253.         «ñ¡«  ñ½∩  óδó«ñá.  (ä½∩  ¿º¼Ñ¡Ñ¡¿∩  »áαá¼ÑΓα«ó  íѺ ó½¿∩¡¿∩ ¡á
  3254.         ñαπú¿Ñ »α¿¬½áñ¡δÑ »α«úαá¼¼δ ¡Ñ ¿ß»«½∞ºπ⌐ΓÑ DM_OUT_DEFAULTS. ¥Γ«
  3255.         º¡áτÑ¡¿Ñ  »α¿ó«ñ¿Γ  ¬  ¿º¼Ñ¡Ñ¡¿ε  »áαá¼ÑΓα«ó,  ¿ß»«½∞ºπѼδσ  »«
  3256.         π¼«½τá¡¿ε, ¡á π¬áºá¡¡δÑ óἿ).
  3257.  
  3258.              éσ«ñ¡δÑ º¡áτÑ¡¿∩   ¼«ª¡«   π¬áºáΓ∞  ¡Ñ߬«½∞¬¿¼  ß»«ß«íἿ.
  3259.         èáªñδ⌐ ¿º ¡¿σ ΓαÑíπÑΓ  ßó«Ñ⌐  ¬«¼í¿¡áµ¿¿  º¡áτÑ¡¿⌐  wMode.  ¥Γ«
  3260.         ß½ÑñπεΘ¿Ñ ß»«ß«íδ:
  3261.  
  3262.              - ÅÑαÑñáÑΓÑ   τáßΓ¿τ¡πε   ßΓαπ¬Γπαπ   DEVMODE   ß   ¡«ó묨
  3263.                ¡Ñ«íσ«ñ¿¼δ¼¿ »áαá¼ÑΓαἿ. (Åα¿   ó맮óÑ   ExtDeviceMode
  3264.                π¬áºδóáÑΓÑ º¡áτÑ¡¿Ñ DM_IN_BUF).
  3265.  
  3266.              - éδó«ñ¿ΓÑ    »á¡Ñ½∞    ñ¿á½«úá   Printer   Setup,   τΓ«íδ
  3267.                »«½∞º«óáΓѽ∞ ¼«ú π¬áºáΓ∞ ΓαÑíπѼδÑ Ñ¼π  »áαá¼ÑΓαδ.  (Åα¿
  3268.                ó맮óÑ ExtDeviceMode π¬áºδóáÑΓÑ º¡áτÑ¡¿Ñ DM_IN_PROMPT).
  3269.  
  3270.              - ÅÑαÑñáÑΓÑ  τáßΓ¿τ¡πε  ßΓαπ¬Γπαπ DEVMODE ¿,  ¬α«¼Ñ φΓ«ú«,
  3271.                óδó«ñ¿ΓÑ »á¡Ñ½∞  ñ¿á½«úá  Printer  Setup.  ¥Γ«Γ   ß»«ß«í
  3272.                »«ºó«½∩ÑΓ π¬áºáΓ∞  »áαá¼ÑΓαδ  »α¿¡ΓÑαᠬᬠ»«½∞º«óáΓѽε,
  3273.                Γᬠ ¿  óáΦÑ⌐  »α«úαá¼¼Ñ.  (Åα¿   ó맮óÑ   ExtDeviceMode
  3274.  
  3275.        Windows 3.0/pg/3#3                                        = 64 =
  3276.  
  3277.                π¬áºδóáÑΓÑ º¡áτÑ¡¿Ñ DM_IN_BUF ¿ DM_IN_PROMPT).
  3278.  
  3279.              Åα¿ ¿º¼Ñ¡Ñ¡¿¿  »áαá¼ÑΓα«ó  »α¿¡ΓÑαá  óδ  ñ«½ª¡δ  ¡Ñ Γ«½∞¬«
  3280.         π¬áºáΓ∞ ¡«óδÑ »áαá¼ÑΓαδ,  ¡« ¿ «»αÑñѽ¿Γ∞  ¬πñá  óδ  σ«Γ¿ΓÑ  ¿σ
  3281.         ºá¡ÑßΓ¿. äαá⌐óÑα óδó«ñ¿Γ »«½¡πε ¿ ¬«ααÑ¬Γ¡πε ßΓαπ¬Γπαπ DEVMODE,
  3282.         ¬«Γ«αá∩ «ΓαáªáÑΓ ¿º¼Ñ¡Ñ¡¿∩,  ó¡ÑßÑ¡¡δÑ óáΦÑ⌐  »α«úαá¼¼«⌐  ¿/¿½¿
  3283.         »«½∞º«óáΓѽѼ. éδ π¬áºδóáÑΓÑ ñαá⌐óÑαπ,  ¬πñá »«¼ÑßΓ¿Γ∞ óδσ«ñ¡πε
  3284.         ßΓαπ¬Γπαπ. ¥Γ« óδ ñѽáÑΓÑ ß »«¼«Θ∞ε »áαá¼ÑΓαá wMode.
  3285.  
  3286.              éδ ¼«ªÑΓÑ ¡á»αáó¿Γ∞ óδó«ñ ß½ÑñπεΘ¿¼ «íαẫ¼:
  3287.  
  3288.              - Å«¼ÑßΓ¿ΓÑ ¼«ñ¿Σ¿µ¿α«óá¡¡πε óδσ«ñ¡πε ßΓαπ¬Γπαπ DEVMODE  ó
  3289.                óδσ«ñ¡«⌐ íπΣÑα.   çáΓѼ   »α¿¬½áñ¡á∩   »α«úαἼᠠ ¼«ªÑΓ
  3290.                »ÑαÑñáΓ∞ φΓπ  ßΓαπ¬Γπαπ  Σπ¡¬µ¿¿  CreateDC  ¿½¿   ñαπú«⌐
  3291.                Σπ¡¬µ¿¿ Windows. (Åα¿   ó맮óÑ  ExtDeviceMode  π¬áª¿ΓÑ
  3292.                DM_OUT_BUF).
  3293.  
  3294.              - éδóÑñ¿ΓÑ ¼«ñ¿Σ¿µ¿α«óá¡¡πε ßΓαπ¬Γπαπ DEVMODE ó  »á¼∩Γ∞  ß
  3295.                »«¼«Θ∞ε Σπ¡¬µ¿¿  SetEnvironment.  è«úñá ñαá⌐óÑα »α¿¡ΓÑαá
  3296.                ñѽáÑΓ φΓ«,  «¡ ßíαáßδóáÑΓ ó  ¿ßσ«ñ¡«Ñ  ß«ßΓ«∩¡¿Ñ  ßαÑñπ
  3297.                »α¿¡ΓÑαá ¿   ¿º¼Ñ¡∩ÑΓ   ß««ΓóÑΓßΓóπεΘ¿Ñ  φ½Ñ¼Ñ¡Γδ  Σá⌐½á
  3298.                WIN.INI. ì«óδÑ  »áαá¼ÑΓαδ  ó½¿∩εΓ  ¡á   óßÑ   »α¿¬½áñ¡δÑ
  3299.                »α«úαá¼¼δ, ¿ß»«½∞ºπεΘ¿Ñ  φëࠪѠ »«αΓ  »α¿¡ΓÑαá  ¿  ¡Ñ
  3300.                π¬áºδóáεΘ¿Ñ ß«íßΓóÑ¡¡δÑ    »áαá¼ÑΓαδ.    (Åα¿     ó맮óÑ
  3301.                ExtDeviceMode π¬áª¿ΓÑ DM_OUT_DEFAULT).
  3302.  
  3303.              - Å«¼ÑßΓ¿Γ∞  ¼«ñ¿Σ¿µ¿α«óá¡¡πε  ßΓαπ¬Γπαπ ó óδσ«ñ¡«⌐ íπΣÑα,
  3304.                ßíα«ß¿Γ∞ ó   ¿ßσ«ñ¡«Ñ   ß«ßΓ«∩¡¿Ñ   ßαÑñπ   »α¿¡ΓÑαá   ¿
  3305.                ¼«ñ¿Σ¿µ¿α«óáΓ∞  Σá⌐½ WIN.INI.  (Åα¿ ó맮óÑ ExtDeviceMode
  3306.                π¬áª¿ΓÑ DM_OUT_BUF ¿ DM_OUT_DEFAULT).
  3307.  
  3308.              ÄßΓáóΦá∩ß∩ τáßΓ∞ ñá¡¡«ú« αáºñѽᠻ«ßó∩ΘѡᠡѬ«Γ«αδ¼ «íΘ¿¼
  3309.         »πΓ∩¼ ¿ß»«½∞º«óá¡¿∩   ¿   ¬«¼í¿¡¿α«óá¡¿∩  ó«º¼«ª¡«ßΓÑ⌐  Σπ¡¬µ¿¿
  3310.         ExtDeviceMode.
  3311.                       17.4.4 Åα¿ß»«ß«í½Ñ¡¿Ñ  »áαá¼ÑΓα«ó  »α¿¡ΓÑαá  ñ½∩         
  3312.                            ¿ß»«½∞º«óá¡¿∩ ß CreateDC.
  3313.  
  3314.              ä½∩ ¿ß»«½∞º«óá¡¿∩ »α¿¡ΓÑαá óáΦá »α«úαá¼¼á ñ«½ª¡á ó¡áτá½Ñ ß
  3315.         »«¼«Θ∞ε Σπ¡¬µ¿¿ CreateDC ß«ºñáΓ∞ Ñú« ¬«¡ΓѬßΓ  πßΓα«⌐ßΓóá.  ¥Γá
  3316.         Σπ¡¬µ¿∩ ¿¼ÑÑΓ   ¡Ñ«í∩ºáΓѽ∞¡δ⌐  »áαá¼ÑΓα,  lpInitData,  ¬«Γ«αδ⌐
  3317.         «»αÑñѽ∩ÑΓ »áαá¼ÑΓαδ »α¿¡ΓÑαá,  ¿ß»«½∞ºπѼδÑ »α¿  ß«ºñá¡¿¿  Ñú«
  3318.         ¬«¡ΓѬßΓá. Åα«ßΓÑ⌐Φ¿⌐ ß»«ß«í - φΓ«  π¬áºáΓ∞  ó  ¬áτÑßΓóÑ  φΓ«ú«
  3319.         »áαá¼ÑΓαá  NULL.  Windows  Γ«úñá  ß«ºñáßΓ  ¬«¡ΓѬßΓ πßΓα«⌐ßΓóá,
  3320.         ¿ß»«½∞ºπ∩ ΓѬπΘ¿Ñ »áαá¼ÑΓαδ ñ½∩ ñá¡¡«ú« »«αΓá »α¿¡ΓÑαá.
  3321.  
  3322.              ùΓ«íδ ¿ß»«½∞º«óáΓ∞   ß«íßΓóÑ¡¡δÑ  »áαá¼ÑΓαδ  »α¿¡ΓÑαá,  óδ
  3323.         ñ«½ª¡δ ¿σ »ÑαÑñáΓ∞ »α¿ ó맮óÑ Σπ¡¬µ¿¿ CreateDC.  Æ«úñá  Windows
  3324.         ß«ºñáßΓ ¬«¡ΓѬßΓ πßΓα«⌐ßΓóá, ¿ß»«½∞ºπ∩ φΓ¿ »áαá¼ÑΓαδ.
  3325.  
  3326.              ä½∩ »ÑαÑñáτ¿  »áαá¼ÑΓα«ó  Σπ¡¬µ¿¿  CreateDC,  ¿ß»«½∞ºπÑΓß∩
  3327.         ßΓαπ¬Γπαá DEVMODE, ¬«Γ«αá∩ ß«ñÑαª¿Γ ¡Ñ«íσ«ñ¿¼δÑ óá¼ »áαá¼ÑΓαδ.
  3328.  
  3329.  
  3330.        Windows 3.0/pg/3#3                                        = 65 =
  3331.  
  3332.              Åα¿ ó맮óÑ  Σπ¡¬µ¿¿  CreateDC,  óδ  π¬áºδóáÑΓÑ   ßΓαπ¬Γπαπ
  3333.         DEVMODE, »«½πτÑ¡¡πε  »α∩¼«  «Γ  ñαá⌐óÑαá  »α¿¡ΓÑαá.  ò«Γ∩ ¼«ª¡«
  3334.         »α«ßΓ« «ΓαÑñá¬Γ¿α«óáΓ∞ ßΓαπ¬Γπαπ DEVMODE,  á ºáΓѼ »ÑαÑñáΓ∞  ÑÑ
  3335.         CreateDC, ½πτΦÑ  Γᬠ ¡Ñ  ñѽáΓ∞.  CreateDC  ΓαÑíπÑΓ  »«½¡πε  ¿
  3336.         ¬«ααÑ¬Γ¡πε ßΓαπ¬Γπαπ DEVMODE. Æá¬¿¼ «íαẫ¼, ½εíδÑ »α«Γ¿ó«αÑτ¿∩
  3337.         ó ßΓαπ¬ΓπαÑ   DEVMODE   ¼«úπΓ  »α¿óÑßΓ¿  ¬  ß«ºñá¡¿ε  ¡ÑóÑα¡«ú«
  3338.         ¬«¡ΓѬßΓá πßΓα«⌐ßΓóá.  ùΓ«íδ πíÑñ¿Γ∞ß∩,  τΓ« ßΓαπ¬Γπαá  DEVMODE
  3339.         ¬«ααÑ¬Γ¡á, óδ  ¼«ªÑΓÑ  »«ß½áΓ∞  ÑÑ ñαá⌐óÑαπ ó ¬áτÑßΓóÑ óσ«ñ¡«⌐.
  3340.         äαá⌐óÑα ó«ºóαáΘáÑΓ  »«½¡πε,  ¬«ααÑ¬Γ¡πε  ßΓαπ¬Γπαπ,  ¬«Γ«απε óδ
  3341.         ß»«¬«⌐¡« »ÑαÑñáÑΓÑ CreateDC.
  3342.  
  3343.              ä½∩ ¿ß»«½∞º«óá¡¿∩ ¬«¡¬αÑΓ¡δσ »áαá¼ÑΓα«ó »α¿¡ΓÑαá »ÑαÑñá⌐ΓÑ
  3344.         τáßΓ¿τ¡πε ßΓαπ¬Γπαπ DEVMODE,  ß«ñÑαªáΘπε Γ«½∞¬« ¡Ñ«íσ«ñ¿¼δÑ óá¼
  3345.         »áαá¼ÑΓαδ.  äαá⌐óÑα ó φΓ«¼ ß½πτáÑ ¿º¼Ñ¡¿Γ Γ«½∞¬« ΓÑ  »áαá¼ÑΓαδ,
  3346.         ñ½∩  ¬«Γ«αδσ  óδ π¬áºá½¿ ¡«óδÑ º¡áτÑ¡¿∩.  ¥Γ« «º¡áτáÑΓ,  τΓ« óδ
  3347.         ¼«ªÑΓÑ ¿º¼Ñ¡∩Γ∞ «Γñѽ∞¡δÑ »áαá¼ÑΓαδ  »α¿¡ΓÑαá  -  ¡á»α¿¼Ñα  ñ½∩
  3348.         ¿º¼Ñ¡Ñ¡¿∩  «α¿Ñ¡Γᵿ¿  ß  "»«αΓαÑΓ¡«⌐"  ¡á  "½á¡ñΦáΣΓ¡πε" - íѺ
  3349.         ó½¿∩¡¿∩ ¡á ñαπú¿Ñ »áαá¼ÑΓαδ.  é ¬áτÑßΓóÑ  óδó«ñá  ExtDeviceMode
  3350.         ó«ºóαáΘáÑΓ »«½¡πε ßΓαπ¬Γπαπ DEVMODE.
  3351.  
  3352.              ä½∩ ¿º¼Ñ¡Ñ¡¿∩ »áαá¼ÑΓα«ó »α¿¡ΓÑαá óδ»«½¡¿ΓÑ ß½ÑñπεΘÑÑ:
  3353.  
  3354.              1. Ä»αÑñѽ¿ΓÑ  »«½¡πε  ¿½¿  τáßΓ¿τ¡πε  ßΓαπ¬Γπαπ  DEVMODE,
  3355.                 ß«ñÑαªáΘπε »áαá¼ÑΓαδ, ¬«Γ«αδÑ óδ σ«Γ¿ΓÑ ¿º¼Ñ¡¿Γ∞.
  3356.  
  3357.                 àß½¿ óδ «»αÑñѽ∩ÑΓÑ τáßΓ¿τ¡πε ßΓαπ¬Γπαπ:
  3358.  
  3359.                 - ôíÑñ¿ΓÑß∞,  τΓ«  ó¬½ετ¿½¿  óßÑ  »∩Γ∞  »«½Ñ⌐ ºáú«½«ó¬á
  3360.                   (dmDeviceName, dmSpecVersion, dmDeviceVersion, smSize
  3361.                   ¿ dmDriverExtra).     àß½¿     óδ     ¡Ñ    »«ßδ½áÑΓÑ
  3362.                   á»»áαáΓ¡«-ºáó¿ß¿¼«⌐ ¿¡Σ«α¼áµ¿¿,  πßΓá¡«ó¿ΓÑ  º¡áτÑ¡¿∩
  3363.                   »«½Ñ⌐ dmDriverVersion ¿ dmDriverExtra ó ¡«½∞.
  3364.  
  3365.                 - ôßΓá¡«ó¿ΓÑ ß«ñÑন¼«Ñ »«½∩ dmFields  ñ½∩  «»αÑñѽѡ¿∩
  3366.                   Γ«ú«,  ¬á¬¿Ñ »«½∩ á»»áαáΓ¡«-¡Ñºáó¿ß¿¼«⌐ ¿¡Σ«α¼áµ¿¿ óδ
  3367.                   «»αÑñѽ∩ÑΓÑ.
  3368.  
  3369.                 ìá»α¿¼Ñα, ñ½∩     π¬áºá¡¿∩     »α¿¡ΓÑαπ    ¿ß»«½∞º«óáΓ∞
  3370.                 "½á¡ñΦáΣΓ¡πε" «α¿Ñ¡Γáµ¿ε ¿ αẼÑα ßΓαá¡¿µδ ñ½∩ »¿ßѼ óδ
  3371.                 ñ«½ª¡δ «»αÑñѽ¿Γ∞ ß½ÑñπεΘπε ßΓαπ¬Γπαπ DEVMODE:
  3372.  
  3373.                 DEVMODE dm;
  3374.                 lstrcpy(dm.dmDeviceName,szDeviceName);
  3375.                 /* ¿¡Σ«α¼áµ¿∩ ºáú«½«ó¬á */
  3376.                 dm.dmVersion = DM_SPECVERSION;
  3377.                 dm.dmDriverVersion = 0;
  3378.                 dm.dmSize = sizeof(DEVMODE);
  3379.                 dm.dmDriverExtra = 0;
  3380.                 /* á»»áαáΓ¡«-¡Ñºáó¿ß¿¼á∩ ¿¡Σ«α¼áµ¿∩ */
  3381.                 dm.dmFields = DM_ORIENTATION | DM_PAPERSIZE;
  3382.                 dm.dmOrientation = DMORIENT_LANDSCAPE;
  3383.                 dm.dmPaperSize = DMPAPER_LETTER;
  3384.  
  3385.  
  3386.        Windows 3.0/pg/3#3                                        = 66 =
  3387.  
  3388.                 ÅÑαóδÑ »∩Γ∞   »«½Ñ⌐  «»αÑñѽ∩εΓ  ¿¡Σ«α¼áµ¿ε  ºáú«½«ó¬á.
  3389.                 szDeviceName -  φΓ« ßΓ᫬á,  ß«ñÑαªáΘá∩ ¿¼∩ πßΓα«⌐ßΓóá,
  3390.                 ΓᬫѠ¬á¬  "PCL/HP  Laserjet".  Å«½πτÑ¡¿Ñ  º¡áτÑ¡¿⌐  ¿º
  3391.                 Σá⌐½á WIN.INI «»¿ßá¡« ó ú½áóÑ 12, "ÅÑτáΓ∞".
  3392.  
  3393.              2. é맮ó¿ΓÑ Σπ¡¬µ¿ε ExtDeviceMode.
  3394.  
  3395.                 éδ ñ«½ª¡δ »ÑαÑñáΓ∞ Ñ⌐ »áαá¼ÑΓαδ,  ß«ñÑαªáΘ¿Ñ  ß½ÑñπεΘπε
  3396.                 ¿¡Σ«α¼áµ¿ε:
  3397.  
  3398.                 Åáαá¼ÑΓα          ç¡áτÑ¡¿Ñ
  3399.                 ───────────────────────────────────────────────────────
  3400.                 lpDevModeInput    ô¬áºáΓѽ∞ ¡á íπΣÑα, ß«ñÑαªáΘ¿⌐ »«½¡πε
  3401.                                   ¿½¿ τáßΓ¿τ¡πε ßΓαπ¬Γπαπ DEVMODE.
  3402.  
  3403.                 lpDevModeOutput   ô¬áºáΓѽ∞ ¡á óδσ«ñ¡«⌐ íπΣÑα.
  3404.  
  3405.                 wMode             DM_IN_BUF|DM_OUT_BUF
  3406.                 ───────────────────────────────────────────────────────
  3407.  
  3408.                 çáΓѼ ñαá⌐óÑα  ¿º¼Ñ¡¿Γ  »áαá¼ÑΓαδ  ó   ß««ΓóÑΓßΓó¿¿   ß
  3409.                 »ÑαÑñá¡¡δ¼¿  ó«  óσ«ñ¡«⌐ ßΓαπ¬ΓπαÑ DEVMODE ¿ »«¼ÑßΓ¿Γ ó
  3410.                 óδσ«ñ¡«⌐ íπΣÑα »«½¡πε ßΓαπ¬Γπαπ DEVMODE.
  3411.  
  3412.              3. ÅÑαÑñá⌐ΓÑ  »«½πτÑ¡¡πε  ó  αѺπ½∞ΓáΓÑ  ßΓαπ¬Γπαπ DEVMODE
  3413.                 Σπ¡¬µ¿¿ CreateDC  ñ½∩  ß«ºñá¡¿∩  ¬«¡ΓѬßΓá  πßΓα«⌐ßΓóá,
  3414.                 ¿ß»«½∞ºπεΘÑú« ¡«óδÑ »áαá¼ÑΓαδ.
  3415.  
  3416.              Å«ß½Ñ ¿º¼Ñ¡Ñ¡¿∩  ßΓαπ¬Γπαδ  DEVMODE  ñαá⌐óÑα ¬«»¿απÑΓ ÑÑ ó
  3417.         óδσ«ñ¡«⌐ íπΣÑα.  Å«½πτÑ¡¡á∩  ßΓαπ¬Γπαá  íπñÑΓ  »«½¡«⌐,  ¿ íπñÑΓ
  3418.         ó¬½ετáΓ∞ óßÑ  ¿º¼Ñ¡Ñ¡¿∩,  ¬«Γ«αδÑ  óδ  «»αÑñѽ¿½¿  ó  τáßΓ¿τ¡«⌐
  3419.         ßΓαπ¬ΓπαÑ.  Å«ß¬«½∞¬π  ñαá⌐óÑα  »α«óÑα∩ÑΓ  óáΦ¿  »áαá¼ÑΓαδ,  óδ
  3420.         ¼«ªÑΓÑ ß»«¬«⌐¡« »ÑαÑñáóáΓ∞ ßΓαπ¬Γπαπ DEVMODE Σπ¡¬µ¿¿ CreateDC.
  3421.               17.4.5 êº¼Ñ¡Ñ¡¿Ñ »áαá¼ÑΓα«ó »α¿¡ΓÑαá íѺ ó½¿∩¡¿∩ ¡á ñαπú¿Ñ       
  3422.                              »α¿¬½áñ¡δÑ »α«úαá¼¼δ.
  3423.  
  3424.              éáΦá »α¿¬½áñ¡á∩   »α«úαἼᠠ ¼«ªÑΓ   ¿º¼Ñ¡∩Γ∞   »áαá¼ÑΓαδ
  3425.         »α¿¡ΓÑαá, ¡Ñ «¬áºδóá∩ ó½¿∩¡¿∩ ¡á ñαπú¿Ñ  »α¿¬½áñ¡δÑ  »α«úαá¼¼δ.
  3426.         ä½∩ φΓ«ú« ¡πª¡« ßñѽáΓ∞ ß½ÑñπεΘÑÑ:
  3427.  
  3428.              1. é맮ó¿ΓÑ ExtDeviceMode.
  3429.  
  3430.                 Åáαá¼ÑΓαδ ñ«½ª¡δ ó¬½ετáΓ∞ ß½ÑñπεΘπε ¿¡Σ«α¼áµ¿ε:
  3431.  
  3432.                 Åáαá¼ÑΓα          ç¡áτÑ¡¿Ñ
  3433.                 ───────────────────────────────────────────────────────
  3434.                 lpDevModeInput    ô¬áºáΓѽ∞ ¡á íπΣÑα, ß«ñÑαªáΘ¿⌐ »«½¡πε
  3435.                                   ¿½¿ τáßΓ¿τ¡πε ßΓαπ¬Γπαπ DEVMODE.
  3436.  
  3437.                 lpDevModeOutput   ô¬áºáΓѽ∞ ¡á óδσ«ñ¡«⌐ íπΣÑα.
  3438.  
  3439.                 wMode             DM_IN_BUF|DM_OUT_BUF
  3440.  
  3441.        Windows 3.0/pg/3#3                                        = 67 =
  3442.  
  3443.                                   ¿½¿
  3444.                                   DM_IN_PROMPT|DM_OUT_BUF
  3445.                                   ¿½¿
  3446.                                   DM_IN_BUF|DM_IN_PROMPT|DM_OUT_BUF
  3447.                 ───────────────────────────────────────────────────────
  3448.  
  3449.                 çá¼ÑΓ¿¼, τΓ«  óδ ¼«ªÑΓÑ π¬áºáΓ∞ ¿ «íá óσ«ñ¡δσ »áαá¼ÑΓαá
  3450.                 (DM_IN_BUF|DM_IN_PROMPT). Æá¬«⌐   óδº«ó   ExtDeviceMode
  3451.                 »α¿óÑñÑΓ ¬ Γ«¼π,  τΓ« óáΦá ß«íßΓóÑ¡¡á∩ ¬«»¿∩ »áαá¼ÑΓα«ó
  3452.                 »α¿¡ΓÑαá íπñÑΓ  ß«σαá¡Ñ¡á  ó  íπΣÑαÑ  óáΦÑ⌐  »α¿¬½áñ¡«⌐
  3453.                 »α«úαá¼¼δ. Å«ß¬«½∞¬π      ¡Ñ      π¬áºá¡«      º¡áτÑ¡¿Ñ
  3454.                 DM_OUT_DEFAULT, Γ«  ¡Ñ  »α«¿ßσ«ñ¿Γ  ¬«»¿α«óá¡¿∩   ¡«óδσ
  3455.                 »áαá¼ÑΓα«ó ó  ßαÑñπ  »α¿¡ΓÑαá  ¿ ó Σá⌐½ WIN.INI.  Æá¬¿¼
  3456.                 «íαẫ¼ ¡á  ñαπú¿Ñ  »α¿¬½áñ¡δÑ  »α«úαá¼¼δ  ó½¿∩¡¿Ñ   ¡Ñ
  3457.                 «¬áºδóáÑΓß∩.
  3458.  
  3459.              2. éδσ«ñ¡πε  ßΓαπ¬Γπαπ  DEVMODE »ÑαÑñá⌐ΓÑ Σπ¡¬µ¿¿ CreateDC
  3460.                 ñ½∩ ß«ºñá¡¿∩  ¬«¡ΓѬßΓá  πßΓα«⌐ßΓóá  ó  ß««ΓóÑΓßΓó¿¿  ß
  3461.                 π¬áºá¡¡δ¼¿ óἿ »áαá¼ÑΓαἿ.
  3462.  
  3463.              Åα¿¼Ñτá¡¿Ñ: éδ ¼«ªÑΓÑ ß«σαá¡¿Γ∞ óδσ«ñ¡πε ßΓαπ¬Γπαπ DEVMODE
  3464.         ó Σá⌐½Ñ,  τΓ«íδ ó »«ß½ÑñπεΘ¿σ ßÑá¡ßáσ αáí«Γδ óáΦÑ⌐ »α«úαá¼¼δ ¡Ñ
  3465.         óδºδóáΓ∞ Σπ¡¬µ¿ε  ExtDeviceMode,  á ßτ¿ΓáΓ∞ ÑÑ ¿º Σá⌐½á ¿ ßαáºπ
  3466.         »«ß½áΓ∞ Σπ¡¬µ¿¿ CreateDC.
  3467.               17.4.6 çá»α«ß π »«½∞º«óáΓѽ∩ ¿º¼Ñ¡Ñ¡¿∩ »áαá¼ÑΓα«ó »α¿¡ΓÑαá.      
  3468.  
  3469.              Åਪ½áñ¡á∩ »α«úαἼᠼ«ªÑΓ  »ÑαÑñáΓ∞  ñαá⌐óÑαπ  ΓαÑí«óá¡¿Ñ
  3470.         «Γ«íαếΓ∞ »á¡Ñ½∞ ñ¿á½«úá Printer Setup.  é φΓ«⌐ »á¡Ñ½¿ ñ¿á½«úá
  3471.         »«½∞º«óáΓѽ∞ ¼«ªÑΓ π¬áºáΓ∞ ¡«óδÑ  »áαá¼ÑΓαδ  »α¿¡ΓÑαá.  äαá⌐óÑα
  3472.         ¿º¼Ñ¡¿Γ ΓѬπΘ¿Ñ   »áαá¼ÑΓαδ   ó   ß««ΓóÑΓßΓó¿¿   ß   π¬áºá¡¡δ¼¿
  3473.         »«½∞º«óáΓѽѼ. éδσ«ñ¡á∩ ßΓαπ¬Γπαá DEVMODE  (Ñß½¿  «¡á  π¬áºá¡á)
  3474.         íπñÑΓ ß«ñÑαªáΓ∞ ßñѽᡡδÑ »«½∞º«óáΓѽѼ ¿º¼Ñ¡Ñ¡¿∩.
  3475.  
  3476.               ä½∩ ºá»α«ßá  π  »«½∞º«óáΓѽ∩ »áαá¼ÑΓα«ó »α¿¡ΓÑαá ßñѽá⌐ΓÑ
  3477.         ß½ÑñπεΘÑÑ:
  3478.  
  3479.              1. é맮ó¿ΓÑ ExtDeviceMode.
  3480.  
  3481.                 Åáαá¼ÑΓαδ ñ«½ª¡δ ó¬½ετáΓ∞ ß½ÑñπεΘπε ¿¡Σ«α¼áµ¿ε:
  3482.  
  3483.                 Åáαá¼ÑΓα          ç¡áτÑ¡¿Ñ
  3484.                 ───────────────────────────────────────────────────────
  3485.                 lpDevModeOutput   ô¬áºáΓѽ∞ ¡á óδσ«ñ¡«⌐ íπΣÑα.
  3486.  
  3487.                 wMode             DM_IN_PROMPT|DM_OUT_BUF
  3488.                 ───────────────────────────────────────────────────────
  3489.  
  3490.                 çáΓѼ ñαá⌐óÑα  «Γ«íαáªáÑΓ »á¡Ñ½∞ ñ¿á½«úá Printer Setup,
  3491.                 ¬«Γ«αá∩ »«ºó«½∩ÑΓ »«½∞º«óáΓѽε π¬áºáΓ∞ ¡«óδÑ »áαá¼ÑΓαδ.
  3492.  
  3493.                 àß½¿ »«½∞º«óáΓѽ∞ ¡áª¿¼áÑΓ ¡á ¼∩ú¬πε ¬½áó¿Φπ "OK" »«ß½Ñ
  3494.                 óδí«αá »áαá¼ÑΓα«ó   »α¿¡ΓÑαá,   Σπ¡¬µ¿∩   ExtDeviceMode
  3495.  
  3496.        Windows 3.0/pg/3#3                                        = 68 =
  3497.  
  3498.                 ó«ºóαáΓ¿Γ º¡áτÑ¡¿Ñ IDOK ¿  ñαá⌐óÑα  »«¼ÑßΓ¿Γ  ßΓαπ¬Γπαπ
  3499.                 DEVMODE ó óδσ«ñ¡«⌐ íπΣÑα.  ¥Γá óδσ«ñ¡á∩ ßΓαπ¬Γπαá íπñÑΓ
  3500.                 ß«ñÑαªáΓ∞ ¿º¼Ñ¡Ñ¡¿∩,  ßñѽᡡδÑ   »«½∞º«óáΓѽѼ.   àß½¿
  3501.                 »«½∞º«óáΓѽ∞ ¡áª¼ÑΓ  ¬½áó¿Φπ  "Cancel",  Σπ¡¬µ¿∩ óÑα¡ÑΓ
  3502.                 º¡áτÑ¡¿Ñ IDCANCEL,  ¿  óδσ«ñ¡á∩  ßΓαπ¬Γπαá   ¡Ñ   íπñÑΓ
  3503.                 ß«ñÑαªáΓ∞ ¿º¼Ñ¡Ñ¡¿⌐, ßñѽᡡδσ »«½∞º«óáΓѽѼ.
  3504.  
  3505.              2. éδσ«ñ¡πε  ßΓαπ¬Γπαπ  DEVMODE »ÑαÑñá⌐ΓÑ Σπ¡¬µ¿¿ CreateDC
  3506.                 ñ½∩ ß«ºñá¡¿∩  ¬«¡ΓѬßΓá  πßΓα«⌐ßΓóá  ó  ß««ΓóÑΓßΓó¿¿  ß
  3507.                 π¬áºá¡¡δ¼¿ »«½∞º«óáΓѽѼ »áαá¼ÑΓαἿ.
  3508.  
  3509.               ôßΓá¡«ó¬á º¡áτÑ¡¿⌐ ó »á¡Ñ½¿ ñ¿á½«úá Printer Setup.
  3510.  
  3511.              ä½∩ ¡áτá½∞¡«⌐    πßΓᡫ󬿠   º¡áτÑ¡¿⌐,   ¬«Γ«αδÑ   ñ«½ª¡δ
  3512.         «ΓαáªáΓ∞ß∩ ó »á¡Ñ½¿  ñ¿á½«úá  Printer  Setup,  óáΦá  »α¿¬½áñ¡á∩
  3513.         »α«úαá¼¼á ñ«½ª¡á  »α«ßΓ«  »ÑαÑñáΓ∞  ñαá⌐óÑαπ  óσ«ñ¡πε ßΓαπ¬Γπαπ
  3514.         DEVMODE ß  ¡áτá½∞¡δ¼¿  »áαá¼ÑΓαἿ  ¿  π¬áºáΓ∞  ñαá⌐óÑαπ,   τΓ«
  3515.         ¡Ñ«íσ«ñ¿¼« «Γ«íαếΓ∞  »á¡Ñ½∞  ñ¿á½«úá.  é  φΓ«¼ ß½πτáÑ ñαá⌐óÑα
  3516.         «Γ«íαáªáÑΓ »á¡Ñ½∞    ñ¿á½«úá    ß    ¡áτá½∞¡δ¼¿     º¡áτÑ¡¿∩¼¿,
  3517.         πßΓá¡«ó½Ñ¡¡δ¼¿ ó   ß««ΓóÑΓßΓó¿¿   ß   »áαá¼ÑΓαἿ   ó«  óσ«ñ¡«⌐
  3518.         ßΓαπ¬ΓπαÑ DEVMODE.  çáΓѼ »«½∞º«óáΓѽ∞ ¼«ªÑΓ ¿º¼Ñ¡¿Γ∞ ¡Ñ¬«Γ«αδÑ
  3519.         ¿½¿ óßÑ  »áαá¼ÑΓαδ.  Å«ß½Ñ  Γ«ú«,  ¬á¬  »«½∞º«óáΓѽ∞  ¡áª¼ÑΓ OK
  3520.         ñαá⌐óÑα óÑα¡ÑΓ  ßΓαπ¬Γπαπ  DEVMODE,  ¬«Γ«αá∩   íπñÑΓ   «ΓαáªáΓ∞
  3521.         ßñѽᡡδÑ ¿¼  ¿º¼Ñ¡Ñ¡¿∩.  èα«¼Ñ  φΓ«ú«,  ΓÑ »áαá¼ÑΓαδ,  ¬«Γ«αδÑ
  3522.         »«½∞º«óáΓѽ∞ ¡Ñ ¿º¼Ñ¡¿½,  íπñπΓ  ΓᬪѠ «ΓαáªáΓ∞ß∩  ó  óδσ«ñ¡«⌐
  3523.         ßΓαπ¬ΓπαÑ.
  3524.  
  3525.              ä½∩ ºá»α«ßá  π  »«½∞º«óáΓѽ∩  »áαá¼ÑΓα«ó  ß »«¼«Θ∞ε »á¡Ñ½¿
  3526.         ñ¿á½«úá, «Γ«íαáªáεΘÑ⌐ ¡áτá½∞¡δÑ º¡áτÑ¡¿∩, ßñѽá⌐ΓÑ ß½ÑñπεΘÑÑ:
  3527.  
  3528.              1. æ«ºñá⌐ΓÑ  τáßΓ¿τ¡πε  ¿½¿  »«½¡πε  ßΓαπ¬Γπαπ  DEVMODE  ¿
  3529.                 ºá¡Ñß¿ΓÑ  ó ¡ÑÑ ¡áτá½∞¡δÑ º¡áτÑ¡¿∩ »áαá¼ÑΓα«ó,  ¬«Γ«αδÑ
  3530.                 óδ  σ«Γ¿ΓÑ  ¿º¼Ñ¡¿Γ∞.  (Ä»¿ßá¡¿Ñ  τáßΓ¿τ¡«⌐   ßΓαπ¬Γπαδ
  3531.                 DEVMODE  óδ  ¡á⌐ñÑΓÑ ó αáºñѽѠ17.4.4,  "Åα¿ß»«ß«í½Ñ¡¿Ñ
  3532.                 »áαá¼ÑΓα«ó »α¿¡ΓÑαá ñ½∩ ¿ß»«½∞º«óá¡¿∩ ß CreateDC".)
  3533.  
  3534.              2. é맮ó¿ΓÑ ExtDeviceMode.
  3535.  
  3536.                 Åáαá¼ÑΓαδ ñ«½ª¡δ ó¬½ετáΓ∞ ß½ÑñπεΘπε ¿¡Σ«α¼áµ¿ε:
  3537.  
  3538.                 Åáαá¼ÑΓα          ç¡áτÑ¡¿Ñ
  3539.                 ───────────────────────────────────────────────────────
  3540.                 lpDevModeInput    ô¬áºáΓѽ∞ ¡á íπΣÑα, ß«ñÑαªáΘ¿⌐ »«½¡πε
  3541.                                   ¿½¿ τáßΓ¿τ¡πε ßΓαπ¬Γπαπ DEVMODE.
  3542.  
  3543.                 lpDevModeOutput   ô¬áºáΓѽ∞ ¡á óδσ«ñ¡«⌐ íπΣÑα.
  3544.  
  3545.                 wMode             DM_IN_BUF|DM_IN_PROMPT|DM_OUT_BUF
  3546.                 ───────────────────────────────────────────────────────
  3547.  
  3548.                 é¡áτá½Ñ, ñαá⌐óÑα  ¿º¼Ñ¡∩ÑΓ  ß«íßΓóÑ¡¡δÑ   »áαá¼ÑΓαδ   ó
  3549.                 ß««ΓóÑΓßΓó¿¿ ß »ÑαÑñá¡¡δ¼¿ óἿ.  çáΓѼ,  «¡ «Γ«íαáªáÑΓ
  3550.                 »á¡Ñ½∞ ñ¿á½«úá Printer Setup ß  ¡«ó묨  »áαá¼ÑΓαἿ,  ¿
  3551.  
  3552.        Windows 3.0/pg/3#3                                        = 69 =
  3553.  
  3554.                 »«½∞º«óáΓѽ∞ óßÑ ¿º ¡¿σ ¿½¿ Γ«½∞¬« ¡Ñ¬«Γ«αδÑ ¿º¼Ñ¡∩ÑΓ.
  3555.  
  3556.                 àß½¿ »«½∞º«óáΓѽ∞ ¡áª¿¼áÑΓ ¡á ¼∩ú¬πε ¬½áó¿Φπ "OK" »«ß½Ñ
  3557.                 óδí«αá »áαá¼ÑΓα«ó   »α¿¡ΓÑαá,   Σπ¡¬µ¿∩   ExtDeviceMode
  3558.                 ó«ºóαáΓ¿Γ º¡áτÑ¡¿Ñ  IDOK,  ¿ ñαá⌐óÑα »«¼ÑßΓ¿Γ ßΓαπ¬Γπαπ
  3559.                 DEVMODE ó óδσ«ñ¡«⌐ íπΣÑα.  ¥Γá óδσ«ñ¡á∩ ßΓαπ¬Γπαá íπñÑΓ
  3560.                 ß«ñÑαªáΓ∞   ¿º¼Ñ¡Ñ¡¿∩,  ßñѽᡡδÑ  »«½∞º«óáΓѽѼ.  àß½¿
  3561.                 »«½∞º«óáΓѽ∞ ¡áª¼ÑΓ ¬½áó¿Φπ  "Cancel",  Σπ¡¬µ¿∩  óÑα¡ÑΓ
  3562.                 º¡áτÑ¡¿Ñ   IDCANCEL   ¿  óδσ«ñ¡á∩  ßΓαπ¬Γπαá  ¡Ñ  íπñÑΓ
  3563.                 ß«ñÑαªáΓ∞ ¿º¼Ñ¡Ñ¡¿⌐, ßñѽᡡδσ »«½∞º«óáΓѽѼ.
  3564.  
  3565.              3. éδσ«ñ¡πε  ßΓαπ¬Γπαπ  DEVMODE »ÑαÑñá⌐ΓÑ Σπ¡¬µ¿¿ CreateDC
  3566.                 ñ½∩ ß«ºñá¡¿∩  ¬«¡ΓѬßΓá  πßΓα«⌐ßΓóá  ó  ß««ΓóÑΓßΓó¿¿  ß
  3567.                 ¡«ó묨 »áαá¼ÑΓαἿ.
  3568.                  17.5  è«»¿α«óá¡¿Ñ »áαá¼ÑΓα«ó »α¿¡ΓÑαᠼѪñπ ñαá⌐óÑαἿ.       
  3569.  
  3570.              ä½∩ ¬«»¿α«óá¡¿∩ »áαá¼ÑΓα«ó »α¿¡ΓÑαá ß «ñ¡«ú«  ñαá⌐óÑαá  ¡á
  3571.         ñαπú«⌐ ßñѽá⌐ΓÑ ß½ÑñπεΘÑÑ:
  3572.  
  3573.              1. æ¬«»¿απ⌐ΓÑ ßΓαπ¬Γπαπ DEVMODE »Ñαó«ú« ñαá⌐óÑαá,  ¬á¬ φΓ«
  3574.                 «»¿ßá¡« ó αáºñѽѠ17.4.2,  "Å«½πτÑ¡¿Ñ ¬«»¿¿  »áαá¼ÑΓα«ó
  3575.                 »α¿¡ΓÑαá".
  3576.  
  3577.              2. ôñ὿ΓÑ   á»»áαáΓ¡«-ºáó¿ß¿¼πε  ¿¡Σ«α¼áµ¿ε  ¿º  óδσ«ñ¡«⌐
  3578.                 ßΓαπ¬Γπαδ DEVMODE.  ä½∩ φΓ«ú« »α¿αáó¡∩⌐ΓÑ ¬  ¡π½ε  »«½∩
  3579.                 dmDriverVersion ¿ dmDriverExtra.
  3580.  
  3581.              3. çá¡Ñß¿ΓÑ ó »«½Ñ dmDeviceName ¿¼∩ óΓ«α«ú« πßΓα«⌐ßΓóá.
  3582.  
  3583.              4. é맮ó¿ΓÑ Σπ¡¬µ¿ε ExtDeviceMode óΓ«α«ú« »α¿¡ΓÑαá.
  3584.  
  3585.                 ô¬áºδóáѼδÑ óἿ  »áαá¼ÑΓαδ  ñ«½ª¡δ  ó¬½ετáΓ∞ ß½ÑñπεΘπε
  3586.                 ¿¡Σ«α¼áµ¿ε:
  3587.  
  3588.                 Åáαá¼ÑΓα          ç¡áτÑ¡¿Ñ
  3589.                 ───────────────────────────────────────────────────────
  3590.                 lpDevModeInput    ô¬áºáΓѽ∞ ¡á íπΣÑα, ß«ñÑαªáΘ¿⌐ »«½¡πε
  3591.                                   ¿½¿ τáßΓ¿τ¡πε ßΓαπ¬Γπαπ DEVMODE.
  3592.  
  3593.                 lpDevModeOutput   ô¬áºáΓѽ∞ ¡á óδσ«ñ¡«⌐ íπΣÑα.
  3594.  
  3595.                 wMode             DM_IN_BUF|DM_OUT_BUF
  3596.                 ───────────────────────────────────────────────────────
  3597.  
  3598.                 çáΓѼ, óΓ«α«⌐  ñαá⌐óÑα  »«¼ÑΘáÑΓ   ¬«ααÑ¬Γ¡πε,   »«½¡πε
  3599.                 ßΓαπ¬Γπαπ ó óδσ«ñ¡«⌐ íπΣÑα. éδσ«ñ¡á∩ ßΓαπ¬Γπαá «ΓαáªáÑΓ
  3600.                 á»»áαáΓ¡«-¡Ñºáó¿ß¿¼δÑ  »áαá¼ÑΓαδ,  ¬«Γ«αδÑ   »α¿¬½áñ¡á∩
  3601.                 »α«úαá¼¼á ß¬«»¿α«óá½á ¿º »Ñαó«ú« ñαá⌐óÑαá,  ¡« ß«ñÑনΓ
  3602.                 á»»áαáΓ¡«-ºáó¿ß¿¼πε ¿¡Σ«α¼áµ¿ε ñ½∩ óΓ«α«ú« ñαá⌐óÑαá.
  3603.  
  3604.  
  3605.        Windows 3.0/pg/3#3                                        = 70 =
  3606.  
  3607.                                                                                
  3608.              17.6  Å«ññÑ᪬á ß«íßΓóÑ¡¡δσ »áαá¼ÑΓα«ó »α¿¡ΓÑαá.
  3609.  
  3610.              Windows óÑαß¿¿ 3.0 »«ºó«½∩ÑΓ  óá¼  ¿ß»«½∞º«óáΓ∞  »áαá¼ÑΓαδ
  3611.         »α¿¡ΓÑαá, ß»Ñµ¿Σ¿τ¡δÑ  ñ½∩  óáΦÑ⌐ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ ¿½¿ ñáªÑ
  3612.         ñ½∩ «Γñѽ∞¡«ú« ñ«¬π¼Ñ¡Γá. ä½∩ φΓ«ú« ß«σαá¡¿ΓÑ ßΓαπ¬Γπαπ DEVMODE
  3613.         ß »áαá¼ÑΓαἿ,  ¬«Γ«αδÑ óδ íπñÑΓÑ ¿ß»«½∞º«óáΓ∞ »« π¼«½τá¡¿ε. éδ
  3614.         ¼«ªÑΓÑ ß«σαá¡¿Γ∞ ¿σ ¿½¿ ó Σá⌐½Ñ »áαá¼ÑΓα«ó »α¿¬½áñ¡«⌐ »α«úαá¼¼δ
  3615.         ¿½¿ ó  Σá⌐½Ñ  ß ñ«¬π¼Ñ¡Γ«¼ ó ¬áτÑßΓóÑ Ñú« τáßΓ¿ ñ½∩ »áαá¼ÑΓα«ó,
  3616.         ß»Ñµ¿Σ¿τ¡δσ ñ½∩ ñ«¬π¼Ñ¡Γá.
  3617.                         17.7  Éáí«Γá ß« ßΓáα묨 ñαá⌐óÑαἿ »α¿¡ΓÑα«ó.          
  3618.  
  3619.              äαá⌐óÑαδ »α¿¡ΓÑα«ó,  ¡á»¿ßá¡¡δÑ  ñ½∩   »αÑñδñπΘÑ⌐   óÑαß¿¿
  3620.         Windows »«ññÑনóáεΓ   Γ«½∞¬«   Σπ¡¬µ¿ε   DeviceMode,   ¬«Γ«αá∩
  3621.         «Γ«íαáªáÑΓ »á¡Ñ½∞  ñ¿á½«úá   ó   ¬«Γ«α«⌐   »«½∞º«óáΓѽ∞   ¼«ªÑΓ
  3622.         πßΓá¡«ó¿Γ∞ ¡Ñ«íσ«ñ¿¼δÑ »áαá¼ÑΓαδ, ΓᬿѠ¬á¬ «α¿Ñ¡Γᵿ∩ ¿ αẼÑα
  3623.         ßΓαá¡¿µδ. æñѽᡡδÑ ¿º¼Ñ¡Ñ¡¿∩  ó½¿∩εΓ  ¡á  óßε  ß¿ßΓѼπ,  á  ¡Ñ
  3624.         Γ«½∞¬« ¡á ñá¡¡πε »α¿¬½áñ¡πε »α«úαá¼¼π.
  3625.  
  3626.              èᬠ¿  «ßΓá½∞¡δÑ  Σπ¡¬µ¿¿ ñαá⌐óÑα«ó πßΓα«⌐ßΓó,  DeviceMode
  3627.         ∩ó½∩ÑΓß∩ Σπ¡¬µ¿Ñ⌐ ñαá⌐óÑαá,  á ¡Ñ GDI. (é맮ó Σπ¡¬µ¿⌐ ñαá⌐óÑα«ó
  3628.         πßΓα«⌐ßΓó «»¿ßá¡   ó   αáºñѽѠ  17.2,  "êß»«½∞º«óá¡¿Ñ  Σπ¡¬µ¿⌐
  3629.         ñαá⌐óÑα«ó πßΓα«⌐ßΓó".) Åα¿ ó맮óÑ Σπ¡¬µ¿¿ ñαá⌐óÑαá  DeviceMode,
  3630.         ñαá⌐óÑα «Γ«íαáªáÑΓ   »á¡Ñ½∞   ñ¿á½«úá   Printer   Setup.  çáΓѼ
  3631.         »«½∞º«óáΓѽ∞ ó ¡Ñ⌐ ¼«ªÑΓ ¿º¼Ñ¡¿Γ∞ »áαá¼ÑΓαδ »α¿¡ΓÑαá ¿ »«αΓá.
  3632.  
  3633.              ì¿ªÑ »«¬áºá¡«,   ¬á¬   ñ½∩   ó맮óá   Σπ¡¬µ¿¿   DeviceMode
  3634.         ¿ß»«½∞º«óáΓ∞ áñαÑß »α«µÑñπαδ lpfnDeviceMode:
  3635.  
  3636.              if(lpfnDeviceMode != NULL)  /* àß½¿ ñαá⌐óÑα »«ññÑনóáÑΓ
  3637.                                             φΓπ Σπ¡¬µ¿ε */
  3638.              {
  3639.                 (*lpfnDeviceMode)(
  3640.                     (HWND)hWnd,          /* äÑß¬α¿»Γ«α α«ñ¿Γѽ∞߬«ú«
  3641.                                             «¬¡á */
  3642.                     (HANDLE)hDriver,     /* äÑß¬α¿»Γ«α ¼«ñπ½∩ ñαá⌐óÑαá */
  3643.                     (LPSTR)"PSCRIPT",    /* ê¼∩ »α¿¡ΓÑαá */
  3644.                     (LPSTR)"LPT1:");     /* ê¼∩ »«αΓá */
  3645.              }
  3646.                                              17.8  çᬽετÑ¡¿Ñ.                 
  3647.  
  3648.              é ñá¡¡«⌐ ú½áóÑ «»¿ßá¡«, ¬á¬ ¿ß»«½∞º«óáΓ∞ Σπ¡¬µ¿¿ ñαá⌐óÑα«ó
  3649.         »α¿¡ΓÑα«ó  ñ½∩  ¼á¡¿»π½¿α«óá¡¿∩ »áαá¼ÑΓαἿ »α¿¡ΓÑαá.  Äß¡«ó¡á∩
  3650.         »α¿τ¿¡á ¿º¼Ñ¡Ñ¡¿∩ »áαá¼ÑΓα«ó »α¿¡ΓÑαᠺᬽετáÑΓß∩  ó  Γ«¼,  τΓ«
  3651.         »α¿¬½áñ¡á∩  »α«úαἼᠠ¼«ªÑΓ »«ß½áΓ∞ ßó«¿ ß«íßΓóÑ¡¡δÑ »áαá¼ÑΓαδ
  3652.         Σπ¡¬µ¿¿  CreateDC  »α¿  »«ñú«Γ«ó¬Ñ  ¬  »ÑτáΓ¿.  çáΓѼ   Windows
  3653.         πßΓá¡áó½¿óáÑΓ ¬«¡ΓѬßΓ     »α¿¡ΓÑαá,    ¿ß»«½∞ºπ∩    »áαá¼ÑΓαδ,
  3654.         »ÑαÑñáóáѼδÑ  »α¿¬½áñ¡«⌐  »α«úαá¼¼«⌐,  ó¼ÑßΓ«   »áαá¼ÑΓα«ó   »«
  3655.         π¼«½τá¡¿ε.   èα«¼Ñ  φΓ«ú«,  Σπ¡¬µ¿¿  ñαá⌐óÑαá  »«ºó«½∩εΓ  óáΦÑ⌐
  3656.         »α«úαἼѠ¿º¼Ñ¡¿Γ∞ »áαá¼ÑΓαδ »α¿¡ΓÑαá,  ¡Ñ «¬áºδóá∩ ó½¿∩¡¿∩  ¡á
  3657.         ñαπú¿Ñ »α¿¬½áñ¡δÑ »α«úαá¼¼δ, ¿ß»«½∞ºπεΘ¿Ñ Γ«Γ ªÑ ñαá⌐óÑα.
  3658.  
  3659.              ä«»«½¡¿Γѽ∞¡πε ¿¡Σ«α¼áµ¿ε,    «Γ¡«ß∩Θπεß∩   ¬   »áαá¼ÑΓαá¼
  3660.         »α¿¡ΓÑαá óδ ¡á⌐ñÑΓÑ:
  3661.  
  3662.        Windows 3.0/pg/3#3                                        = 71 =
  3663.  
  3664.  
  3665.         Éáºñѽ               Éπ¬«ó«ñßΓó«
  3666.         ───────────────────────────────────────────────────────────────
  3667.         ÅÑτáΓ∞ ¿º ßαÑñδ      Éπ¬«ó«ñßΓó« »α«úαá¼¼¿ßΓá: ú½áóá 12,
  3668.         Windows              "ÅÑτáΓ∞".
  3669.  
  3670.         öπ¡¬µ¿¿              æ»αáó«τ¡«Ñ απ¬«ó«ñßΓó«, Γ«¼ 1: â½áóá 2,
  3671.         ExtDeviceMode,       "öπ¡¬µ¿¿ ¿¡ΓÑαΣÑ⌐ßá úαáΣ¿τÑ߬¿σ πßΓα«⌐ßΓó",
  3672.         DeviceCapabilities,  ¿ ú½áóá 4, "滿߫¬ Σπ¡¬µ¿⌐".
  3673.         DeviceMode ¿
  3674.         CreateDC
  3675.  
  3676.         æΓαπ¬Γπαá DEVMODE    æ»αáó«τ¡«Ñ απ¬«ó«ñßΓó«, Γ«¼ 2: ú½áóá 7,
  3677.                              "Æ¿»δ ¿ ßΓαπ¬Γπαδ ñá¡¡δσ".
  3678.  
  3679.         Åα¿¼Ñα ¿¡¿µ¿á½¿ºáµ¿¿ Åਪ½áñ¡á∩ »α«úαá¼¼á MULTIPAD.EXE, ó¬½ε-
  3680.         »α¿¡ΓÑαá             τÑ¡¡á∩ ¡á ñ¿ß¬ "SDK Sample Source Disk".
  3681.  
  3682.         ìỿßá¡¿Ñ ñαá⌐óÑα«ó  Microsoft Windows Device Development
  3683.         »α¿¡ΓÑα«ó Windows    Kit.
  3684.  
  3685.  
  3686.  
  3687.        Windows 3.0/pg/3#3                                        = 72 =
  3688.  
  3689.                                                                                
  3690.                              â½áóá 18.  ÿα¿ΣΓδ.
  3691.        ----------------------------------------------------------------
  3692.              Windows »αÑñ½áúáÑΓ  Φ¿α«¬¿⌐ ß»Ñ¬Γα ó«º¼«ª¡«ßΓÑ⌐ ñ½∩ óδó«ñá
  3693.         ΓѬßΓá ¿, ó τáßΓ¡«ßΓ¿, óδí«α ¿ß»«½∞ºπѼ«ú« Φα¿ΣΓá.
  3694.  
  3695.              ÿα¿ΣΓ - φΓ« úαπ»»á ß¿¼ó«½«ó,  ¬«Γ«αá∩  ¿¼ÑÑΓ  «»αÑñѽѡ¡δÑ
  3696.         ß«τÑΓá¡¿Ñ óδß«Γδ,  Φ¿α¿¡δ, ¡áτÑαΓá¡¿∩, ¡áí«αá ß¿¼ó«½«ó ¿ ñαπú¿σ
  3697.         áΓα¿íπΓ«ó.   Åਪ½áñ¡á∩   »α«úαἼᠠ ¿ß»«½∞ºπÑΓ   Φα¿ΣΓδ   ñ½∩
  3698.         «Γ«íαáªÑ¡¿∩ ¡á  φ¬αá¡Ñ  ¿½¿  »ÑτáΓ¿  ΓѬßΓá αẽ¿τ¡«ú« ó¡ÑΦ¡Ñú«
  3699.         ó¿ñá ¿  αẼÑαá.  ìá»α¿¼Ñα,   »α«úαá¼¼δ   ΓѬßΓ«ó«⌐   «íαáí«Γ¬¿
  3700.         ¿ß»«½∞ºπεΓ Φα¿ΣΓδ,  τΓ«íδ «íÑß»Ñτ¿Γ∞ ¿¡ΓÑαΣÑ⌐ß Γ¿»á "τΓ« ó¿ñ¿Φ∞,
  3701.         Γ« ¿ »«½πτáÑΦ∞".
  3702.  
  3703.              é ñá¡¡«⌐ ú½áóÑ »α¿óÑñÑ¡á ß½ÑñπεΘá∩ ¿¡Σ«α¼áµ¿∩:
  3704.  
  3705.              - êß»«½∞º«óá¡¿Ñ Φα¿ΣΓ«ó ó »α¿¬½áñ¡«⌐ »α«úαá¼¼Ñ.
  3706.  
  3707.              - æ«ºñá¡¿Ñ αÑßπαßá Φα¿ΣΓ«ó,  ¬«Γ«α묨  ¼«ªÑΓ  »«½∞º«óáΓ∞ß∩
  3708.                óáΦá ¿ ñαπú¿Ñ »α¿¬½áñ¡δÑ »α«úαá¼¼δ.
  3709.  
  3710.              èα«¼Ñ φΓ«ú«,  ó  ñá¡¡«⌐  ú½áóÑ  «»¿ßá¡«  ß«ºñá¡¿Ñ  »α¿¼Ñαá
  3711.         »α«úαá¼¼δ ShowFont,  ¬«Γ«αá∩  ¿½½εßΓα¿απÑΓ  ¿ß»«½∞º«óá¡¿Ñ  φΓ¿σ
  3712.         ó«º¼«ª¡«ßΓÑ⌐.
  3713.                                                                                
  3714.                            18.1  çỿß∞ ΓѬßΓá.
  3715.  
  3716.              î«ª¡« óδóÑßΓ¿  ΓѬßΓ  ß  »«¼«Θ∞ε ºáñá¡¡«ú« Φα¿ΣΓá,  óδíαáó
  3717.         φëàΦα¿ΣΓ ¿ »α¿¼Ñ¡¿ó  Σπ¡¬µ¿ε  TextOut.  ¥Γá  Σπ¡¬µ¿∩  óδó«ñ¿Γ
  3718.         ß¿¼ó«½δ  ßΓ᫬¿,  ¿ß»«½∞ºπ∩ Φα¿ΣΓ,  óδíαá¡¡δ⌐ ó ñá¡¡δ⌐ ¼«¼Ñ¡Γ ó
  3719.         ¬«¡ΓѬßΓÑ πßΓα«⌐ßΓóá.  é »α¿óÑñÑ¡¡«¼ ¡¿ªÑ »α¿¼ÑαÑ »«¬áºá¡«, ¬á¬
  3720.         ºá»¿ßáΓ∞ ßΓ᫬π "Åα¿¼Ñα ßΓ᫬¿":
  3721.  
  3722.              hDC = GetDC(hWnd);
  3723.              TextOut(hDC, 10, 10, "Åα¿¼Ñα ßΓ᫬¿", 13);
  3724.              ReleaseDC(hWnd, hDC);
  3725.  
  3726.              é ñá¡¡«¼ »α¿¼ÑαÑ Σπ¡¬µ¿∩ TextOut ¡áτ¿¡áÑΓ ßΓ᫬π ß Γ«τ¬¿ ß
  3727.         ¬««αñ¿¡áΓἿ (10,10) ¿ »ÑτáΓáÑΓ óßÑ 13 ß¿¼ó«½«ó ßΓ᫬¿.
  3728.  
  3729.              ÿα¿ΣΓ »«  π¼«½τá¡¿ε  ñ½∩  ¬«¡ΓѬßΓá   πßΓα«⌐ßΓóá   -   φΓ«
  3730.         ß¿ßΓѼ¡δ⌐   Φα¿ΣΓ.   ¥Γ«   Φα¿ΣΓ   ß   Σ¿¬ß¿α«óá¡¡«⌐   Φ¿α¿¡«⌐,
  3731.         »αÑñßΓáó½∩εΘ¿⌐ ß¿¼ó«½δ ó ¡áí«αÑ ß¿¼ó«½«ó ANSI.  ìáºóá¡¿Ñ Φα¿ΣΓá
  3732.         -   "System".   Windows  ¿ß»«½∞ºπÑΓ  ß¿ßΓѼ¡δ⌐  Φα¿ΣΓ  ó  ¼Ñ¡ε,
  3733.         ºáú«½«ó¬á󠫬«¡ ¿ ó ñαπú«¼ ΓѬßΓÑ.
  3734.                          18.2  êß»«½∞º«óá¡¿Ñ µóÑΓá »α¿ ºá»¿ß¿ ΓѬßΓá.          
  3735.  
  3736.              è óδó«ñ¿¼«¼π ΓѬßΓπ ¼«ª¡« ñ«íáó¿Γ∞ µóÑΓ,  πßΓá¡«ó¿ó  µóÑΓá
  3737.         ΓѬßΓá ¿ Σ«¡á ¬«¡ΓѬßΓá πßΓα«⌐ßΓóá. ûóÑΓ ΓѬßΓá «»αÑñѽ∩ÑΓ µóÑΓ
  3738.         óδó«ñ¿¼δσ ß¿¼ó«½«ó;  µóÑΓ Σ«¡á «»αÑñѽ∩ÑΓ µóÑΓ ∩τÑ⌐¬¿  ß¿¼ó«½á,
  3739.         ºá ¿ß¬½ετÑ¡¿Ñ¼ ßἫú« ß¿¼ó«½á.  Åα¿ óδó«ñÑ ΓѬßΓá GDI »«½¡«ßΓ∞ε
  3740.         óδó«ñ¿Γ ∩τÑ⌐¬π  ß¿¼ó«½á  (»α∩¼«πú«½∞¡¿¬,  «¬á⌐¼½∩εΘ¿⌐  ß¿¼ó«½).
  3741.         ƒτÑ⌐¬á  ß¿¼ó«½á  «íδτ¡« ¿¼ÑÑΓ Γπ ªÑ Φ¿α¿¡π ¿ óδß«Γπ,  τΓ« ¿ ßá¼
  3742.  
  3743.        Windows 3.0/pg/3#3                                        = 73 =
  3744.  
  3745.         ß¿¼ó«½.
  3746.  
  3747.              î«ª¡« πßΓá¡«ó¿Γ∞ µóÑΓá ΓѬßΓá ¿  Σ«¡á  ß  »«¼«Θ∞ε  Σπ¡¬µ¿¿
  3748.         SetTextColor   ¿   SetBkColor.   é   »α¿óÑñÑ¡¡«¼  ¡¿ªÑ  »α¿¼ÑαÑ
  3749.         πßΓá¡áó½¿óáÑΓß∩ ¬αáß¡δ⌐ µóÑΓ ΓѬßΓá ¿ ºÑ½Ñ¡δ⌐ µóÑΓ Σ«¡á:
  3750.  
  3751.              SetTextColor(hDC, RGB(255, 0, 0));
  3752.              SetBkColor(hDC, RGB(0, 255, 0));
  3753.  
  3754.              è«úñá ¬«¡ΓѬßΓ πßΓα«⌐ßΓóá ß«ºñáÑΓß∩ ó»ÑαóδÑ, µóÑΓ ΓѬßΓá -
  3755.         τÑα¡δ⌐,  á µóÑΓ Σ«¡á - íѽδ⌐.  ¥Γ¿ µóÑΓá ¼«ª¡« ¿º¼Ñ¡¿Γ∞ ó ½εí«⌐
  3756.         ¼«¼Ñ¡Γ.
  3757.  
  3758.              Åα¿¼Ñτá¡¿Ñ: àß½¿  ¿ß»«½∞ºπÑΓß∩ «íΘ¿⌐ ¬«¡ΓѬßΓ «Γ«íαáªÑ¡¿∩,
  3759.         »«½πτÑ¡¡δ⌐ ß »«¼«Θ∞ε GetDC ¿½¿ BeginPaint,  µóÑΓá ΓÑα∩εΓß∩  »α¿
  3760.         ¬áªñ«¼   «ßó«í«ªñÑ¡¿¿   ¬«¡ΓѬßΓá,   Γᬠ  τΓ«   ¿σ  ¡Ñ«íσ«ñ¿¼«
  3761.         πßΓá¡áó½¿óáΓ∞ »α¿ ¬áªñ«¼ »«½πτÑ¡¿¿ ¬«¡ΓѬßΓá ¿º«íαáªÑ¡¿∩.
  3762.  
  3763.              ûóÑΓ Σ«¡á »α¿¼Ñ¡∩ÑΓß∩ Γ«½∞¬« ó  Γ«¼  ß½πτáÑ,  ¬«úñá  αѪ¿¼
  3764.         Σ«¡á - ¡Ñ»α«ºαáτ¡δ⌐.  ÉѪ¿¼ Σ«¡á «»αÑñѽ∩ÑΓ, ó½¿∩ÑΓ ½¿ ¬á¬-½¿í«
  3765.         µóÑΓ Σ«¡á ó ∩τÑ⌐¬Ñ ß¿¼ó«½á ¡á Γ«,  τΓ« πªÑ ¡áσ«ñ¿Γß∩ ¡á  φ¬αá¡Ñ
  3766.         ñ¿ß»½Ñ∩. àß½¿  αѪ¿¼  ¡Ñ»α«ºαáτ¡δ⌐,  µóÑΓ Σ«¡á ºáí¿óáÑΓ óßÑ πªÑ
  3767.         ¡áσ«ñ∩Θ¿Ñß∩ ¡á φ¬αá¡Ñ.  àß½¿ αѪ¿¼ - »α«ºαáτ¡δ⌐, Γ« ß«σαá¡∩ÑΓß∩
  3768.         óßÑ,  τΓ«  ¡áσ«ñ¿Γß∩  ¡á φ¬αá¡Ñ.  ÉѪ¿¼ Σ«¡á ¼«ª¡« πßΓá¡«ó¿Γ∞ ß
  3769.         »«¼«Θ∞ε Σπ¡¬µ¿¿  SetBkMode;  »«½πτ¿Γ∞  ΓѬπΘ¿⌐  αѪ¿¼  ¼«ª¡«  ß
  3770.         »«¼«Θ∞ε  Σπ¡¬µ¿¿  GetBkMode.  Ç¡á½«ú¿τ¡«,  ¼«ª¡«  »«½πτ¿Γ∞ µóÑΓ
  3771.         ΓѬπΘÑú« ΓѬßΓá  ¿  Σ«¡á,  ¿ß»«½∞ºπ∩  Σπ¡¬µ¿¿  GetTextColor   ¿
  3772.         GetBkColor.
  3773.                               18.3  êß»«½∞º«óá¡¿Ñ ºá¬áº¡δσ Φα¿ΣΓ«ó.            
  3774.  
  3775.              Å«½∞º«óáΓѽ∞ ¡Ñ «úαá¡¿τÑ¡ ¿ß»«½∞º«ó᡿Ѽ Γ«½∞¬« ß¿ßΓѼ¡«ú«
  3776.         Φα¿ΣΓá ó ßó«Ñ⌐ »α¿¬½áñ¡«⌐ »α«úαá¼¼Ñ. GDI »αÑñ½áúáÑΓ α∩ñ Φα¿ΣΓ«ó
  3777.         ¡á ºá¬áº.  ä½∩  ¿ß»«½∞º«óá¡¿∩  ó  »α«úαἼѠ Φα¿ΣΓ«ó  ¡á  ºá¬áº
  3778.         ¡Ñ«íσ«ñ¿¼« ß»Ñµ¿Σ¿µ¿α«óáΓ∞ Γ¿» Φα¿ΣΓá ó Σπ¡¬µ¿¿ GetStockObject.
  3779.         ¥Γá  Σπ¡¬µ¿∩  ß«ºñáÑΓ  Φα¿ΣΓ »« ºá»α«ßπ ¿ ó«ºóαáΘáÑΓ ñÑß¬α¿»Γ«α
  3780.         Φα¿ΣΓá,  ¬«Γ«αδ⌐ ¼«ª¡«  ¿ß»«½∞º«óáΓ∞  ñ½∩  óδí«αá  ó  ¬«¡ΓѬßΓÑ
  3781.         πßΓα«⌐ßΓóá. GDI ß«ñÑαª¿Γ ß½ÑñπεΘ¿Ñ Φα¿ΣΓδ:
  3782.  
  3783.         ÿα¿ΣΓ                     Ä»¿ßá¡¿Ñ
  3784.         ───────────────────────────────────────────────────────────────
  3785.         ANSI_FIXED_FONT           Ä»αÑñѽ∩ÑΓ Φα¿ΣΓ   ß    Σ¿¬ß¿α«óá¡¡δ¼
  3786.                                   Φáú«¼,    íếαπεΘ¿⌐ß∩    ¡á   ¡áí«αÑ
  3787.                                   ß¿¼ó«½«ó   ó   ¬«ñÑ   ANSI.    Äíδτ¡«
  3788.                                   ¿ß»«½∞ºπÑΓß∩  Φα¿ΣΓ Courier,  Ñß½¿ «¡
  3789.                                   ñ«ßΓπ»Ñ¡.
  3790.  
  3791.         ANSI_VAR_FONT             Ä»αÑñѽ∩ÑΓ Φα¿ΣΓ     ß     »ÑαѼѡ¡«⌐
  3792.                                   Φ¿α¿¡«⌐,   íếαπεΘ¿⌐ß∩   ¡á   ¡áí«αÑ
  3793.                                   ß¿¼ó«½«ó   ó   ¬«ñÑ   ANSI.    Äíδτ¡«
  3794.                                   ¿ß»«½∞ºπÑΓß∩ Φα¿ΣΓ Helvetica, Ñß½¿ «¡
  3795.                                   ñ«ßΓπ»Ñ¡.
  3796.  
  3797.  
  3798.        Windows 3.0/pg/3#3                                        = 74 =
  3799.  
  3800.         DEVICEDEFAULT_FONT        Ä»αÑñѽ∩ÑΓ Φα¿ΣΓ, ¡á¿í«½ÑÑ »«ñσ«ñ∩Θ¿⌐
  3801.                                   ñ½∩  ñá¡¡«ú«  πßΓα«⌐ßΓóá.  ¥Γ«Γ Φα¿ΣΓ
  3802.                                   ºáó¿ß¿Γ «Γ Γ«ú«, ¬á¬ αẼÑΓτ¿¬ Φα¿ΣΓá
  3803.                                   GDI  ¿¡ΓÑα»αÑΓ¿απÑΓ ºá»α«ßδ ¡á Φα¿ΣΓ,
  3804.                                   Γᬠ τΓ«  Φα¿ΣΓ   ¼«ªÑΓ   º¡áτ¿Γѽ∞¡«
  3805.                                   ¼Ñ¡∩Γ∞ß∩ «Γ πßΓα«⌐ßΓóá ¬ πßΓα«⌐ßΓóπ.
  3806.  
  3807.         OEM_FIXED_FONT            Ä»αÑñѽ∩ÑΓ Φα¿ΣΓ    ß   Σ¿¬ß¿α«óá¡¡δ¼
  3808.                                   Φáú«¼,   íếαπεΘ¿⌐ß∩    ¡á    ¡áí«αÑ
  3809.                                   ß¿¼ó«½«ó   ó  ¬«ñÑ  OEM.  ¥Γ«Γ  ¡áí«α
  3810.                                   ß¿¼ó«½«ó  ¼Ñ¡∩ÑΓß∩   «Γ   ß¿ßΓÑ¼δ   ¬
  3811.                                   ß¿ßΓѼÑ.  ä½∩  »Ñαß«¡á½∞¡δσ  ¥éî Γ¿»á
  3812.                                   IBM PC ¿ ß«ó¼ÑßΓ¿¼δσ ß ¡¿¼¿ Φα¿ΣΓ OEM
  3813.                                   íếαπÑΓß∩ ¡á ¡áí«αÑ ß¿¼ó«½«ó IBM PC.
  3814.  
  3815.         SYSTEM_FONT               Ä»αÑñѽ∩ÑΓ ß¿ßΓѼ¡δ⌐ Φα¿ΣΓ. ¥Γ« Φα¿ΣΓ
  3816.                                   ß  Σ¿¬ß¿α«óá¡¡δ¼ Φáú«¼,  íếαπεΘ¿⌐ß∩
  3817.                                   ¡á ¡áí«αÑ  ß¿¼ó«½«ó  ó  ¬«ñÑ  ANSI  ¿
  3818.                                   ¿ß»«½∞ºπѼδ⌐       ß¿ßΓѼ«⌐       ñ½∩
  3819.                                   ¿¡ñ¿µ¿α«óá¡¿∩ ºáú«½«ó¬«ó  «¬«¡,  ¿¼Ñ¡
  3820.                                   ¼Ñ¡ε  ¿  ΓѬßΓá  ó  »á¡Ñ½∩σ  ñ¿á½«úá.
  3821.                                   æ¿ßΓѼ¡δ⌐  Φα¿ΣΓ   óßÑúñá   ñ«ßΓπ»Ñ¡.
  3822.                                   äαπú¿Ñ  Φα¿ΣΓδ  ñ«ßΓπ»¡δ Γ«½∞¬« ó Γ«¼
  3823.                                   ß½πτáÑ, Ñß½¿ «¡¿ ¿¡ßΓá½½¿α«óá¡δ.
  3824.         ───────────────────────────────────────────────────────────────
  3825.  
  3826.              ä½∩ Γ«ú«,  τΓ«íδ ¿ß»«½∞º«óáΓ∞ Φα¿ΣΓ ¡á ºá¬áº, ß«ºñá⌐ΓÑ Ñú«
  3827.         ß »«¼«Θ∞ε Σπ¡¬µ¿¿ GetStockObject ¿  ºáΓѼ  óδíÑα¿ΓÑ  ñÑß¬α¿»Γ«α
  3828.         Φα¿ΣΓá ó ¬«¡ΓѬßΓÑ πßΓα«⌐ßΓóá,  ¿ß»«½∞ºπ∩ Σπ¡¬µ¿ε SelectObject.
  3829.         éßÑ  »«ß½ÑñπεΘ¿Ñ  ó맮óδ  Σπ¡¬µ¿¿  TextOut  íπñπΓ  ¿ß»«½∞º«óáΓ∞
  3830.         óδíαá¡¡δ⌐  Φα¿ΣΓ.  é  »α¿óÑñÑ¡¡«¼  ¡¿ªÑ  »α¿¼ÑαÑ »«¬áºá¡«,  ¬á¬
  3831.         ¿ß»«½∞º«óáΓ∞ Φα¿ΣΓ ANSI ß »ÑαѼѡ¡«⌐ Φ¿α¿¡«⌐:
  3832.  
  3833.              HFONT hFont;
  3834.              HFONT hOldFont;
  3835.                  .
  3836.                  .
  3837.                  .
  3838.              hFont = GetStockObject(ANSI_VAR_FONT);
  3839.              if (hOldFont = SelectObject(hDC, hFont)) {
  3840.                  TextOut(hDC, 10, 10, "Åα¿¼Ñα ßΓ᫬¿", 13);
  3841.                  SelectObject(hDC, hOldFont);
  3842.              }
  3843.  
  3844.              ìÑ«íσ«ñ¿¼« óδíαáΓ∞  Φα¿ΣΓ (¬á¬ ¿ ñαπú¿Ñ «íΩѬΓδ GDI) »ÑαÑñ
  3845.         ΓѼ,  ¬á¬  ¿ß»«½∞º«óáΓ∞  Ñú«  ó   «»Ñαᵿ∩σ   óδó«ñá.   öπ¡¬µ¿∩
  3846.         SelectObject   óδí¿αáÑΓ   ß«ºñá¡¡δ⌐   »«½∞º«óáΓѽѼ   Φα¿ΣΓ   ¿
  3847.         ó«ºóαáΘáÑΓ Ñú« ñÑß¬α¿»Γ«α.  æ¿ßΓѼ¡δ⌐  Φα¿ΣΓ  ¡á  ºá¬áº  óßÑúñá
  3848.         ñ«ßΓπ»Ñ¡,  ñáªÑ Ñß½¿ ¡ÑΓ ñαπú¿σ Φα¿ΣΓ«ó ¡á ºá¬áº. é φΓ«¼ ß½πτáÑ
  3849.         Σπ¡¬µ¿∩ GetStockObject ó«ºóαáΘáÑΓ ñÑß¬α¿»Γ«α ß¿ßΓѼ¡«ú« Φα¿ΣΓá.
  3850.  
  3851.  
  3852.        Windows 3.0/pg/3#3                                        = 75 =
  3853.  
  3854.                                 18.4  æ«ºñá¡¿Ñ ½«ú¿τÑ߬«ú« Φα¿ΣΓá.             
  3855.  
  3856.              ï«ú¿τÑ߬¿⌐ Φα¿ΣΓ - φΓ« »ÑαÑτÑ¡∞  áΓα¿íπΓ«ó  Φα¿ΣΓá  Γᬿσ,
  3857.         ¬á¬  óδß«Γá,  Φ¿α¿¡á,  ¡áí«α  ß¿¼ó«½«ó  ¿  ¡áτÑαΓá¡¿Ñ,  ¬«Γ«αδÑ
  3858.         ¿ß»«½∞ºπÑΓ GDI »α¿ óδí«αÑ Φα¿ΣΓá ñ½∩ óδó«ñá ΓѬßΓá.  ï«ú¿τÑ߬¿⌐
  3859.         Φα¿ΣΓ  ¼«ª¡« ß«ºñáΓ∞ ß »«¼«Θ∞ε Σπ¡¬µ¿¿ CreateFont.  ¥Γá Σπ¡¬µ¿∩
  3860.         ó«ºóαáΘáÑΓ ñÑß¬α¿»Γ«α ½«ú¿τÑ߬«ú«  Φα¿ΣΓá.  î«ª¡«  ¿ß»«½∞º«óáΓ∞
  3861.         φëà ñÑß¬α¿»Γ«α ó Σπ¡¬µ¿¿ SelectObject ñ½∩ óδí«αá φΓ«ú« Φα¿ΣΓá
  3862.         ó ¬«¡ΓѬßΓÑ  πßΓα«⌐ßΓóá.  Åα¿  óδí«αÑ  ½«ú¿τÑ߬«ú«  Φα¿ΣΓá  GDI
  3863.         »«ñí¿αáÑΓ Σ¿º¿τÑ߬¿⌐   Φα¿ΣΓ,   «»¿αá∩ß∞  ¡á  óáΦ  ºá»α«ß.  GDI
  3864.         »δΓáÑΓß∩ »«ñ«íαáΓ∞ Σ¿º¿τÑ߬¿⌐  Φα¿ΣΓ,  ¬«Γ«αδ⌐  ¡á¿í«½ÑÑ  Γ«τ¡«
  3865.         ß««ΓóÑΓßΓóπÑΓ   ºáñá¡¡«¼π   ½«ú¿τÑ߬«¼π  Φα¿ΣΓπ,  ¡«  Ñß½¿  φΓ«
  3866.         ¡Ñ󫺼«ª¡«, Γ« íÑαÑΓ ¡á¿í«½ÑÑ ß««ΓóÑΓßΓóπεΘ¿⌐ Ñ¼π.
  3867.  
  3868.              é »α¿óÑñÑ¡¡«¼  ¡¿ªÑ  »α¿¼ÑαÑ  Σπ¡¬µ¿∩  CreateFont  ß«ºñáÑΓ
  3869.         ½«ú¿τÑ߬¿⌐ Φα¿ΣΓ.
  3870.  
  3871.              hFont = CreateFont(
  3872.                  10,                          /* lfHeight         */
  3873.                  8,                           /* lfWidth          */
  3874.                  0,                           /* lfEscapement     */
  3875.                  0,                           /* lfOrientation    */
  3876.                  FN_NORMAL,                   /* lfWeight         */
  3877.                  FALSE,                       /* lfItalic         */
  3878.                  FALSE,                       /* lfUnderline      */
  3879.                  FALSE,                       /* lfStrikeOut      */
  3880.                  ANSI_CHARSET,                /* lfCharSet        */
  3881.                  OUT_DEFAULT_PRECIS,          /* lfOutPrecision   */
  3882.                  CLIP_DEFAULT_PRECIS,         /* lfClipPrecision  */
  3883.                  DEFAULT_QUALITY,             /* lfQuality        */
  3884.                  FIXED_PITCH | FF_MODERN,     /* lfPitchAndFamily */
  3885.                  "System"                     /* lfFaceName       */
  3886.                  );
  3887.  
  3888.              äá¡¡δ⌐ ½«ú¿τÑ߬¿⌐ Φα¿ΣΓ ºá»αáΦ¿óáÑΓ Φα¿ΣΓ ß  Σ¿¬ß¿α«óá¡¡δ¼
  3889.         Φáú«¼, ó  ¬«Γ«α«¼  ¬áªñδ⌐  ß¿¼ó«½  ¿¼ÑÑΓ  óδß«Γπ  10 »¿¬ßѽÑ⌐ ¿
  3890.         Φ¿α¿¡π 8 »¿¬ßѽÑ⌐.  ÉẼÑαδ Φα¿ΣΓá óßÑúñá ºáñáεΓß∩ ó  »¿¬ßѽ∩σ.
  3891.         çá»αáΦ¿óáѼδÑ  πú«½  ¡á¬½«¡á  ßΓ᫬¿ ¿ ß¿¼ó«½á αáó¡δ ¡π½ε;  φΓ«
  3892.         «º¡áτáÑΓ, τΓ« íẫóá∩ ½¿¡¿∩, óñ«½∞ ¬«Γ«α«⌐ ¿¡ñ¿µ¿απεΓß∩ ß¿¼ó«½δ
  3893.         - ú«α¿º«¡Γá½∞¡á ¿ ¡¿ «ñ¿¡ ß¿¼ó«½ ¡Ñ íπñÑΓ »«óÑα¡πΓ. FW_NORMAL -
  3894.         φΓ« ºá»αáΦ¿óáѼá∩ ∩ᬫßΓ∞.  äαπú¿¼¿  º¡áτÑ¡¿∩¼¿  ∩ᬫßΓ¿  ¼«úπΓ
  3895.         íδΓ∞  FW_BOLD (ª¿α¡δ⌐ Φα¿ΣΓ) ¿ FW_LIGHT (∩ન⌐ Φα¿ΣΓ).  èπαß¿ó,
  3896.         »«ñτÑનóá¡¿Ñ   ¿   »ÑαÑτÑનóá¡¿Ñ   ß¿¼ó«½«ó   ¡Ñ   ΓαÑíπεΓß∩.
  3897.         çá»αáΦ¿óáѼδ⌐ ¡áí«α ß¿¼ó«½«ó - ANSI, ßΓá¡ñáαΓ¡δ⌐ ¡áí«α ß¿¼ó«½«ó
  3898.         Windows.  çá»αáΦ¿óáεΓß∩  Γ«τ¡«ßΓ∞   óδó«ñá   Φα¿ΣΓá,   Γ«τ¡«ßΓ∞
  3899.         óδαѺ᡿∩ ¿ ¬áτÑßΓó« »« π¼«½τá¡¿ε. ¥Γ¿ áΓα¿íπΓδ ó«ºñÑ⌐ßΓóπεΓ ¡á
  3900.         ß»«ß«í  «Γ«íαáªÑ¡¿∩  ß¿¼ó«½«ó.  ôßΓá¡«ó¬á  φΓ¿σ   áΓα¿íπΓ«ó   ó
  3901.         º¡áτÑ¡¿∩   »«   π¼«½τá¡¿ε   »«ºó«½∩ÑΓ   πßΓα«⌐ßΓóπ  «Γ«íαáªÑ¡¿∩
  3902.         ¿ß»«½∞º«óáΓ∞   óßÑ   »αÑ¿¼πΘÑßΓóá,    »αÑñ«ßΓáó½∩ѼδÑ    ßó«¿¼¿
  3903.         ß«íßΓóÑ¡¡δ¼¿    ó«º¼«ª¡«ßΓ∩¼¿    »«   ¿¡ñ¿µ¿α«óá¡¿ε   ß¿¼ó«½«ó.
  3904.         çá»αáΦ¿óáѼ«Ñ  ßѼÑ⌐ßΓó«  Φα¿ΣΓ«ó  -  FF_MODERN.   ìῼѡ«óá¡¿Ñ
  3905.         Φα¿ΣΓá - "System".
  3906.  
  3907.              è«úñá Σπ¡¬µ¿∩ SelectObject »«½πτáÑΓ ½«ú¿τÑ߬¿⌐ Φα¿ΣΓ,  «¡á
  3908.         »α«óÑα∩ÑΓ »π½ ¿¼ÑεΘ¿σß∩ ó ¡á½¿τ¿¿ Φα¿ΣΓ«ó,  τΓ«íδ ¡á⌐Γ¿  Φα¿ΣΓ,
  3909.  
  3910.        Windows 3.0/pg/3#3                                        = 76 =
  3911.  
  3912.         πñ«ó½ÑΓó«α∩εΘ¿⌐  ºá»α«ΦÑ¡¡δ¼ áΓα¿íπΓá¼.  àß½¿ Σπ¡¬µ¿∩ ¡áσ«ñ¿Γ ó
  3913.         Γ«τ¡«ßΓ¿ Γ«,  τΓ« ¡Ñ«íσ«ñ¿¼«,  «¡á ó«ºóαáΘáÑΓ ñÑß¬α¿»Γ«α  φΓ«ú«
  3914.         Φα¿ΣΓá.  àß½¿ «¡á ¡Ñ ¡áσ«ñ¿Γ Γ«τ¡«ú« ß««ΓóÑΓßΓó¿∩,  Γ« óδí¿αáÑΓ
  3915.         ¡á¿í«½ÑÑ ß««ΓóÑΓßΓóπεΘ¿⌐ Φα¿ΣΓ ¿ ó«ºóαáΘáÑΓ Ñú«  ñÑß¬α¿»Γ«α.  é
  3916.         ¡Ñ¬«Γ«αδσ  ß½πτá∩σ  Σπ¡¬µ¿∩  SelectObject ¼«ªÑΓ ¡Ñ ¡á⌐Γ¿ Γ«τ¡πε
  3917.         ¬«»¿ε ¿ß¬«¼«ú«  ½«ú¿τÑ߬«ú«  Φα¿ΣΓá,  ¡«  ΓѼ  ¡Ñ  ¼Ñ¡ÑÑ  ¼«ªÑΓ
  3918.         ß¿¡ΓѺ¿α«óáΓ∞    ºá»αáΦ¿óáѼδ⌐    Φα¿ΣΓ,   ¿ß»«½∞ºπ∩   ¡á¿í«½ÑÑ
  3919.         ß««ΓóÑΓßΓóπεΘ¿⌐ Φα¿ΣΓ ¿º ßπΘÑßΓóπεΘ¿σ.  ìá»α¿¼Ñα, Ñß½¿ ñ«ßΓπ»Ñ¡
  3920.         Γ«½∞¬«   ß¿ßΓѼ¡δ⌐  Φα¿ΣΓ,  ¿¼ÑεΘ¿⌐  ó  óδß«Γπ  5  »¿¬ßѽÑ⌐,  á
  3921.         ½«ú¿τÑ߬¿⌐  Φα¿ΣΓ  óδíαá¡  óδß«Γ«⌐  ó  10   »¿¬ßѽÑ⌐,   Σπ¡¬µ¿∩
  3922.         SelectObject  ¼«ªÑΓ  ß¿¡ΓѺ¿α«óáΓ∞ ºá»αáΦ¿óáѼδ⌐ Φα¿ΣΓ,  πñó«¿ó
  3923.         óδß«Γπ.  é Γᬿσ ß½πτá∩σ Σπ¡¬µ¿∩  SelectObject  ó«ºóαáΘáÑΓ  ñ½∩
  3924.         óδó«ñá ΓѬßΓá ß¿¡ΓѺ¿α«óá¡¡δ⌐ Φα¿ΣΓ.
  3925.                   18.5  êß»«½∞º«óá¡¿Ñ ¡Ñ߬«½∞¬¿σ Φα¿ΣΓ«ó ó «ñ¡«⌐ ßΓ᫬Ñ.       
  3926.  
  3927.              àß½¿ αáºαáíáΓδóáÑΓß∩    »α«úαá¼¼á,    ¬«Γ«αá∩   ¿ß»«½∞ºπÑΓ
  3928.         ¡Ñ߬«½∞¬« Φα¿ΣΓ«ó (¡á»α¿¼Ñα,  ΓѬßΓ«óδ⌐  »α«µÑßß«α),  óÑα«∩Γ¡«,
  3929.         »«ΓαÑíπÑΓß∩  ¿ß»«½∞º«óáΓ∞ í«½ÑÑ «ñ¡«ú« Φα¿ΣΓá ñ½∩ «ñ¡«⌐ ßΓ᫬¿.
  3930.         é φΓ«¼ ß½πτáÑ ¡Ñ«íσ«ñ¿¼«  óδó«ñ¿Γ∞  ΓѬßΓ,  ¿ß»«½∞ºπ∩  «Γñѽ∞¡«
  3931.         ¬áªñδ⌐ Φα¿ΣΓ. öπ¡¬µ¿∩ TextOut ¿º¼Ñ¡∩Γ∞ Φα¿ΣΓ ¡Ñ ¼«ªÑΓ.
  3932.  
  3933.              â½áó¡á∩ Γαπñ¡«ßΓ∞  ó ¿ß»«½∞º«óá¡¿¿ í«½ÑÑ «ñ¡«ú« Φα¿ΣΓá ñ½∩
  3934.         «ñ¡«⌐ ßΓ᫬¿ ΓѬßΓá ß«ßΓ«¿Γ ó Γ«¼,  τΓ« ¡Ñ«íσ«ñ¿¼« ß«σαá¡∩Γ∞ Γ«
  3935.         ¬«½¿τÑßΓó«   ß¿¼ó«½«ó,  ¬«Γ«α«Ñ  óδó«ñ¿Γß∩  »α¿  ¬áªñ«¼  ó맮óÑ
  3936.         Σπ¡¬µ¿¿ TextOut,  τΓ«íδ ¿¼ÑΓ∞ ß««ΓóÑΓßΓóπεΘπε ¡áτá½∞¡πε »«º¿µ¿ε
  3937.         ß½ÑñπεΘÑ⌐  τáßΓ¿  ßΓ᫬¿.  àß½¿ ¿ß»«½∞ºπÑΓß∩ Φα¿ΣΓ ß »ÑαѼѡ¡«⌐
  3938.         Φ¿α¿¡«⌐,  Γ« ¼«úπΓ ó«º¡¿¬¡πΓ∞ Γαπñ¡«ßΓ¿  »α¿  ß«σαá¡Ñ¡¿¿  ñ½¿¡δ
  3939.         óδó«ñ¿¼«⌐   ßΓ᫬¿.   Äñ¡á¬«,   Windows  »αÑñ«ßΓáó½∩ÑΓ  Σπ¡¬µ¿ε
  3940.         GetTextExtent, ¬«Γ«αá∩   óδτ¿ß½∩ÑΓ   ñ½¿¡π   ºáñá¡¡«⌐   ßΓ᫬¿,
  3941.         ¿ß»«½∞ºπ∩ º¡áτÑ¡¿∩ Φ¿α¿¡δ ß¿¼ó«½«ó ΓѬπΘÑú« Φα¿ΣΓá.
  3942.  
  3943.              Äñ¿¡ ¿º   ß»«ß«í«ó  Σ«α¼¿α«óá¡¿∩  ßΓ᫬¿  ΓѬßΓá,  ¬«Γ«αá∩
  3944.         ß«ñÑαª¿Γ ¡Ñ߬«½∞¬« Φα¿ΣΓ«ó,  ß«ßΓ«¿Γ  ó  ¿ß»«½∞º«óá¡¿¿  Σπ¡¬µ¿¿
  3945.         GetTextExtent »«ß½Ñ ¬áªñ«ú« ó맮óá TextOut ¿ ó ñ«íáó½Ñ¡¿¿ ñ½¿¡δ
  3946.         óδóÑñÑ¡¡«⌐ τáßΓ¿ ßΓ᫬¿ ¬ ΓѬπΘÑ⌐ »«º¿µ¿¿.  é »α¿óÑñÑ¡¡«¼  ¡¿ªÑ
  3947.         »α¿¼ÑαÑ   »«¬áºá¡«,   ¬á¬   ºá»¿ßáΓ∞  ßΓ᫬π  "Åα¿¼Ñα  ßΓ᫬¿",
  3948.         ¿ß»«½∞ºπ∩  ¬παß¿ó  ñ½∩  ß½«óá  "Åα¿¼Ñα"  ¿  ª¿α¡δ⌐  Φα¿ΣΓ   ñ½∩
  3949.         «ßΓá½∞¡δσ ß¿¼ó«½«ó:
  3950.  
  3951.              X = 10;
  3952.              SelectObject(hDC, hItalicFont);
  3953.              TextOut(hDC, X, 10, "Åα¿¼Ñα ", 7));
  3954.  
  3955.              X = X + LOWORD(GetTextExtent(hDC, "Åα¿¼Ñα ", 7));
  3956.              SelectObject(hDC, hBoldFont);
  3957.              TextOut(hDC, 10, "ßΓ᫬¿", 6);
  3958.  
  3959.              é φΓ«¼  »α¿¼ÑαÑ  Σπ¡¬µ¿∩ SelectObject πßΓá¡áó½¿óáÑΓ Φα¿ΣΓ,
  3960.         ¬«Γ«αδ⌐ íπñÑΓ ¿ß»«½∞º«óáΓ∞ß∩  ó  »«ß½ÑñπεΘÑ⌐  Σπ¡¬µ¿¿  TextOut.
  3961.         ÅαÑñ»«½áúáÑΓß∩,  τΓ« ñÑß¬α¿»Γ«αδ Φα¿ΣΓá hBoldFont ¿ hItalicFont
  3962.         í뫨 ß«ºñá¡δ αá¡ÑÑ ß »«¼«Θ∞ε Σπ¡¬µ¿¿ CreateFont. èáªñá∩ Σπ¡¬µ¿∩
  3963.         TextOut  ºá»¿ßδóáÑΓ  τáßΓ∞ ßΓ᫬¿,  ºáΓѼ Σπ¡¬µ¿∩ GetTextExtent
  3964.  
  3965.        Windows 3.0/pg/3#3                                        = 77 =
  3966.  
  3967.         óδτ¿ß½∩ÑΓ ñ½¿¡π φΓ«⌐ τáßΓ¿.  öπ¡¬µ¿∩  GetTextExtent  ó«ºóαáΘáÑΓ
  3968.         º¡áτÑ¡¿Ñ ó ó¿ñÑ ñó«⌐¡«ú« ß½«óá, ß«ñÑαªáΘÑú« ñ½¿¡π ¿ óδß«Γπ. ä½∩
  3969.         »«½πτÑ¡¿∩  ñ½¿¡δ  ¡Ñ«íσ«ñ¿¼«  ¿ß»«½∞º«óáΓ∞  ß½πªÑí¡πε   Σπ¡¬µ¿ε
  3970.         LOWORD.  ¥Γá  ñ½¿¡á  ñ«íáó½∩ÑΓß∩  ¬ ΓѬπΘÑ⌐ »«º¿µ¿¿,  «»αÑñѽ∩∩
  3971.         ¡áτá½∞¡πε »«º¿µ¿ε ß½ÑñπεΘÑ⌐ τáßΓ¿ ßΓ᫬¿.
  3972.  
  3973.              äαπú«⌐ ß»«ß«í Σ«α¼¿α«á¡¿∩ ßΓ᫬¿ ß ¡Ñ߬«½∞¬¿¼¿ Φα¿ΣΓἿ  -
  3974.         ß«ºñá¡¿Ñ  Σπ¡¬µ¿¿,  ¬«Γ«αá∩  «íΩÑñ¿¡∩ÑΓ óßÑ ΓαÑíπѼδÑ ñÑ⌐ßΓó¿∩.
  3975.         ì¿ªÑ »α¿óÑñÑ¡á Γá¬á∩ Σπ¡¬µ¿∩:
  3976.  
  3977.              WORD StringOut(hDC, X, Y, lpString, hFont)
  3978.              HDC hDC;
  3979.              short X;
  3980.              short Y;
  3981.              LPSTR lpString;
  3982.              HANDLE hFont;
  3983.              {
  3984.                  HANDLE hPrevFont;
  3985.                  hPrevFont = SelectObject(hDC, hFont);
  3986.                  TextOut(hDC, X, Y, lpString, lstrlen(lpString));
  3987.                  SelectObject(hDC, hPrevFont);
  3988.                  return (LOWORD(GetTextExtent(hDC, lpString,
  3989.                                         lstrlen(lpString)));
  3990.              }
  3991.  
  3992.              ¥Γá Σπ¡¬µ¿∩  ºá»¿ßδóáÑΓ  ßΓ᫬π  ó ºáñá¡¡«¼ Φα¿ΣΓÑ,  ºáΓѼ
  3993.         ó«ßßΓá¡áó½¿óáÑΓ Φα¿ΣΓ ó Ñú« »αÑñδñπΘÑÑ ß«ßΓ«∩¡¿Ñ  ¿  ó«ºóαáΘáÑΓ
  3994.         ñ½¿¡π  ºá»¿ßá¡¡«⌐ ßΓ᫬¿.  é »α¿óÑñÑ¡¡«¼ ¡¿ªÑ »α¿¼ÑαÑ »«¬áºá¡«,
  3995.         ¬á¬ ºá»¿ßáΓ∞ ßΓ᫬π "Åα¿¼Ñα ßΓ᫬¿":
  3996.  
  3997.              X = 10;
  3998.              X = X + StringOut(hDC, X, 10, "Åα¿¼Ñα ", hItalicFont);
  3999.              StringOut(hDC, X, 10, "ßΓ᫬¿", hBoldFont);
  4000.                        18.6  Å«½πτÑ¡¿Ñ ¿¡Σ«α¼áµ¿¿ « óδíαá¡¡«¼ Φα¿ΣΓÑ.          
  4001.  
  4002.              î«ª¡« »«½πτ¿Γ∞ ¿¡Σ«α¼áµ¿ε « óδíαá¡¡«¼ Φα¿ΣΓÑ ¿º  ¬«¡ΓѬßΓá
  4003.         πßΓα«⌐ßΓóá, ¿ß»«½∞ºπ∩ Σπ¡¬µ¿¿ GetTextMetrics ¿ GetTextFace.
  4004.  
  4005.              öπ¡¬µ¿∩ GetTextMetrics  ¬«»¿απÑΓ  ßΓαπ¬Γπαπ  TEXTMETRIC  ó
  4006.         »αÑñ«ßΓáó½∩Ѽδ⌐   »«½∞º«óáΓѽѼ   íπΣÑα.   æΓαπ¬Γπαá   ß«ñÑনΓ
  4007.         «»¿ßá¡¿Ñ Φα¿ΣΓá, ó¬½ετá∩ ßαÑñ¡¿Ñ αẼÑαδ ∩τÑѬ ß¿¼ó«½«ó Φα¿ΣΓá,
  4008.         τ¿ß½« ß¿¼ó«½«ó ó Φα¿ΣΓÑ ¿ ¡áí«α ß¿¼ó«½«ó, ¡á ¬«Γ«α«¼ íếαπÑΓß∩
  4009.         Φα¿ΣΓ. î«ª¡« ¿ß»«½∞º«óáΓ∞ σáαá¬ΓÑα¿ßΓ¿¬¿ ΓѬßΓá ñ½∩ «»αÑñѽѡ¿∩
  4010.         αáßßΓ«∩¡¿∩ ¼Ñªñπ  ßΓα«¬á¼¿  ΓѬßΓá,  º¡áτÑ¡¿⌐,  ß««ΓóÑΓßΓóπεΘ¿σ
  4011.         «»αÑñѽѡ¡δ¼   ß¿¼ó«½á¼   ¿½¿   ¡áτÑαΓá¡¿Ñ  ß¿¼ó«½á  Φα¿ΣΓá  »«
  4012.         π¼«½τá¡¿ε.
  4013.  
  4014.              òáαá¬ΓÑα¿ßΓ¿¬¿ ΓѬßΓá   τáΘÑ   óßÑú«   ¿ß»«½∞ºπεΓß∩    ñ½∩
  4015.         «»αÑñѽѡ¿∩  ¡Ñ«íσ«ñ¿¼«ú«  αáßßΓ«∩¡¿∩  ¼Ñªñπ  ßΓα«¬á¼¿  ΓѬßΓá,
  4016.         τΓ«íδ «ñ¡á ßΓα«¬á  ¡Ñ  ¡á»«½ºá½á  ¡á  ñαπúπε.  ìá»α¿¼Ñα,  τΓ«íδ
  4017.         óδτ¿ß½¿Γ∞   ß««ΓóÑΓßΓóπεΘÑÑ  º¡áτÑ¡¿Ñ  ñ½∩  αáßßΓ«∩¡¿∩  ó  «ñ¡π
  4018.         ßΓ᫬π,  ¡Ñ«íσ«ñ¿¼«   ß½«ª¿Γ∞   º¡áτÑ¡¿∩   »«½Ñ⌐   tmHeight   ¿
  4019.  
  4020.        Windows 3.0/pg/3#3                                        = 78 =
  4021.  
  4022.         tmExternalLeading    ßΓαπ¬Γπαδ    TEXTMETRIC.   Å«½Ñ   tmHeight
  4023.         ß»Ñµ¿Σ¿µ¿απÑΓ   óδß«Γπ   ¬áªñ«⌐   ∩τÑ⌐¬¿   ß¿¼ó«½á,   á    »«½Ñ
  4024.         tmExternalLeading   -  αѬ«¼Ñ¡ñπѼ«Ñ  αáßßΓ«∩¡¿Ñ  ¼Ñªñπ  ¡¿ª¡Ñ⌐
  4025.         τáßΓ∞ε «ñ¡«⌐ ∩τÑ⌐¬¿  ß¿¼ó«½á  ¿  óÑασ¡Ñ⌐  τáßΓ∞ε  ß½ÑñπεΘÑ⌐.  é
  4026.         »α¿óÑñÑ¡¡«¼ ¡¿ªÑ »α¿¼ÑαÑ »«¬áºá¡«,  ¬á¬ óδóÑßΓ¿ ¡Ñ߬«½∞¬« ßΓ᫬
  4027.         ß αáßßΓ«∩¡¿Ñ¼ ¼Ñªñπ ¡¿¼¿ ó «ñ¡π ßΓ᫬π:
  4028.  
  4029.              TEXTMETRICS TextMetric;
  4030.              int nLineSpace;
  4031.              int i;
  4032.                 .
  4033.                 .
  4034.                 .
  4035.              GetTextMetrics(hDC, &TextMetric);
  4036.              nLineSpace = TextMetric.tmHeight +
  4037.                           TextMetric.tmExternalLeading;
  4038.              Y = 0;
  4039.              for (i = 0; i < 4; i++) {
  4040.                  TextOut(hDC, 0, Y, "ê¡ΓÑαóá½ ó «ñ¡π ßΓ᫬π", 22);
  4041.                  Y += nLineSpace;
  4042.              }
  4043.  
  4044.              î«ª¡« ΓᬪѠ  ¿ß»«½∞º«óáΓ∞   σáαá¬ΓÑα¿ßΓ¿¬¿   ΓѬßΓá   ñ½∩
  4045.         »α«óÑન,  τΓ« óδíαá¡¡δ⌐ Φα¿ΣΓ  ¿¼ÑÑΓ  ºá»αáΦ¿óáѼδÑ  »áαá¼ÑΓαδ
  4046.         ΓᬿÑ,  ¬á¬  ∩ᬫßΓ∞,  ¡áí«α  ß¿¼ó«½«ó,  Φáú  ¿ ßѼÑ⌐ßΓó«.  ¥Γ«
  4047.         »«½Ñº¡« ó Γ«¼ ß½πτáÑ,  Ñß½¿ ¡Ñ »«ñú«Γ«ó½Ñ¡ ¬«¡ΓѬßΓ πßΓα«⌐ßΓóá;
  4048.         ¡á»α¿¼Ñα,  Ñß½¿  «¡  »«½πτÑ¡ ¬á¬ τáßΓ∞ ß««íΘÑ¡¿∩ ñ«τÑα¡Ñú« «¬¡á
  4049.         ¿½¿  í½«¬á  π»αáó½Ñ¡¿∩.  ü«½ÑÑ  »«ñα«í¡á∩  ¿¡Σ«α¼áµ¿∩  «  »«½∩σ
  4050.         ßΓαπ¬Γπαδ TEXTMETRICS   ñá¡á   ó«   óΓ«α«¼   Γ«¼Ñ   æ»αáó«τ¡«ú«
  4051.         απ¬«ó«ñßΓóá.
  4052.  
  4053.              öπ¡¬µ¿∩ GetTextFace ¬«»¿απÑΓ ¿¼∩, ¿ñÑ¡Γ¿Σ¿µ¿απεΘÑÑ ó¡ÑΦ¡¿⌐
  4054.         ó¿ñ  óδíαá¡¡«ú« Φα¿ΣΓá,  ó »αÑñ«ßΓáó½Ñ¡¡δ⌐ íπΣÑα.  ìῼѡ«óá¡¿Ñ
  4055.         Φα¿ΣΓá ó¼ÑßΓÑ ß  σáαá¬ΓÑα¿ßΓ¿¬á¼¿  ΓѬßΓá  »«ºó«½∩εΓ  »«½¡«ßΓ∞ε
  4056.         «»αÑñѽ¿Γ∞  Φα¿ΣΓ.  é  »α¿óÑñÑ¡¡«¼  ¡¿ªÑ  »α¿¼ÑαÑ  ¡á¿¼Ñ¡«óá¡¿Ñ
  4057.         ΓѬπΘÑú« Φα¿ΣΓá ¬«»¿απÑΓß∩ ó ß¿¼ó«½∞¡δ⌐ ¼áßß¿ó FaceName:
  4058.  
  4059.              char FaceName[32];
  4060.                .
  4061.                .
  4062.                .
  4063.              GetTextFace(hDC, 32, FaceName);
  4064.                        18.7  Å«½πτÑ¡¿Ñ ¿¡Σ«α¼áµ¿¿ « ½«ú¿τÑ߬«¼ Φα¿ΣΓÑ.         
  4065.  
  4066.              î«ª¡« »«½πτ¿Γ∞ ¿¡Σ«α¼áµ¿ε « Φα¿ΣΓÑ ¿º ñÑß¬α¿»Γ«αá  Φα¿ΣΓá,
  4067.         ¿ß»«½∞ºπ∩ Σπ¡¬µ¿ε GetObject.  ¥Γá Σπ¡¬µ¿∩ ¬«»¿απÑΓ ¿¡Σ«α¼áµ¿ε «
  4068.         ½«ú¿τÑ߬«¼ Φα¿ΣΓÑ Γá¬πε,  ¬á¬ óδß«Γá,  Φ¿α¿¡á,  ∩ᬫßΓ∞ ¿ ¡áí«α
  4069.         ß¿¼ó«½«ó,  ó »αÑñ«ßΓáó½∩Ѽπε ßΓαπ¬Γπαπ.  î«ª¡« ¿ß»«½∞º«óáΓ∞ φΓπ
  4070.         ¿¡Σ«α¼áµ¿ε ñ½∩  Γ«ú«,  τΓ«íδ  αÑΦ¿Γ∞,  ¡á߬«½∞¬«  ñá¡¡δ⌐  Φα¿ΣΓ
  4071.         «ΓóÑτáÑΓ   ΓαÑí«óá¡¿∩¼   »«½∞º«óáΓѽ∩.   öπ¡¬µ¿¿   GetObject  ¿
  4072.         CreateFont τáßΓ«  ¿ß»«½∞ºπεΓß∩  »«ß½Ñ  ß«ºñá¡¿∩  ñ½∩  »α«óÑન,
  4073.         ¡á߬«½∞¬« í½¿º«¬ ñá¡¡δ⌐ Φα¿ΣΓ ¬ ΓαÑíπѼ«¼π.  é »α¿óÑñÑ¡¡«¼ ¡¿ªÑ
  4074.  
  4075.        Windows 3.0/pg/3#3                                        = 79 =
  4076.  
  4077.         »α¿¼ÑαÑ  Σπ¡¬µ¿∩  GetObject  ó«ºóαáΘáÑΓ  ¿¡Σ«α¼áµ¿ε   «   ó¡«ó∞
  4078.         ß«ºñá¡¡«¼  Φα¿ΣΓÑ  ¿  ßαáó¡¿óáÑΓ  º¡áτÑ¡¿∩  ¡áí«αá  ß¿¼ó«½«ó  ¿
  4079.         ¡á¿¼Ñ¡«óá¡¿∩ Φα¿ΣΓ«ó:
  4080.  
  4081.              HFONT hFont;
  4082.              LOGFONT LogFont;
  4083.                  .
  4084.                  .
  4085.                  .
  4086.              hFont = CreateFont(
  4087.                  10,
  4088.                  10,
  4089.                  0,
  4090.                  0,
  4091.                  FW_NORMAL,
  4092.                  FALSE,
  4093.                  FALSE,
  4094.                  FALSE,
  4095.                  OEM_CHARSET,
  4096.                  OUT_DEFAULT_PRECIS,
  4097.                  CLIP_DEFAULT_PRECIS,
  4098.                  DEFAULT_QUALITY,
  4099.                  FIXED_PITCH | FF_MODERN,
  4100.                  "Courier"
  4101.                  );
  4102.  
  4103.                  GetObject(hFont, (LPLOGFONT) &LogFont);
  4104.  
  4105.                  if (LogFont.lfCharSet != OEM_CHARSET) {
  4106.                      .
  4107.                      .
  4108.                      .
  4109.                  }
  4110.                  if(strcmp(LogFont.lfFaceName, "Courier")) {
  4111.                      .
  4112.                      .
  4113.                      .
  4114.                  }
  4115.  
  4116.              ÿα¿ΣΓ, ¬«Γ«αδ⌐   ¿ß»«½∞ºπÑΓ  GDI  »α¿  Σá¬Γ¿τÑ߬«¼  óδí«αÑ
  4117.         Φα¿ΣΓá ß »«¼«Θ∞ε Σπ¡¬µ¿¿ SelectObject, ¼«ªÑΓ ß¿½∞¡« ¼Ñ¡∩Γ∞ß∩ «Γ
  4118.         ß¿ßΓÑ¼δ   ¬   ß¿ßΓѼÑ.  éδíαá¡¡δ⌐  Φα¿ΣΓ,  ¬«Γ«αδ⌐  ºáó¿ß¿Γ  «Γ
  4119.         ñ«ßΓπ»¡δσ ¡á ñá¡¡δ⌐ ¼«¼Ñ¡Γ Φα¿ΣΓ«ó,  ¼«ªÑΓ ß««ΓóÑΓßΓó«óáΓ∞  ¿½¿
  4120.         ¡Ñ  ß««ΓóÑΓßΓó«óáΓ∞ ºá»α«ßá¼ »«½∞º«óáΓѽ∩.  àñ¿¡ßΓóÑ¡¡δ⌐ ß»«ß«í
  4121.         úáαá¡Γ¿α«óáΓ∞ πñ«ó½ÑΓó«αÑ¡¿Ñ ºá»α«ßá - φΓ«:
  4122.  
  4123.              - Ä»αÑñѽ¿Γ∞, ¬á¬¿Ñ Φα¿ΣΓδ Σá¬Γ¿τÑ߬¿ ñ«ßΓπ»¡δ ¿ ºá»αá-
  4124.                Φ¿óáΓ∞ Γ«½∞¬« ¿σ.
  4125.  
  4126.              - ä«íáó¿Γ∞ ß««ΓóÑΓßΓóπεΘ¿⌐ αÑßπαß Φα¿ΣΓá ¬ Γáí½¿µÑ ß¿ß-
  4127.                ΓѼ¡δσ Φα¿ΣΓ«ó »ÑαÑñ ΓѼ, ¬á¬ ñѽáΓ∞ ºá»α«ß.
  4128.  
  4129.              - êº¼Ñ¡¿Γ∞ ¼ÑΓ«ñ, ¬«Γ«αδ⌐ ¿ß»«½∞ºπÑΓ ñ½∩ óδí«αá αẼÑΓ-
  4130.                τ¿¬ Φα¿ΣΓá.
  4131.  
  4132.        Windows 3.0/pg/3#3                                        = 80 =
  4133.  
  4134.                                       18.8  ÅÑαÑτ¿ß½Ñ¡¿Ñ Φα¿ΣΓ«ó.              
  4135.  
  4136.              î«ª¡« «»αÑñѽ¿Γ∞,   ¬á¬«⌐   Φα¿ΣΓ   ñ«ßΓπ»Ñ¡  ñ½∩  ñá¡¡«ú«
  4137.         πßΓα«⌐ßΓóá, ¿ß»«½∞ºπ∩ Σπ¡¬µ¿ε EnumFonts.  ¥Γá Σπ¡¬µ¿∩  »«ßδ½áÑΓ
  4138.         ¿¡Σ«α¼áµ¿ε  «í  ¿¼ÑεΘ¿σß∩ Φα¿ΣΓáσ Σπ¡¬µ¿¿ ¼¡«ú«¬αáΓ¡«ú« ó맮óá,
  4139.         »αÑñ«ßΓáó½∩Ѽ«⌐  »«½∞º«óáΓѽѼ.  öπ¡¬µ¿∩  ¼¡«ú«¬αáΓ¡«ú«  ó맮óá
  4140.         »«½πτáÑΓ  ¿¡Σ«α¼áµ¿ε  «  ½«ú¿τÑ߬«¼  Φα¿ΣΓÑ  ¿  σáαá¬ΓÑα¿ßΓ¿¬áσ
  4141.         ΓѬßΓá. êº φΓ«⌐ ¿¡Σ«α¼áµ¿¿ »«½∞º«óáΓѽ∞ ¼«ªÑΓ «»αÑñѽ¿Γ∞, ¬á¬¿Ñ
  4142.         Φα¿ΣΓδ «¡ ¼«ªÑΓ ¿ß»«½∞º«óáΓ∞, ¿ ß«ºñáΓ∞ ñ½∩ ¡¿σ ß««ΓóÑΓßΓóπεΘ¿Ñ
  4143.         ñÑß¬α¿»Γ«αδ.  àß½¿ ß«ºñáóáΓ∞ ñÑß¬α¿»Γ«αδ Φα¿ΣΓ«ó ß »«¼«Θ∞ε φΓ«⌐
  4144.         »αÑñ«ßΓáó½∩Ѽ«⌐   ¿¡Σ«α¼áµ¿¿,   Γ«   ¿¼ÑÑΓß∩  úáαá¡Γ¿∩  Γ«τ¡«ú«
  4145.         ß««ΓóÑΓßΓó¿∩ »«½πτáѼ«ú« Φα¿ΣΓá ß ªÑ½áѼδ¼.
  4146.  
  4147.              öπ¡¬µ¿∩ EnumFonts  «íδτ¡«  óδñáÑΓ  ¿¡Σ«α¼áµ¿ε   «í«   óßÑσ
  4148.         Φα¿ΣΓáσ,  ¿¼ÑεΘ¿σ  «»αÑñѽѡ¡«Ñ ¡á¿¼Ñ¡«óá¡¿Ñ.  î«ª¡« ºáñáΓ∞ φΓ«
  4149.         ¿¼∩ »α¿ ó맮óÑ Σπ¡¬µ¿¿ EnumFonts.  àß½¿ ¿¼∩ ¡Ñ ºáñá¡«,  Γ«  φΓá
  4150.         Σπ¡¬µ¿∩  óδñáÑΓ  ¿¡Σ«α¼áµ¿ε  «  »α«¿ºó«½∞¡«  óδíαá¡¡δσ Φα¿ΣΓáσ,
  4151.         ¬áªñδ⌐  ¿º  ¬«Γ«αδσ  »αÑñßΓáó½∩ÑΓ  ñ«ßΓπ»¡«Ñ  ó  ñá¡¡δ⌐  ¼«¼Ñ¡Γ
  4152.         ¡áτÑαΓá¡¿Ñ.  æ»«ß«í  »α«óÑન  óßÑσ ñ«ßΓπ»¡δσ Φα¿ΣΓ«ó ß«ßΓ«¿Γ ó
  4153.         »«½πτÑ¡¿¿  ß»¿ß¬á  ñ«ßΓπ»¡δσ  ¡áτÑαΓá¡¿⌐  ¿  »ÑαÑτ¿ß½Ñ¡¿¿   ñ½∩
  4154.         ¬áªñ«ú« Φα¿ΣΓá ß««ΓóÑΓßΓóπεΘ¿σ ¡áτÑαΓá¡¿⌐.
  4155.  
  4156.              é »α¿óÑñÑ¡¡«¼  ¡¿ªÑ  »α¿¼ÑαÑ  »«¬áºá¡«,  ¬á¬  ¿ß»«½∞º«óáΓ∞
  4157.         Σπ¡¬µ¿ε EnumFonts ñ½∩ Γ«ú«,  τΓ«íδ «»αÑñѽ¿Γ∞, ¬á¬«Ñ ¬«½¿τÑßΓó«
  4158.         Φα¿ΣΓ«ó,   ¿¼ÑεΘ¿σ   ¡áτÑαΓá¡¿Ñ  "Courier",  ñ«ßΓπ»¡«.  öπ¡¬µ¿∩
  4159.         ¼¡«ú«¬αáΓ¡«ú« ó맮óá EnumFunc »«½πτáÑΓ ¿¡Σ«α¼áµ¿ε  «  Φα¿ΣΓÑ  ¿
  4160.         ñ½∩ ¬áªñ«ú« Φα¿ΣΓá ß«ºñáÑΓ ñÑß¬α¿»Γ«α.
  4161.  
  4162.              FARPROC lpEnumFunc;
  4163.                   .
  4164.                   .
  4165.                   .
  4166.              int FAR PASCAL EnumFunc()
  4167.              {
  4168.              }
  4169.              hDC = GetDC(hWnd);
  4170.              lpEnumFunc = MakeProcInstance(EnumFunc, hInst);
  4171.              EnumFonts(hDC, "Courier", lpEnumFunc, NULL);
  4172.              FreeProcInstance(lpEnumFunc);
  4173.  
  4174.              ä½∩ ¿ß»«½∞º«óá¡¿∩   Σπ¡¬µ¿¿  EnumFonts  ¡Ñ«íσ«ñ¿¼«  ºáñáΓ∞
  4175.         Σπ¡¬µ¿ε   ¼¡«ú«¬αáΓ¡«ú«   ó맮óá.   èᬠ  ¿   ¬áªñá∩    Σπ¡¬µ¿∩
  4176.         ¼¡«ú«¬αáΓ¡«ú«  ó맮óá  EnumFunc  ñ«½ª¡á íδΓ∞ ∩ó¡« »«¿¼Ñ¡«óá¡á ó
  4177.         «»ÑαáΓ«αÑ  EXPORTS  Σá⌐½á  «»αÑñѽѡ¿∩  ¼«ñπ½∩  ¿  «íΩ∩ó½Ñ¡á  ß
  4178.         áΓα¿íπΓἿ  FAR  ¿  PASCAL.  ä½∩  ¬áªñ«ú« »ÑαÑτ¿ß½∩Ѽ«ú« Φα¿ΣΓá
  4179.         Σπ¡¬µ¿∩ ¼¡«ú«¬αáΓ¡«ú« ó맮óá EnumFunc ó«ºóαáΘáÑΓ  π¬áºáΓѽ∞  ¡á
  4180.         ßΓαπ¬Γπαπ    ½«ú¿τÑ߬«ú«   Φα¿ΣΓá,   π¬áºáΓѽ∞   ¡á   ßΓαπ¬Γπαπ
  4181.         σáαá¬ΓÑα¿ßΓ¿¬ ΓѬßΓá,  π¬áºáΓѽ∞ ¡á ½εíδÑ ñá¡¡δÑ, ¬«Γ«αδÑ ¼«úπΓ
  4182.         íδΓ∞ »ÑαÑñá¡δ   Σπ¡¬µ¿¿   EnumFonts   »α¿   ó맮óÑ,   ¿  µÑ½«Ñ,
  4183.         «»αÑñѽ∩εΘÑÑ Γ¿» Φα¿ΣΓá.  é »α¿óÑñÑ¡¡«¼ ¡¿ªÑ  »α¿¼ÑαÑ  »«¬áºá¡á
  4184.         »α«ßΓá∩ Σπ¡¬µ¿∩ ¼¡«ú«¬αáΓ¡«ú« ó맮óá,  ¬«Γ«αá∩ ß«ºñáÑΓ »ÑαÑτÑ¡∞
  4185.  
  4186.        Windows 3.0/pg/3#3                                        = 81 =
  4187.  
  4188.         óßÑσ αẼÑα«ó (ó ΓÑନ¡áσ  óδß«Γ)  ºáñá¡¡«ú«  ¡áí«αá  αáßΓα«óδσ
  4189.         Φα¿ΣΓ«ó:
  4190.  
  4191.              short SizeList[10];
  4192.              short SizeCnt = 0;
  4193.                   .
  4194.                   .
  4195.                   .
  4196.              int FAR PASCAL EnumFunc(lpLogFont, lpTextMetric,
  4197.                                 FontType, lpData)
  4198.              LPLOGFONT lpLogFont;
  4199.              LPTEXTMETRIC lpTextMetric;
  4200.              short FontType;
  4201.              LPSTR lpData;
  4202.              {
  4203.                  if (FontType & RASTER_FONTTYPE) {
  4204.                      SizeList[SizeCnt++] = lpLogFont->lfHeight;
  4205.                      if (SizeCnt >= 10)
  4206.                          return (0);
  4207.                  }
  4208.                  return (1);
  4209.              }
  4210.  
  4211.              é ñá¡¡«¼  »α¿¼ÑαÑ ó¡áτá½Ñ »α«óÑα∩ÑΓß∩,  τΓ« Φα¿ΣΓ ∩ó½∩ÑΓß∩
  4212.         αáßΓα«óδ¼.  àß½¿ í¿Γ RASTER_FONTTYPE αáóÑ¡ 1, Γ« Φα¿ΣΓ ∩ó½∩ÑΓß∩
  4213.         αáßΓα«óδ¼;  ó »α«Γ¿ó¡«¼ ß½πτáÑ - φΓ« óÑ¬Γ«α¡δ⌐ Φα¿ΣΓ. æ½ÑñπεΘ¿⌐
  4214.         Φáú - φΓ« ß«σαá¡Ñ¡¿Ñ º¡áτÑ¡¿∩ »«½∩ lfHeight ó ¼áßß¿óÑ SizeList.
  4215.         öπ¡¬µ¿∩  ¼¡«ú«¬αáΓ¡«ú«  ó맮óá ß«σαá¡∩ÑΓ »ÑαóδÑ 10 αẼÑα«ó,  á
  4216.         ºáΓѼ ó«ºóαáΘáÑΓ ¡π½∞ ñ½∩ »αѬαáΘÑ¡¿∩ »ÑαÑ¡π¼Ñαᵿ¿.
  4217.  
  4218.              î«ª¡« ΓᬪѠ ¿ß»«½∞º«óáΓ∞  í¿Γ  DEVICE_FONTTYPE  »áαá¼ÑΓαá
  4219.         FontType   ñ½∩  αẽ¿τÑ¡¿∩  Φα¿ΣΓ«ó,  »αÑñ«ßΓáó½∩Ѽδσ  GDI,  «Γ
  4220.         Φα¿ΣΓ«ó,   »αÑñ«ßΓáó½∩Ѽδσ   πßΓα«⌐ßΓó«¼.   ¥Γ«   »«½Ñº¡«   ñ½∩
  4221.         ¼«ñѽ¿α«óá¡¿∩  GDI  ¬παß¿óá,  ª¿α¡«ú«  Φα¿ΣΓá,  »«ñτÑનóá¡¿∩ ¿
  4222.         ºáτÑનóá¡¿∩.  GDI  ¼«ªÑΓ   ¼«ñѽ¿α«óáΓ∞   φΓ¿   áΓα¿íπΓδ   ñ½∩
  4223.         ß«íßΓóÑ¡¡δσ   Φα¿ΣΓ«ó,   á   ¡Ñ  ñ½∩  Φα¿ΣΓ«ó,  »αÑñ«ßΓáó½∩Ѽδσ
  4224.         πßΓα«⌐ßΓó«¼.
  4225.                      18.9  Åα«óÑα¬á ΓѬßΓ«óδσ ó«º¼«ª¡«ßΓÑ⌐ πßΓα«⌐ßΓóá.         
  4226.  
  4227.              î«ª¡« «»αÑñѽ¿Γ∞  αáßΦ¿αÑ¡¿Ñ  ó«º¼«ª¡«ßΓÑ⌐  πßΓα«⌐ßΓó   »«
  4228.         óδó«ñπ   ΓѬßΓá,   ¿ß»«½∞ºπ∩  Σπ¡¬µ¿ε  GetDeviceCaps  ¿  ¿¡ñѬß
  4229.         TEXTCAPS.  ¥Γ«Γ ¿¡ñѬߠ»«íπªñáÑΓ Σπ¡¬µ¿ε ó«ºóαáΓ¿Γ∞ Σ½áú  í¿Γá,
  4230.         ¿ñÑ¡Γ¿Σ¿µ¿απεΘ¿⌐  ΓѬßΓ«óδÑ  ó«º¼«ª¡«ßΓ¿ πßΓα«⌐ßΓóá.  ìá»α¿¼Ñα,
  4231.         φëàӽáú ¼«ªÑΓ ¿ß»«½∞º«óáΓ∞ß∩ ñ½∩ «»αÑñѽѡ¿∩, ¼«ªÑΓ ½¿ ñá¡¡«Ñ
  4232.         πßΓα«⌐ßΓó« ¿ß»«½∞º«óáΓ∞ óÑ¬Γ«α¡δÑ Φα¿ΣΓδ,  »«ó«αáτ¿óáΓ∞ ß¿¼ó«½δ
  4233.         ¿½¿  ¼«ñѽ¿α«óáΓ∞  áΓα¿íπΓδ   Φα¿ΣΓá   ΓᬿÑ,   ¡á»α¿¼Ñα,   ¬á¬
  4234.         »«ñτÑનóá¡¿Ñ ¿ ¬παß¿ó. GDI ¼«ªÑΓ ¼«ñѽ¿α«óáΓ∞ óÑ¬Γ«α¡δÑ Φα¿ΣΓδ
  4235.         ¡á πßΓα«⌐ßΓóáσ, ¬«Γ«αδÑ ¡Ñ »«ññÑনóáεΓ ¡á»α∩¼πε óδó«ñ ½¿¡¿⌐.
  4236.  
  4237.               ü«½∞Φ¿¡ßΓó« ΓѬßΓ«óδσ ó«º¼«ª¡«ßΓÑ⌐ »α¿¼Ñ¡¿¼«  ¬  Φα¿ΣΓá¼,
  4238.         ¬«Γ«αδÑ »αÑñ«ßΓáó½∩εΓß∩  πßΓα«⌐ßΓó«¼,  ó  «Γ½¿τ¿Ñ  «Γ  Φα¿ΣΓ«ó,
  4239.         »αÑñ«ßΓáó½∩Ѽδσ   GDI.   Äíδτ¡«   GDI   ¼«ªÑΓ    ¼áßΦΓáí¿α«óáΓ∞
  4240.  
  4241.        Windows 3.0/pg/3#3                                        = 82 =
  4242.  
  4243.         »αÑñ«ßΓáó½∩ѼδÑ  ¿¼ Φα¿ΣΓδ ¿ ¼«ñѽ¿α«óáΓ∞ ¿σ áΓα¿íπΓδ;  «ñ¡á¬«,
  4244.         «¡ ¡Ñ ¼«ªÑΓ ñѽáΓ∞ φΓ«ú« ñ½∩ Φα¿ΣΓ«ó, ºáñáóáѼδσ πßΓα«⌐ßΓó«¼. æ
  4245.         »«¼«Θ∞ε   Σπ¡¬µ¿¿   GetDeviceCaps   ¿  ¿¡ñѬßá  NUMFONTS  ¼«ª¡«
  4246.         «»αÑñѽ¿Γ∞,  ß¬«½∞¬« ¿¼ÑÑΓß∩ Φα¿ΣΓ«ó πßΓα«⌐ßΓóá.  ê¡Σ«α¼áµ¿ε  «
  4247.         Φα¿ΣΓáσ πßΓα«⌐ßΓóá ¼«ª¡« »«½πτ¿Γ∞,  ¿ß»«½∞ºπ∩ Σπ¡¬µ¿ε EnumFonts
  4248.         ¿ »α«óÑα∩∩ í¿Γ DEVICE_FONTTYPE ó »áαá¼ÑΓαÑ FontType ¬áªñδ⌐ αáº,
  4249.         ¬«úñá óδºδóáÑΓß∩ Σπ¡¬µ¿∩ ¼¡«ú«¬αáΓ¡«ú« ó맮óá EnumFonts.
  4250.  
  4251.              é »α¿óÑñÑ¡¡«¼   ¡¿ªÑ   »α¿¼ÑαÑ   »«¬áºá¡«,  ¬á¬  ß«ßΓáó¿Γ∞
  4252.         »ÑαÑτÑ¡∞   Φα¿ΣΓ«ó,   »αÑñ«ßΓáó½∩Ѽδσ   πßΓα«⌐ßΓóἿ.   öπ¡¬µ¿∩
  4253.         GetDeviceCaps   ó«ºóαáΘáÑΓ   τ¿ß½«   Φα¿ΣΓ«ó,   »αÑñ«ßΓáó½∩Ѽδσ
  4254.         πßΓα«⌐ßΓó«¼,  á EnumFonts ß«ºñáÑΓ ñÑß¬α¿»Γ«αδ  ñ½∩  ¬áªñ«ú«  ¿º
  4255.         ¡¿σ.
  4256.  
  4257.              HDC hDC;
  4258.              HANDLE hDevFonts;
  4259.              FARPROC lpEnumFunc;
  4260.              short NumFonts;
  4261.                    .
  4262.                    .
  4263.                    .
  4264.              int FAR PASCAL EnumFunc(lpLogFont, lpTextMetric,
  4265.                                 FontType, Data)
  4266.              LPLOGFONT lpLogFont;
  4267.              LPTEXTMETRIC lpTextMetric;
  4268.              short FontType;
  4269.              LONG Data;
  4270.              {
  4271.                  PSTR pDevFonts;
  4272.                  short index;
  4273.                  int code = 1;
  4274.  
  4275.                  if (FontType & DEVICE_FONTTYPE) {
  4276.                      pDevFonts = LocalLock(LOWORD(Data));
  4277.                      if (pDevFonts != NULL) {
  4278.                          index = ++pDevFonts[0];
  4279.                          if (index < HIWORD(Data))
  4280.                              pDevFonts[index] =
  4281.                                     CreateFontIndirect(lpLogFont);
  4282.                          else
  4283.                              code = 0;
  4284.                      }
  4285.                      LocalUnlock(LOWORD(Data));
  4286.                  }
  4287.                  return (code);
  4288.              }
  4289.                   .
  4290.                   .
  4291.                   .
  4292.              hDC = GetDC(hWnd);
  4293.              NumFonts = GetDeviceCaps(hDC, NUMFONTS);
  4294.              hDevFonts = LocalAlloc(LMEM_FIXED | LMEM_ZEROINIT,
  4295.                  sizeof(HANDLE) * (NumFonts + 1));
  4296.  
  4297.        Windows 3.0/pg/3#3                                        = 83 =
  4298.  
  4299.              lpEnumFunc = MakeProcInstance(EnumFunc, hInst);
  4300.              EnumFonts(hDC, NULL, lpEnumFunc, MAKELONG(hDevFonts,
  4301.                  NumFonts));
  4302.              FreeProcInstance(lpEnumFunc);
  4303.                                  18.10  ä«íáó½Ñ¡¿Ñ αÑßπαßá Φα¿ΣΓá.             
  4304.  
  4305.              GDI σαá¡¿Γ   ß¿ßΓѼ¡πε  Γáí½¿µπ  Φα¿ΣΓ«ó,  ß«ñÑαªáΘπε  óßÑ
  4306.         Φα¿ΣΓδ,  ¬«Γ«αδÑ ¼«úπΓ ¿ß»«½∞º«óáΓ∞ »α¿¬½áñ¡δÑ  »α«úαá¼¼δ.  GDI
  4307.         óδí¿αáÑΓ Φα¿ΣΓ ¿º Γáí½¿µδ,  ¬«úñá »α«úαἼᠺá»αáΦ¿óáÑΓ Φα¿ΣΓ ß
  4308.         »«¼«Θ∞ε Σπ¡¬µ¿¿ CreateFont.
  4309.  
  4310.              ÉÑßπαß Φα¿ΣΓá   -   φΓ«    úαπ»»á    «Γñѽ∞¡δσ    Φα¿ΣΓ«ó,
  4311.         »αÑñßΓáó½∩εΘ¿σ  ß¿¼ó«½δ ¿º ºáñá¡¡«ú« ¡áí«αá,  ¿¼ÑεΘ¿σ αẽ¿τ¡δÑ
  4312.         ß«τÑΓá¡¿∩ óδß«Γδ,  Φ¿α¿¡δ ¿ Φáúá.  ìá»α¿¼Ñα,  ß¿ßΓѼ¡δ⌐  αÑßπαß
  4313.         Φα¿ΣΓá  -  φΓ«  ß«ó«¬π»¡«ßΓ∞  Φα¿ΣΓ«ó,  »αÑñßΓáó½∩εΘ¿σ  ß¿¼ó«½δ
  4314.         αẽ¿τ¡δσ αẼÑα«ó ¿º ¡áí«αá ß¿¼ó«½«ó ANSI.  Ç¡á½«ú¿τ¡«, αÑßπαß
  4315.         Φα¿ΣΓá  OEM - φΓ« ß«ó«¬π»¡«ßΓ∞ Φα¿ΣΓ«ó,  »αÑñßΓáó½∩εΘ¿σ ß¿¼ó«½δ
  4316.         αẽ¿τ¡δσ αẼÑα«ó ¿º ¡áí«αá ß¿¼ó«½«ó OEM.
  4317.  
  4318.              Åਪ½áñ¡á∩ »α«úαἼᠠ¼«ªÑΓ  ¿¼ÑΓ∞  ñ«  253  φ½Ñ¼Ñ¡Γ«ó   ó
  4319.         ß¿ßΓѼ¡«⌐ Γáí½¿µÑ Φα¿ΣΓ«ó.
  4320.  
  4321.              Åਪ½áñ¡δÑ »α«úαá¼¼δ   ¼«úπΓ  ºáúαπªáΓ∞  αÑßπαß  Φα¿ΣΓá  ¿
  4322.         ñ«íáó½∩Γ∞ Ñú« ¬ ß¿ßΓѼ¡«⌐ Γáí½¿µÑ αÑßπαß«ó,  ¿ß»«½∞ºπ∩  Σπ¡¬µ¿ε
  4323.         AddFontResource.  Å«ß½Ñ  ñ«íáó½Ñ¡¿∩  αÑßπαßá  Φα¿ΣΓá  «Γñѽ∞¡δÑ
  4324.         Φα¿ΣΓδ αÑßπαßá ßΓá¡«ó∩Γß∩  ñ«ßΓπ»¡δ¼¿  ñ½∩  »α«úαá¼¼δ.  äαπú¿¼¿
  4325.         ß½«óἿ,   Σπ¡¬µ¿∩   CreateFont   »α«ß¼áΓα¿óáÑΓ  Φα¿ΣΓδ,  ¬«úñá
  4326.         »δΓáÑΓß∩ ¡á⌐Γ¿ ß««ΓóÑΓßΓóπεΘ¿⌐ Σ¿º¿τÑ߬¿⌐ Φα¿ΣΓ  ñ½∩  ºáñá¡¡«ú«
  4327.         ½«ú¿τÑ߬«ú«  Φα¿ΣΓá.  çá¼ÑΓ¿¼,  τΓ«  Φα¿ΣΓδ ó ß¿ßΓѼ¡«⌐ Γáí½¿µÑ
  4328.         Φα¿ΣΓ«ó  ¡Ñ  ¼«úπΓ  íδΓ∞  ¡Ñ»«ßαÑñßΓóÑ¡¡«  ñ«ßΓπ»¡δ  »α¿¬½áñ¡«⌐
  4329.         »α«úαá¼¼Ñ.   è   ¡¿¼   ¿¼ÑÑΓß∩   ñ«ßΓπ»  Γ«½∞¬«  τÑαѺ  Σπ¡¬µ¿¿
  4330.         CreateFontIndirect   ¿½¿   CreateFont,    ¬«Γ«αδÑ    ó«ºóαáΘáεΓ
  4331.         ñÑß¬α¿»Γ«αδ Φα¿ΣΓ«ó, á ¡Ñ áñαÑßá »á¼∩Γ¿.
  4332.  
  4333.              î«ª¡« ñ«íáó¿Γ∞  αÑßπαß Φα¿ΣΓá ¬ ß¿ßΓѼ¡«⌐ Γáí½¿µÑ Φα¿ΣΓ«ó,
  4334.         ¿ß»«½∞ºπ∩ Σπ¡¬µ¿ε AddFontResource.  Ç¡á½«ú¿τ¡«, ñ½∩ Γ«ú«, τΓ«íδ
  4335.         «ßó«í«ñ¿Γ∞ ¼ÑßΓ« »«ñ ñαπú«⌐ αÑßπαß Φα¿ΣΓá, ¼«ª¡« πñ὿Γ∞ αÑßπαß
  4336.         Φα¿ΣΓá ¿º Γáí½¿µδ ß »«¼«Θ∞ε Σπ¡¬µ¿¿ RemoveFontResource.
  4337.  
  4338.              èáªñδ⌐ αáº,  ¬«úñá  »α¿¬½áñ¡á∩  »α«úαἼᠠñ«íáó½∩ÑΓ   ¿½¿
  4339.         πñá½∩ÑΓ αÑßπαß  Φα¿ΣΓá,  «¡á  ñ«½ª¡á  ¿¡Σ«α¼¿α«óáΓ∞  óßÑ ñαπú¿Ñ
  4340.         »α«úαá¼¼δ «í ¿º¼Ñ¡Ñ¡¿¿,  »«ß½áó ß««íΘÑ¡¿Ñ WM_FONTCHANGE.  î«ª¡«
  4341.         ¿ß»«½∞º«óáΓ∞  ß½ÑñπεΘ¿⌐  ó맮ó  Σπ¡¬µ¿¿ SendMessage ñ½∩ »«ß佬¿
  4342.         ß««íΘÑ¡¿∩ óßѼ «¬¡á¼:
  4343.  
  4344.              SendMessage(-1, WM_FONTCHANGE, 0, 0L);
  4345.  
  4346.              àß½¿ »«½∞º«óáΓѽ∞ πßΓá¡áó½¿óáÑΓ Φα¿ΣΓδ ß »«¼«Θ∞ε »α«úαá¼¼δ
  4347.         "Control Panel",  ¼«ª¡«  ¡á⌐Γ¿  ß»¿ß«¬ φΓ¿σ Φα¿ΣΓ«ó,  ¿ß»«½∞ºπ∩
  4348.         Σπ¡¬µ¿ε  GetProfileString  ñ½∩  »«¿ß¬á  αáºñѽᠠΦα¿ΣΓ«ó  Σá⌐½á
  4349.         win.ini.
  4350.  
  4351.  
  4352.        Windows 3.0/pg/3#3                                        = 84 =
  4353.  
  4354.                               18.11  ôßΓá¡«ó¬á óδαáó¡¿óá¡¿∩ ΓѬßΓá.            
  4355.  
  4356.              öπ¡¬µ¿∩ TextOut  ¿ß»«½∞ºπÑΓ ΓѬπΘÑÑ óδαáó¡¿óá¡¿Ñ ΓѬßΓá ¿º
  4357.         ¬«¡ΓѬßΓá πßΓα«⌐ßΓóá ñ½∩ «»αÑñѽѡ¿∩ Γ«ú«, ¬á¬ αẼÑßΓ¿Γ∞ ΓѬßΓ
  4358.         «Γ¡«ß¿Γѽ∞¡« ñá¡¡«ú« »«½«ªÑ¡¿∩.  ìá»α¿¼Ñα,  óδαáó¡¿óá¡¿Ñ ΓѬßΓá
  4359.         »« π¼«½τá¡¿ε - óóÑασ ¿ ó½Ñó«, Γ. Ñ. Σπ¡¬µ¿∩ TextOut αáß»«½áúáÑΓ
  4360.         ó  π¬áºá¡¡«⌐  »«º¿µ¿¿ óÑασ¡¿⌐ ½Ñóδ⌐ πú«½ ∩τÑ⌐¬¿ »Ñαó«ú« ß¿¼ó«½á
  4361.         ßΓ᫬¿. äαπú¿¼¿  ß½«óἿ,  ó맮ó  Σπ¡¬µ¿¿,  »α¿óÑñÑ¡¡δ⌐   ¡¿ªÑ,
  4362.         »«¼ÑΘáÑΓ  óÑασ¡¿⌐  ½Ñóδ⌐  πú«½ íπ¬óδ "Ç" ó Γ«τ¬π ß ¬««αñ¿¡áΓἿ
  4363.         (10, 10):
  4364.  
  4365.              TextOut(hDC, 10, 10, "Aüéâäà", 6);
  4366.  
  4367.              î«ª¡« ¿º¼Ñ¡¿Γ∞   óδαáó¡¿óá¡¿Ñ   ΓѬßΓá    ñ½∩    ¬«¡ΓѬßΓá
  4368.         πßΓα«⌐ßΓóá, ¿ß»«½∞ºπ∩ Σπ¡¬µ¿ε SetTextAlign.  àß½¿ ßτ¿ΓáΓ∞,  τΓ«
  4369.         Σπ¡¬µ¿∩ TextOut  ºá»«½¡∩ÑΓ  »α∩¼«πú«½∞¡¿¬  ßΓ᫬«⌐  ΓѬßΓá,  Γ«
  4370.         óδαáó¡¿óá¡¿Ñ  ΓѬßΓá  «»αÑñѽ∩ÑΓ,  ó ¬á¬πε τáßΓ∞ »α∩¼«πú«½∞¡¿¬á
  4371.         »«¼ÑΘáÑΓß∩ ß»Ñµ¿Σ¿µ¿α«óá¡¡á∩ Γ«τ¬á ßΓ᫬¿. öπ¡¬µ¿∩ SetTextAlign
  4372.         αáß»«º¡áÑΓ    ½Ñóπε    úαá¡¿µπ,    µÑ¡Γα   ¿   »αáóπε   úαá¡¿µπ
  4373.         »α∩¼«πú«½∞¡¿¬á,  á ΓᬪѠÑú« óÑασ,  ¡¿º ¿  íẫóπε  ½¿¡¿ε.  ä½∩
  4374.         ß»Ñµ¿Σ¿¬áµ¿¿    ¡Ñ߬«½∞¬¿σ    ¬«¼í¿¡áµ¿⌐   óδαáó¡¿óá¡¿∩   ¼«ª¡«
  4375.         «íΩÑñ¿¡∩Γ∞   ½εí«Ñ   αáß»«½«ªÑ¡¿Ñ   »«   óÑαΓ¿¬á½¿   ß    ½εíδ¼
  4376.         αáß»«½«ªÑ¡¿Ñ¼   »«   ú«α¿º«¡Γ὿.  ìá»α¿¼Ñα,  »α¿óÑñÑ¡¡á∩  ¡¿ªÑ
  4377.         Σπ¡¬µ¿∩ πßΓá¡áó½¿óáÑΓ óδαáó¡¿óá¡¿Ñ ΓѬßΓá ó»αáó« ¿ ó¡¿º:
  4378.  
  4379.              SetTextAlign(hDC, TA_RIGHT | TA_BOTTOM);
  4380.              TextOut(hDC, 10, 10, "Çüéâäà", 6);
  4381.  
  4382.              é ñá¡¡«¼    »α¿¼ÑαÑ   ¡¿ª¡¿⌐   »αáóδ⌐   πú«½   íπ¬óδ   "à"
  4383.         αáß»«½áúáÑΓß∩ ó Γ«τ¬Ñ ß ¬««αñ¿¡áΓἿ (10, 10).
  4384.  
  4385.              êß»«½∞ºπ∩ Σπ¡¬µ¿ε  GetTextAlign  óßÑúñá  ¼«ª¡«  «»αÑñѽ¿Γ∞
  4386.         ΓѬπΘÑÑ óδαáó¡¿óá¡¿Ñ ΓѬßΓá.
  4387.                                    18.12  æ«ºñá¡¿Ñ αÑßπαßá Φα¿ΣΓá.             
  4388.  
  4389.              î«ª¡« ºáñáΓ∞  ß«íßΓóÑ¡¡δÑ  αÑßπαßδ  Φα¿ΣΓá  ñ½∩  αẽ¿τ¡δσ
  4390.         »α¿¬½áñ¡δσ »α«úαá¼¼,  ß«ºñáó  Σá⌐½δ  Φα¿ΣΓá  ¿  ñ«íáó¿ó  ¿σ   ó
  4391.         ¬áτÑßΓóÑ  αÑßπα߫󠠬 Σá⌐½π αÑßπαßá Φα¿ΣΓá.  ä½∩ ß«ºñá¡¿∩ Σá⌐½á
  4392.         αÑßπαßá Φα¿ΣΓá ¡Ñ«íσ«ñ¿¼δ ß½ÑñπεΘ¿Ñ Φáú¿:
  4393.  
  4394.              1. æ«ºñáΓ∞ Σá⌐½δ Φα¿ΣΓá.
  4395.  
  4396.              2. æ«ºñáΓ∞ «»¿ßá¡¿Ñ αÑßπαßá Φα¿ΣΓá.
  4397.  
  4398.              3. æ«ºñáΓ∞ Φáí½«¡ »α«úαá¼¼¡«ú« ¼«ñπ½∩.
  4399.  
  4400.              4. æ«ºñáΓ∞  Σá⌐½  «»αÑñѽѡ¿∩  ¼«ñπ½∩,  ¬«Γ«αδ⌐  «»¿ßδóáÑΓ
  4401.                 Φα¿ΣΓδ ¿ πßΓα«⌐ßΓóá, ¿ß»«½∞ºπεΘ¿Ñ ¿σ.
  4402.  
  4403.              5. ÄΓΓαá¡ß½¿α«óáΓ∞ ¿ ß¬«¼»«¡«óáΓ∞ ¿ßσ«ñ¡πε »α«úαá¼¼π.
  4404.  
  4405.              öá⌐½ αÑßπαßá Φα¿ΣΓá ∩ó½∩ÑΓß∩ Σá¬Γ¿τÑ߬¿ »πßΓ«⌐ í¿í½¿«ΓѬ«⌐
  4406.  
  4407.        Windows 3.0/pg/3#3                                        = 85 =
  4408.  
  4409.         Windows - «¡ ¡Ñ ß«ñÑαª¿Γ »α«úαá¼¼ ¿½¿ ñá¡¡δσ, á ß«ñÑαª¿Γ Γ«½∞¬«
  4410.         αÑßπαß.  àß½¿  ¿¼ÑεΓß∩  Σá⌐½δ  Φα¿ΣΓ«ó,  Γ« ¼«ª¡« ¿σ ñ«íáó¿Γ∞ ¬
  4411.         »πßΓ«⌐ í¿í½¿«ΓѬÑ,  ¿ß»«½∞ºπ∩ ¬«¼»¿½∩Γ«α αÑßπαß«ó.  î«ª¡« ΓᬪÑ
  4412.         ñ«íáó¿Γ∞ ñαπú¿Ñ αÑßπαßδ ¬ í¿í½¿«ΓѬÑ,  ΓᬿѠ¬á¬ ¿¬«¡δ, ¬παß«αδ
  4413.         ¿ ¼Ñ¡ε.
  4414.  
  4415.              é ß½ÑñπεΘ¿σ αáºñѽáσ φΓ« «»¿ßá¡« í«½ÑÑ »«ñα«í¡«.
  4416.                                                                                
  4417.                      18.12.1  æ«ºñá¡¿Ñ Σá⌐½«ó Φα¿ΣΓ«ó.
  4418.  
  4419.              ä½∩ ß«ºñá¡¿∩ αÑßπαßá Φα¿ΣΓá ¡Ñ«íσ«ñ¿¼ «ñ¿¡  ¿½¿  ¡Ñ߬«½∞¬«
  4420.         Σá⌐½«ó Φα¿ΣΓ«ó.   î«ª¡«   ß«ºñáΓ∞   Σá⌐½δ   Φα¿ΣΓ«ó,  ¿ß»«½∞ºπ∩
  4421.         FontEditor, «»¿ßá¡¡δ⌐  ó  "Tools".  Å«½∞º«óáΓѽ∞   ßó«í«ñÑ¡   ó
  4422.         «»αÑñѽѡ¿¿  τ¿ß½á,  αẼÑαá  ¿  Γ¿»á  Σá⌐½«ó Φα¿ΣΓ«ó ó αÑßπαßÑ
  4423.         Φα¿ΣΓá.  é í«½∞Φ¿¡ßΓóÑ ß½πτáÑó ¡Ñ«íσ«ñ¿¼« ó¬½ετ¿Γ∞  ñ«ßΓáΓ«τ¡«Ñ
  4424.         ¬«½¿τÑßΓó«  Φα¿ΣΓ«ó,  τΓ«íδ  αáºπ¼¡«  πñ«ó½ÑΓó«α¿Γ∞ í«½∞Φ¿¡ßΓóπ
  4425.         ºá»α«ß«ó ¡á ½«ú¿τÑ߬¿Ñ Φα¿ΣΓδ ñ½∩  πßΓα«⌐ßΓó,  ¡á  ¬«Γ«αδσ  «¡¿
  4426.         íπñπΓ ¿ß»«½∞º«óáΓ∞ß∩.
  4427.  
  4428.              Åα¿ »½á¡¿α«óá¡¿¿  αẼÑα«ó Φα¿ΣΓá ¡Ñ«íσ«ñ¿¼« »«¼¡¿Γ∞,  τΓ«
  4429.         GDI ¼«ªÑΓ ¿º¼Ñ¡∩Γ∞ ¼áßΦΓáí ¡Ñºáó¿ß¿¼δσ «Γ  πßΓα«⌐ßΓó  αáßΓα«óδσ
  4430.         Φα¿ΣΓ«ó  «Γ  1  ñ«  8  αẠ »«  óÑαΓ¿¬á½¿  ¿  «Γ  1 ñ« 5 αẠ»«
  4431.         ú«α¿º«¡Γ὿.  GDI  ¼«ªÑΓ  ΓᬪѠ ¼«ñѽ¿α«óáΓ∞   ª¿α¡δ⌐   Φα¿ΣΓ,
  4432.         »«ñτÑનóá¡¿Ñ,  »ÑαÑτÑનóá¡¿Ñ ¿ ¬παß¿ó.
  4433.                           18.12.2  æ«ºñá¡¿Ñ «»¿ßá¡¿∩ αÑßπαßá Φα¿ΣΓá.           
  4434.  
  4435.              Å«ñß«Ññ¿¡¿ΓÑ αÑßπαßδ  ¬ Σá⌐½π,  ñ«íáó¿ó «ñ¿¡ ¿½¿ ¡Ñ߬«½∞¬«
  4436.         «»ÑαáΓ«α«ó FONT ¬ Σá⌐½π  «»¿ßá¡¿∩  αÑßπαß«ó.  Ä»¿ßá¡¿Ñ  αÑßπαßá
  4437.         Φα¿ΣΓá ¼«ªÑΓ  ¡á»α«Γ¿ó ñ«íáó¿Γ∞ Σá⌐½ .FNT ¬ í¿í½¿«ΓѬ¿ Windows,
  4438.         ñαá⌐óÑαπ πßΓα«⌐ßΓóá ¿½¿ ¬ Σá⌐½π,  ß«ñÑαªáΘѼπ  Γ«½∞¬«  αÑßπαßδ.
  4439.         Å«ß¬«½∞¬π αÑßπαß Φα¿ΣΓá ñ«ßΓπ»Ñ¡ ½εí«⌐ »α¿¬½áñ¡«⌐ »α«úαá¼¼Ñ, óδ
  4440.         ¡Ñ ñ«½ª¡δ ñ«íáó½∩Γ∞ Ñú« ¬ ¼«ñπ½∩¼ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ.
  4441.  
  4442.              Ä»ÑαáΓ«α ¿¼ÑÑΓ ß½ÑñπεΘ¿⌐ ó¿ñ:
  4443.  
  4444.              number FONT filename
  4445.  
  4446.              ä½∩ Γ«ú«,  τΓ«íδ »«¼ÑßΓ¿Γ∞ ¬áªñδ⌐ Σá⌐½  Φα¿ΣΓá  ó  αÑßπαß,
  4447.         ¡Ñ«íσ«ñ¿¼   «ñ¿¡   «»ÑαáΓ«α.   Åáαá¼ÑΓα   number   ñ«½ªÑ¡  íδΓ∞
  4448.         π¡¿¬á½∞¡δ¼,  »«ß¬«½∞¬π »«ºªÑ «¡ ¿ß»«½∞ºπÑΓß∩ ñ½∩  ¿ñÑ¡Γ¿Σ¿¬áµ¿¿
  4449.         Φα¿ΣΓá.  ì¿ªÑ  »α¿ó«ñ¿Γß∩  Γ¿»¿τ¡δ⌐  Σá⌐½ «»¿ßá¡¿∩ αÑßπαß«ó ñ½∩
  4450.         αÑßπαßá Φα¿ΣΓá:
  4451.  
  4452.              1  FONT FntFil01.FNT
  4453.              2  FONT FntFil02.FNT
  4454.              3  FONT FntFil03.FNT
  4455.              4  FONT FntFil04.FNT
  4456.              5  FONT FntFil05.FNT
  4457.              6  FONT FntFil06.FNT
  4458.  
  4459.              ÿα¿ΣΓδ ¼«úπΓ  íδΓ∞  óßΓáó½Ñ¡δ  ó ¼«ñπ½¿,  ¬«Γ«αδÑ ß«ñÑαªáΓ
  4460.         ñαπú¿Ñ  αÑßπαßδ,  »«ßαÑñßΓó«¼  ñ«íáó½Ñ¡¿∩  ¿σ  ¬  ßπΘÑßΓóπεΘѼπ
  4461.  
  4462.        Windows 3.0/pg/3#3                                        = 86 =
  4463.  
  4464.         «»¿ßá¡¿ε αÑßπαßá.  ¥Γ« «º¡áτáÑΓ,  τΓ« ó Σá⌐½Ñ «»¿ßá¡¿∩ αÑßπαß«ó
  4465.         ¼«ª¡« ¿¼ÑΓ∞ «»¿ßá¡¿Ñ ¿¬«¡,  ¼Ñ¡ε,  ¬παß«αá ¿ »á¡Ñ½Ñ⌐ ñ¿á½«úá, á
  4466.         ΓᬪѠ«»ÑαáΓ«αδ FONT.
  4467.                                                                                
  4468.               18.12.3  æ«ºñá¡¿Ñ Φáí½«¡á »α«úαá¼¼¡«ú« ¼«ñπ½∩.
  4469.  
  4470.              ÿáí½«¡ »α«úαá¼¼¡«ú«   ¼«ñπ½∩  ºáñáÑΓ  «íΩÑ¬Γ¡δ⌐  Σá⌐½,  ¿º
  4471.         ¬«Γ«α«ú« Σ«α¼¿απÑΓß∩ Σá⌐½ αÑßπαßá Φα¿ΣΓá.  ÿáí½«¡  »α«úαá¼¼¡«ú«
  4472.         ¼«ñπ½∩ ß«ºñáÑΓß∩ ß »«¼«Θ∞ε ¼á¬α«¬«¼á¡ñ áßßѼí½Ñαá ¿ æ. êßσ«ñ¡δ⌐
  4473.         Σá⌐½ ¼«ñπ½∩ ñ«½ªÑ¡ óδú½∩ñÑΓ∞ Γá¬:
  4474.  
  4475.              TITLE FONTRES - óδ»«½¡∩Ѽδ⌐ Σá⌐½ ß»Ñµ¿á½∞¡«ú« ó¿ñá ñ½∩
  4476.                              ß«ºñá¡¿∩ Σá⌐½á Γ¿»á .FON
  4477.              .xlist
  4478.              include cmacros.inc
  4479.              .list
  4480.  
  4481.              sBegin  CODE
  4482.              sEnd    CODE
  4483.              end
  4484.  
  4485.              ÇßßÑ¼í½¿απ⌐ΓÑ φëà¿ßσ«ñ¡δ⌐ Σá⌐½ ß »«¼«Θ∞ε  ¬«¼á¡ñδ  masm.
  4486.         Ä¡á  ß«ºñáßΓ  «íΩÑ¬Γ¡δ⌐  Σá⌐½,  ¬«Γ«αδ⌐ ¡Ñ ß«ñÑαª¿Γ »α«úαá¼¼δ ¿
  4487.         ñá¡¡δσ,  ¡« ¬«Γ«αδ⌐ ¼«ªÑΓ íδΓ∞ ß¬«¼»«¡«óá¡ ß »πßΓ«⌐ í¿í½¿«ΓѬ«⌐
  4488.         Windows, ¬πñá ¼«ª¡« ñ«íáó¿Γ∞ αÑßπαßδ Φα¿ΣΓ«ó.
  4489.                           18.12.4  æ«ºñá¡¿Ñ Σá⌐½á «»αÑñѽѡ¿∩ ¼«ñπ½∩.          
  4490.  
  4491.              ìÑ«íσ«ñ¿¼« ß«ºñáΓ∞  Σá⌐½  «»αÑñѽѡ¿∩  ¼«ñπ½∩  ñ½∩ αÑßπαßá
  4492.         Φα¿ΣΓá.  ¥Γ«Γ   Σá⌐½   ñ«½ªÑ¡   ß«ñÑαªáΓ∞   «»ÑαáΓ«α   LIBRARY,
  4493.         «»αÑñѽ∩εΘ¿⌐  ¿¼∩ αÑßπαßá,  «»ÑαáΓ«α DESCRIPTION,  «»αÑñѽ∩εΘ¿⌐
  4494.         σáαá¬ΓÑα¿ßΓ¿¬¿ αÑßπαßá   Φα¿ΣΓá,   ¿   «»ÑαáΓ«α   DATA.    öá⌐½
  4495.         «»αÑñѽѡ¿∩ ¼«ñπ½∩ ñ½∩ αÑßπαßá Φα¿ΣΓá ¼«ªÑΓ óδú½∩ñÑΓ∞ Γá¬:
  4496.  
  4497.           LIBRARY FontRes
  4498.  
  4499.           DESCRIPTION 'FONTRES 133,96,72: System, Terminal (Set #3)'
  4500.  
  4501.           STUB 'WINSTUB.EXE'
  4502.           DATA NONE
  4503.  
  4504.              Ä»ÑαáΓ«α DESCRIPTION  ºáñáÑΓ   ºáó¿ß∩Θπε   «Γ   πßΓα«⌐ßΓóá
  4505.         ¿¡Σ«α¼áµ¿ε  «  Φα¿ΣΓÑ,  ¬«Γ«αá∩  ¼«ªÑΓ  íδΓ∞  ¿ß»«½∞º«óá¡á  ñ½∩
  4506.         ß«»«ßΓáó½Ñ¡¿∩ Φα¿ΣΓá ß ºáñá¡¡δ¼ ñ¿ß»½ÑѼ  ¿½¿  »α¿¡ΓÑα«¼.  ì¿ªÑ
  4507.         »α¿ó«ñ∩Γß∩   Γα¿  ó«º¼«ª¡δσ  Σ«α¼áΓá  «»ÑαáΓ«αá  DESCRIPTION  ó
  4508.         αÑßπαßÑ Φα¿ΣΓá:
  4509.  
  4510.           DESCRIPTION 'FONTRES Aspect, LogPixelsX, LogPixelsY: Cmt'
  4511.           DESCRIPTION 'FONTRES CONTINUOUSSCALING: Cmt'
  4512.           DESCRIPTION 'FONTRES DEVICESPECIFIC DeviceTypeGroup: Cmt'
  4513.  
  4514.              ÅÑαóδ⌐ Σ«α¼áΓ  «»αÑñѽ∩ÑΓ  Φα¿ΣΓ,   ß»α«Ñ¬Γ¿α«óá¡¡δ⌐   ñ½∩
  4515.         ¬«¡¬αÑΓ¡«ú«  ¬«φΣΣ¿µ¿Ñ¡ΓᠠߪáΓ¿∩,  Φ¿α¿¡δ ¿ óδß«Γδ ½«ú¿τÑ߬«ú«
  4516.  
  4517.        Windows 3.0/pg/3#3                                        = 87 =
  4518.  
  4519.         Φα¿ΣΓá  ó  »¿¬ßѽ∩σ,  ¿  ¼«ªÑΓ  íδΓ∞   ¿ß»«½∞º«óá¡   ¡á   ½εí«¼
  4520.         πßΓα«⌐ßΓóÑ,  ¿¼ÑεΘѼ  ΓÑ  ªÑ ßá¼δÑ ¬«φΣΣ¿µ¿Ñ¡Γ ßªáΓ¿∩ ¿ αẼÑαδ
  4521.         ½«ú¿τÑ߬«ú« Φα¿ΣΓá.  Åáαá¼ÑΓα Aspect - φΓ«  º¡áτÑ¡¿Ñ  óδαáªÑ¡¿∩
  4522.         (100*AspectY)/AspectX, «¬απú½Ñ¡¡«Ñ ñ« µÑ½«ú«. AspectX, AspectY,
  4523.         LogPixelsX ¿ LogPixelsY - φΓ« ΓÑ ªÑ ßá¼δÑ º¡áτÑ¡¿∩,  τΓ« ºáñá¡δ
  4524.         ó   ßΓαπ¬ΓπαÑ  GDIINFO  ß««ΓóÑΓßΓóπεΘÑú«  πßΓα«⌐ßΓóá  (º¡áτÑ¡¿∩
  4525.         ñ«ßΓπ»¡δ ß »«¼«Θ∞ε Σπ¡¬µ¿¿ GetDeviceCaps).  Åα¿  ªÑ½á¡¿¿  ¼«ª¡«
  4526.         ºáñáΓ∞  í«½ÑÑ  «ñ¡«ú«  ¡áí«αá  º¡áτÑ¡¿⌐  Aspect,  LogPixelsX  ¿
  4527.         LogPixelsY. ç¡áτÑ¡¿Ñ Cmt - φΓ« ¬«¼¼Ñ¡Γáα¿⌐. Åα¿óÑñѼ ó ¬áτÑßΓóÑ
  4528.         »α¿¼Ñα«ó ß½ÑñπεΘ¿Ñ «»ÑαáΓ«αδ:
  4529.  
  4530.          DESCRIPTION 'FONTRES 133,96,72: System, Terminal (Set #3)'
  4531.          DESCRIPTION 'FONTRES 200,96,48; 133,96,72; 83,60,72;
  4532.                       167,120,72; Helv'
  4533.  
  4534.              éΓ«α«⌐ Σ«α¼áΓ   ß»Ñµ¿Σ¿µ¿απÑΓ  ¡Ñ»αÑαδó¡δ⌐  ¼áßΦΓáí¿απѼδ⌐
  4535.         Φα¿ΣΓ. Ä¡ «íδτ¡« ß««ΓóÑΓßΓóπÑΓ óÑ¬Γ«α¡«¼π Φα¿ΣΓπ, ¬«Γ«αδ⌐ ¼«ªÑΓ
  4536.         ¿¼ÑΓ∞ ½εí«⌐  αẼÑα ¿ ¬«Γ«αδ⌐ ¡Ñ ºáó¿ß¿Γ «Γ ¬«φΣΣ¿µ¿Ñ¡Γá ßªáΓ¿∩
  4537.         ¿½¿ Φ¿α¿¡δ ½«ú¿τÑ߬«ú« Φα¿ΣΓá ó »¿¬ßѽ∩σ ñ½∩ πßΓα«⌐ßΓóá óδó«ñá.
  4538.         Åα¿óÑñѼ ß½ÑñπεΘ¿⌐ »α¿¼Ñα:
  4539.  
  4540.         DESCRIPTION 'FONTRES CONTINUOUSSCALING: Modern, Roman, Script'
  4541.  
  4542.              ÆαÑΓ¿⌐ Σ«α¼áΓ  «»αÑñѽ∩ÑΓ  Φα¿ΣΓ,  ¬«Γ«αδ⌐  ß»Ñµ¿Σ¿τÑ¡ ñ½∩
  4543.         «Γñѽ∞¡«ú«   πßΓα«⌐ßΓóá   ¿½¿   úαπ»»δ   πßΓα«⌐ßΓó.    Åáαá¼ÑΓα
  4544.         DeviceTypeGroup ¼«ªÑΓ íδΓ∞ DISPLAY ¿½¿ ¼«ªÑΓ íδΓ∞ »ÑαÑτ¡Ñ¼ ¿¼Ñ¡
  4545.         Γ¿»«ó  πßΓα«⌐ßΓó  -  ΓÑσ  ªÑ  ßá¼δσ   ¿¼Ñ¡,   ¬«Γ«αδÑ   ß½ÑñπÑΓ
  4546.         ß»Ñµ¿Σ¿µ¿α«óáΓ∞  ó  ¬áτÑßΓóÑ óΓ«α«ú« »áαá¼ÑΓαá ó ó맮óÑ Σπ¡¬µ¿¿
  4547.         CreateDC.  Åα¿óÑñѼ Γᬫ⌐ »α¿¼Ñα:
  4548.  
  4549.         DESCRIPTION 'FONTRES DISPLAY: HP 7470 plotters'
  4550.         DESCRIPTION 'FONTRES DEVICESPECIFIC HP 7470A,HP 7475A:
  4551.                      HP 7470 plotters'
  4552.  
  4553.              Åα¿¼Ñτá¡¿Ñ. îá¬ß¿¼á½∞¡á∩ ñ½¿¡á  ßΓ᫬¿  DESCRIPTION  αáó¡á
  4554.         127 ß¿¼ó«½á¼.  Å«ß¬«½∞¬π  Windows ¼«ªÑΓ ß¿¡ΓѺ¿α«óáΓ∞ áΓα¿íπΓδ,
  4555.         ΓᬿѠ¬á¬  Γ«½Θ¿¡á,   »«ñτÑનóá¡¿Ñ,   ¬παß¿ó,   Γ«   óá¼   ¡ÑΓ
  4556.         ¡Ñ«íσ«ñ¿¼«ßΓ¿  ß«ºñáóáΓ∞ ñ½∩ ¡¿σ «Γñѽ∞¡δÑ Σá⌐½δ .FNT.  Äñ¡á¬«,
  4557.         óδ ¼«ªÑΓÑ φΓ« ñѽáΓ∞.
  4558.  
  4559.              Windows ¼«ªÑΓ   ¿ß»«½∞º«óáΓ∞  ñαπú¿Ñ  Φα¿ΣΓδ,  ¬«Γ«αδÑ  ¡Ñ
  4560.         ß««ΓóÑΓßΓóπεΓ «»αÑñѽ∩εΘÑ¼π   ß««Γ¡«ΦÑ¡¿ε   ñ¿ß»½Ñ∩.    ê¼ÑεΓß∩
  4561.         ß»Ñµ¿á½∞¡δÑ Φα¿ΣΓδ,  »αÑñ¡áº¡áτÑ¡¡δÑ ñ½∩ Γᬿσ  πßΓα«⌐ßΓó,  ¬á¬
  4562.         ¡á»α¿¼Ñα, ¼áΓα¿τ¡δσ »α¿¡ΓÑα«ó.
  4563.                                                                                
  4564.           18.12.5  Æαá¡ß½∩µ¿∩ ¿ ¬«¼»«¡«ó¬á Σá⌐½á αÑßπαßá Φα¿ΣΓá.
  4565.  
  4566.              ì¿ªÑ »α¿ó«ñ¿Γß∩ Σá⌐½  make,  ß«ñÑαªáΘ¿⌐  ¬«¼á¡ñδ,  ¬«Γ«αδÑ
  4567.         ¡Ñ«íσ«ñ¿¼δ  ñ½∩  Γαá¡ß½∩µ¿¿  ¿ ¬«¼»«¡«ó¬¿ Σá⌐½á αÑßπαßá Φα¿ΣΓá:
  4568.  
  4569.         fontres.obj: fontres.asm
  4570.             masm fontres;
  4571.         fontres.exe: fontres.def fontres.obj fontres.rc fontres.exe\
  4572.  
  4573.        Windows 3.0/pg/3#3                                        = 88 =
  4574.  
  4575.                         FntFil01.FNT FntFil02.FNT FntFil03.FNT\
  4576.                         FntFil04.FNT FntFil05.FNT FntFil06.FNT
  4577.             link4 fontres.obj, fontres.exe, NUL, /NOD, fontres.def
  4578.             rc fontres.rc
  4579.             rename fontres.exe fontres.fon
  4580.  
  4581.              Å« ß«ú½áΦÑ¡¿ε óßÑ Σá⌐½δ αÑßπαßá  Φα¿ΣΓá  ¿¼ÑεΓ  αáßΦ¿αÑ¡¿Ñ
  4582.         Σá⌐½á   .fon.   Å«ß½Ññ¡∩∩   ßΓα«¬á   Σá⌐½á   make   ß½πª¿Γ  ñ½∩
  4583.         »ÑαÑ¿¼Ñ¡«óá¡¿∩ óδ»«½¡∩Ѽ«ú« Σá⌐½á ó Σá⌐½ fontres.fon.
  4584.                                                                                
  4585.                18.13  Åα¿¼Ñα »α¿¬½áñ¡«⌐ »α«úαá¼¼δ ShowFont.
  4586.  
  4587.              äá¡¡δ⌐ »α¿¼Ñα   »α¿¬½áñ¡«⌐   »α«úαá¼¼δ  ¿½½εßΓα¿απÑΓ,  ¬á¬
  4588.         ¿ß»«½∞º«óáΓ∞ Φα¿ΣΓδ ó »α¿¬½áñ¡δσ »α«úαá¼¼áσ ßαÑñδ Windows. ò«Γ∩
  4589.         »α«úαá¼¼á ShowFont  ¿¼ÑÑΓ  Γπ  ªÑ ßá¼πε ßΓαπ¬Γπαπ,  τΓ« ¿ ½εíá∩
  4590.         »α¿¬½áñ¡á∩  »α«úαá¼¼á,  «»¿ßá¡¡á∩  ó  ñá¡¡«¼  απ¬«ó«ñßΓóÑ,  «¡á
  4591.         ß«ñÑαª¿Γ  º¡áτ¿Γѽ∞¡« í«½∞ΦÑ «»ÑαáΓ«α«ó,  «í½áñáεΘÑΓ í«½∞Φ¿¼ ¿σ
  4592.         αạ««íαếѼ,  τѼ ¬á¬á∩-½¿í« ñαπúá∩ »α¿¬½áñ¡á∩ »α«úαá¼¼á.  Å«
  4593.         φΓ«⌐  »α¿τ¿¡Ñ »«½¡«Ñ «»¿ßá¡¿Ñ ñá¡« ó ¿ßσ«ñ¡δσ Σá⌐½áσ »α¿¬½áñ¡δσ
  4594.         »α«úαá¼¼, αáß»«½«ªÑ¡¡δσ ¡á ñ¿ß¬Ñ, ß«ñÑαªáΘѼ »α¿¼Ñαδ.
  4595.  
  4596.              Åਪ½áñ¡á∩ »α«úαá¼¼á ShowFont ¡Ñ Γ«½∞¬« ¿½½εßΓα¿απÑΓ,  ¬á¬
  4597.         ¿ß»«½∞º«óáΓ∞ Φα¿ΣΓδ.  Ä¡á ΓᬪѠ»«¬áºδóáÑΓ,  ¬á¬ ¼«ñ¿Σ¿µ¿α«óáΓ∞
  4598.         ¼¡«ú¿Ñ ¿º »α«úαá¼¼,  αá¡ÑÑ «»¿ßá¡¡δσ ó ñá¡¡«¼ απ¬«ó«ñßΓóÑ,  ñ½∩
  4599.         óδ»«½¡Ñ¡¿∩ ¡Ñ߬«½∞¬« «Γ½¿τ¡δσ ºáñáτ.  ìá»α¿¼Ñα, «¡á »«¬áºδóáÑΓ,
  4600.         ¬á¬  ß«ºñáΓ∞  ¿  ¿ß»«½∞º«óáΓ∞  íÑßΓ¿»¡δÑ  »á¡Ñ½¿  ñ¿á½«úá,  ¬á¬
  4601.         ¿ß»«½∞º«óáΓ∞  »á¡Ñ½¿  »ÑαÑτ¡Ñ⌐  ß ß«íßΓóÑ¡¡δ¼¿ ßΓα«¬á¼¿ (ó¼ÑßΓ«
  4602.         ΓѬπΘÑú« ¬áΓὫúá) ¿ ¬á¬ ¿ß»«½∞º«óáΓ∞ ¼ÑΓ«ñ »α∩¼«ú« ñ«ßΓπ»á ñ½∩
  4603.         úαπ»»«óδσ »á¡Ñ½Ñ⌐ ¿ ¬½áó¿Φ πßΓᡫ󬿠ó »á¡Ñ½¿ ñ¿á½«úá.
  4604.                                                                                
  4605.                             18.14  çᬽετÑ¡¿Ñ.
  4606.  
  4607.              ÿα¿ΣΓ - φΓ« ¡áí«α ß¿¼ó«½«ó,  ¿¼ÑεΘ¿σ «íΘ¿Ñ áΓα¿íπΓδ, ΓᬿÑ
  4608.         ¬á¬ Φ¿α¿¡á,  óδß«Γá, ó¿ñ ¿ Γ.». Åਪ½áñ¡á∩ »α«úαἼᠿ߻«½∞ºπÑΓ
  4609.         Φα¿ΣΓδ ñ½∩ «Γ«íαáªÑ¡¿∩ ¿½¿ »ÑτáΓ¿ ΓѬßΓá.  éδ ¼«ªÑΓÑ «»αÑñѽ¿Γ∞
  4610.         ßó«¿  ß«íßΓóÑ¡¡δÑ  Φα¿ΣΓδ  ¿½¿   ¿ß»«½∞º«óáΓ∞   »αÑñ«ßΓáó½∩ѼδÑ
  4611.         Windows.
  4612.  
  4613.              ä«»«½¡¿Γѽ∞¡πε ¿¡Σ«α¼áµ¿ε « Φα¿ΣΓáσ óδ ¡á⌐ñÑΓÑ ó:
  4614.  
  4615.         Éáºñѽ               Éπ¬«ó«ñßΓó«
  4616.         ───────────────────────────────────────────────────────────────
  4617.         êß»«½∞º«óá¡¿Ñ        "Tools": â½áóá 6, "櫺ñá¡¿Ñ Φα¿ΣΓ«ó: Font
  4618.         "Font Editor"        Editor".
  4619.  
  4620.         ÅÑτáΓ∞               Éπ¬«ó«ñßΓó« »α«úαá¼¼¿ßΓá: â½áóá 12, "ÅÑτáΓ∞".
  4621.  
  4622.         éδó«ñ ΓѬßΓá         Éπ¬«ó«ñßΓó« »α«úαá¼¼¿ßΓá: â½áóá 3, "éδó«ñ
  4623.                              ó «¬¡«".
  4624.  
  4625.  
  4626.  
  4627.        Windows 3.0/pg/3#3                                        = 89 =
  4628.  
  4629.                                       â½áóá 19.  Å὿Γαδ µóÑΓ«ó.               
  4630.        ----------------------------------------------------------------
  4631.              Å὿Γαδ µóÑΓ«ó  Windows  »αÑñ«ßΓáó½∩εΓ óá¼ ¿¡ΓÑαΣÑ⌐ß ¼Ñªñπ
  4632.         »α¿¬½áñ¡«⌐ »α«úαá¼¼«⌐ ¿ µóÑΓ¡δ¼ πßΓα«⌐ßΓó«¼ óδó«ñá,  Γᬿ¼  ¬á¬
  4633.         ñ¿ß»½Ñ⌐. ¥Γ«Γ    ¿¡ΓÑαΣÑ⌐ß   »«ºó«½∩ÑΓ   »α¿¬½áñ¡«⌐   »α«úαá¼¼Ñ
  4634.         ¿ß»«½∞º«óáΓ∞ »αÑ¿¼πΘÑßΓóá  πßΓα«⌐ßΓóá  óδó«ñá  íѺ  ó½¿∩¡¿∩  ¡á
  4635.         µóÑΓá ñαπú¿σ »α¿¬½áñ¡δσ »α«úαá¼¼. Windows »«½πτáÑΓ ¿¡Σ«α¼áµ¿ε «
  4636.         µóÑΓáσ τÑαѺ  ½«ú¿τÑ߬πε  »á½¿Γαπ  »α¿¬½áñ¡«⌐  »α«úαá¼¼δ   (φΓ«
  4637.         «íΩÑ¬Γ   GDI,  ¬«Γ«αδ⌐  »αÑñßΓáó½∩ÑΓ  ¿º  ßÑí∩  ß»¿ß«¬  µóÑΓ«ó,
  4638.         ¿ß»«½∞ºπѼδσ ó »α¿¬½áñ¡«⌐ »α«úαá¼¼Ñ) ¿ »α¿¼Ñ¡∩ÑΓ ÑÑ ¬ ß¿ßΓѼ¡«⌐
  4639.         »á½¿ΓαÑ (ß»¿ß«¬ µóÑΓ«ó, ñ«ßΓπ»¡δσ ó ß¿ßΓѼѠ¿ αáºñѽ∩Ѽδσ óßѼ¿
  4640.         »α¿¬½áñ¡δ¼¿  »α«úαἼἿ).  è«úñá  í«½∞ΦÑ  τѼ  «ñ¡á  »α«úαá¼¼á
  4641.         «Γ«íαáªáÑΓ µóÑΓá ¿º ½«ú¿τÑ߬«⌐ »á½¿Γαδ,  ó¼ÑΦ¿óáÑΓß∩ Windows, ¿
  4642.         «»αÑñѽ∩∩,  ¬á¬á∩ »α¿¬½áñ¡á∩ »α«úαἼᠿ¼ÑÑΓ ñ«ßΓπ» ¬ ß¿ßΓѼ¡«⌐
  4643.         »á½¿ΓαÑ,  π»αáó½∩ÑΓ  ß  óδß«¬¿¼  ¬áτÑßΓó«¼  µóÑΓἿ  ¡á  ñαπú¿σ
  4644.         »α¿¬½áñ¡δσ »α«úαá¼¼áσ.
  4645.  
  4646.              é ñá¡¡«⌐ ú½áóÑ »α¿ó«ñ¿Γß∩ ¿¡Σ«α¼áµ¿∩ »« ß½ÑñπεΘ¿¼ ΓѼá¼:
  4647.  
  4648.              - æ«ºñá¡¿Ñ ¿ »«ñú«Γ«ó¬á ¬ ¿ß»«½∞º«óá¡¿ε ½«ú¿τÑ߬«⌐ »á½¿Γαδ
  4649.                ó »α¿¬½áñ¡«⌐ »α«úαá¼¼Ñ.
  4650.  
  4651.              - êß»«½∞º«óá¡¿Ñ  µóÑΓ«ó  ¿º  »á½¿Γαδ  ñ½∩ óδó«ñá ó «í½áßΓ¿
  4652.                »«½∞º«óáΓѽ∩ «¬¡á.
  4653.  
  4654.              - êº¼Ñ¡Ñ¡¿Ñ ½«ú¿τÑ߬«⌐ »á½¿Γαδ  ¿  π»αáó½Ñ¡¿Ñ  ΓѼ,  ¬«úñá
  4655.                Windows «Γ«íαáº¿Γ φΓ¿ ¿º¼Ñ¡Ñ¡¿∩.
  4656.  
  4657.              - ÉÑᬵ¿∩  ¡á  ¿º¼Ñ¡Ñ¡¿∩,  óδ»«½¡Ñ¡¡δÑ ó ß¿ßΓѼ¡«⌐ »á½¿ΓαÑ
  4658.                ñαπú¿¼¿ »α¿¬½áñ¡δ¼¿ »α«úαἼἿ.
  4659.  
  4660.              Åα¿¼Ñαδ, ¿ß»«½∞ºπѼδÑ ó ñá¡¡«⌐ ú½áóÑ,  óº∩Γδ ¿º  ¿ßσ«ñ¡«ú«
  4661.         ¬«ñá »α«úαá¼¼δ ShowDIB, ¬«Γ«αá∩ ß«ñÑনΓß∩ ¡á ñ¿ß¬Ñ "SDK Sample
  4662.         Source Code  Disk".  é  φΓ«⌐  »α«úαἼѠ ñѼ«¡ßΓα¿απÑΓß∩,   ¬á¬
  4663.         «Γ«íαáªáΓ∞  á»»áαáΓ¡«-¡Ñºáó¿ß¿¼δÑ  αáßΓα«óδÑ  ¬áαΓδ  ß µóÑΓἿ,
  4664.         π»αáó½∩Ñ¼δ¼¿ »á½¿Γα«⌐.
  4665.                                   19.1  ùΓ« ñѽáÑΓ »á½¿Γαá µóÑΓ«ó.             
  4666.  
  4667.              î¡«ú¿Ñ ñ¿ß»½Ñ¿ ß»«ß«í¡δ «Γ«íαáªáΓ∞ í«½∞Φ«⌐ ¡áí«α µóÑΓ«ó. é
  4668.         ñÑ⌐ßΓó¿Γѽ∞¡«ßΓ¿, «ñ¡á¬«, τ¿ß½« «Γ«íαáªáѼδσ ó ¡Ñ¬«Γ«αδ⌐ ¼«¼Ñ¡Γ
  4669.         óαѼѡ¿ µóÑΓ«ó   «úαá¡¿τÑ¡«.   ìá»α¿¼Ñα,    ñ¿ß»½Ñ⌐,    ¬«Γ«αδ⌐
  4670.         »«ΓÑ¡µ¿á½∞¡« ß»«ß«íÑ¡ «Γ«íαáªáΓ∞ 24000 αẽ¿τ¡δσ µóÑΓ«ó,  ¼«ªÑΓ
  4671.         «ñ¡«óαѼѡ¡« «Γ«íαáªáΓ∞ Γ«½∞¬« 256  ¿º  ¡¿σ  ¿º-ºá  «úαá¡¿τÑ¡¿⌐
  4672.         «í«απñ«óá¡¿∩. Åα¿   ¡á½¿τ¿¿  Γá¬¿σ  «úαá¡¿τÑ¡¿⌐  ñ¿ß»½Ñ¿  τáßΓ«
  4673.         ¿ß»«½∞ºπεΓ  »á½¿Γαδ.  è«úñá  »α¿¬½áñ¡á∩  »α«úαἼᠠΓαÑíπÑΓ  ¡Ñ
  4674.         «Γ«íαáªáѼδ⌐  ó  ¡áßΓ«∩Θ¿⌐ ¼«¼Ñ¡Γ µóÑΓ,  πßΓα«⌐ßΓó« «Γ«íαáªÑ¡¿∩
  4675.         ñ«íáó½∩ÑΓ  ΓαÑíπѼδ⌐  µóÑΓ  ¬  »á½¿ΓαÑ.  Äñ¡á¬«,  ¬«úñá   τ¿ß½«
  4676.         ΓαÑíπѼδσ  µóÑΓ«ó  »αÑóδΦáÑΓ  ¼á¬ß¿¼π¼,  ß½ÑñπεΘ¿Ñ  µóÑΓá íπñπΓ
  4677.         ºá¼Ñ¡∩Γ∞ »αÑñδñπΘ¿Ñ,  ¿ ñÑ⌐ßΓó¿Γѽ∞¡δÑ «Γ«íαáªáѼδÑ µóÑΓá íπñπΓ
  4678.         ¡Ñ¬«ααÑ¬Γ¡δ¼¿.
  4679.  
  4680.              Å὿Γαδ µóÑΓ«ó   Windows   óδ»«½¡∩εΓ   α«½∞  íπΣÑαá  ¼Ñªñπ
  4681.  
  4682.        Windows 3.0/pg/3#3                                        = 90 =
  4683.  
  4684.         ¿¡Γѡ߿󡫠¿ß»«½∞ºπεΘÑ⌐ µóÑΓá »α¿¬½áñ¡«⌐ »α«úαá¼¼«⌐ ¿ ß¿ßΓѼ«⌐.
  4685.         Å὿Γαá  µóÑΓ«ó  »«ºó«½∩ÑΓ  »α¿¬½áñ¡«⌐  »α«úαἼѠ ¿ß»«½∞º«óáΓ∞
  4686.         ßΓ«½∞¬«  µóÑΓ«ó,  ß¬«½∞¬«  ¡πª¡«,   íѺ   ó½¿∩¡¿∩   ¡á   µóÑΓá,
  4687.         «Γ«íαáªáѼδÑ  ñαπú«⌐  »α¿¬½áñ¡«⌐  »α«úαá¼¼«⌐.  è«úñá »α¿¬½áñ¡á∩
  4688.         »α«úαἼᠿ߻«½∞ºπεΘá∩  »á½¿Γαπ  µóÑΓ«ó,  ¿¼ÑÑΓ  ºáσóáΓ  óó«ñá,
  4689.         Windows  »«ñαáºπ¼ÑóáÑΓ,  τΓ« »α«úαἼᠿ߻«½∞ºπÑΓ óßÑ ΓαÑíπѼδÑ
  4690.         µóÑΓá ¿ ñ«»«½¡¿Γѽ∞¡δÑ  µóÑΓá  «Γ«íαáªáεΓß∩  ó  ß««ΓóÑΓßΓó¿¿  ß
  4691.         ñ«ßΓπ»¡δ¼¿   µóÑΓἿ.   Windows   ßαáó¡¿óáÑΓ  µóÑΓá,  ΓαπíπѼδÑ
  4692.         ¡Ñá¬Γ¿ó¡δ¼ «¬¡«¼, ¿ ¿ß»«½∞ºπÑΓ ¡á¿í«½ÑÑ »«ñσ«ñ∩Θ¿⌐ ¿º ñ«ßΓπ»¡δσ
  4693.         µóÑΓ«ó.  Åα¿  φΓ«¼ ¿ßτѺáÑΓ ó«º¼«ª¡«ßΓ∞ ¿º¼Ñ¡Ñ¡¿∩ ¿º«íαáªÑ¡¿⌐ ó
  4694.         ¡Ñá¬Γ¿ó¡δ󠫬¡áσ.
  4695.                                 19.2  èᬠαáí«ΓáεΓ »á½¿Γαδ µóÑΓ«ó.             
  4696.  
  4697.              Windows »αÑñ«ßΓáó½∩ÑΓ á»»áαáΓ¡«-¡Ñºáó¿ß¿¼δ⌐ ¼ÑΓ«ñ  ñ«ßΓπ»á
  4698.         ¬ µóÑΓ«óδ¼   ó«º¼«ª¡«ßΓ∩¼   πßΓα«⌐ßΓó   «Γ«íαáªÑ¡¿∩  ß  »«¼«Θ∞ε
  4699.         ß¿ßΓѼ¡«⌐ »á½¿Γαδ   πßΓα«⌐ßΓóá,   Ñß½¿   Γá¬á∩   »«ññÑনóáÑΓß∩
  4700.         πßΓα«⌐ßΓó«¼.
  4701.  
  4702.              èᬠ¼δ   ß¬áºá½¿   αá¡∞ΦÑ,   óáΦá   »α¿¬½áñ¡á∩   »α«úαá¼¼á
  4703.         «íαáΘáÑΓß∩ ß ß¿ßΓѼ¡«⌐ ß »«¼«Θ∞ε  «ñ¡«⌐  ¿½¿  í«½ÑÑ  ½«ú¿τÑ߬¿σ
  4704.         »á½¿Γα.  ï«ú¿τÑ߬á∩  »á½¿Γαá  -  φΓ«  «íΩÑ¬Γ GDI,  «»αÑñѽ∩εΘ¿⌐
  4705.         µóÑΓá,  ß »«¼«Θ∞ε ¬«Γ«αδσ íπñÑΓ »α«¿ºó«ñ¿Γ∞ß∩ óδó«ñ ó ¬«¡ΓѬßΓÑ
  4706.         πßΓα«⌐ßΓóá.  èáªñδ⌐  φ½Ñ¼Ñ¡Γ  ó  »á½¿ΓαÑ  ß«ñÑαª¿Γ «»αÑñѽѡ¡δ⌐
  4707.         µóÑΓ. çáΓѼ ó« óαѼ∩ óδ»«½¡Ñ¡¿∩ úαáΣ¿τÑ߬¿σ «»Ñαᵿ⌐ »α¿¬½áñ¡á∩
  4708.         »α«úαἼᠡѠ«»αÑñѽ∩ÑΓ µóÑΓ ∩ó¡δ¼ º¡áτÑ¡¿Ñ¼ RGB.  é¼ÑßΓ« φΓ«ú«
  4709.         óδ  ∩ó¡«  ¿½¿  ¡Ñ  ∩ó¡«   ¿ß»«½∞ºπÑΓÑ   »á½¿Γαπ.   Åα¿   »α∩¼«¼
  4710.         ¿ß»«½∞º«óá¡¿¿ óδ  «»αÑñѽ∩ÑΓÑ  µóÑΓ  ó  »á½¿ΓαÑ,  π¬áºδóá∩  Ñú«
  4711.         ¿¡ñѬߠó »á½¿ΓαÑ µóÑΓ«ó.  Åα¿  ¡Ñ»α∩¼«¼  ¼ÑΓ«ñÑ  óδ  π¬áºδóáÑΓÑ
  4712.         »á½¿Γα«-ºáó¿ß¿¼«Ñ º¡áτÑ¡¿Ñ RGB ΓᬠªÑ, ¬á¬ ¿ »α¿ ∩ó¡«¼ π¬áºá¡¿¿
  4713.         º¡áτÑ¡¿∩ RGB.  Å«½¡«ßΓ∞ε φΓ¿ ¼ÑΓ«ñδ «»¿ßá¡δ ó αáºñѽáσ  19.4.1,
  4714.         "ƒó¡«Ñ  «»αÑñѽѡ¿Ñ  µóÑΓ«ó  ó  »á½¿ΓαÑ",  ¿  19.4.2,  "ìÑ∩ó¡«Ñ
  4715.         «»αÑñѽѡ¿Ñ µóÑΓ«ó ó »á½¿ΓαÑ".
  4716.  
  4717.              è«úñá «¬¡«  ΓαÑíπÑΓ  «Γ  ß¿ßΓÑ¼δ  ¿ß»«½∞º«óá¡¿∩  µóÑΓá  ¿º
  4718.         ½«ú¿τÑ߬«⌐ »á½¿Γαδ   «¬¡á   (»α«µÑßß  ¡áºδóáÑΓß∩  "αÑ὿ºáµ¿Ñ⌐"
  4719.         ½«ú¿τÑ߬«⌐ »á½¿Γαδ),  Windows  ó  ¡áτá½Ñ  ßαáó¡¿óáÑΓ   φ½Ñ¼Ñ¡Γδ
  4720.         ½«ú¿τÑ߬«⌐ »á½¿Γαδ ß ΓѬπΘ¿¼¿ φ½Ñ¼Ñ¡ΓἿ ß¿ßΓѼ¡«⌐ »á½¿Γαδ.
  4721.  
  4722.              àß½¿ Γ«τ¡«Ñ ß«ó»áñÑ¡¿Ñ ñá¡¡«ú« φ½Ñ¼Ñ¡Γá ½«ú¿τÑ߬«⌐ »á½¿Γαδ
  4723.         ¡Ñ󫺼«ª¡«, Windows  ºá¡«ß¿Γ  φ½Ñ¼Ñ¡Γ  ½«ú¿τÑ߬«⌐   »á½¿Γαδ   ó
  4724.         ¡Ñ¿ß»«½∞ºπѼδ⌐ φ½Ñ¼Ñ¡Γ ß¿ßΓѼ¡«⌐ »á½¿Γαδ.
  4725.  
  4726.              Å«ß½Ñ Γ«ú«, ¬á¬ íπñπΓ ºáñÑ⌐ßΓó«óá¡δ óßÑ φ½Ñ¼Ñ¡Γδ ß¿ßΓѼ¡«⌐
  4727.         »á½¿Γαδ, Windows   ¿ΘÑΓ   ¼á¬ß¿¼á½∞¡«Ñ   ß«ó»áñÑ¡¿Ñ   φ½Ñ¼Ñ¡Γ«ó
  4728.         ½«ú¿τÑ߬«⌐ »á½¿Γαδ  ß  φ½Ñ¼Ñ¡ΓἿ  ß¿ßΓѼ¡«⌐  »á½¿Γαδ.  Windows
  4729.         «Γñѽ∞¡« πßΓá¡áó½¿óáÑΓ  20  ßΓáΓ¿τÑ߬¿σ  µóÑΓ«ó   ó   ß¿ßΓѼ¡«⌐
  4730.         »á½¿ΓαÑ, τΓ«íδ  ¿ß»«½∞º«óáΓ∞  ¿σ  »α¿ Γᬫ¼ ßαáó¡Ñ¡¿¿.
  4731.  
  4732.              Windows óßÑúñá πñ«ó½ÑΓó«α∩ÑΓ ó ¡áτá½Ñ ºá»α«ßδ µóÑΓ«ó,  φΓ«
  4733.         »«ºó«½∩ÑΓ á¬Γ¿ó¡«¼π «¬¡π ¿¼ÑΓ∞ ½πτΦÑÑ «Γ«íαáªÑ¡¿Ñ  µóÑΓ«ó.  ä½∩
  4734.         «ßΓáóΦ¿σß∩ «¬«¡  Windows  πñ«ó½ÑΓó«α∩ÑΓ  ºá»α«ß  ß¡áτá½á  «¬¡á,
  4735.         »«ß½Ññ¡Ñú« «¬¡á ¿¼ÑóΦÑú« ºáσóáΓ óó«ñá, ºáΓѼ ß½ÑñπεΘÑú«, ¿ Γ.ñ.
  4736.  
  4737.        Windows 3.0/pg/3#3                                        = 91 =
  4738.  
  4739.         É¿ßπ¡«¬ 19.1 ¿½½εßΓα¿απÑΓ φëà»α«µÑßß.
  4740.              É¿ßπ¡«¬ 19.1  æ¿ßΓѼ¡á∩ »á½¿Γαá ¿ ½«ú¿τÑ߬¿Ñ »á½¿Γαδ.
  4741.              1. æ¿ßΓѼ¡á∩ »á½¿Γαá.
  4742.              2. ï«ú¿τÑ߬á∩ »á½¿Γαá 1 (Ç¬Γ¿ó¡«Ñ «¬¡«).
  4743.              3. ï«ú¿τÑ߬á∩ »á½¿Γαá 2.
  4744.  
  4745.              ÅαÑñßΓáó½Ñ¡¡δ⌐ ¡á α¿ßπ¡¬Ñ  19.1  ñ¿ß»½Ñ⌐  ¿¼ÑÑΓ  ß¿ßΓѼ¡πε
  4746.         »á½¿Γαπ, ß»«ß«í¡πε «Γ«íαáªáΓ∞ 12 µóÑΓ«ó.  Åਪ½áñ¡á∩ »α«úαá¼¼á,
  4747.         ß«ºñáóΦá∩ ½«ú¿τÑ߬πε »á½¿Γαπ 1, ó½áñÑÑΓ á¬Γ¿ó¡δ¼ «¬¡«¼ ¿ »Ñαóá∩
  4748.         αÑ὿ºπÑΓ  ½«ú¿τÑ߬πε »á½¿Γαπ.  ï«ú¿τÑ߬á∩ »á½¿Γαá 1 ß«ßΓ«¿Γ ¿º
  4749.         ó«ß∞¼¿ µóÑΓ«ó.  ï«ú¿τÑ߬«⌐ »á½¿Γα«⌐  2  ó½áñÑÑΓ  «¬¡«,  ¬«Γ«α«Ñ
  4750.         αÑ὿ºπÑΓ   ßó«ε   ½«ú¿τÑ߬πε  »á½¿Γαπ,  ¬«úñá  «¡«  ¡Ñá¬Γ¿ó¡«.
  4751.         ï«ú¿τÑ߬á∩ »á½¿Γαá 2 ß«ñÑαª¿Γ ñÑó∩Γ∞ µóÑΓ«ó.
  4752.  
  4753.              Å«ß¬«½∞¬π «¬¡«, ¬«Γ«α«¼π »α¿¡áñ½Ñª¿Γ ½«ú¿τÑ߬á∩ »á½¿Γαá 1,
  4754.         á¬Γ¿ó¡«,  Γ« óßÑ µóÑΓá ½«ú¿τÑ߬«⌐ »á½¿Γαδ ¡á»α∩¼πε «Γ«íαáªáεΓß∩
  4755.         ó ß¿ßΓѼ¡πε »á½¿Γαπ.
  4756.  
  4757.              Æα¿ µóÑΓá ½«ú¿τÑ߬«⌐ »á½¿Γαδ 2:  1, 3 ¿ 5 ¿ñÑ¡Γ¿τ¡δ µóÑΓá¼
  4758.         ó   ß¿ßΓѼ¡«⌐   »á½¿ΓαÑ.   è«úñá  óΓ«αá∩  »α¿¬½áñ¡á∩  »α«úαá¼¼á
  4759.         αÑ὿ºπÑΓ ½«ú¿τÑ߬πε »á½¿Γαπ,  Windows  »α«ßΓ«  «Γ«íαáªáÑΓ  φΓ¿
  4760.         µóÑΓá  ¡á  µóÑΓá  ß¿ßΓѼ¡«⌐  »á½¿Γαδ,  τΓ«íδ  ß«σαá¡¿Γ∞  ¼ÑßΓ«.
  4761.         Å«ß¬«½∞¬π µóÑΓá 0, 2, 4 ¿ 6 ¡Ñ ß«ñÑαªáΓ∞ß∩ ó ß¿ßΓѼ¡«⌐ »á½¿ΓαÑ,
  4762.         Windows «Γ«íαáªáÑΓ ¿σ ó ß¿ßΓѼ¡πε »á½¿Γαπ.
  4763.  
  4764.              ûóÑΓá 7  ¿  8  ó ½«ú¿τÑ߬«⌐ »á½¿ΓαÑ 2 Γ«τ¡« ¡Ñ ß«ó»áñáεΓ ß
  4765.         µóÑΓἿ ß¿ßΓѼ¡«⌐  »á½¿Γαδ.  ì«,  Γ.¬.  ß¿ßΓѼ¡á∩  »á½¿Γαá  πªÑ
  4766.         ºá»«½¡Ñ¡á, Windows  ¡Ñ  ¼«ªÑΓ  «Γ«íαếΓ∞ φΓ¿ µóÑΓá ó ß¿ßΓѼ¡πε
  4767.         »á½¿Γαπ. Å«φΓ«¼π Windows ¿ΘÑΓ ñ½∩ ¡¿σ ¡á¿í«½ÑÑ »«ñσ«ñ∩Θ¿Ñ µóÑΓá
  4768.         ó ß¿ßΓѼ¡«⌐ »á½¿ΓαÑ.
  4769.                                                                                
  4770.             19.3  æ«ºñá¡¿Ñ ¿ ¿ß»«½∞º«óá¡¿Ñ ½«ú¿τÑ߬«⌐ »á½¿Γαδ.
  4771.  
  4772.              ä½∩ Γ«ú«,    τΓ«íδ    ¿ß»«½∞º«óáΓ∞   ½«ú¿τÑ߬πε   »á½¿Γαπ,
  4773.         »α¿¬½áñ¡á∩ »α«úαá¼¼á ñ«½ª¡á óδ»«½¡¿Γ∞ ß½ÑñπεΘ¿Ñ ñÑ⌐ßΓó¿∩:
  4774.  
  4775.              1. æ«ºñáΓ∞  ßΓαπ¬Γπαπ   ñá¡¡δσ   LOGPALETTE,   «»¿ßδóáεΘπε
  4776.                 ½«ú¿τÑ߬πε »á½¿Γαπ.
  4777.  
  4778.              2. æ«ºñáΓ∞ ßá¼π »á½¿Γαπ.
  4779.  
  4780.              3. éδíαáΓ∞ »á½¿Γαπ ó ¬«¡ΓѬßΓÑ πßΓα«⌐ßΓóá.
  4781.  
  4782.              4. ÉÑ὿º«óáΓ∞ »á½¿Γαπ.
  4783.  
  4784.              é ß½ÑñπεΘ¿σ αáºñѽáσ «»¿ßá¡«, ¬á¬ φΓ« ßñѽáΓ∞.
  4785.                         19.3.1  æ«ºñá¡¿Ñ ßΓαπ¬Γπαδ ñá¡¡δσ LOGPALETTE.          
  4786.  
  4787.              æΓαπ¬Γπαá ñá¡¡δσ  «»¿ßδóáÑΓ  ¿ß»«½∞ºπѼπε  óἿ ½«ú¿τÑ߬πε
  4788.         »á½¿Γαπ. Ä¡á ß«ñÑনΓ:
  4789.  
  4790.              - ì«¼Ñα óÑαß¿¿ Windows (ñ½∩ Windows 3.0 φΓ« 300ì).
  4791.  
  4792.        Windows 3.0/pg/3#3                                        = 92 =
  4793.  
  4794.  
  4795.              - ù¿ß½« φ½Ñ¼Ñ¡Γ«ó ó »á½¿ΓαÑ.
  4796.  
  4797.              - îáßß¿ó ßΓαπ¬Γπα PALETTEENTRY, ¬áªñá∩ ¿º ¬«Γ«αδσ ß«ñÑনΓ
  4798.                «ñ¡«íá⌐Γ«ó«Ñ º¡áτÑ¡¿Ñ  ñ½∩  ¬αáß¡«ú«,  ºÑ½Ñ¡«ú« ¿ ß¿¡Ñú«
  4799.                µóÑΓá,  ¿  íá⌐Γ  Σ½áú«ó.  üá⌐Γ  Σ½áú«ó  ¼«ªÑΓ  ß«ñÑαªáΓ∞
  4800.                ß½ÑñπεΘ¿Ñ º¡áτÑ¡¿∩:
  4801.  
  4802.                - PC_EXPLICIT
  4803.  
  4804.                - PC_RESERVED
  4805.  
  4806.              ö½áú PC_EXPLICIT ß««íΘáÑΓ Windows,  τΓ« φ½Ñ¼Ñ¡Γ »á½¿Γαδ ¡Ñ
  4807.         ß«ñÑαª¿Γ º¡áτÑ¡¿⌐ µóÑΓá.  é¼ÑßΓ« φΓ«ú«,  ¼½áñΦÑÑ ß½«ó« φ½Ñ¼Ñ¡Γá
  4808.         ∩ó½∩ÑΓß∩ ¿¡ñѬ߫¼   φ½Ñ¼Ñ¡Γá  ó  ß¿ßΓѼ¡«⌐  »á½¿ΓαÑ.  ìá»α¿¼Ñα,
  4809.         »α¿¼Ñα »α«úαá¼¼δ  MyPal  óδó«ñ¿Γ  ΓѬπΘÑÑ  ß«ßΓ«∩¡¿Ñ  ß¿ßΓѼ¡«⌐
  4810.         »á½¿Γαδ. MyPal  ¡Ñ  «»αÑñѽ∩ÑΓ  µóÑΓá  ó  φ½Ñ¼Ñ¡Γáσ  ½«ú¿τÑ߬«⌐
  4811.         »á½¿Γαδ. é¼ÑßΓ« φΓ«ú« MyPal,  »«½∞ºπ∩ß∞ φΓ¿¼ Σ½áú«¼  ¿ß»«½∞ºπÑΓ
  4812.         ñ½∩ α¿ß«óá¡¿∩ µóÑΓá ó ß¿ßΓѼ¡«⌐ »á½¿ΓαÑ.
  4813.  
  4814.              Åਪ½áñ¡á∩ »α«úαá¼¼á πßΓá¡áó½¿óáÑΓ Σ½áú PC_RESERVED, ¬«úñá
  4815.         «¡ ß«í¿αáÑΓß∩ «ª¿ó½∩Γ∞ φ½Ñ¼Ñ¡Γ  (Γ.Ñ.  ñ¿¡á¼¿τÑ߬¿  ¿º¼Ñ¡∩Γ∞  ß
  4816.         »«¼«Θ∞ε Σπ¡¬µ¿¿  AnimatePalette).  æ  »«¼«Θ∞ε  φΓ«ú«  Σ½áúá  óδ
  4817.         »αÑñ«ΓóαáΘáÑΓÑ »«»δΓ¬¿   Windows   «Γ«íαếΓ∞   µóÑΓá    ñαπú¿σ
  4818.         ½«ú¿τÑ߬¿σ »á½¿Γα ¡á φëàµóÑΓ, ¬«úñá «¡ «Γ«íαáªÑ¡ ¡á ß¿ßΓѼ¡πε
  4819.         »á½¿Γαπ.
  4820.  
  4821.              é »α«úαἼѠ  ShowDIB   ßΓαπ¬Γπαá   LOGPALETTE   ß«ºñáÑΓß∩
  4822.         ß½ÑñπεΘ¿¼ «íαẫ¼:
  4823.  
  4824.              #define PALETTESIZE 256
  4825.                 .
  4826.                 .
  4827.                 .
  4828.              pLogPal = (NPLOGPALETTE) LocalAlloc( LMEM_FIXED,
  4829.                                 (sizeof(LOGPALETTE) +
  4830.                                 (sizeof(PALETTEENTRY)*(MAXPALETTE))));
  4831.  
  4832.              ShowDIB ¿¡¿µ¿á½¿º¿απÑΓ  »á½¿Γαπ  ¡á 256 µóÑΓ«ó,  «ñ¡á¬« óδ
  4833.         ¼«ªÑΓÑ ¿¼ÑΓ∞ »á½¿Γαπ ½εí«ú« αẼÑαá.
  4834.  
  4835.              ShowDIB ºá»«½¡∩ÑΓ  φ½Ñ¼Ñ¡Γδ  »á½¿Γαδ,  «Γ¬αδóá∩  αáßΓα«óπε
  4836.         ¬áαΓπ  (.BMP)  ¿  ¬«»¿απ∩  º¡áτÑ¡¿∩  µóÑΓ«ó ¿º ßΓαπ¬Γπαδ ñá¡¡δσ
  4837.         BITMAPINFO ó ß««ΓóÑΓßΓóπεΘ¿Ñ φ½Ñ¼Ñ¡Γδ »á½¿Γαδ:
  4838.  
  4839.              HPALETTE CreateBIPalette (lpbi)
  4840.              LPBITMAPINFOHEADER lpbi;
  4841.              {
  4842.                  LOGPALETTE          *pPal;
  4843.                  HPALETTE            hpal = NULL;
  4844.                  WORD                nNumColors;
  4845.                  BYTE                red;
  4846.                  BYTE                green;
  4847.  
  4848.        Windows 3.0/pg/3#3                                        = 93 =
  4849.  
  4850.                  BYTE                blue;
  4851.                  int                 i;
  4852.                  RGBQUAD        FAR *pRgb;
  4853.  
  4854.                  if (!lpbi)
  4855.                      return NULL;
  4856.  
  4857.                  if (lpbi->biSize != sizeof(BITMAPINFOHEADER))
  4858.                      return NULL;
  4859.  
  4860.                  /* Å«½πτ¿Γ∞ π¬áºáΓѽ∞ Γáí½¿µδ µóÑΓ«ó ¿ τ¿ß½« µóÑΓ«ó ó
  4861.                     ¡Ñ⌐ */
  4862.                  pRgb = (RGBQUAD FAR *)((LPSTR)lpbi + (WORD)lpbi->biSize);
  4863.                  nNumColors = DibNumColors(lpbi);
  4864.  
  4865.                  if (nNumColors){
  4866.                      /* éδñѽ¿Γ∞ ¼ÑßΓ« »«ñ ½«ú¿τÑ߬πε »á½¿Γαπ */
  4867.                      pPal = (LOGPALETTE*)LocalAlloc(LPTR,
  4868.                   sizeof(LOGPALETTE) + nNumColors * sizeof(PALETTEENTRY));
  4869.                      if (!pPal)
  4870.                          return NULL;
  4871.  
  4872.                      pPal->palNumEntries = nNumColors;
  4873.                      pPal->palVersion    = PALVERSION;
  4874.  
  4875.                      /* çừ½¡¿Γ∞ »á½¿Γαπ µóÑΓἿ ¿º Γáí½¿µδ µóÑΓ«ó DIB
  4876.                       * ¿ ß«ºñáΓ∞ ½«ú¿τÑ߬πε »á½¿Γαπ
  4877.                       */
  4878.                      for (i = 0; i < nNumColors; i++){
  4879.                          pPal->palPalEntry[i].peRed   = pRgb[i].rgbRed;
  4880.                          pPal->palPalEntry[i].peGreen = pRgb[i].rgbGreen;
  4881.                          pPal->palPalEntry[i].peBlue  = pRgb[i].rgbBlue;
  4882.                          pPal->palPalEntry[i].peFlags = (BYTE)0;
  4883.                      }
  4884.                      hpal = CreatePalette(pPal);
  4885.                      LocalFree((HANDLE)pPal);
  4886.                  }
  4887.                  else if (lpbi->biBitCount == 24){
  4888.                      /* ìÑΓ Γáí½¿µδ µóÑΓ«ó, »«φΓ«¼π πßΓá¡«ó¿Γ∞ ¿σ τ¿ß½«
  4889.                       * ó ¼á¬ß¿¼π¼ (256)
  4890.                      */
  4891.                      nNumColors = MAXPALETTE;
  4892.                      pPal = (LOGPALETTE*)LocalAlloc(LPTR,
  4893.                sizeof(LOGPALETTE) + nNumColors * sizeof(PALETTEENTRY));
  4894.                      if (!pPal)
  4895.                          return NULL;
  4896.  
  4897.                      pPal->palNumEntries = nNumColors;
  4898.                      pPal->palVersion    = PALVERSION;
  4899.  
  4900.                      red = green = blue = 0;
  4901.  
  4902.                      /* æúÑ¡Ñα¿α«óáΓ∞ 256 (= 8*8*4) ¬«¼í¿¡áµ¿⌐ RGB ñ½∩
  4903.  
  4904.        Windows 3.0/pg/3#3                                        = 94 =
  4905.  
  4906.                       * ºá»«½¡Ñ¡¿∩ φ½Ñ¼Ñ¡Γ«ó
  4907.                       */
  4908.                      for (i = 0; i < pPal->palNumEntries; i++){
  4909.                          pPal->palPalEntry[i].peRed   = red;
  4910.                          pPal->palPalEntry[i].peGreen = green;
  4911.                          pPal->palPalEntry[i].peBlue  = blue;
  4912.                          pPal->palPalEntry[i].peFlags = (BYTE)0;
  4913.  
  4914.                          if (!(red += 32))
  4915.                              if (!(green += 32))
  4916.                                  blue += 64;
  4917.                      }
  4918.                      hpal = CreatePalette(pPal);
  4919.                      LocalFree((HANDLE)pPal);
  4920.                  }
  4921.                  return hpal;
  4922.              }
  4923.  
  4924.              é¡áτá½Ñ, ñ½∩  «»αÑñѽѡ¿∩  τ¿ß½á  µóÑΓ«ó ó Γáí½¿µÑ ShowDIB
  4925.         óδºδóáÑΓ Σπ¡¬µ¿ε  DibNumColors.  àß½¿  Γáí½¿µá  µóÑΓ«ó  ¿¼ÑÑΓß∩
  4926.         (Γ.Ñ. Ñß½¿ »«½Ñ biClrUsed ¡Ñ αáó¡« 0 ¿ biBitCount ¡Ñ αáó¡« 24),
  4927.         «¡á ¬«»¿απÑΓ  º¡áτÑ¡¿∩  RGBQUAD  ¿º  ¬áªñ«ú«   »«½∩   bmiColors
  4928.         ßΓαπ¬Γπαδ BITMAPINFO ó ß««ΓóÑΓßΓóπεΘ¿⌐ φ½Ñ¼Ñ¡Γ »á½¿Γαδ. ShowDIB
  4929.         ß«ºñáÑΓ »á½¿Γαπ  ¿º  256  φ½Ñ¼Ñ¡Γ«ó,  ß«ñÑαªáΘÑ⌐  »«½¡δ⌐  ¡áí«α
  4930.         µóÑΓ«ó. Åα¿  óδó«ñÑ  αáßΓα«óδσ  ¬áαΓ  Windows  «Γ«íαáªáÑΓ µóÑΓá
  4931.         αáßΓα«ó«⌐ ¬áαΓδ ¡á µóÑΓá ó φΓ«⌐ »á½¿ΓαÑ.
  4932.                                                                                
  4933.                    19.3.2  æ«ºñá¡¿Ñ ½«ú¿τÑ߬«⌐ »á½¿Γαδ.
  4934.  
  4935.              Å«ß½Ñ Γ«ú«,  ¬á¬ »α¿¬½áñ¡á∩  »α«úαἼᠠ߫ºñá½á  ßΓαπ¬Γπαπ
  4936.         LOGPALETTE, ¡Ñ«íσ«ñ¿¼«  ß«ºñáΓ∞  ½«ú¿τÑ߬πε  »á½¿Γαπ  ß »«¼«Θ∞ε
  4937.         Σπ¡¬µ¿¿ CreatePalette:
  4938.  
  4939.              hPal = CreatePalette((LPSTR)pLogPal);
  4940.  
  4941.              öπ¡¬µ¿∩ CreatePalette »«½πτáÑΓ  ó  ¬áτÑßΓóÑ  Ññ¿¡ßΓóÑ¡¡«ú«
  4942.         »áαá¼ÑΓαá ñá½∞¡¿⌐   π¬áºáΓѽ∞   ¡á   ßΓαπ¬Γπαπ   LOGPALETTE   ¿
  4943.         ó«ºóαáΘáÑΓ ñÑß¬α¿»Γ«α »á½¿Γαδ (HPALETTE).
  4944.                         19.3.3  éδí«α »á½¿Γαδ ó ¬«¡ΓѬßΓÑ πßΓα«⌐ßΓóá.          
  4945.  
  4946.              ä½∩ Γ«ú«,  τΓ«íδ ¿ß»«½∞º«óáΓ∞ ½«ú¿ß¬πε »á½¿Γαπ,  ÑÑ ¬á¬  ¿
  4947.         ½εí«⌐   ñαπú«⌐   «íΩÑ¬Γ  GDI  ¡Ñ«íσ«ñ¿¼«  óδíαáΓ∞  ó  ¬«¡ΓѬßΓÑ
  4948.         πßΓα«⌐ßΓóá. Äíδτ¡« φΓ« ñѽáÑΓß∩ ß »«¼«Θ∞ε Σπ¡¬µ¿¿ SelectObject.
  4949.         Äñ¡á¬«,  Γ.¬.  SelectObject  ¡Ñ  αáß»«º¡áÑΓ  ó ¬áτÑßΓóÑ «íΩѬΓá
  4950.         »á½¿Γαπ,  Γ« ñ½∩ óδí«αᠻ὿Γαδ óδ ñ«½ª¡δ óδíαáΓ∞ ÑÑ ß  »«¼«Θ∞ε
  4951.         Σπ¡¬µ¿¿ SelectPalette:
  4952.  
  4953.              hDC = GetDC(hWnd);
  4954.              SelectPalette(hDC,hPal,0);
  4955.  
  4956.              ¥Γ¿¼ óδ ßó∩ºδóáÑΓÑ  »á½¿Γαπ  ß  ¬«¡ΓѬßΓ«¼  πßΓα«⌐ßΓóá,  ¿
  4957.         Γ.«., óßÑ ßß佬¿ ¡á »á½¿Γαπ (ΓᬿѠ¬á¬ ¿¡ñѬߠφ½Ñ¼Ñ¡Γᠻ὿Γαδ,
  4958.  
  4959.        Windows 3.0/pg/3#3                                        = 95 =
  4960.  
  4961.         »«ßδ½áѼδ⌐ Σπ¡¬µ¿¿ GDI ó¼ÑßΓ« µóÑΓá) íπñπΓ ¡á»αáó½Ñ¡δ ó  ñá¡¡πε
  4962.         »á½¿Γαπ.
  4963.  
  4964.              ä½∩ πñá½Ñ¡¿∩  «íΩѬΓá  ½«ú¿τÑ߬«⌐  »á½¿Γαδ  óδ ¿ß»«½∞ºπÑΓÑ
  4965.         Σπ¬¡µ¿ε DeleteObject.
  4966.  
  4967.              Å«ß¬«½∞¬π »á½¿Γαá  ¡Ñºáó¿ß¿¼á  «Γ  ¬«¡¬αÑΓ¡«ú«   ¬«¡ΓѬßΓá
  4968.         πßΓα«⌐ßΓóá, «¡á  ¼«ªÑΓ αáºñѽ∩Γ∞ß∩ ¡Ñ߬«½∞¬¿¼¿ «¬¡á¼¿.  Äñ¡á¬«,
  4969.         ¬«úñá »α¿¬½áñ¡á∩  »α«úαἼᠠóδí¿αáÑΓ   »á½¿Γαπ   ó   ¬«¡ΓѬßΓÑ
  4970.         πßΓα«⌐ßΓóá Windows ¡Ñ ß«ºñáÑΓ ÑÑ ¬«»¿ε, ¿, ß½Ññ«óáΓѽ∞¡«, ½εíδÑ
  4971.         ¿º¼Ñ¡Ñ¡¿∩  »á½¿Γαδ  íπñπΓ  ó½¿∩Γ∞  ¡á  ¬«¡ΓѬßΓ  πßΓα«⌐ßΓóá,  ó
  4972.         ¬«Γ«α«¼   óδíαá¡á   ñá¡¡á∩   »á½¿Γαá.  Æá¬ªÑ,  Ñß½¿  »α¿¬½áñ¡á∩
  4973.         »α«úαἼᠠóδíαá½á  »á½¿Γαπ  í«½ÑÑ  τѼ   ó   «ñ¡«¼   ¬«¡ΓѬßΓÑ
  4974.         πßΓα«⌐ßΓóá,  φΓ¿ ¬«¡ΓѬßΓδ ñ«½ª¡δ «Γ¡«ß¿Γ∞ß∩ ¬ «ñ¡«¼π ¿ Γ«¼π ªÑ
  4975.         πßΓα«⌐ßΓóπ (Γᬫ¼π ¬á¬ ñ¿ß»½Ñ⌐ ¿½¿  »α¿¡ΓÑα).  é«  óßÑσ  ñαπú¿σ
  4976.         «Γ¡«ΦÑ¡¿∩σ »á½¿Γαá á¡á½«ú¿τ¡á ½εí«¼π ñαπú«¼π «íΩѬΓπ Windows.
  4977.                                                                                
  4978.                         19.3.4  ÉÑ὿ºáµ¿∩ »á½¿Γαδ.
  4979.  
  4980.              Å«ß½Ñ Γ«ú«,  ¬á¬  »α¿¬½áñ¡á∩  »α«úαἼᠠóδíαá½á »á½¿Γαπ ó
  4981.         ¬«¡ΓѬßΓÑ πßΓα«⌐ßΓóá,  »ÑαÑñ ÑÑ  ¿ß»«½∞º«ó᡿Ѽ  ÑÑ  ¡Ñ«íσ«ñ¿¼«
  4982.         αÑ὿º«óáΓ∞:
  4983.  
  4984.              RealizePalette(hDC);
  4985.  
  4986.              Åα¿ ó맮óÑ   φΓ«⌐   Σπ¡¬µ¿¿  Windows  ßαáó¡¿óáÑΓ  µóÑΓá  ó
  4987.         ß¿ßΓѼ¡«⌐ »á½¿ΓαÑ  ß   µóÑΓἿ   ó   ½«ú¿τÑ߬«⌐,   πßΓá¡áó½¿óá∩
  4988.         ß««ΓóÑΓßΓó¿Ñ ¼Ñªñπ   ß«ó»áñáεΘ¿¼¿.  àß½¿  ó  ß¿ßΓѼ¡«⌐  »á½¿ΓαÑ
  4989.         ¿¼ÑÑΓß∩ ¼ÑßΓ«,  Windows «Γ«íαáªáÑΓ ó ¡ÑÑ ¡Ñß«ó»áñáεΘ¿Ñ µóÑΓá. ê
  4990.         Ñß½¿ ó  ß¿ßΓѼ¡«⌐  »á½¿ΓαÑ  «ßΓ὿ß∞  µóÑΓá,  ¡Ñ«Γ«íαáªÑ¡¡δÑ  ó
  4991.         ß¿ßΓѼ¡πε ¿ ¡Ñ ß«ó»áñáεΘ¿Ñ ß µóÑΓἿ ß¿ßΓѼ¡«⌐ »á½¿ΓαÑ, Windows
  4992.         ¡áσ«ñ¿Γ ñ½∩ ¡¿σ ó ß¿ßΓѼ¡«⌐ »á½¿ΓαÑ ¡á¿í«½ÑÑ í½¿º¬¿Ñ.
  4993.                                                                                
  4994.              19.4  É¿ß«óá¡¿Ñ ß ¿ß»«½∞º«ó᡿Ѽ µóÑΓ«ó »á½¿Γαδ.
  4995.  
  4996.              Å«ß½Ñ Γ«ú«,  ¬á¬ ½«ú¿τÑ߬á∩ »á½¿Γαá ó »α¿¬½áñ¡«⌐ »α«úαá¼¼Ñ
  4997.         íδ½á ß«ºñá¡á,  óδíαá¡á ó ¬«¡ΓѬßΓÑ πßΓα«⌐ßΓóá ¿ αÑ὿º«óá¡á, ÑÑ
  4998.         ¼«ª¡« ¿ß»«½∞º«óáΓ∞   ñ½∩   π»αáó½Ñ¡¿∩   µóÑΓἿ,  ¿ß»«½∞ºπÑ¼δ¼¿
  4999.         Σπ¡¬µ¿∩¼¿ GDI  ñ½∩  α¿ß«óá¡¿∩   ó¡πΓα¿   «í½áßΓ¿   »«½∞º«óáΓѽ∩
  5000.         πßΓα«⌐ßΓóá. ä½∩  Σπ¡¬µ¿⌐,  ΓαÑíπεΘ¿σ  π¬áºá¡¿∩  µóÑΓá (¡á»α¿¼Ñα
  5001.         CreatePen ¿½¿ CreateSolidBrush),  óδ ∩ó¡« ¿½¿ ¡Ñ∩ó¡« π¬áºδóáÑΓÑ
  5002.         ¬á¬«⌐ µóÑΓ »á½¿Γαδ ¿ß»«½∞º«óáΓ∞.
  5003.                           19.4.1  Åα∩¼«Ñ «»αÑñѽѡ¿Ñ µóÑΓ«ó Γáí½¿µδ.           
  5004.  
  5005.              Åα¿ ¿ß»«½∞º«óá¡¿¿   »α∩¼«ú«   ¼ÑΓ«ñá   π¬áºá¡¿∩  µóÑΓá  ¿º
  5006.         »á½¿Γαδ óδ ó Σπ¡¬µ¿∩σ,  ΓαÑíπεΘ¿σ µóÑΓ,  ∩ó¡« π¬áºδóáÑΓÑ ¿¡ñѬß
  5007.         µóÑΓá ó  »á½¿ΓαÑ  ó¼ÑßΓ« ∩ó¡«ú« º¡áτÑ¡¿∩ RGB.  îá¬α««»αÑñѽѡ¿Ñ
  5008.         PALETTEINDEX »«½πτáÑΓ  µÑ½«Ñ  τ¿ß½«,  »αÑñßΓáó½∩εΘÑÑ  ¿¡ñѬߠ ó
  5009.         óáΦÑ⌐ ½«ú¿τÑ߬«⌐   »á½¿ΓαÑ,  ¿  ó«ºóαáΘáÑΓ  º¡áτÑ¡¿Ñ  COLORREF,
  5010.         ¬«Γ«α«Ñ  óδ  ¿ß»«½∞ºπÑΓÑ  ¬á¬  µóÑΓ,  «»αÑñѽѡ¡δ⌐  ñ½∩   Γᬿσ
  5011.         Σπ¡¬µ¿⌐.   ìá»α¿¼Ñα,   ñ½∩   ºá»«½¡Ñ¡¿∩  «í½áßΓ¿,  «úαá¡¿τÑ¡¡«⌐
  5012.         ºÑ½Ñ¡δ¼,  ß»½«Φ¡«⌐  ¬αáß¡«⌐  ¬¿ßΓ∞ε  óδ   ¼«ªÑΓÑ   ¿ß»«½∞º«óáΓ∞
  5013.  
  5014.        Windows 3.0/pg/3#3                                        = 96 =
  5015.  
  5016.         ß½ÑñπεΘπε »«ß½Ññ«óáΓѽ∞ß¡«ßΓ∞:
  5017.  
  5018.              pLogPal -> palPalEntry[5].pRed = 0xFF;
  5019.              pLogPal -> palPalEntry[5].pGreen = 0x00;
  5020.              pLogPal -> palPalEntry[5].pBlue  = 0x00;
  5021.              pLogPal -> palPalEntry[5].pFlags = (BYTE) 0;
  5022.  
  5023.              pLogPal -> palPalEntry[6].pRed = 0x00;
  5024.              pLogPal -> palPalEntry[6].pGreen = 0xFF;
  5025.              pLogPal -> palPalEntry[6].pBlue  = 0x00;
  5026.              pLogPal -> palPalEntry[6].pFlags = (BYTE) 0;
  5027.                 .
  5028.                 .
  5029.                 .
  5030.              hPal = CreatePalette((LPSTR)pLogPal);
  5031.              hDC  = GetDC(hWnd);
  5032.              SelectPalette(hDC,hPal,0);
  5033.              RealizePalette(hDC);
  5034.              lSolidBrushColor = PALETTEINDEX(5);
  5035.              lBoundaryColor   = PALETTEINDEX(5);
  5036.              hSolidBrush      = CreateSolidBrush(lSolidBrushColor);
  5037.              hOldSolidBrush   = SelectObject(hDC,hSolodBrush);
  5038.              hPen             = CreatePen(lBoundaryColor);
  5039.              hOldPen          = SelectObject(hDC,hPen);
  5040.              Rectangle(hDC,x1,y1,x2,y2);
  5041.  
  5042.              é φΓ«¼  Σαáú¼Ñ¡ΓÑ  óδ  ß««íΘáÑΓÑ  Windows,  τΓ« ¡Ñ«íσ«ñ¿¼«
  5043.         ¡áα¿ß«óáΓ∞ »α¿∩¼«πú«½∞¡¿¬ µóÑΓ«¼ ¡«¼Ñα 6 (ºÑ½Ñ¡δ⌐) ¿º »á½¿Γαδ ¿
  5044.         ºá»«½¡¿Γ∞ Ñú« µóÑΓ«¼ ¿º »á½¿Γαδ ß ¿¡ñѬ߫¼ 5 (¬αáß¡δ⌐).
  5045.  
  5046.              ìÑ«íσ«ñ¿¼« ºá¼ÑΓ¿Γ∞,   τΓ«   ¬¿ßΓ∞,  ß«ºñá¡¡á∩  ß  »«¼«Θ∞ε
  5047.         CreateSolidBrush, ¡Ñºáó¿ß¿¼á «Γ ½εí«ú« ¬«¡ΓѬßΓá πßΓα«⌐ßΓóá.  é
  5048.         αѺπ½∞ΓáΓÑ   µóÑΓ,  «»αÑñѽ∩Ѽδ⌐  »áαá¼ÑΓα«¼  lSolidBrushColor,
  5049.         ß«ñÑনΓß∩ ó ΦÑßΓ«¼ φ½Ñ¼Ñ¡ΓÑ óδíαá¡¡«⌐  ó  ¡áßΓ«∩Θ¿⌐  ¼«¼Ñ¡Γ  ó
  5050.         ¬«¡ΓѬßΓÑ  πßΓα«⌐ßΓóá  »á½¿Γαδ,  á  ¡Ñ  ó »α¿¬½áñ¡«⌐ »α«úαá¼¼Ñ,
  5051.         ¿ß»«½∞ºπεΘÑ⌐  ñá¡¡δ⌐  ¬«¡ΓѬßΓ.  éδí«α  ¿  «ßó«í«ªñÑ¡¿Ñ  ñαπú«⌐
  5052.         »á½¿Γαδ ¿ óδí«α ¬¿ßΓ¿ ß¡«óá ¿º¼Ñ¡∩Γ µóÑΓ ¬¿ßΓ¿.  Æá¬¿¼ «íαẫ¼,
  5053.         »α¿ ¿ß»«½∞º«óá¡¿¿ ½«ú¿τÑ߬«⌐ »á½¿Γαδ,  óá¼ ¡πª¡«  ß«ºñáΓ∞  ½¿Φ∞
  5054.         ¬¿ßΓ¿  ¬áªñ«ú«  ¿ß»«½∞ºπѼ«ú«  óἿ Γ¿»á (¡á»α¿¼Ñα ß»½«Φ¡δÑ ¿½¿
  5055.         óÑαΓ¿¬á½∞¡á∩ ΦΓα¿σ«ó¬á).  çáΓѼ óδ ¼«ªÑΓÑ ¿º¼Ñ¡¿Γ∞ µóÑΓ  ¬¿ßΓ¿,
  5056.         ¼Ñ¡∩∩  »á½¿Γαπ  ¿½¿ Γ«½∞¬« µóÑΓ ó »á½¿ΓαÑ,  ¿ß»«½∞ºπѼδ⌐ ¡πª¡«⌐
  5057.         óá¼ ¬¿ßΓ∞ε.
  5058.                          19.4.2  ìÑ»α∩¼«Ñ «»αÑñѽѡ¿Ñ µóÑΓ«ó »á½¿Γαδ.          
  5059.  
  5060.              êß»«½∞º«óá¡¿Ñ ¿¡ñѬ߫󠠠½«ú¿τÑ߬«⌐   »á½¿Γαδ    »«ºó«½∩ÑΓ
  5061.         »α¿¬½áñ¡«⌐ »α«úαἼѠ  «ßπΘÑßΓó¿Γ∞   ñÑ⌐ßΓó¿Γѽ∞¡«Ñ  π»αáó½Ñ¡¿Ñ
  5062.         «Γ«íαáªáÑ¼δ¼¿   µóÑΓἿ.   Äñ¡á¬«   φëà   ¼ÑΓ«ñ    ßΓá¡«ó¿Γß∩
  5063.         ¡Ñ»αá¬Γ¿τ¡δ¼   »α¿   αáí«ΓÑ   ß   πßΓα«⌐ßΓóἿ,  ¬«Γ«αδÑ  ¼«úπΓ
  5064.         «Γ«íαáªáΓ∞ 2^24 µóÑΓ«ó íѺ ß¿ßΓѼ¡«⌐ »á½¿Γαδ.  ìá  πßΓα«⌐ßΓóáσ,
  5065.         »«ññÑনóáεΘ¿σ »«½¡δÑ   24-í¿Γ«óδÑ  µóÑΓá,  ½«ú¿τÑ߬á∩  »á½¿Γαá
  5066.         «úαá¡¿τ¿óáÑΓ  τ¿ß½«  µóÑΓ«ó,  ¬«Γ«αδÑ  ¼«ªÑΓ  «Γ«íαáªáΓ∞   óáΦá
  5067.         »α«úαá¼¼á.  ìÑ»α∩¼«Ñ  ºáñá¡¿Ñ  µóÑΓ«ó  »á½¿Γαδ »«ºó«½∩ÑΓ «í«⌐Γ¿
  5068.  
  5069.        Windows 3.0/pg/3#3                                        = 97 =
  5070.  
  5071.         ñá¡¡«Ñ «úαá¡¿τÑ¡¿Ñ.
  5072.  
  5073.              ûóÑΓ »á½¿Γαδ   π¬áºδóáÑΓß∩   ¡Ñ∩ó¡«   »α¿    ¿ß»«½∞º«óá¡¿¿
  5074.         ºáó¿ß¿¼«ú« «Γ  »á½¿Γαδ  º¡áτÑ¡¿∩  RGB  COLORREF ó¼ÑßΓ« ¿¡ñѬßá.
  5075.         ç¡áτÑ¡¿Ñ RGB «Γ¡«ß¿Γѽ∞¡« »á½¿Γαδ - φΓ« 32-αáºα∩ñ¡«Ñ  º¡áτÑ¡¿Ñ,
  5076.         ó  ¬«Γ«α«¼  ó  ßΓáαΦѼ íá⌐ΓÑ πßΓá¡«ó½Ñ¡ í¿Γ 1,  ó ß½πτáÑ,  Ñß½¿
  5077.         «ßΓáóΦ¿Ñß∩ íá⌐Γδ »αÑñßΓáó½∩εΓ ß«í«⌐ º¡áτÑ¡¿∩ ¬αáß¡«ú«, ß¿¡Ñú« ¿
  5078.         ºÑ½Ñ¡«ú«  µóÑΓá.  îá¬α«¬«¼á¡ñá PALETTERGB »«½πτá∩ Γα¿ º¡áτÑ¡¿∩,
  5079.         »αÑñßΓáó½∩εΘ¿Ñ  ¿º  ßÑí∩  ¿¡Γѡ߿ó¡«ßΓ¿  ¬αáß¡«ú«,  ºÑ½Ñ¡«ú«  ¿
  5080.         ß¿¡Ñú«   µóÑΓ«ó,   ó«ºóαáΘáÑΓ  ºáó¿ß¿¼«Ñ  «Γ  »á½¿Γαδ  º¡áτÑ¡¿Ñ
  5081.         COLORREF, ¬«Γ«α«Ñ óδ ¼«ªÑΓÑ ¿ß»«½∞º«óáΓ∞ ¬á¬ ¿ ¿¡ñѬߠó »á½¿ΓαÑ
  5082.         ñ½∩ Σπ¡¬µ¿⌐, ΓαÑíπεΘ¿σ π¬áºá¡¿∩ µóÑΓá.
  5083.  
  5084.              Ä»αÑñѽ∩∩ ºáó¿ß¿¼δÑ   «Γ   »á½¿Γαδ   º¡áτÑ¡¿∩   RGB,  óáΦá
  5085.         »α¿¬½áñ¡á∩ »α«úαἼᠼ«ªÑΓ  α¿ß«óáΓ∞  ¡á  πßΓα«⌐ßΓóÑ  óδó«ñá  ß
  5086.         »«¼«Θ∞ε µóÑΓ«ó  »á½¿Γαδ,  ¡Ñ  «»αÑñѽ∩∩  Γ«ú«,  τΓ«  πßΓα«⌐ßΓó«
  5087.         »«ññÑনóáÑΓ ß¿ßΓѼ¡πε  »á½¿Γαπ.  ì¿ªÑ  »«¬áºá¡«,  ¬á¬  Windows
  5088.         ¿¡ΓÑα»αÑΓ¿απÑΓ ºáó¿ß¿¼«Ñ «Γ »á½¿Γαδ º¡áτÑ¡¿∩ RGB.
  5089.  
  5090.         ôßΓα«⌐ßΓó« »«ññÑনóáÑΓ     èᬠWindows ¿ß»«½∞ºπÑΓ ºáó¿ß¿¼«Ñ «Γ
  5091.         ß¿ßΓѼ¡πε »á½¿Γαπ           »á½¿Γαδ º¡áτÑ¡¿Ñ RGB
  5092.         ───────────────────────────────────────────────────────────────
  5093.         äá                          Windows ¡áσ«ñ¿Γ ó ½«ú¿τÑ߬«⌐ »á½¿ΓαÑ
  5094.                                     í½¿ªá⌐Φ¿⌐ µóÑΓ ¿ ¿ß»«½∞ºπÑΓ Ñú« Γá¬,
  5095.                                     ¬á¬ íπñΓ« φëàφ½Ñ¼Ñ¡Γ ó »α¿¬½áñ¡«⌐
  5096.                                     »α«úαἼѠ∩ó¡« «»αÑñѽѡ.
  5097.  
  5098.         ìÑΓ                         Windows ¿ß»«½∞ºπÑΓ º¡áτÑ¡¿Ñ RGB ºá-
  5099.                                     ó¿ß¿¼«Ñ «Γ »á½¿Γαδ, ¬á¬ Ñß½¿ íδ óδ
  5100.                                     π¬áºá½¿ ∩ó¡«Ñ º¡áτÑ¡¿Ñ RGB.
  5101.         ───────────────────────────────────────────────────────────────
  5102.  
  5103.              ÅαÑñ»«½«ª¿¼, ó   óáΦÑ⌐   »α¿¬½áñ¡«⌐   »α«úαἼѠ  ñѽáÑΓß∩
  5104.         ß½ÑñπεΘÑÑ:
  5105.  
  5106.              pLogPal -> palPalEntry[5].pRed = 0xFF;
  5107.              pLogPal -> palPalEntry[5].pGreen = 0x00;
  5108.              pLogPal -> palPalEntry[5].pBlue  = 0x00;
  5109.              CreatePalette((LPSTR)&pa);
  5110.              crRed = PALETTERGB(0xFF,0x00,0x00);
  5111.  
  5112.              àß½¿ πßΓα«⌐ßΓó«  »«ññÑনóáÑΓ ß¿ßΓѼ¡πε »á½¿Γαπ,  Γ« crRed
  5113.         íπñÑΓ φ¬ó¿óá½Ñ¡ΓÑ¡ ß½ÑñπεΘѼπ:
  5114.  
  5115.              crRed = PALETTEINDEX(5);
  5116.  
  5117.              Äñ¡á¬«, Ñß½¿  πßΓα«⌐ßΓó«   «Γ«íαáªÑ¡¿∩   ¡Ñ   »«ññÑনóáÑΓ
  5118.         ß¿ßΓѼ¡πε »á½¿Γαπ, Γ« crRed íπñÑΓ φ¬ó¿óá½Ñ¡Γ¡« ß½ÑñπεΘѼπ:
  5119.  
  5120.              crRed = RGB(0xFF,0x00,0x00);
  5121.  
  5122.              äáªÑ »α¿   ¿ß»«½∞º«óá¡¿¿   ½«ú¿τÑ߬«⌐  »á½¿Γαδ  »α¿¬½áñ¡á∩
  5123.         »α«úαἼᠼ«ªÑΓ ¿ß»«½∞º«óáΓ∞ ñ½∩ π¬áºá¡¿∩ µóÑΓá ∩ó¡«Ñ  º¡áτÑ¡¿Ñ
  5124.  
  5125.        Windows 3.0/pg/3#3                                        = 98 =
  5126.  
  5127.         RGB. é  φΓ«¼  ß½πτáÑ Windows «ßπΘÑßΓó½∩ÑΓ óδó«ñ ΓᬪÑ,  ¬á¬ ñ½∩
  5128.         »α«úαá¼¼, ¡Ñ ¿ß»«½∞ºπεΘ¿σ »á½¿Γαδ,  óδó«ñ∩  í½¿ªá⌐Φ¿⌐  µóÑΓ  ¿º
  5129.         »á½¿Γαδ, ¿ß»«½∞ºπѼ«⌐  »« π¼«½τá¡¿ε.  àß½¿ »α¿¬½áñ¡á∩ »α«úαá¼¼á
  5130.         ß«ºñáÑΓ ß»½«Φ¡πε ¬¿ßΓ∞ ß »«¼«Θ∞ε ∩ó¡«ú« ºáñá¡¿∩  º¡áτÑ¡¿⌐  RGB,
  5131.         Windows φ¼π½¿απÑΓ  ñá¡¡δ⌐  µóÑΓ,  óδó«ñ∩  Φáí½«¡,  ¿ß»«½∞ºπεΘ¿⌐
  5132.         µóÑΓᠻ὿Γαδ »« π¼«½τá¡¿ε.
  5133.                 19.4.3  êß»«½∞º«óá¡¿Ñ »á½¿Γαδ »α¿ óδó«ñÑ αáßΓα«óδσ ¬áαΓ.       
  5134.  
  5135.              èᬠ»«¬áºá¡« ó αáºñѽѠ19.3.1,  "櫺ñá¡¿Ñ ßΓαπ¬Γπαδ ñá¡¡δσ
  5136.         LOGPALETTE", á»»áαáΓ¡«-¡Ñºáó¿ß¿¼á∩    αáßΓα«óá∩   ¬áαΓá   ¼«ªÑΓ
  5137.         ¡á»α∩¼πε ¿ß»«½∞º«óáΓ∞ ΓѬπΘπε ½«ú¿τÑ߬πε »á½¿Γαπ ñ½∩ ºá»«½¡Ñ¡¿∩
  5138.         Γáí½¿µδ µóÑΓ«ó  ÑÑ ¿¡ñѬßἿ ó¼ÑßΓ« ∩ó¡δσ º¡áτÑ¡¿⌐ RGB.  çáΓѼ,
  5139.         »α¿  ß«ºñá¡¿¿  αáßΓα«ó«⌐  ¬áαΓδ  ß  »«¼«Θ∞ε  CreatDIBitmap  »α¿
  5140.         »«½πτÑ¡¿¿  í¿Γ  ¿º  αáßΓα«ó«⌐  ¬áαΓδ  ß »«¼«Θ∞ε GetDIBits,  »α¿
  5141.         πßΓá¡«ó¬Ñ í¿Γ αáßΓα«ó«⌐ ¬áαΓδ  ß  »«¼«Θ∞ε  SetDIBits,  ¿½¿  »α¿
  5142.         óδó«ñÑ    αáßΓα«ó«⌐   ¬áαΓδ   ¡Ñ»«ßαÑñßΓóÑ¡¡«   ¡á   πßΓα«⌐ßΓó«
  5143.         «Γ«íαáªÑ¡¿∩ ß »«¼«Θ∞ε SetDIBitsToDevice,  »α¿¬½áñ¡á∩  »α«úαá¼¼á
  5144.         »«ßδ½áÑΓ φΓ¿¼ Σπ¡¬µ¿∩¼ ó ¬áτÑßΓóÑ »áαá¼ÑΓαá Σ½áú,  «»αÑñѽ∩εΘ¿⌐
  5145.         τΓ« Γáí½¿µá µóÑΓ«ó ß«ñÑαª¿Γ  ¿¡ñѬßδ  ó  »á½¿ΓαÑ.  é  ß½ÑñπεΘѼ
  5146.         Σαáú¼Ñ¡ΓÑ  ¿º  »α«úαá¼¼δ  ShowDIB  »α«¿ßσ«ñ¿Γ πßΓá¡«ó¬á í¿Γ«ó ó
  5147.         ß«ºñá¡¡«⌐ ó »á¼∩Γ¿ αáßΓα«ó«⌐ ¬áαΓÑ:
  5148.  
  5149.         SetDIBits (hMemDC,hBitmap,0,
  5150.                   pBitmapInfo->bmciHeader.bcHeight,
  5151.                   pBuf, (LPBITMAPINFO)pBitmapInfo,
  5152.                   ((pBitmapInfo->bmciHeader.bcBitCount == 24) ?
  5153.                   DIB_RGB_COLORS :
  5154.                   DIB_PAL_COLORS));
  5155.  
  5156.              é ºáó¿ß¿¼«ßΓ¿  «Γ  Γ«ú«,  ¿ß»«½∞ºπÑΓ  ½¿  DIB 24-αáºα∩ñ¡δÑ
  5157.         µóÑΓá,  ShowDIB πßΓá¡áó½¿óáÑΓ »áαá¼ÑΓα wUsage ó  DIB_RGB_COLORS
  5158.         (ñ½∩ 24-αáºα∩ñ¡δσ)  ¿½¿  ó DIB_PAL_COLORS (ñ½∩ óßÑσ «ßΓá½∞¡δσ).
  5159.         DIB_RGB_COLORS ß««íΘáÑΓ Windows,  τΓ« »α¿  πßΓá¡«ó¬Ñ  µóÑΓ«ó  ó
  5160.         αáßΓα«ó«⌐ ¬áαΓÑ ¡Ñ«íσ«ñ¿¼« ¿ß»«½∞º«óáΓ∞ µóÑΓá ¿º Γáí½¿µδ µóÑΓ«ó
  5161.         ßΓαπ¬Γπαδ    BITMAPINFO.    àß½¿    »áαá¼ÑΓα    wUsage    αáóÑ¡
  5162.         DIB_PAL_COLORS,  Γ«  Windows  ¿¡ΓÑα»αÑΓ¿απÑΓ Γáí½¿µπ µóÑΓ«ó ¬á¬
  5163.         16-αáºα∩ñ¡δÑ ¿¡ñѬßδ ó ½«ú¿τÑ߬«⌐ »á½¿ΓαÑ ¿  ó  ß««ΓóÑΓßΓó¿¿  ß
  5164.         ¡¿¼¿  πßΓá¡áó½¿óáÑΓ  í¿Γδ  ó  αáßΓα«ó«⌐  ¬áαΓÑ,  ¡áσ«ñ∩ΘÑ⌐ß∩  ó
  5165.         »á¼∩Γ¿.
  5166.  
  5167.              àß½¿ ó¼ÑßΓ« ¿¡ñѬ߫ó Γáí½¿µá µóÑΓ«ó ó ßΓαπ¬ΓπαÑ BITMAPINFO
  5168.         ß«ñÑαª¿Γ ∩ó¡δÑ º¡áτÑ¡¿∩ RGB, Windows ¿ß»«½∞ºπÑΓ í½¿ªá⌐Φ¿Ñ ¬ ¡¿¼
  5169.         µóÑΓá ó ΓѬπΘÑ⌐ óδíαá¡¡«⌐ ½«ú¿τÑ߬«⌐ »á½¿ΓαÑ,  ΓᬠªÑ ¬á¬  ¿  ó
  5170.         ß½πτáÑ ß ºáó¿ß¿¼δ¼¿ «Γ »á½¿Γαδ RGB.
  5171.  
  5172.              Åα¿¼Ñτá¡¿Ñ: àß½¿    ¬«¡ΓѬßΓδ   πßΓα«⌐ßΓóá   ¿ßΓ«τ¡¿¬á   ¿
  5173.         πßΓα«⌐ßΓóᠡạáτÑ¡¿∩   ¿¼ÑεΓ   óδíαá¡¡δ¼¿   ¿   αÑ὿º«óá¡¡δ¼¿
  5174.         αẽ¿τ¡δÑ »á½¿Γαδ,    Γ«   Σπ¡¬µ¿∩   BitBlt   ¡Ñ   «ßπΘÑßΓó½∩ÑΓ
  5175.         ¬«ααÑ¬Γ¡«ú« »ÑαѼÑΘÑ¡¿∩ αáßΓα«ó«⌐  ¬áαΓδ  ¿º  ¿½¿  ¡á  ¬«¡ΓѬßΓ
  5176.         πßΓα«⌐ßΓóá »á¼∩Γ¿.  é  φΓ«¼  ß½πτáÑ  óδ  ñ«½ª¡δ óδºóáΓ∞ Σπ¡¬µ¿ε
  5177.         GetDIBits ß  »áαá¼ÑΓα«¼  wUsage  αáó¡δ¼  DIB_RGB_COLORS,  τΓ«íδ
  5178.         »«½πτ¿Γ∞  í¿Γδ  αáßΓα«ó«⌐  ¬áαΓδ πßΓα«⌐ßΓóá ¿ßΓ«τ¡¿¬á ó Σ«α¼áΓÑ
  5179.  
  5180.        Windows 3.0/pg/3#3                                        = 99 =
  5181.  
  5182.         á»»áαáΓ¡«-¡Ñºáó¿ß¿¼«⌐ αáßΓα«ó«⌐ ¬áαΓδ. çáΓѼ, ß »«¼«Θ∞ε Σπ¡¬µ¿¿
  5183.         SetDIBits   óδ   ¼«ªÑΓÑ  πßΓá¡«ó¿Γ∞  í¿Γδ  αáßΓα«ó«⌐  ¬áαΓδ  ¡á
  5184.         πßΓα«⌐ßΓóÑ ¡áº¡áτÑ¡¿∩.  Åα¿ φΓ«¼ Windows Γ«τ¡« «Γ«íαáº¿Γ  µóÑΓá
  5185.         «ñ¡«⌐ αáßΓα«ó«⌐ ¬áαΓδ ¡á ñαπúπε.
  5186.  
  5187.              öπ¡¬µ¿∩ BitBlt  ¼«ªÑΓ ¬«ααÑ¬Γ¡« »ÑαѼÑΘáΓ∞ αáßΓα«óδÑ ¬áαΓδ
  5188.         ¼Ñªñπ ñóπ¼∩ ¬«¡ΓѬßΓἿ πßΓα«⌐ßΓóá ñ¿ß»½Ñ∩, ñáªÑ Ñß½¿ «¡¿ ¿¼ÑεΓ
  5189.         αẽ¿τ¡δÑ óδíαá¡¡δÑ ¿ αÑ὿º«óá¡¡δ⌐ »á½¿Γαδ. öπ¡¬µ¿∩ ScretchBlt
  5190.         ¬«ααÑ¬Γ¡« »ÑαѼÑΘáÑΓ   αáßΓα«óδÑ   ¬áαΓδ    ¼Ñªñπ    αẽ¿τ¡δ¼¿
  5191.         ¬«¡ΓѬßΓἿ πßΓα«⌐ßΓó,   ¡Ñºáó¿ß¿¼«   «Γ   Γ«ú«,   τΓ«  ¡á  ¡¿σ
  5192.         αÑ὿º«óá¡δ ¿ óδíαá¡δ αạδÑ »á½¿Γαδ.
  5193.                                 19.5  êº¼Ñ¡Ñ¡¿Ñ ½«ú¿τÑ߬«⌐ »á½¿Γαδ.            
  5194.  
  5195.              éδ ¼«ªÑΓÑ ¿º¼Ñ¡¿Γ∞ «ñ¿¡ ¿½¿ ¡Ñ߬«½∞¬« φ½Ñ¼Ñ¡Γ«ó ½«ú¿τÑ߬«⌐
  5196.         »á½¿Γαδ ß »«¼«Θ∞ε Σπ¡¬µ¿¿ SetPaletteEntry. ¥Γá Σπ¡¬µ¿∩ »«½πτáÑΓ
  5197.         ß½ÑñπεΘ¿Ñ »áαá¼ÑΓαδ:
  5198.  
  5199.              - äÑß¬α¿»Γ«α  ¿º¼Ñ¡∩Ѽ«⌐  »á½¿Γαδ  ¿  µÑ½«Ñ,  «»αÑñѽ∩εΘÑÑ
  5200.                »áαóδ⌐ ¿º¼Ñ¡∩Ѽδ⌐ φ½Ñ¼Ñ¡Γ.
  5201.  
  5202.              - ûѽ«Ñ, «»αÑñѽ∩εΘÑÑ τ¿ß½« ¿º¼Ñ¡∩Ѽδσ φ½Ñ¼Ñ¡Γ«ó.
  5203.  
  5204.              - îáßß¿ó  ßΓαπ¬Γπα PALETTEENTRY,  ß«ñÑαªáΘ¿⌐ ¿¡Γѡ߿ó¡«ßΓ¿
  5205.                ¬αáß¡«ú«, ß¿¡Ñú« ¿ ºÑ½Ñ¡«ú« µóÑΓá  ¿  Σ½áú  ñ½∩  ¬áªñ«ú«
  5206.                φ½Ñ¼Ñ¡Γá.
  5207.  
  5208.              Windows ¡Ñ   «Γ«íαáªáÑΓ  ¡á  πßΓα«⌐ßΓóÑ  óδó«ñá  ßñѽᡡδσ
  5209.         ¿º¼Ñ¡Ñ¡¿⌐ ñ« ΓÑσ »«α,  »«¬á  »α¿¬½áñ¡á∩  »α«úαἼᠠ¡Ñ  ó맮óÑΓ
  5210.         Σπ¡¬µ¿ε  RealizePalette  ñ½∩  ½εí«ú«  ¬«¡ΓѬßΓá  πßΓα«⌐ßΓóá,  ó
  5211.         ¬«Γ«α«¼ óδíαá¡á ñá¡¡á∩ »á½¿Γαá. Å«ß¬«½∞¬π »α¿ φΓ«¼ »α«¿ºó«ñ¿Γß∩
  5212.         ¿º¼Ñ¡Ñ¡¿Ñ ß¿ßΓѼ¡«⌐ »á½¿Γαδ,  Γ« µóÑΓá,  «Γ«íαáªáѼδÑ ó «í½áßΓ¿
  5213.         »«½∞º«óáΓѽ∩ «¬¡á ¼«úπΓ ¿º¼Ñ¡¿Γ∞ß∩. é αáºñѽѠ19.6, "ÉÑᬵ¿∩ ¡á
  5214.         ¿º¼Ñ¡Ñ¡¿Ñ  ß¿ßΓѼ¡«⌐  »á½¿Γαδ",  «»¿ßá¡«,  ¬á¬  αÑáú¿α«óáΓ∞  ¡á
  5215.         ¿º¼Ñ¡Ñ¡¿Ñ ß¿ßΓѼ¡«⌐ »á½¿Γαδ.
  5216.  
  5217.              éΓ«α«⌐ ¼ÑΓ«ñ ¼«ñ¿Σ¿¬áµ¿¿ ½«ú¿τÑ߬«⌐ »á½¿Γαδ ß«ßΓ«¿Γ  ó  ÑÑ
  5218.         «ª¿ó½Ñ¡¿¿. é«   ¼¡«ú¿σ  ß½πτá∩σ  «ª¿ó½Ñ¡¿Ñ  ½«ú¿τÑ߬«⌐  »á½¿Γαδ
  5219.         »α¿¼Ñ¡∩ÑΓß∩, ¬«úñá  ΓαÑíπÑΓß∩  íδßΓα«Ñ   ¿   τáßΓ«Ñ   ¿º¼Ñ¡Ñ¡¿Ñ
  5220.         ½«ú¿τÑ߬«⌐  »á½¿Γαδ ¿ ¬«úñá ¡Ñ«íσ«ñ¿¼«,  τΓ«íδ ñá¡¡δÑ ¿º¼Ñ¡Ñ¡¿∩
  5221.         ¡Ñ¼Ññ½Ñ¡¡« «Γ«íαáªá½¿ß∞.
  5222.  
  5223.              ä½∩ «ª¿ó½Ñ¡¿∩ »á½¿Γαδ »α¿¬½áñ¡á∩ »α«úαá¼¼á ó¡áτá½Ñ  ñ«½ª¡á
  5224.         ó  ß««ΓóÑΓßΓóπεΘ¿σ φ½Ñ¼Ñ¡Γáσ πßΓá¡«ó¿Γ∞ Σ½áú PC_RESERVED.  ¥Γ«Γ
  5225.         Σ½áú óδ»«½¡∩ÑΓ ñóÑ Σπ¡¬µ¿¿:
  5226.  
  5227.              - ÉáºαÑΦáÑΓ «ª¿ó½Ñ¡¿Ñ ß««ΓóÑΓßΓóπεΘÑú« φ½Ñ¼Ñ¡Γá.
  5228.  
  5229.              - ÅαÑñ«ΓóαáΘáÑΓ  «Γ«íαáªÑ¡¿Ñ  µóÑΓ«ó  ñαπú«⌐  »á½¿Γαδ   ¡á
  5230.                ß««ΓóÑΓßΓóπεΘ¿⌐ φ½Ñ¼Ñ¡Γ ó ß¿ßΓѼ¡«⌐ »á½¿ΓαÑ.
  5231.  
  5232.              é ß½ÑñπεΘѼ  »α¿¼ÑαÑ  »«¬áºá¡«,  ¬á¬ ShowDIB πßΓá¡áó½¿óáÑΓ
  5233.         Σ½áú PC_RESERVED ñ½∩ óßÑσ φ½Ñ¼Ñ¡Γ«ó ó  ßπΘÑßΓóπεΘÑ⌐  ½«ú¿τÑ߬«⌐
  5234.  
  5235.        Windows 3.0/pg/3#3                                       = 100 =
  5236.  
  5237.         »á½¿ΓαÑ:
  5238.  
  5239.              /* ß«ºñáΓ∞ »á½¿Γαπ ñ½∩ «ª¿ó½Ñ¡¿∩ */
  5240.              for (i = 0; i < pLogPal->palNumEntries; i++) {
  5241.                  pLogPal->palPalEntry[i].peFlags = (BYTE)PC_RESERVED;
  5242.                        }
  5243.  
  5244.              SetPaletteEntries(hpalCurrent, 0, pLogPal->palNumEntries,
  5245.                                    (LPSTR)&(pLogPal->palPalEntry[0]));
  5246.  
  5247.              öπ¡¬µ¿∩ AnimatePalette  »«½πτáÑΓ  ΓÑ  ªÑ »áαá¼ÑΓαδ,  τΓ« ¿
  5248.         SetPaletteEntries. Äñ¡á¬«,  ó  «Γ½¿τ¿Ñ  «Γ  ¡ÑÑ  AnimatePalette
  5249.         ¿º¼Ñ¡∩ÑΓ Γ«½∞¬« φ½Ñ¼Ñ¡Γδ »á½¿Γαδ ß Σ½áú«¼ PC_RESERVED.
  5250.  
  5251.              Åα¿ ó맮óÑ  AnimatePalette  »α¿¬½áñ¡«⌐  »α«úαá¼¼«⌐ Windows
  5252.         ¡Ñ¼Ññ½Ñ¡¡« «Γ«íαáªáÑΓ ¿º¼Ñ¡Ñ¡¡δÑ φ½Ñ¼Ñ¡Γδ ó ß¿ßΓѼ¡πε  »á½¿Γαπ,
  5253.         ¡«   ¡Ñ   »ÑαÑ«Γ«íαáªáÑΓ   µóÑΓá,   «Γ«íαáªáѼδÑ  ó  ¬«¡ΓѬßΓáσ
  5254.         πßΓα«⌐ßΓó,  ¿ß»«½∞ºπ∩ »á½¿Γαπ ñ½∩ ¬«Γ«α«⌐ »α¿¬½áñ¡á∩  »α«úαá¼¼á
  5255.         óδºóá½á  AnimatePalette.  äαπú¿¼¿  ß½«óἿ,  Ñß½¿ »ÑαÑñ ó맮ó«¼
  5256.         »α¿¬½áñ¡«⌐   »α«úαá¼¼«⌐    Σπ¡¬µ¿¿    AnimatePalette    »¿¬ßѽ∞
  5257.         «Γ«íαáªá½ß∩ µóÑΓ«¼ »∩Γ¡áñµáΓ«ú« φ½Ñ¼Ñ¡Γá ß¿ßΓѼ¡«⌐ »á½¿Γαδ,  Γ«
  5258.         »«ß½Ñ  ó맮óá  Σπ¡¬µ¿¿  «¡  íπñÑΓ  «Γ«íαáªáΓ∞ß∩  µóÑΓ«¼   φΓ«ú«
  5259.         φ½Ñ¼Ñ¡Γá, ñáªÑ Ñß½¿ φ½Ñ¼Ñ¡Γ ß«ñÑαª¿Γ ¡«óδ⌐ µóÑΓ.
  5260.  
  5261.              ä½∩ ñѼ«¡ßΓαᵿ¿ «ª¿ó½Ñ¡¿∩ ShowDIB πßΓá¡áó½¿óáÑΓ ß¿ßΓѼ¡δ⌐
  5262.         Γá⌐¼Ñα ¿  ºáΓѼ  óδºδóáÑΓ  AnimatePalette  ñ½∩  ßñó¿úá  ¬áªñ«ú«
  5263.         φ½Ñ¼Ñ¡Γᠻ὿Γαδ »α¿ »«½πτÑ¡¿¿ ß««íΘÑ¡¿∩ WM_TIMER:
  5264.  
  5265.                case WM_TIMER:
  5266.                        /* æ¿ú¡á½ ñ½∩ «ª¿ó½Ñ¡¿∩ »á½¿Γαδ */
  5267.                        hDC = GetDC(hWnd);
  5268.                        hOldPal = SelectPalette(hDC, hpalCurrent, 0);
  5269.                        {
  5270.                            PALETTEENTRY peTemp;
  5271.  
  5272.                            /* æñó¿¡πΓ∞ óßÑ φ½Ñ¼Ñ¡Γδ ½«ú¿τÑ߬«⌐ »á½¿Γαδ
  5273.                             * ó½Ñó« ¡á «ñ¿¡ φ½Ñ¼Ñ¡Γ ¿ »α«¬απΓ¿Γ∞ »Ñαóδ⌐
  5274.                             * φ½Ñ¼Ñ¡Γ ¡á ¼ÑßΓ« »«ß½Ññ¡Ñú« */
  5275.  
  5276.                            peTemp = pLogPal->palPalEntry[0];
  5277.                            for (i = 0;
  5278.                                i < (pLogPal->palNumEntries - 1); i++)
  5279.                                 pLogPal->palPalEntry[i] =
  5280.                                                 pLogPal->palPalEntry[i+1];
  5281.                            pLogPal->palPalEntry[i] = peTemp;
  5282.                        }
  5283.                        /* çá¼Ñ¡¿Γ∞ φ½Ñ¼Ñ¡Γδ ½«ú¿τÑ߬«⌐ »á½¿Γαδ ¡á ¡«óδÑ*/
  5284.                        AnimatePalette(hpalCurrent, 0,
  5285.                        pLogPal->palNumEntries, pLogPal->palPalEntry);
  5286.  
  5287.                        SelectPalette(hDC, hOldPal, 0);
  5288.                        ReleaseDC(hWnd, hDC);
  5289.  
  5290.  
  5291.        Windows 3.0/pg/3#3                                       = 101 =
  5292.  
  5293.                        /* ô¼Ñ¡∞Φ¿Γ∞ ßτÑΓτ¿¬ «ª¿ó½Ñ¡¿⌐ ¿ »α¿ ñ«ßΓ¿ªÑ¡¿¿ 0
  5294.                         * ºáóÑαΦ¿Γ∞ óδ»«½¡Ñ¡¿Ñ »α«úαá¼¼δ
  5295.                         */
  5296.                        if (!(--nAnimating))
  5297.                            PostMessage(hWnd,WM_COMMAND,IDM_ANIMATE0,0L);
  5298.                        break;
  5299.  
  5300.              Äª¿ó½Ñ¡¿Ñ óßÑ⌐  ½«ú¿τÑ߬«⌐  »á½¿Γαδ  ¼«ªÑΓ πσπñΦ¿Γ∞ µóÑΓá,
  5301.         «Γ«íαáªáѼδѠ󠫬¡áσ ñαπú¿σ »α¿¬½áñ¡δσ »α«úαá¼¼,  Ñß½¿ á¬Γ¿ó¡«Ñ
  5302.         ¿ß»«½∞ºπÑΓ   «ª¿ó½Ñ¡¡πε   »á½¿Γαπ,  «ß«íÑ¡¡«,  Ñß½¿  «ª¿ó½∩Ѽá∩
  5303.         »á½¿Γαá ñ«ßΓáΓ«τ¡« óѽ¿¬á,  τΓ«íδ ¡á¬αδΓ∞ ß¿ßΓѼ¡πε »á½¿Γαπ. Å«
  5304.         φΓ«⌐   »α¿τ¿¡Ñ   ¼δ  ¡Ñ  ß«óÑΓπѼ  «ª¿ó½∩Γ∞  ó  »á½¿ΓαÑ  í«½∞ΦÑ
  5305.         φ½Ñ¼Ñ¡Γ«ó, τѼ ¡Ñ«íσ«ñ¿¼«.
  5306.                                                                                
  5307.                19.6  ÉÑᬵ¿∩ ¡á ¿º¼Ñ¡Ñ¡¿∩ ß¿ßΓѼ¡«⌐ »á½¿Γαδ.
  5308.  
  5309.              è«úñá »α¿¬½áñ¡á∩ »α«úαἼᠠαÑ὿ºπÑΓ  ½«ú¿τÑ߬πε  »á½¿Γαπ
  5310.         ñ½∩ «»αÑñѽѡ¡«ú«   ¬«¡ΓѬßΓá  πßΓα«⌐ßΓóá,  Windows  «Γ«íαáªáÑΓ
  5311.         µóÑΓá ½«ú¿τÑ߬«⌐ »á½¿Γαδ ¡á ß¿ßΓѼ¡πε, Ñß½¿ ó ß¿ßΓѼ¡«⌐ »á½¿ΓαÑ
  5312.         ¡ÑΓ Γá¬¿σ   µóÑΓ«ó   ¿   ÑßΓ∞   ßó«í«ñ¡δÑ  φ½Ñ¼Ñ¡Γδ.  Å«ß¬«½∞¬π
  5313.         ¿º¼Ñ¡¿½áß∞ ß¿ßΓѼ¡á∩  »á½¿Γαá,  Γ«  ¼¡«ú¿Ñ   ¿½¿   óßÑ   µóÑΓá,
  5314.         «Γ«íαáªáѼδÑ ó  «í½áßΓ¿  »«½∞º«óáΓѽ∩  óßÑ󠫬«¡,  ¿ß»«½∞ºπεΘ¿σ
  5315.         »á½¿Γαπ ΓᬪѠ¿º¼Ñ¡∩Γß∩.  ä½∩ Γ«ú«,  τΓ«íδ »α¿¬½áñ¡á∩ »α«úαá¼¼á
  5316.         ¼«ú½á «ΓαÑáú¿α«óáΓ∞   ¡á   ΓᬿѠ ¿º¼Ñ¡Ñ¡¿∩,  Windows  »«ßδ½áÑΓ
  5317.         ¡á¬½áñδóáÑ¼δ¼ ¿ »ÑαѬαδóáεΘ¿¼ß∩ «¬¡á¼ ñóá ß««íΘÑ¡¿∩:
  5318.  
  5319.              - WM_QUERYNEWPALETTE
  5320.  
  5321.              - WM_PALETTECHANGED
  5322.                        19.6.1  Äíαáí«Γ¬á ß««íΘÑ¡¿∩ WM_QUERYNEWPALETTE.         
  5323.  
  5324.              Windows »«ßδ½áÑΓ   ß««íΘÑ¡¿Ñ   WM_QUERYNEWPALETTE    «¬¡π,
  5325.         ¬«Γ«α«Ñ ßΓá¡«ó¿Γß∩ á¬Γ¿ó¡δ¼. è«úñá «¬¡« »«½πτáÑΓ φΓ« ß««íΘÑ¡¿Ñ,
  5326.         »α¿¬½áñ¡á∩ »α«úαá¼¼á,  ¬«Γ«α«⌐ »α¿¡áñ½Ñª¿Γ ñá¡¡«Ñ «¬¡«,  ñ«½ª¡á
  5327.         αÑ὿º«óáΓ∞   ½«ú¿τÑ߬πε   »á½¿Γαπ,  »«¼ÑΓ¿Γ∞  ñ½∩  »ÑαÑα¿ß«ó¬¿
  5328.         «í½áßΓ∞  »«½∞º«óáΓѽ∩  «¬¡á  ¿  óÑα¡πΓ∞  TRUE,  τΓ«íδ  ß««íΘ¿Γ∞
  5329.         Windows, τΓ« ß¿ßΓѼ¡á∩ »á½¿Γαá íδ½á ¿º¼Ñ¡Ñ¡á.
  5330.  
  5331.              ShowDIB αÑáú¿απÑΓ    ¡á    ß««íΘÑ¡¿Ñ    WM_QUERYNEWPALETTE
  5332.         ß½ÑñπεΘ¿¼ «íαẫ¼:
  5333.  
  5334.         case WM_QUERYNEWPALETTE:
  5335.                 /* àß½¿ αÑ὿ºáµ¿∩ »á½¿Γαδ »α¿óѽᠬ ÑÑ ¿º¼Ñ¡Ñ-
  5336.                  * ¡¿ε, Γ« ¡Ñ«íσ«ñ¿¼á »«½¡á∩ »ÑαÑα¿ß«ó¬á.
  5337.                  */
  5338.                 if (bLegitDraw) {
  5339.                     hDC = GetDC (hWnd);
  5340.                     hOldPal = SelectPalette (hDC, hpalCurrent, 0);
  5341.  
  5342.                     i = RealizePalette(hDC);
  5343.  
  5344.                     SelectPalette (hDC, hOldPal, 0);
  5345.  
  5346.        Windows 3.0/pg/3#3                                       = 102 =
  5347.  
  5348.                     ReleaseDC (hWnd, hDC);
  5349.  
  5350.                     if (i) {
  5351.                         InvalidateRect (hWnd, (LPRECT) (NULL), 1);
  5352.                         UpdateCount = 0;
  5353.                         return 1;
  5354.                     } else
  5355.                         return FALSE;
  5356.                 }
  5357.                 else
  5358.                     return FALSE;
  5359.                 break;
  5360.                        19.6.2  ÉÑᬵ¿∩ ¡á ß««íΘÑ¡¿Ñ WM_PALETTECHANGED.         
  5361.  
  5362.              Windows »«ßδ½áÑΓ    ß««íΘÑ¡¿Ñ    WM_PALETTECHANGED    óßѼ
  5363.         »ÑαѬαδóáÑ¼δ¼ ¿   ¡á¬½áñδóáÑ¼δ¼   «¬¡á¼,  ¬«úñá  á¬Γ¿ó¡«Ñ  «¬¡«
  5364.         ¿º¼Ñ¡∩ÑΓ ß¿ßΓѼ¡πε »á½¿Γαπ,  τΓ« »α«¿ßσ«ñ¿Γ »α¿ αÑ὿ºáµ¿¿  Ñú«
  5365.         ½«ú¿τÑ߬«⌐ »á½¿Γαδ.  àß½¿ óáΦÑ «¬¡« αÑáú¿απÑΓ ¡á φΓ« ß««íΘÑ¡¿Ñ,
  5366.         αÑ὿ºπ∩  ßó«ε  ß«íßΓóÑ¡¡πε  »á½¿Γαπ,  óδ   ñ«½ª¡δ   ó   ¡áτá½Ñ
  5367.         «»αÑñѽ¿Γ∞, τΓ« ñÑß¬α¿»Γ«α ¡Ñ «»αÑñѽ∩ÑΓ óáΦÑ ß«íßΓóÑ¡¡«Ñ «¬¡«,
  5368.         ¿¡áτÑ φΓ« »α¿óÑñÑΓ ¬ ºáµ¿¬½¿óá¡¿ε.
  5369.  
  5370.              è«úñá ¡Ñá¬Γ¿ó¡«Ñ «¬¡« »«½πτáÑΓ φΓ«  ß««íΘÑ¡¿Ñ,  «¡«  ¿¼ÑÑΓ
  5371.         Γα¿ ó«º¼«ª¡«ßΓ¿:
  5372.  
  5373.              - ìÑ  ñѽáΓ∞  ¡¿τÑú«.  é  φΓ«¼  ß½πτáÑΓ  µóÑΓá  ó  «í½áßΓ¿
  5374.                »«½∞º«óáΓѽ∩ ¼«úπΓ  ¿º¼Ñ¡¿Γ∞ß∩  ñ«  ΓÑσ  »«α,  »«¬á  Ñú«
  5375.                ß«ñÑন¼«Ñ ¡Ñ íπñÑΓ »ÑαÑα¿ß«óá¡«. éδ ñ«½ª¡δ ¿ß»«½∞º«óáΓ∞
  5376.                φΓπ ó«º¼«ª¡«ßΓ∞ ó ß½πτáÑ,  Ñß½¿ óá¼  ¡Ñ  ó᪡«  ¬áτÑßΓó«
  5377.                µóÑΓ«ó, «Γ«íαáªáѼδσ óáΦÑ⌐ »α¿¬½áñ¡«⌐ »α«úαá¼¼«⌐,  ¬«úñá
  5378.                ÑÑ «¬¡á ¡Ñá¬Γ¿ó¡δ, ¿½¿ Ñß½¿ óáΦá »α¿¬½áñ¡á∩ »α«úαἼᠡÑ
  5379.                ¿ß»«½∞ºπÑΓ »á½¿Γαπ.
  5380.  
  5381.              - Ä¡«   ¼«ªÑΓ   αÑ὿º«óáΓ∞  ßó«ε  ß«íßΓóÑ¡¡πε  »á½¿Γαπ  ¿
  5382.                »ÑαÑα¿ß«óáΓ∞ ß«ñÑন¼«Ñ   «í½áßΓ¿   »«½∞º«óáΓѽ∩.    ¥Γá
  5383.                ó«º¼«ª¡«ßΓ∞ »«ºó«½∩ÑΓ  ñ«í¿Γ∞ß∩  ¼á¬ß¿¼á½∞¡«  ó«º¼«ª¡«ú«
  5384.                ß««ΓóÑΓßΓó¿∩ µóÑΓ«ó,  »«ß¬«½∞¬π   Windows   ¼«ñ¿Σ¿µ¿απÑΓ
  5385.                µóÑΓá ó «í½áßΓ¿ »«½∞º«óáΓѽ∩ ó ß««ΓóÑΓßΓó¿¿ ß ½«ú¿τÑ߬«⌐
  5386.                »á½¿Γα«⌐ «¬¡á.  Äñ¡á¬« αáß»½áΓ«⌐ ºá  φΓ«  ß½πª¿Γ  óαѼ∩,
  5387.                ¡Ñ«íσ«ñ¿¼«Ñ ñ½∩  »ÑαÑα¿ß«ó¬¿  «í½áßΓ¿  »«½∞º«óáΓѽ∩.  éδ
  5388.                ¼«ªÑΓÑ ¿ß»«½∞º«óáΓ∞  φΓπ  ó«º¼«ª¡«ßΓ∞,  Ñß½¿  ñ½∩  óáΦÑ⌐
  5389.                »α¿¬½áñ¡«⌐  »α«úαá¼¼δ  ¬α¿Γ¿τ¡δ  µóÑΓá,  ¿ß»«½∞ºπѼδÑ  ó
  5390.                ¡Ñá¬Γ¿ó¡δ󠫬¡áσ,  ¿½¿  Ñß½¿   ¿º«íαáªÑ¡¿Ñ   ó   «í½áßΓ¿
  5391.                »«½∞º«óáΓѽ∩ ¼«ª¡« »ÑαÑα¿ß«óáΓ∞ íδßΓα«.
  5392.  
  5393.              - Ä¬¡«  ¼«ªÑΓ  αÑ὿º«óáΓ∞  Ñú« ½«ú¿τÑ߬πε »á½¿Γαπ ¿ »α∩¼«
  5394.                ¼«ñ¿Σ¿µ¿α«óáΓ∞ µóÑΓá   ó   «í½áßΓ¿   »«½∞º«óáΓѽ∩.   ¥Γá
  5395.                ó«º¼«ª¡«ßΓ∞ »αÑñßΓáó½∩ÑΓ  ß«í«⌐  ¬«¼»α«¼¿ß  ¼Ñªñπ  ¼Ñªñπ
  5396.                σáαá¬ΓÑα¿ßΓ¿¬á¼¿ ¿   ¬áτÑßó«¼    µóÑΓá.    Ä¬¡«    »α∩¼«
  5397.                ¼«ñ¿Σ¿µ¿απÑΓ µóÑΓá,  αÑ὿ºπ∩  »á½¿Γαπ ¿ óδºδóá∩ Σπ¡¬µ¿ε
  5398.                UpdateColors.  Åα¿ ó맮óÑ  UpdateColors  Windows  íδßΓα«
  5399.                ¼«ñ¿Σ¿µ¿απÑΓ  µóÑΓá,  ßαáó¡¿óá∩ µóÑΓá »¿¬ßѽÑ⌐ ó «í½áßΓ¿
  5400.  
  5401.        Windows 3.0/pg/3#3                                       = 103 =
  5402.  
  5403.                »«½∞º«óáΓѽ∩ ß µóÑΓἿ ó  ß¿ßΓѼ¡«⌐  »á½¿ΓαÑ.  Å«ß¬«½∞¬π
  5404.                «Γ«íαáªÑ¡¿Ñ, íếαπεΘÑÑß∩     ¡á     µóÑΓáσ    »¿¬ßѽÑ⌐,
  5405.                »α«¿ºó«ñ¿Γß∩ ñ« αÑ὿ºáµ¿¿ ½«ú¿τÑ߬«⌐ »á½¿Γαδ, Γ« ¬áªñδ⌐
  5406.                óδº«ó    UpdateColors    π¼Ñ¡∞ΦáÑΓ    ¬áτÑßΓó«   µóÑΓ«ó.
  5407.                æ½Ññ«óáΓѽ∞¡«,  Ñß½¿  ¬áτÑßΓó«  µóÑΓá  ó᪡«  ñ½∩  óáΦÑ⌐
  5408.                »α¿¬½áñ¡«⌐  »α«úαá¼¼δ,  ¬«úñá  ÑÑ  «¬¡á  ¡Ñ á¬Γ¿ó¡δ,  Γ«
  5409.                »α¿¬½áñ¡á∩ »α«úαἼᠠñ«½ª¡á  «úαá¡¿τ¿Γ∞  τ¿ß½«  ó맮ó«ó
  5410.                UpdateColors »ÑαÑñ »ÑαÑα¿ß«ó¬«⌐ «í½áßΓ¿ »«½∞º«óáΓѽ∩.
  5411.  
  5412.              ì¿ªÑ ñѼ«¡ßΓα¿απÑΓß∩,   ¬á¬   ó  »α«úαἼѠ ShowDIB  ¼«ª¡«
  5413.         ¼«ñ¿Σ¿µ¿α«óáΓ∞ «í½áßΓ∞  »«½∞º«óáΓѽ∩  »α¿  »«½πτÑ¡¿¿  ß««íΘÑ¡¿∩
  5414.         WM_PALETTECHANGED:
  5415.  
  5416.         case WM_PALETTECHANGED:
  5417.                 /* àß½¿ SHOWDIB ¡Ñ «ΓóÑτáÑΓ ¡á ¿º¼Ñ¡Ñ¡¿Ñ »á½¿Γαδ
  5418.                    ¿½¿ αÑ὿ºáµ¿∩  »á½¿Γαδ  »α¿ó«ñ¿Γ ¬ ¿º¼Ñ¡Ñ¡¿ε
  5419.                    »á½¿Γαδ, óδ»«½¡¿Γ∞ »ÑαÑα¿ß«ó¬π. */
  5420.                  if (wParam != hWnd){
  5421.                     if (bLegitDraw){
  5422.                         hDC = GetDC (hWnd);
  5423.                         hOldPal = SelectPalette (hDC,
  5424.                                              hpalCurrent, 0);
  5425.  
  5426.                         i = RealizePalette (hDC);
  5427.  
  5428.                         if (i){
  5429.                             if (bUpdateColors){
  5430.                                 UpdateColors (hDC);
  5431.                                 UpdateCount++;
  5432.                             }
  5433.                             else
  5434.                                 InvalidateRect (hWnd,
  5435.                                          (LPRECT) (NULL), 1);
  5436.                         }
  5437.  
  5438.                         SelectPalette (hDC, hOldPal, 0);
  5439.                         ReleaseDC (hWnd, hDC);
  5440.                     }
  5441.                 }
  5442.                 break;
  5443.  
  5444.              è«úñá ShowDIB »«½πτáÑΓ ß««íΘÑ¡¿Ñ WM_PALETTECHANGED,  «¡á ó
  5445.         ¡áτá½Ñ ßαáó¡¿óáÑΓ  ß«ñÑαªáΘ¿⌐ß∩  ó  wParam  ñÑß¬α¿»Γ«α  «¬¡á  ß
  5446.         ß«íßΓóÑ¡¡δ¼ ñÑß¬α¿»Γ«α«¼.  àß½¿ φΓ« ß«íßΓóÑ¡¡δ⌐ ñÑß¬α¿»Γ«α,  Γ«
  5447.         αÑᬵ¿¿ ¡á αÑ὿ºáµ¿ε ß«íßΓóÑ¡¡«⌐ »á½¿Γαδ ¡Ñ ΓαÑíπÑΓß∩.  çáΓѼ,
  5448.         »«ß½Ñ óδí«αá  ¿  αÑ὿ºáµ¿¿  ß«íßΓóÑ¡¡«⌐ ½«ú¿τÑ߬«⌐ »á½¿Γαδ «¡á
  5449.         «»αÑñѽ∩ÑΓ πßΓá¡«ó½Ñ¡ ½¿ Σ½áú,  ¬«Γ«αδ⌐  πßΓá¡áó½¿óáÑΓß∩,  Ñß½¿
  5450.         »«½∞º«óáΓѽ∞ óδíαá½ ó ¼Ñ¡ε Options φ½Ñ¼Ñ¡Γ Update Colors.  àß½¿
  5451.         φΓ« Γá¬,  Γ«  «¡á  óδºδóáÑΓ  Σπ¡¬µ¿ε  UpdateColors  ñ½∩  »α∩¼«⌐
  5452.         ¼«ñ¿Σ¿¬áµ¿¿ «í½áßΓ¿    »«½∞º«óáΓѽ∩   ¿   πßΓá¡áó½¿óáÑΓ   Σ½áú,
  5453.         ú«ó«α∩Θ¿⌐,   τΓ«   »α«¿ßσ«ñ¿Γ   »α∩¼á∩   ¼«ñ¿Σ¿¬áµ¿∩    «í½áßΓ¿
  5454.         »«½∞º«óáΓѽ∩.  é  »α«Γ¿ó¡«¼  ß½πτáÑ  »«¼ÑτáÑΓß∩ ñ½∩ »ÑαÑα¿ß«ó¬¿
  5455.         «í½áßΓ∞ »«½∞º«óáΓѽ∩.
  5456.  
  5457.        Windows 3.0/pg/3#3                                       = 104 =
  5458.  
  5459.                                               19.7  çᬽετÑ¡¿Ñ.                
  5460.  
  5461.              Åα¿ ¿ß»«½∞º«óá¡¿¿ »á½¿Γαδ µóÑΓ«ó óáΦá »α¿¬½áñ¡á∩ »α«úαá¼¼á
  5462.         ¼«ªÑΓ  «Γ«íαáªáΓ∞  ßΓ«½∞¬«  µóÑΓ«ó,  ß¬«½∞¬« ñ«ßΓπ»¡« ¡á ñá¡¡«¼
  5463.         πßΓα«⌐ßΓóÑ.  Åα¿  óδ»«½¡Ñ¡¿¿  úαáΣ¿τÑ߬¿σ  «»Ñαᵿ⌐  óδ  ó¼ÑßΓ«
  5464.         ∩ó¡«ú«  π¬áºá¡¿∩  µóÑΓá  ¼«ªÑΓÑ  ß«ºñáΓ∞ »á½¿Γαπ,  ¿º ¬«Γ«α«⌐ ¿
  5465.         íπñπΓ óδí¿αáΓ∞ß∩ µóÑΓá ñ½∩ óδó«ñá. ûóÑΓ ó »á½¿ΓαÑ ¼«ª¡« π¬áºáΓ∞
  5466.         ∩ó¡« ß   »«¼«Θ∞ε   Ñú«   ¿¡ñѬßá   ó  »á½¿ΓαÑ  ¿½¿  ¡Ñ∩ó¡«  »α¿
  5467.         ¿ß»«½∞º«óá¡¿¿ º¡áτÑ¡¿∩ RGB,  ºáó¿ß¿¼«ú« «Γ »á½¿Γαδ.  è«úñá óáΦÑ
  5468.         «¬¡«  »«½πτáÑΓ  ºáσóáΓ  óó«ñá,  Windows úáαá¡Γ¿απÑΓ,  τΓ« íπñπΓ
  5469.         «Γ«íαáªáΓ∞ß∩ µóÑΓá ¿º »á½¿Γαδ (󻽫Γ∞ ñ« ¼á¬ß¿¼á½∞¡« ó«º¼«ª¡«ú«
  5470.         τ¿ß½á  µóÑΓ«ó)  ¿  «ßΓáóΦ¿Ñß∩ µóÑΓá íπñπΓ ¡áßΓ«½∞¬« ß«ó»áñáΓ∞ ß
  5471.         ñ«ßΓπ»¡δ¼¿,  ¡á߬«½∞¬«  φΓ«  ó«º¼«ª¡«.  äáªÑ  Ñß½¿  óáΦÑ   «¬¡«
  5472.         ¡Ñá¬Γ¿ó¡«,  Windows  óßÑ  αáó¡« «íÑß»Ñτ¿óáÑΓ «Γ«íαáªÑ¡¿Ñ µóÑΓ«ó
  5473.         «¬¡á  ¡á߬«½∞¬«  ó«º¼«ª¡«  í½¿º¬«  ¬  ΓѼ,   τΓ«   «»αÑñѽ∩εΓß∩
  5474.         ß¿ßΓѼ¡«⌐ »á½¿Γα«⌐.
  5475.  
  5476.              ä«»«½¡¿Γѽ∞¡πε ¿¡Σ«α¼áµ¿ε   »«   ó«»α«ßá¼,  «Γ¡«ß∩Θ¿¼ß∩  ¬
  5477.         »á½¿Γαá¼ µóÑΓ«ó Windows, óδ ¡á⌐ñÑΓÑ ó:
  5478.  
  5479.         Éáºñѽ               Éπ¬«ó«ñßΓó«
  5480.         ───────────────────────────────────────────────────────────────
  5481.         ÄΓ«íαáªÑ¡¿Ñ µóÑΓ¡δσ  Éπ¬«ó«ñßΓó« »α«úαá¼¼¿ßΓá: ú½áóá 11, "ÉáßΓ-
  5482.         αáßΓα«óδσ ¬áαΓ       α«óδÑ ¬áαΓδ."
  5483.  
  5484.         öπ¡¬µ¿¿ GDI ¿ Σπ¡¬-  æ»αáó«τ¡«Ñ απ¬«ó«ñßΓó« Γ«¼ 1: ú½áóá 2,
  5485.         µ¿¿ αáí«Γδ ß »á½¿Γ-  "öπ¡¬µ¿¿ ¿¡ΓÑαΣÑ⌐ßá úαáΣ¿τÑ߬¿σ πßΓα«⌐ßΓó",
  5486.         αἿ                 ú½áóá 4, "滿߫¬ Σπ¡¬µ¿⌐".
  5487.  
  5488.         Æ¿»δ ñá¡¡δσ ¿ ßΓαπ¬- æ»αáó«τ¡«Ñ απ¬«ó«ñßΓó« Γ«¼ 2: ú½áóá 7,
  5489.         Γπαδ, ¿ß»«½∞ºπѼδÑ   "Æ¿»δ ñá¡¡δσ ¿ ßΓαπ¬Γπαδ".
  5490.         ½«ú¿τÑ߬«⌐ »á½¿Γα«⌐
  5491.  
  5492.  
  5493.  
  5494.  
  5495.        Windows 3.0/pg/3#3                                       = 105 =
  5496.  
  5497.                                                                                
  5498.               â½áóá 20.  ä¿¡á¼¿τÑ߬¿ »«ñ¬½ετáѼδÑ í¿í½¿«ΓѬ¿.
  5499.        ----------------------------------------------------------------
  5500.              Microsoft Windows    ß«ñÑαª¿Γ    ß»Ñµ¿á½∞¡δÑ   í¿í½¿«ΓѬ¿,
  5501.         ¡áºδóáѼδÑ ñ¿¡á¼¿τÑ߬¿   »«ñ¬½ετáÑ¼δ¼¿   í¿í½¿«ΓѬἿ    (DLL),
  5502.         ¬«Γ«αδÑ «íÑß»Ñτ¿óáεΓ   αáºñѽѡ¿Ñ   ¬«ñá   ¿   αÑßπα߫󠠠¼Ñªñπ
  5503.         »α¿¬½áñ¡δ¼¿ »α«úαἼἿ.  Windows ¿ß»«½∞ºπÑΓ  DLL  ñ½∩  ¬«ñá  ¿
  5504.         αÑßπαß«ó,  ¿ß»«½∞ºπѼδσ  óßѼ¿  »α¿¬½áñ¡δ¼¿ »α«úαἼἿ.  èα«¼Ñ
  5505.         φΓ«ú«,  óδ ¼«ªÑΓÑ ß«ºñáóáΓ∞ ßó«¿ ß«íßΓóÑ¡¡δÑ DLL ñ½∩ αáºñѽѡ¿∩
  5506.         ¬«ñá ¿ ñá¡¡δσ ¼Ñªñπ óáΦ¿¼¿ »α¿¬½áñ¡δ¼¿ »α«úαἼἿ.
  5507.  
  5508.              é ñá¡¡«⌐ ú½áóÑ «»¿ßá¡« ß½ÑñπεΘÑÑ:
  5509.  
  5510.              - ùΓ« ΓᬫѠDLL.
  5511.  
  5512.              - è«úñá ¿ß»«½∞º«óáΓ∞ DLL.
  5513.  
  5514.              - æ«ºñá¡¿Ñ DLL.
  5515.  
  5516.              èα«¼Ñ φΓ«ú«,    »α¿ó«ñ¿Γß∩   «»¿ßá¡¿Ñ   ß«ºñá¡¿∩   »α«ßΓ«⌐
  5517.         í¿í½¿«ΓѬ¿ SELECT.DLL,    ¬«Γ«αá∩    ¿½½εßΓα¿απÑΓ    ¬«¡µÑ»µ¿¿,
  5518.         «»¿ßá¡¡δÑ ó ñá¡¡«⌐ ú½áóÑ.
  5519.                                            20.1  ùΓ« ΓᬫѠDLL.                
  5520.  
  5521.              DLL -   φΓ«  óδ»«½¡∩Ѽδ⌐  ¼«ñπ½∞,  ß«ñÑαªáΘ¿⌐  Σπ¡¬µ¿¿,  ß
  5522.         ¬«Γ«α묨 ¼«úπΓ  ñ¿¡á¼¿τÑ߬¿  ßó∩ºδóáΓ∞ß∩  »α¿¬½áñ¡δÑ  »α«úαá¼¼δ
  5523.         Windows ¿   ¬«Γ«αδÑ   ¼«úπΓ   íδΓ∞   óδºóá¡δ   ñ½∩   óδ»«½¡Ñ¡¿∩
  5524.         «»αÑñѽѡ¡δσ ñÑ⌐ßΓó¿⌐.  DLL ßπΘÑßΓóπÑΓ ñ½∩ «íÑß»ÑτÑ¡¿∩ πñ«íßΓóá
  5525.         »α¿¬½áñ¡δσ »α«úαá¼¼.  é  ßαÑñÑ  Windows DLL ¿úαáεΓ ó᪡πε α«½∞.
  5526.         Windows  ¿ß»«½∞ºπÑΓ  DLL  ñ½∩  «íÑß»ÑτÑ¡¿∩  ñ«ßΓπ»á  »α¿¬½áñ¡δσ
  5527.         »α«úαá¼¼ ¬ Σπ¡¬µ¿∩¼ ¿ αÑßπαßá¼ Windows.
  5528.  
  5529.              DLL á¡á½«ú¿τ¡á  í¿í½¿«ΓѬἠ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓѼδ (¡á»α¿¼Ñα,
  5530.         í¿í½¿«ΓѬѠ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓÑ¼δ æ) ºá ¿ß¬½ετÑ¡¿Ñ¼ Γ«ú«,  τΓ« «¡á
  5531.         »«ñß«Ññ¿¡∩ÑΓß∩ ¬ »α¿¬½áñ¡«⌐ »α«úαἼѠ¡Ñ ¡á φΓá»Ñ ¬«¼»«¡«ó¬¿, á
  5532.         ¡á φΓá»Ñ  óδ»«½¡Ñ¡¿∩.  ¥Γ«Γ  ¼ÑΓ«ñ  ¬«¼»«¡«ó¬¿   í¿í½¿«ΓѬ¿   ¿
  5533.         »α¿¬½áñ¡«⌐ »α«úαá¼¼δ  ó«  óαѼ∩ óδ»«½¡Ñ¡¿∩ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ
  5534.         ¡áºδóáÑΓß∩ ñ¿¡á¼¿τÑ߬«⌐ ¬«¼»«¡«ó¬«⌐.  è«¼»«¡«ó¬á  í¿í½¿«ΓѬ¿  ¿
  5535.         »α¿¬½áñ¡«⌐ »α«úαá¼¼δ ¡áºδóáÑΓß∩ ßΓáΓ¿τÑ߬«⌐ ¬«¼»«¡«ó¬«⌐.
  5536.  
  5537.              ùΓ«íδ »«¡∩Γ∞,   τΓ«   ΓᬫѠ DLL,  ¼«ª¡«  ßαáó¡¿Γ∞  ¿σ  ß«
  5538.         ßΓáΓ¿τÑ߬¿¼¿  í¿í½¿«ΓѬἿ.  Åα¿¼Ñα«¼  ßΓáΓ¿τÑ߬«⌐   í¿í½¿«ΓѬ¿
  5539.         ¼«ªÑΓ   ß½πª¿Γ∞  MLIBCEW.LIB,  ß«ñÑαªáΘá∩  Σπ¡¬µ¿¿  ¿ß»«½¡∩εΘÑ⌐
  5540.         ß¿ßΓÑ¼δ æ ñ½∩ ßαÑñ¡Ñ⌐ ¼«ñѽ¿ »á¼∩Γ¿. MLIBCEW.LIB ß«ñÑαª¿Γ ΓᬿÑ
  5541.         Σπ¡¬µ¿¿,  ¬á¬ strcpy ¿ strlenr.  éδ ¿ß»«½∞ºπÑΓÑ φΓ¿ Σπ¡¬µ¿¿, ¡Ñ
  5542.         ó¬½ετá∩ ¿σ ¿ßσ«ñ¡δ⌐ ¬«ñ ó ßó«ε »α«úαá¼¼π.  Åα¿ ¬«¼»¿½∩µ¿¿ óáΦÑ⌐
  5543.         »α«úαá¼¼δ  ¬«¼»«¡«óΘ¿¬  ßá¼  ó¬½ετáÑΓ  ¡Ñ«íσ«ñ¿¼πε ¿¡Σ«α¼áµ¿ε ó
  5544.         óáΦπ »α«úαá¼¼π.  è«úñá »α¿¬½áñ¡á∩ »α«úαἼᠿ߻«½∞ºπÑΓ  Σπ¡¬µ¿¿
  5545.         ßΓáΓ¿τÑ߬«⌐ í¿í½¿«ΓѬ¿, ¬«¼»«¡«óΘ¿¬ ¬«»¿απÑΓ ¿σ ¿º í¿í½¿«ΓѬ¿ ó
  5546.         .EXE-Σá⌐½.
  5547.  
  5548.              àñ¿¡ßΓóÑ¡¡δ¼ »αÑ¿¼πΘÑßΓó«¼ ßΓáΓ¿τÑ߬¿σ í¿í½¿«ΓѬ  ∩ó½∩ÑΓß∩
  5549.         Γ«, τΓ«  «¡¿  »αÑñ«ßΓáó½∩εΓ  »α¿¬½áñ¡«⌐  »α«úαἼѠ ßΓá¡ñáαΓ¡δ⌐
  5550.  
  5551.        Windows 3.0/pg/3#3                                       = 106 =
  5552.  
  5553.         ¡áí«α »α«µÑñπα,  ¿ óá¼ ¡Ñ ¡πª¡«  ó¬½ετáΓ∞  ¿ßσ«ñ¡δÑ  ¬«ñδ  φΓ¿σ
  5554.         »«ñ»α«úαá¼¼ ó ßó«ε »α«úαá¼¼π.
  5555.  
  5556.              Äñ¡á¬« ßΓáΓ¿τÑ߬¿Ñ     í¿í½¿«ΓѬ¿    ¡Ñ    φΣΣÑ¬Γ¿ó¡δ    ó
  5557.         ¼¡«ú«ºáñáτ¡«⌐ ßαÑñÑ,  Γᬫ⌐  ¬á¬  Windows.  àß½¿   «ñ¡«óαѼѡ¡«
  5558.         αáí«ΓáεΓ ñóÑ »α¿¬½áñ¡δÑ »α«úαá¼¼δ ¿ «íÑ ¿ß»«½∞ºπεΓ «ñ¡π ¿ Γπ ªÑ
  5559.         Σπ¡¬µ¿ε ßΓáΓ¿τÑ߬«⌐ í¿í½¿«ΓѬ¿,  Γ« «íÑ «¡¿ ß«ñÑαªáΓ ¬«»¿ε φΓ«⌐
  5560.         Σπ¡¬µ¿¿.   ¥Γ«   ¡ÑφΣΣÑ¬Γ¿ó¡«Ñ   ¿ß»«½∞º«óá¡¿Ñ   »á¼∩Γ¿.  ü«½ÑÑ
  5561.         φΣΣÑ¬Γ¿ó¡«  ñ½∩  «í«¿σ  »α«úαá¼¼  αáºñѽ∩Γ∞  «ñ¡π  ¬«»¿ε   φΓ«⌐
  5562.         Σπ¡¬µ¿¿,  «ñ¡á¬«  ßΓáΓ¿τÑ߬¿Ñ  í¿í½¿«ΓѬ¿ ¡Ñ »αÑñ«ßΓáó½∩εΓ φΓ«⌐
  5563.         ó«º¼«ª¡«ßΓ¿.
  5564.  
  5565.              æ ñαπú«⌐  ßΓ«α«¡δ  DLL  »«ºó«½∩ÑΓ  ¡Ñ߬«½∞¬¿¼   »α¿¬½áñ¡δ¼
  5566.         »α«úαἼἠαáºñѽ∩Γ∞   «ñ¡π   ¬«»¿ε   ¡Ñ¬«Γ«α«⌐   Σπ¡¬µ¿¿.  éßÑ
  5567.         ßΓá¡ñáαΓ¡δÑ Σπ¡¬µ¿¿ Windows, ΓᬿѠ¬á¬ GetMessage, CreateWindow
  5568.         ¿ TextOut,  ß«ñÑαªáΓß∩  ó  ΓαÑσ  DLL:  KERNEL.EXE,  USER.EXE  ¿
  5569.         GDI.EXE.  àß½¿ ñóÑ «ñ¡«óαѼѡ¡« αáí«ΓáεΘ¿Ñ »α¿¬½áñ¡δÑ »α«úαá¼¼δ
  5570.         Windows ¿ß»«½∞ºπεΓ ¡Ñ¬«Γ«απε Σπ¡¬µ¿ε Windows,  Γ« «¡¿ αáºñѽ∩εΓ
  5571.         «ñ¡π ¬«»¿ε φΓ«⌐ Σπ¡¬µ¿¿.
  5572.  
  5573.              èα«¼Ñ Γ«ú«,  τΓ« »α¿¬½áñ¡δÑ »α«úαá¼¼δ ¼«úπΓ αáºñѽ∩Γ∞  ¬«ñ
  5574.         Σπ¡¬µ¿⌐ ¿º DLL,  «¡¿ »«ºó«½∩εΓ αáºñѽ∩Γ∞ ñαπú¿Ñ αÑßπαßδ,  ΓᬿÑ
  5575.         ¬á¬ «í«απñ«óá¡¿Ñ ¿ ñá¡¡δÑ.  ìá»α¿¼Ñα Φα¿ΣΓδ Windows φΓ« ñá¡¡δÑ,
  5576.         ¬«Γ«αδÑ »α¿¬½áñ¡δÑ  »α«úαá¼¼δ αáºñѽ∩εΓ τÑαѺ DLL.  Ç¡á½«ú¿τ¡«,
  5577.         ñαá⌐óÑαδ Windows  -  φΓ«  DLL,  ¬«Γ«αδÑ  »«ºó«½∩εΓ   »α¿¬½áñ¡δ¼
  5578.         »α«úαἼἠαáºñѽ∩Γ∞ ñ«ßΓπ» ¬ «í«απñ«óá¡¿ε.
  5579.  
  5580.              éßÑ í¿í½¿«ΓѬ¿  Windows ∩ó½∩εΓß∩ í¿í½¿«ΓѬἿ ñ¿¡á¼¿τÑ߬«⌐
  5581.         ¬«¼»«¡«ó¬¿.  ìá»α¿¼Ñα,  Σá⌐½δ GDI.EXE,  KERNEL.EXE ¿  USER.EXE,
  5582.         ¬«Γ«αδÑ ß«ßΓáó½∩εΓ    «ß¡«ó¡πε    τáßΓ∞    Windows,    ∩ó½∩εΓß∩
  5583.         í¿í½¿«ΓѬἿ  ñ¿¡á¼¿τÑ߬«⌐  ¬«¼»«¡«ó¬¿.  î«ª¡«   ß«ºñáΓ∞   ßó«ε
  5584.         ß«íßΓóÑ¡¡πε í¿í½¿«ΓѬπ ñ¿¡á¼¿τÑ߬«⌐ ¬«¼»«¡«ó¬¿.
  5585.  
  5586.  
  5587.        Windows 3.0/pg/3#3                                       = 107 =
  5588.  
  5589.                              20.1.1  ê¼»«αΓ¿απѼδÑ í¿í½¿«ΓѬ¿ ¿ DLL.           
  5590.  
  5591.              Æá¬¿¼ «íαẫ¼,  ¼δ «»¿ß὿ ñóá ó¿ñá í¿í½¿«ΓѬ: ßΓáΓ¿τÑ߬¿Ñ
  5592.         ¿ ñ¿¡á¼¿τÑ߬¿Ñ.  ê¼ÑÑΓß∩ ΓαÑΓ¿⌐ ó¿ñ í¿í½¿«ΓѬ, ¬«Γ«αδ⌐ «ß«íÑ¡¡«
  5593.         óáªÑ¡   »α¿   αáí«ΓÑ   ß  DLL.  ¥Γ«  ¿¼»«αΓ¿απѼδÑ  í¿í½¿«ΓѬ¿.
  5594.         ê¼»«αΓ¿απѼδÑ í¿í½¿«ΓѬ¿ ß«ñÑαªáΓ ¿¡Σ«α¼áµ¿ε,  ¬«Γ«αá∩ »«¼«úáÑΓ
  5595.         Windows «»αÑñѽ¿Γ∞ ¼ÑßΓ«»«½«ªÑ¡¿Ñ ¬«ñá ó DLL.
  5596.  
  5597.              é« óαѼ∩  ¬«¼»«¡«ó¬¿  ¬«¼»«¡«óΘ¿¬ ¿ß»«½∞ºπÑΓ ßΓáΓ¿τÑ߬¿Ñ ¿
  5598.         ¿¼»«αΓ¿απѼδÑ  í¿í½¿«ΓѬ¿  ñ½∩  αáºαÑΦÑ¡¿∩  ßß佫¬  ¡á  ó¡ÑΦ¡¿Ñ
  5599.         »ÑαѼѡ¡δÑ.  è«úñá »α¿¬½áñ¡á∩ »α«úαἼᠿ߻«½∞ºπÑΓ »α«µÑñπαδ ¿º
  5600.         ßΓáΓ¿τÑ߬¿σ í¿í½¿«ΓѬ, ¬«¼»«¡«óΘ¿¬ ¬«»¿απÑΓ ¬«ñ φΓ¿σ »α«µÑñπα ó
  5601.         Σá⌐½   .EXE  »α¿¬½áñ¡«⌐  »α«úαá¼¼δ.  Äñ¡á¬«,  ¬«úñá  »α¿¬½áñ¡á∩
  5602.         »α«úαἼᠿ߻«½∞ºπÑΓ »α«µÑñπαδ ¿º DLL,  ¬«¼»«¡«óΘ¿¬ ¡Ñ ¬«»¿απÑΓ
  5603.         ¬«ñ   ¿½¿  ñá¡¡δÑ.  é¼ÑßΓ«  φΓ«ú«  «¡  ¬«»¿απÑΓ  ¿¡Σ«α¼áµ¿ε  ¿º
  5604.         ¿¼»«αΓ¿απѼ«⌐ í¿í½¿«ΓѬ¿,  ¬«Γ«αá∩ «»αÑñѽ∩ÑΓ,  úñÑ ó DLL ¡πª¡«
  5605.         ¿ß¬áΓ∞ ¡Ñ«íσ«ñ¿¼δÑ Σπ¡¬µ¿¿ ó DLL ó« óαѼ∩ óδ»«½¡Ñ¡¿∩.  é« óαѼ∩
  5606.         óδ»«½¡Ñ¡¿∩ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ  φΓá  ¿¡Σ«α¼áµ¿∩  «  αẼÑΘÑ¡¿¿
  5607.         ß«ºñáÑΓ ñ¿¡á¼¿τÑ߬πε ßó∩º∞ ¼Ñªñπ »α¿¬½áñ¡«⌐ »α«úαá¼¼«⌐ ¿ DLL.
  5608.  
  5609.              é Γáí½¿µÑ  20.1  ßπ¼¼¿απÑΓß∩  ¿ß»«½∞º«óá¡¿Ñ  ¬áªñ«ú«  Γ¿»á
  5610.         í¿í½¿«ΓѬ.
  5611.  
  5612.  
  5613.  
  5614.        Windows 3.0/pg/3#3                                       = 108 =
  5615.  
  5616.        Æáí½¿µá 20.1  êß»«½∞º«óá¡¿Ñ ΓαÑσ Γ¿»«ó í¿í½¿«ΓѬ.
  5617.         ───────────────────────────────────────────────────────────────
  5618.         Æ¿»           Å«ñß«Ññ¿¡∩ÑΓß∩ ó« óαѼ∩            Åα¿¼Ñα
  5619.                       ───────────────────────   ───────────────────────
  5620.         ü¿í½¿«ΓѬ¿    ¬«¼»«¡«ó¬¿   óδ»«½¡Ñ¡¿∩   ü¿í½¿«ΓѬ¿      öπ¡¬µ¿¿
  5621.         ───────────────────────────────────────────────────────────────
  5622.         æΓáΓ¿τÑ߬á∩   äá           ìÑΓ          MLIBCEW.LIB     strcpy
  5623.  
  5624.         ê¼»«αΓ¿απѼá∩ äá           ìÑΓ          LIBW.LIB        TextOut
  5625.  
  5626.         ä¿¡á¼¿τÑ߬á∩  ìÑΓ          äá           GDI.EXE         TextOut
  5627.         ───────────────────────────────────────────────────────────────
  5628.  
  5629.              é ñá¡¡«⌐  Γáí½¿µÑ »«¬áºá¡«,  τΓ« Ñß½¿ »α¿¬½áñ¡á∩ »α«úαá¼¼á
  5630.         óδºδóáÑΓ Σπ¡¬µ¿ε ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓÑ¼δ æ strcpy,  Γ«  ¬«¼»«¡«óΘ¿σ
  5631.         »α¿ß«Ññ¿¡∩ÑΓ ¬«ñ   φΓ«⌐   Σπ¡¬µ¿¿   ¿º  ßΓáΓ¿τÑ߬«⌐  í¿í½¿«ΓѬ¿
  5632.         MLIBCEW.LIB, ß«ñÑαªáΘÑ⌐   Σπ¡¬µ¿¿   ¿ß»«½¡∩εΘÑ⌐   ß¿ßΓѼδ,    ¬
  5633.         óδ»«½¡∩Ѽ«¼π Σá⌐½π   »α¿¬½áñ¡«⌐   »α«úαá¼¼δ   .EXE.   ì«  ¬«úñá
  5634.         »α¿¬½áñ¡á∩ »α«úαá¼¼á óδºδóáÑΓ Σπ¡¬µ¿ε GDI TextOut,  ¬«¼»«¡«óΘ¿¬
  5635.         ¬«»¿απÑΓ ¿¡Σ«α¼áµ¿ε « ÑÑ αẼÑΘÑ¡¿¿ ¿º ¿¼»«αΓ¿απѼ«⌐ í¿í½¿«ΓѬ¿
  5636.         LIBW.LIB ó .EXE-Σá⌐½.  Ä¡ ¡Ñ ¬«»¿απÑΓ ßá¼ ¬«ñ Σπ¡¬µ¿¿  TextOut.
  5637.         é« óαѼ∩  óδ»«½¡Ñ¡¿∩,  ¬«úñá  »α¿¬½áñ¡á∩ »α«úαἼᠫßπΘÑßΓó½∩ÑΓ
  5638.         ó맮ó TextOut,  Windows,  ¿ß»«½∞ºπ∩  ¿¡Σ«α¼áµ¿ε  «  αẼÑΘÑ¡¿¿,
  5639.         ¡áσ«ñ∩Θπεß∩ ó   .EXE-Σá⌐½Ñ  ¿ΘÑΓ  Σπ¡¬µ¿ε  TextOut  ó  GDI.EXE.
  5640.         äαπú¿¼¿ ß½«óἿ,  ¿¼»«αΓ¿απѼá∩ í¿í½¿«ΓѬᠠ«ßπΘÑßΓó½∩ÑΓ  ßó∩º∞
  5641.         ¼Ñªñπ ¼«ñπ½∩¼¿ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ ¿ ¼«ñπ½∩¼¿ DLL.
  5642.                           20.1.2  î«ñπ½¿ DLL ¿ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ.           
  5643.  
  5644.              î«ñπ½∞ -  φΓ«  «ß¡«ó¡á∩  ßΓαπ¬Γπα¡á∩  Ññ¿¡¿µá  ó  Windows.
  5645.         ê¼ÑÑΓß∩ ñóá  Γ¿»á  ¼«ñπ½Ñ⌐:  ¼«ñπ½¿  DLL  ¿  ¼«ñπ½¿  »α¿¬½áñ¡«⌐
  5646.         »α«úαá¼¼δ.  æ ¼«ñπ½∩¼¿ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ óδ πªÑ º¡á¬«¼δ. EXE
  5647.         Σá⌐½ ½εí«⌐ »α¿¬½áñ¡«⌐  »α«úαá¼¼δ  Windows  αáßß¼áΓα¿óáÑΓß∩  ¬á¬
  5648.         ¼«ñπ½∞ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ.  Åα¿¼Ñα«¼ ¼«ñπ½∩ DLL ¼«ªÑΓ ß½πª¿Γ∞
  5649.         ½εí«⌐ ß¿ßΓѼ¡δ⌐ Σá⌐½ Windows ß αáßΦ¿αÑ¡¿Ñ¼ .DLL,  .DRV ¿½¿ FON.
  5650.         (ìѬ«Γ«αδÑ ß¿ßΓѼ¡δÑ ¼«ñπ½¿ Windows ¿¼ÑεΓ ó¼ÑßΓ« αáßΦ¿αÑ¡¿∩
  5651.         .DLL αáßΦ¿αÑ¡¿Ñ .EXE).
  5652.  
  5653.              Åਪ½áñ¡á∩ »α«úαἼᠿ í¿í½¿«ΓÑτ¡δÑ ¼«ñπ½¿  ¿¼ÑεΓ  Γ«Γ  ªÑ
  5654.         Σ«α¼áΓ Σá⌐½á.  (öá¬Γ¿τÑ߬¿  φëà Σ«α¼áΓ  αáºñѽ∩ÑΓ Σá⌐½δ ¿ DLL
  5655.         OS/2). ¥Γ«Γ Σ«α¼áΓ Σá⌐½á, ¬«Γ«αδ⌐ ¿¡«úñá ¡áºδóáεΓ "ì«óδ⌐ Σ«α¼áΓ
  5656.         ºáú«½«ó¬á EXE   Σá⌐½á",   »«ºó«½∩ÑΓ   «ßπΘÑßΓó¿Γ∞  ñ¿¡á¼¿τÑ߬«Ñ
  5657.         ßó∩ºδóá¡¿Ñ. éδ ¼«ªÑΓÑ ¿ß»«½∞º«óáΓ∞ ß½πªÑí¡πε  »α«úαá¼¼π  EXEHDR
  5658.         ñ½∩  τΓÑ¡¿∩  ¿¡Σ«α¼áµ¿¿  ¿º  ºáú«½«ó¬á Σá⌐½á ¼«ñπ½∩.  Åα«úαá¼¼á
  5659.         EXEHDR »αÑñ«ßΓáó½∩ÑΓ  ¿¡Σ«α¼áµ¿ε  «  Σπ¡¬µ¿∩σ,  ¬«Γ«αδÑ  ¼«ñπ½∞
  5660.         ¿¼»«αΓ¿απÑΓ  ¿½¿  φ¬ß»«αΓ¿απÑΓ.  EXEHDR  »«ßΓáó½∩ÑΓß∩  ó¼ÑßΓÑ ß
  5661.         Microsoft C Optimizing Compiler  (ß¼«Γα¿ΓÑ  ñ«¬π¼Ñ¡Γáµ¿ε  »«  C
  5662.         Compiler).
  5663.  
  5664.              î«ñπ½∞ φ¬ß»«αΓ¿απÑΓ  Σπ¡¬µ¿¿,  τΓ«íδ ßñѽáΓ∞ ¿σ ñ«ßΓπ»¡δ¼¿
  5665.         ñαπú¿¼ ¼«ñπ½∩¼.  Æá¬¿¼ «íαẫ¼ DLL φ¬ß»«αΓ¿απÑΓ Σπ¡¬µ¿¿,  τΓ«íδ
  5666.         «¡¿ ¼«ú½¿ ¿ß»«½∞º«óáΓ∞ß∩ ñαπú¿¼¿ DLL ¿ »α¿¬½áñ¡δ¼¿ »α«úαἼἿ.
  5667.         ìá»α¿¼Ñα, ñ¿¡á¼¿τÑ߬¿ »«ñ¬½ετáѼá∩ í¿í½¿«ΓѬᠠWindows  GDI.EXE
  5668.  
  5669.        Windows 3.0/pg/3#3                                       = 109 =
  5670.  
  5671.         φ¬ß»«αΓ¿απÑΓ óßÑ   Σπ¡¬µ¿¿  ¿¡ΓÑαΣÑ⌐ßá  úαáΣ¿τÑ߬¿σ  πßΓα«⌐ßΓó.
  5672.         Äñ¡á¬«, ó «Γ½¿τ¿Ñ «Γ  DLL,  φ¬ß»«αΓ¿απѼδÑ  Σπ¡¬µ¿¿  »α¿¬½áñ¡«⌐
  5673.         »α«úαá¼¼δ ¡Ñ ¼«úπΓ ¿ß»«½∞º«óáΓ∞ß∩ ñαπú¿¼¿ ¼«ñπ½∩¼¿.
  5674.  
  5675.              î«ñπ½∞ ¿¼»«αΓ¿απÑΓ Σπ¡¬µ¿ε,  ß«ñÑαªáΘπεß∩ ó ñαπú«¼ ¼«ñπ½Ñ,
  5676.         Ñß½¿ ó«º¡¿¬áÑΓ ¡Ñ«íσ«ñ¿¼«ßΓ∞ ó ÑÑ ¿ß»«½∞º«óá¡¿¿. ê¼»«αΓ¿α«óá¡¿Ñ
  5677.         Σπ¡¬µ¿¿ ß«ºñáÑΓ ñ¿¡á¼¿τÑ߬πε ßó∩º∞ ß ¬«ñ«¼ ñá¡¡«⌐ Σπ¡¬µ¿¿.
  5678.  
  5679.              öπ¡¬µ¿ε ¼«ª¡« ¿¼»«αΓ¿α«óáΓ∞ ñóπ¼∩ ß»«ß«íἿ:
  5680.  
  5681.              - è«¼»«¡π∩  ¼«ñπ½∞  ß  ¿¼»«αΓ¿απѼ«⌐ í¿í½¿«ΓѬ«⌐,  ¬«Γ«αá∩
  5682.                ß«ñÑαª¿Γ ¿¡Σ«α¼áµ¿ε «í φΓ«⌐ Σπ¡¬µ¿¿.
  5683.  
  5684.              - Ä»¿ßáó «Γñѽ∞¡δÑ  Σπ¡¬µ¿¿  ó  αáºñѽѠ IMPORTS  ó  Σá⌐½Ñ
  5685.                «»¿ßá¡¿∩ ¼«ñπ½∩ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ.
  5686.  
  5687.              ò«Γ∩ ¿  ¼«ñπ½¿  »α¿¬½áñ¡«⌐  »α«úαá¼¼δ,  ¿ ¼«ñπ½¿ DLL ¼«úπΓ
  5688.         φ¬ß»«αΓ¿α«óáΓ∞ ¿ ¿¼»«αΓ¿α«óáΓ∞ Σπ¡¬µ¿¿,  ¼Ñªñπ ¡¿¼¿  ßπΘÑßΓóπÑΓ
  5689.         «ñ¡« ßπΘÑßΓóÑ¡¡«Ñ «Γ½¿τ¿Ñ - ¼«ñπ½¿ DLL ¡Ñ ∩ó½∩εΓß∩ ºáñáτἿ.
  5690.                                           20.1.3  DLL ¿ ºáñáτ¿.                
  5691.  
  5692.              Äñ¡¿¼ ¿º   «ß¡«ó¡δσ   «Γ½¿τ¿⌐   ¼Ñªñπ  ¼«ñπ½Ñ¼  »α¿¬½áñ¡«⌐
  5693.         »α«úαá¼¼δ ¿  ñ¿¡á¼¿τÑ߬¿  »«ñß«Ññ¿¡∩Ñ¼δ¼  ¼«ñπ½Ñ¼  ∩ó½∩ÑΓß∩  ¿σ
  5694.         «Γ¡«ΦÑ¡¿Ñ ¬  »«¡∩Γ¿ε  "ºáñáτá".  çáñáτá - φΓ« «ß¡«ó¡«⌐ φ½Ñ¼Ñ¡Γ,
  5695.         ¿ß»«½∞ºπѼδ⌐ Windows.  î«ñπ½∞  »α¿¬½áñ¡«⌐  »α«úαá¼¼δ  ßτ¿ΓáÑΓß∩
  5696.         óδ»«½¡∩Ñ¼δ¼  ¼«ñπ½Ñ¼  ºáñáτ¿.  Å«ß½Ñ ºáúαπº¬¿ ¼«ñπ½∩ »α¿¬½áñ¡«⌐
  5697.         »α«úαá¼¼δ «ßπΘÑßΓó½∩ÑΓß∩ Ñú« ó맮ó τÑαѺ Γ«τ¬π  óσ«ñá,  Σπ¡¬µ¿ε
  5698.         WinMain,  ¬«Γ«αá∩  «íδτ¡«  ß«ñÑαª¿Γ  µ¿¬½  «íαáí«Γ¬¿ ß««íΘÑ¡¿⌐.
  5699.         î«ñπ½∞   »α¿¬½áñ¡«⌐   »α«úαá¼¼δ   ß«ºñáÑΓ   «¬¡á   ¿   ¡áτ¿¡áÑΓ
  5700.         óºá¿¼«ñÑ⌐ßΓó«óáΓ∞   ß   »«½∞º«óáΓѽѼ   τÑαѺ   Windows.   Å«¬á
  5701.         »«½∞º«óáΓѽ∞ óºá¿¼«ñÑ⌐ßΓóπÑΓ ß »α¿¬½áñ¡«⌐ »α«úαá¼¼«⌐, ß««íΘÑ¡¿∩
  5702.         »«ßδ½áεΓß∩   ¼«ñπ½ε   »α¿¬½áñ¡«⌐  »α«úαá¼¼δ,  á  «¡  ó«ºóαáΘáÑΓ
  5703.         π»αáó½Ñ¡¿Ñ Windows.
  5704.  
  5705.              DLL ∩ó½∩ÑΓß∩ óδ»«½¡∩Ñ¼δ¼ ¼«ñπ½Ñ¼,  ¡Ñ ∩ó½∩εΘ¿¼ß∩  ºáñáτÑ⌐.
  5706.         èᬠ¿  ¼«ñπ½∞  »α¿¬½áñ¡«⌐  »α«úαá¼¼δ ñ¿¡á¼¿τÑ߬¿ »«ñß«Ññ¿¡∩Ѽδ⌐
  5707.         ¼«ñπ½∞ ¼«ªÑΓ ß«ñÑαªáΓ∞  Γ«τ¬π  óσ«ñá.  Åα¿  ºáúαπº¬Ñ  ¬á¬  ¿  ó
  5708.         »α¿¬½áñ¡«⌐  »α«úαἼѠ óδºδóáÑΓß∩ Ñú« Γ«τ¬á óσ«ñá,  ¡« «íδτ¡« ó
  5709.         φΓ«¼ ß½πτáÑ »α«¿ºó«ñ¿Γß∩ Γ«½∞¬«  ¼¿¡¿¼á½∞¡á∩  ¿¡¿µ¿á½¿ºáµ¿∩.  é
  5710.         «Γ½¿τ¿Ñ «Γ ¼«ñπ½∩ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ DLL ¡Ñ óºá¿¼«ñÑ⌐ßΓóπÑΓ ß
  5711.         »«½∞º«óáΓѽѼ τÑαѺ µ¿¬½ «íαáí«Γ¬¿ ß««íΘÑ¡¿⌐.  é¼ÑßΓ« φΓ«ú«  «¡
  5712.         ªñÑΓ  «íαáΘÑ¡¿⌐  »α¿¬½áñ¡δσ  »α«úαá¼¼  ºá  ß«ñÑαªáΘ¿¼¿ß∩  ó ¡Ñ¼
  5713.         Σπ¡¬µ¿∩¼¿.
  5714.  
  5715.              î«ñπ½¿ »α¿¬½áñ¡δσ »α«úαá¼¼ ∩ó½∩εΓß∩  á¬Γ¿ó¡δ¼¿  φ½Ñ¼Ñ¡ΓἿ
  5716.         Windows. Ä¡¿   »«½πτáε  ß««íΘÑ¡¿∩,  úÑ¡Ñα¿απѼδÑ  ß¿ßΓѼ«⌐  ¿½¿
  5717.         »«½∞º«óáΓѽѼ, ¿ ó ß½πτáÑ ¡Ñ«íσ«ñ¿¼«ßΓ¿  óδºδóáεΓ  í¿í½¿«ΓÑτ¡δÑ
  5718.         ¼«ñπ½¿ ñ½∩ óδ»«½¡Ñ¡¿∩ ß»Ñµ¿á½∞¡δσ Σπ¡¬µ¿⌐.  ü¿í½¿«ΓÑτ¡δÑ ¼«ñπ½¿
  5719.         ßπΘÑßΓóπεΓ  ñ½∩  «íÑß»ÑτÑ¡¿∩  Σπ¡¬µ¿⌐,  ¡Ñ«íσ«ñ¿¼δσ  »α¿¬½áñ¡δ¼
  5720.         »α«úαá¼¼á¼.
  5721.  
  5722.              Åα¿¼Ñτá¡¿Ñ: ìѬ«Γ«αδÑ DLL ¡Ñ »«½¡«ßΓ∞ε »áßß¿ó¡δ. ìá»α¿¼Ñα,
  5723.  
  5724.        Windows 3.0/pg/3#3                                       = 110 =
  5725.  
  5726.         ¡Ñ¬«Γ«αδÑ DLL ∩ó½∩εΓß∩ ñαá⌐óÑαἿ πßΓα«⌐ßΓó, π»αáó½∩Ñ¼δ¼¿ τÑαѺ
  5727.         »αÑαδóá¡¿∩, ¬á¬,     ¡á»α¿¼Ñα,     ¬½áó¿áΓπαá,     ¼δΦ∞     ¿½¿
  5728.         ¬«¼¼π¡¿¬áµ¿«¡¡δ⌐   »«αΓ.   Äñ¡á¬«   óºá¿¼«ñÑ⌐ßΓó¿Ñ   ß   Γᬿ¼¿
  5729.         í¿í½¿«ΓѬἿ  »«½¡«ßΓ∞ε  π»αáó½∩ÑΓß∩,  ñ½∩ ¿ß¬½ετÑ¡¿∩ ¡áαπΦÑ¡¿∩
  5730.         αáí«Γδ Windows.  ìỿßá¡¿Ñ DLL,  ¿úαáεΘ¿σ Γá¬πε á¬Γ¿ó¡πε  α«½∞,
  5731.         «»¿ßá¡« ó αáºñѽѠ20.2.4, "äαá⌐óÑαδ πßΓα«⌐ßΓó".
  5732.                                            20.1.4  DLL ¿ ßΓѬ¿.                
  5733.  
  5734.              î«ñπ½∞ DLL  ó  «Γ½¿τ¿Ñ  «Γ  ¼«ñπ½∩ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ ¡Ñ
  5735.         ¿¼ÑÑΓ ßΓѬá.  é¼ÑßΓ« φΓ«ú« ñ½∩ σαá¡Ñ¡¿∩ »áαá¼ÑΓα«ó ¿  ½«¬á½∞¡δσ
  5736.         »ÑαѼѡ¡δσ «¡á  ¿ß»«½∞ºπÑΓ ßΓѬ,  óδºδóáεΘÑ⌐ ÑÑ »α«úαá¼¼δ.  ¥Γ«
  5737.         ¼«ªÑΓ ß«ºñáΓ∞ »α«í½Ñ¼δ,  ¬«úñá DLL  óδºδóáÑΓ  Σπ¡¬µ¿ε,  ¬«Γ«αá∩
  5738.         »«ñαáºπ¼ÑóáÑΓ,  τΓ«  ó αÑú¿ßΓαáσ DS ¿ SS σαá¡¿Γß∩ Γ«Γ ªÑ áñαÑß.
  5739.         ùáΘÑ óßÑú« φΓá »α«í½Ñ¼á ó«º¡¿¬áÑΓ ó DLL,  ¿ß»«½∞ºπεΘ¿σ ¼á½πε  ¿
  5740.         ßαÑñ¡εε ¼«ñѽ¿  »á¼∩Γ¿,  Γᬠ ¬á¬  »«  π¼«½τá¡¿ε ó φΓ¿σ ¼«ñѽ∩σ
  5741.         ¿ß»«½∞ºπεΓß∩ í½¿ª¡¿Ñ π¬áºáΓѽ¿.
  5742.  
  5743.              î¡«ú¿Ñ Σπ¡¬µ¿¿ ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓÑ¼δ  æ  »«ñαáºπ¼ÑóáεΓ,  τΓ«
  5744.         ß«ñÑন¼«Ñ DS αáó¡« SS.  ìÑ«íσ«ñ¿¼« ß«í½εñáΓ∞ «ßë᫪¡«ßΓ∞, »α¿
  5745.         ó맮óÑ Γᬿσ Σπ¡¬µ¿⌐ ¿º DLL.
  5746.  
  5747.              èα«¼Ñ φΓ«ú«  DLL  ¼«ªÑΓ  óßΓαÑΓ¿Γ∞  Γαπñ¡«ßΓ¿  »α¿  ó맮óÑ
  5748.         »«½∞º«óáΓѽ∞߬¿σ Σπ¡¬µ¿⌐.  Éáßß¼«Γα¿¼,  ¡á»α¿¼Ñα,  DLL, ¬«Γ«αá∩
  5749.         ß«ñÑαª¿Γ Σπ¡¬µ¿ε,  «íΩ∩ó½∩εΘπε »ÑαѼѡ¡πε ó¡πΓα¿ ΓѽᠠΣπ¡¬µ¿¿.
  5750.         ÇñαÑß φΓ«⌐ Σπ¡¬µ¿¿ íÑαÑΓß∩ «Γ¡«ß¿Γѽ∞¡« ßΓѬᠺáñáτ¿, óδºóáóΦÑ⌐
  5751.         Σπ¡¬µ¿ε DLL.  àß½¿ φΓá Σπ¡¬µ¿∩ »ÑαÑñáÑΓ Γá¬πε »ÑαѼѡ¡πε ñαπú«⌐
  5752.         Σπ¡¬µ¿¿ τÑαѺ í½¿ª¡¿⌐ π¬áºáΓѽ∞,  óΓ«αá∩ Σπ¡¬µ¿∩ »«ñαáºπ¼ÑóáÑΓ,
  5753.         τΓ« áñαÑß  íÑαÑΓß∩  «Γ¡«ß¿Γѽ∞¡«  ßÑú¼Ñ¡Γá  ñá¡¡δσ  DLL,  á  ¡Ñ
  5754.         ßÑú¼Ñ¡Γá ßΓѬᠻα«úαá¼¼δ, óδºóáóΦÑ⌐ DLL.
  5755.  
  5756.              ì¿ªÑ »«¬áºá¡«,  ¬á¬  Σπ¡¬µ¿∩  DLL  ¼«ªÑΓ »ÑαÑñáóáΓ∞ ñá¡¡δÑ
  5757.         τÑαѺ ßΓѬ, á ¡Ñ τÑαѺ ßÑú¼Ñ¡Γ ñá¡¡δσ:
  5758.  
  5759.              void DLLFunction(WORD wMyWord)
  5760.                 WORD wMyWord;
  5761.                 {
  5762.                    char szMyString[10];
  5763.                    .
  5764.                    .
  5765.                    .
  5766.                    AnotherFunction(szMyString);
  5767.                 }
  5768.  
  5769.              àß½¿ AnotherFunction  «íΩ∩ó½Ñ¡á  ¬á¬  »«½πτáεΘá∩   í½¿ª¡¿⌐
  5770.         π¬áºáΓѽ∞   ¡á   ¼áß߿󠠠߿¼ó«½«ó   (char   NEAR  *),  Γ«  «¡á
  5771.         ¿¡ΓÑα»αÑΓ¿απÑΓ áñαÑß ¬á¬ ß¼ÑΘÑ¡¿Ñ ó ßÑú¼Ñ¡ΓÑ  ñá¡¡δσ,  á  ¡Ñ  ó
  5772.         ßÑú¼Ñ¡ΓÑ ßΓѬᠺáñáτ¿, óδºóáóΦÑ⌐ DLL.
  5773.  
  5774.              ùΓ«íδ íδΓ∞  πóÑαÑ¡¡δ¼  ó  Γ«¼,  τΓ«  óáΦá  DLL ¡Ñ »ÑαÑñáÑΓ
  5775.         »ÑαѼѡ¡δÑ ¿º  ßΓѬᠠ Σπ¡¬µ¿∩¼,   ¬«Γ«αδÑ   »«½πτáεΓ   í½¿ª¡¿Ñ
  5776.         π¬áºáΓѽ¿, ¬«¼»¿½¿απ⌐ΓÑ  DLL  ß  ¬½ετѼ  ¬«¼»¿½∩Γ«αá  -Aw.  ¥Γ«
  5777.         »α¿ó«ñ¿Γ ¬ úÑ¡Ñαᵿ¿  »αÑñπ»αѪñáεΘÑú«  ß««íΘÑ¡¿∩  óß∩¬¿⌐  αáº,
  5778.  
  5779.        Windows 3.0/pg/3#3                                       = 111 =
  5780.  
  5781.         ¬«úñá DLL  óδºδóáÑΓ  Σπ¡¬µ¿ε,  »«ñαáºπ¼ÑóáεΘπε,  τΓ«  ó DS ¿ SS
  5782.         ¡áσ«ñ∩Γß∩ «ñ¿¡á¬«óδÑ º¡áτÑ¡¿∩.  Åα¿ »«½πτÑ¡¿¿ Γᬫú«  ß««íΘÑ¡¿∩
  5783.         óδ ¼«ªÑΓÑ  πñ὿Γ∞ ó맮ó Σπ¡¬µ¿¿ ¿º DLL ¿½¿ »ÑαÑ»¿ßáΓ∞ ¿ßσ«ñ¡δ⌐
  5784.         ¼«ñπ½∞ DLL  Γᬿ¼  «íαẫ¼,  τΓ«íδ  ¡Ñ   »α«¿ßσ«ñ¿½á   »ÑαÑñáτá
  5785.         ßΓѬ«óδσ »ÑαѼѡ¡δσ τÑαѺ ßÑú¼Ñ¡Γ ñá¡¡δσ.
  5786.                                     20.1.5  èᬠWindows ¿ΘÑΓ DLL.              
  5787.  
  5788.              Windows «»αÑñѽ∩ÑΓ    ¼ÑßΓ«»«½«ªÑ¡¿Ñ   DLL,   »α«ß¼áΓα¿óá∩
  5789.         ñ¿αÑ¬Γ«α¿¿ ΓѼ ªÑ ß»«ß«í«¼,  ¬á¬ ¿ »α¿ »«¿ß¬Ñ ¼«ñπ½∩ »α¿¬½áñ¡«⌐
  5790.         »α«úαá¼¼δ. ä½∩ Γ«ú«, τΓ«íδ Windows ¡áΦ½á DLL, ¡Ñ«íσ«ñ¿¼«, τΓ«íδ
  5791.         «¡á ¡áσ«ñ¿½áß∞ ó «ñ¡«⌐ ¿º ß½ÑñπεΘ¿σ ñ¿αÑ¬Γ«α¿⌐:
  5792.  
  5793.              1. ÆÑ¬πΘÑ⌐ ñ¿αÑ¬Γ«α¿¿.
  5794.  
  5795.              2. ä¿αÑ¬Γ«α¿¿  Windows   (ß«ñÑαªáΘÑ⌐   WIN.COM).   öπ¡¬µ¿∩
  5796.                 GetWindowsDirectory »«½πτáÑΓ ¼áαΦαπΓ φΓ«⌐ ñ¿αÑ¬Γ«α¿¿.
  5797.  
  5798.              3. æ¿ßΓѼ¡πε ñ¿αÑ¬Γ«α¿ε  Windows  (ñ¿αÑ¬Γ«α¿ε,  ß«ñÑαªáΘπε
  5799.                 ß¿ßΓѼ¡δÑ Σá⌐½δ Windows, ΓᬿѠ¬á¬ KERNEL.EXE). öπ¡¬µ¿∩
  5800.                 GetSystemDirectory ó«ºóαáΘáÑΓ ¼áαΦαπΓ φΓ«⌐ ñ¿αÑ¬Γ«α¿¿.
  5801.  
  5802.              4. ä¿αÑ¬Γ«α¿¿, »α¿óÑñÑ¡¡δÑ ó »ÑαѼѡ¡«⌐ ßαÑñδ PATH.
  5803.  
  5804.              5. ä¿αÑ¬Γ«α¿¿ ¿º ß»¿ß¬á ñ¿αÑ¬Γ«α¿⌐, «Γ«íαáªáѼδσ ¡á ßÑΓ∞.
  5805.  
  5806.              Windows »α«ß¼áΓα¿óáÑΓ ñ¿αÑ¬Γ«α¿¿ ó π¬áºá¡¡«¼ »«α∩ñ¬Ñ.
  5807.  
  5808.              ìÑ∩ó¡« ºáúαπªáѼδÑ í¿í½¿«ΓѬ¿ ñ«½ª¡δ ¿¼ÑΓ∞ αáßΦ¿αÑ¡¿Ñ DLL.
  5809.  
  5810.              é ñá¡¡«¼ αáºñѽѠ«»¿ßá¡«, τΓ« ñѽáεΓ DLL ó ¬«¡ΓѬßΓÑ ßαÑñδ
  5811.         Windows. é ß½ÑñπεΘѼ αáºñѽѠ«»¿ßá¡«,  τΓ« ¼«úπΓ ñѽáΓ∞ DLL ñ½∩
  5812.         óáΦÑ⌐ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ.
  5813.                            20.2  è«úñá ¿ß»«½∞º«óáΓ∞ ß«íßΓóÑ¡¡δÑ DLL.           
  5814.  
  5815.              ò«Γ∩ DLL  ∩ó½∩εΓß∩  µÑ¡Γα«¼   áασ¿ΓѬΓπαδ   Windows,   ñ½∩
  5816.         »α¿¬½áñ¡δσ »α«úαá¼¼  «¡¿  ¡Ñ  ∩ó½∩εΓß∩ ¡Ñ«íσ«ñ¿¼δ¼ ¬«¼»«¡Ñ¡Γ«¼.
  5817.         éáΦá »α¿¬½áñ¡á∩   »α«úαá¼¼á,   ¡Ñ   ¿ß»«½∞ºπεΘá∩   DLL,  »α«ßΓ«
  5818.         πóѽ¿τ¿óáÑΓ ºáΓαáΓδ Windows  ¡á  π»αáó½Ñ¡¿Ñ  »á¼∩Γ∞ε.  àß½¿  óδ
  5819.         αáºñѽ¿ΓÑ   óáΦπ  »α¿¬½áñ¡πε  »α«úαá¼¼π  ¡á  «Γñѽ∞¡δÑ  ¬«ñ«óδÑ
  5820.         ßÑú¼Ñ¡Γδ, Windows óδ»«½¡¿Γ  ¡Ñ¬«Γ«αδ⌐  α«ñ  ñ¿¡á¼¿τÑ߬«⌐  ßó∩º¿
  5821.         ¼Ñªñπ   ßÑú¼Ñ¡ΓἿ,   τΓ«íδ   «íÑß»Ñτ¿Γ∞  ¡á¿í«½ÑÑ  φΣΣÑ¬Γ¿ó¡«Ñ
  5822.         π»αáó½Ñ¡¿Ñ  »á¼∩Γ∞ε.  ä«»«½¡¿Γѽ∞¡πε   ¿¡Σ«α¼áµ¿ε   »«   »«ó«ñπ
  5823.         ¿ß»«½∞º«óá¡¿∩  ¡Ñ߬«½∞¬¿σ  ¬«ñ«óδσ ßÑú¼Ñ¡Γ«ó óδ ¡á⌐ñÑΓÑ ó ú½áóÑ
  5824.         16, "àΘÑ «í π»αáó½Ñ¡¿¿ »á¼∩Γ∞ε".
  5825.  
  5826.              Äñ¡á¬«, ¬α«¼Ñ óßÑú« »α«τÑú«, DLL ¿ß»«½∞ºπεΓß∩ ñ½∩:
  5827.  
  5828.              - Éáºñѽѡ¿∩    ¬«ñá    ¿   αÑßπα߫󠠠¼Ñªñπ   »α¿¬½áñ¡δ¼¿
  5829.                »α«úαἼἿ.
  5830.  
  5831.              - ô»α«ΘÑ¡¿∩ ¼«ñ¿Σ¿¬áµ¿¿ »α«úαá¼¼ ñ½∩ αẽ¿τ¡δσ α뭪«ó.
  5832.  
  5833.        Windows 3.0/pg/3#3                                       = 112 =
  5834.  
  5835.  
  5836.              - ö¿½∞Γαᵿ¿ ß««íΘÑ¡¿⌐ ó« óßÑ⌐ ß¿ßΓѼÑ.
  5837.  
  5838.              - æ«ºñá¡¿∩ ñαá⌐óÑα«ó πßΓα«⌐ßΓó.
  5839.  
  5840.              - ÄíÑß»ÑτÑ¡¿∩ ñ½∩  αÑñá¬Γ«αá  ñ¿á½«úá  (DIALOG)  »«ññÑ᪬¿
  5841.                óáΦ¿σ ß«íßΓóÑ¡¡δσ í½«¬«ó π»αáó½Ñ¡¿∩.
  5842.  
  5843.              - ÄíÑß»ÑτÑ¡¿∩ αáºαáí«Γ¬¿ ß½«ª¡δσ »α¿¬½áñ¡δσ »α«úαá¼¼.
  5844.  
  5845.              é ñá¡¡«¼  αáºñѽѠ ¼δ «íßπñ¿¼ αẽ¿τ¡δÑ ¬α¿ΓÑα¿¿,  ¬«Γ«αδÑ
  5846.         »«¼«úπΓ ¡á¼ αÑΦ¿Γ∞, ¡πª¡« ½¿ ¿ß»«½∞º«óáΓ∞ DLL.
  5847.                      20.2.1  Éáºñѽѡ¿Ñ ¼Ñªñπ »α¿¬½áñ¡δ¼¿ »α«úαἼἿ.         
  5848.  
  5849.              DLL ¼«ª¡«  ¿ß»«½∞º«óáΓ∞  ñ½∩  αáºñѽѡ¿∩  «íΩÑ¬Γ«ó   ¼Ñªñπ
  5850.         »α¿¬½áñ¡δ¼¿ »α«úαἼἿ. ìѬ«Γ«αδÑ Γ¿»δ «íΩÑ¬Γ«ó, ó¬½ετá∩ ¬«ñ ¿
  5851.         αÑßπαßδ, ¼«úπΓ   ßó«í«ñ¡«  αáºñѽ∩Γ∞ß∩  τÑαѺ  DLL.  Éáºñѽѡ¿Ñ
  5852.         ñαπú¿σ Γ¿»«ó «íΩÑ¬Γ«ó,  ó¬½ετáεΘ¿σ ñá¡¡δÑ ¿ ñÑß¬α¿»Γ«αδ Σá⌐½«ó,
  5853.         ¡á¼¡«ú«   í«½ÑÑ   «úαá¡¿τÑ¡«.   ¥Γ«  »α«¿ßσ«ñ¿Γ  «Γ  Γ«ú«,  τΓ«
  5854.         ñÑß¬α¿»Γ«αδ Σá⌐½«ó ¿ ñá¡¡δÑ ¡áσ«ñ∩Γß∩ ó  áñαÑß¡«¼  »α«ßΓαá¡ßΓóÑ
  5855.         »α¿¬½áñ¡«⌐ »α«úαá¼¼δ.  Å«»δΓ¬á αáºñѽѡ¿∩ ñÑß¬α¿»Γ«αá Σá⌐½á ¿½¿
  5856.         ñá¡¡δσ (ºá ¿ß¬½ετÑ¡¿Ñ¼ DDE, ß¿ßΓѼ¡«ú« íπΣÑαá ¿ ßÑú¼Ñ¡Γá ñá¡¡δσ
  5857.         DLL) ¼«ªÑΓ  »α¿óÑßΓ¿  ¬  ¡Ñ»αÑñ߬áºπÑ¼δ¼ αѺπ½∞ΓáΓá¼ ¿ ó«º¼«ª¡«
  5858.         íπñÑΓ ¡Ñß«ó¼ÑßΓ¿¼« ß« ß½ÑñπεΘ¿¼¿ óÑαß¿∩¼¿ Windows.
  5859.  
  5860.              é ñá¡¡«¼ αáºñѽѠ«»¿ßá¡«,  ¬á¬ ¼«ª¡« ¿ß»«½∞º«óáΓ∞ DLL Γá¬,
  5861.         τΓ«íδ »α¿¬½áñ¡δÑ »α«úαá¼¼δ ¼«ú½¿ αáºñѽ∩Γ∞ ¬«ñ ¿ αÑßπαßδ.
  5862.  
  5863.                                Éáºñѽѡ¿Ñ ¬«ñá.
  5864.  
  5865.              àß½¿ óδ αáºαáíáΓδóáÑΓÑ ßѼÑ⌐ßΓó« »α¿¬½áñ¡δσ »α«úαá¼¼,  Γ«,
  5866.         ó«º¼«ª¡«, óδ ºáσ«Γ¿ΓÑ ¿ß»«½∞º«óáΓ∞ «ñ¡π  ¿½¿  í«½∞ΦÑ  DLL.  DLL
  5867.         »«ºó«½∩ÑΓ  π¼Ñ¡∞Φ¿Γ∞  ¡Ñ«íσ«ñ¿¼πε  »á¼∩Γ∞,  ¬«úñá  ÑÑ »α«µÑñπαδ
  5868.         ¿ß»«½∞ºπεΓ  ñóÑ  ¿½¿  í«½ÑÑ  »α¿¬½áñ¡δσ  »α«úαá¼¼,   αáí«ΓáεΘ¿σ
  5869.         «ñ¡«óαѼѡ¡«.  DLL  »«ºó«½∩ÑΓ  ¡Ñ߬«½∞¬¿¼ »α¿¬½áñ¡δ¼ »α«úαá¼¼á¼
  5870.         αáºñѽ∩Γ∞  »α«µÑñπαδ,  ¬«Γ«αδÑ  »α¿  ¿ß»«½∞º«óá¡¿¿  ßΓáΓ¿τÑ߬¿σ
  5871.         í¿í½¿«ΓѬ í뫨 íδ «ñ¿¡á¬«óδ.
  5872.  
  5873.              ÅαÑñ»«½«ª¿¼, τΓ« óδ ß«ºñáÑΓÑ  ñóÑ  úαáΣ¿τÑ߬¿Ñ  »α¿¬½áñ¡δÑ
  5874.         »α«úαá¼¼δ, «ñ¡á  ¿º  ¬«Γ«αδσ  óÑ¬Γ«α¡á∩  (α¿ß«óá¡¿∩),  á ñαπúá∩
  5875.         αáßΓα«óá∩. ÄíΘÑÑ ΓαÑí«óá¡¿Ñ ¬ «í«¿¼ »α¿¬½áñ¡δ¼ »α«úαἼἠ- φΓ«
  5876.         ó«º¼«ª¡«ßΓ∞ ¿¼»«αΓ¿α«óáΓ∞   ¿º«íαáªÑ¡¿∩,    ß«ºñá¡¡δÑ    ñαπú«⌐
  5877.         »α«úαá¼¼«⌐.   éδ  ¼«ªÑΓÑ  ß«ºñáΓ∞  DLL  ñ½∩  »«ññÑ᪬¿  ¬áªñ«ú«
  5878.         »«ññÑনóáѼ«ú« "ó¡ÑΦ¡Ñú«" Σ«α¼áΓá Σá⌐½á,  ¬«Γ«αδ⌐  ¼«ªÑΓ  íδΓ∞
  5879.         »αÑ«íαẫóá¡  ó« ó¡πΓαÑ¡¡¿⌐ Σ«α¼áΓ.  çáΓѼ óáΦ¿ »α«úαá¼¼δ ¼«úπΓ
  5880.         »αÑ«íαẫóδóáΓ∞ ñá¡¡δÑ ó  ß«íßΓóÑ¡¡δ⌐  Σ«α¼áΓ.  Æá¬¿¼  «íαẫ¼,
  5881.         ßἿ¼  »α¿¬½áñ¡δ¼  »α«úαἼἠ¡Ñ«íσ«ñ¿¼« ¿¼ÑΓ∞ Γ«½∞¬« »α«µÑñπαδ
  5882.         »αÑ«íαẫóá¡¿∩ ó¡πΓαÑ¡¡Ñú« Σ«α¼áΓá ó ßó«⌐  ß«íßΓóÑ¡¡δ⌐  Σ«α¼áΓ.
  5883.         Åα¿  ñ«íáó½Ñ¡¿¿  ¬«¡óÑαΓÑαá  ñ½∩ ¡«ó«ú« Σ«α¼áΓá Σá⌐½á óá¼ ¡πª¡«
  5884.         ½¿Φ∞ ß«ºñáΓ∞ ¡«óπε DLL,  «íÑß»Ñτ¿óáεΘπε φΓ«  »αÑ«íαẫóá¡¿Ñ,  ¿
  5885.         »ÑαÑß½áΓ∞ ÑÑ    óáΦ¿¼    »«½∞º«óáΓѽ∩¼   ó¼ÑßΓ«   Γ«ú«,   τΓ«íδ
  5886.         »ÑαѬ«¼»¿½¿α«óáΓ∞ ßἿ ¼«ñπ½¿ »α¿¬½áñ¡δσ »α«úαá¼¼.
  5887.  
  5888.        Windows 3.0/pg/3#3                                       = 113 =
  5889.  
  5890.  
  5891.                              Éáºñѽѡ¿Ñ αÑßπαß«ó.
  5892.  
  5893.              ÉÑßπαßδ -  φΓ« «íΩѬΓδ ñá¡¡δσ,  »αÑñ¡áº¡áτÑ¡¡δÑ Γ«½∞¬« ñ½∩
  5894.         τΓÑ¡¿∩, ¬«Γ«αδÑ »«ñ¬½ετáεΓß∩ ¬ óδ»«½¡∩Ѽ«¼π Σá⌐½π  ¬«¼»¿½∩Γ«α«¼
  5895.         αÑßπαß«ó (RC). ÉÑßπαßδ ¼«ª¡« ñ«íáó¿Γ∞ ¬á¬ ¬ .EXE Σá⌐½π, Γᬠ¿ ¬
  5896.         Σá⌐½π DLL.  Windows  »«ññÑনóáÑΓ   ó«ßѼ∞   óßΓα«Ñ¡¡δσ   Γ¿»«ó
  5897.         αÑßπαß«ó:
  5898.  
  5899.              - Æáí½¿µδ π߬«α¿ΓѽÑ⌐.
  5900.  
  5901.              - ÉáßΓα«óδÑ ¬áαΓδ.
  5902.  
  5903.              - èπαß«αδ.
  5904.  
  5905.              - ÿáí½«¡δ »á¡Ñ½Ñ⌐ ñ¿á½«úá.
  5906.  
  5907.              - ÿα¿ΣΓδ.
  5908.  
  5909.              - ê¬«¡δ.
  5910.  
  5911.              - ÿáí½«¡δ ¼Ñ¡ε.
  5912.  
  5913.              - Æáí½¿µδ ßΓ᫬.
  5914.  
  5915.              èα«¼Ñ ßΓá¡ñáαΓ¡δσ  αÑßπαß«ó  Windows  óδ  ¼«ªÑΓÑ   ß«ºñáΓ∞
  5916.         ß«íßΓóÑ¡¡δÑ  αÑßπαßδ  ¿  »«ñ¬½ετ¿Γ∞  ¿σ  ¬  óδ»«½¡∩Ѽ«¼π Σá⌐½π.
  5917.         ä«»«½¡¿Γѽ∞¡πε ¿¡Σ«α¼áµ¿ε »« »«ó«ñπ αÑßπαß«ó óδ ¡á⌐ñÑΓÑ ó ú½áóÑ
  5918.         16, "àΘÑ «í π»αáó½Ñ¡¿¿ »á¼∩Γ∞ε".
  5919.  
  5920.              ÉÑßπαßδ ó  DLL   ¼«úπΓ   αáºñѽ∩Γ∞ß∩   ¼Ñªñπ   »α¿¬½áñ¡δ¼¿
  5921.         »α«úαἼἿ, φΓ« »«ºó«½∩ÑΓ ßφ¬«¡«¼¿Γ∞ ¼ÑßΓ« »α¿ ¿ß»«½∞º«óá¡¿¿ ó
  5922.         αạδσ »α«úαá¼¼áσ «ñ¡¿σ ¿ ΓÑσ ªÑ αÑßπαß«ó.
  5923.  
  5924.              ÉÑßπαßδ, αáß»«½«ªÑ¡¡δÑ     ó     DLL,    ¼«úπΓ    ßó«í«ñ¡«
  5925.         ¿ß»«½∞º«óáΓ∞ß∩ ó  ½εí«⌐  »α¿¬½áñ¡«⌐  »α«úαá¼¼Ñ.  Äñ¡á¬«  ó᪡«,
  5926.         τΓ«íδ  ¬áªñá∩  »α«úαἼᠠ∩ó¡«  ºá»αáΦ¿óá½á  ¬áªñδ⌐  ¡πª¡δ⌐  Ñ⌐
  5927.         αÑßπαß.  ìá»α¿¼Ñα,  Ñß½¿ »α«úαἼᠠ¿ß»«½∞ºπÑΓ  αÑßπαß  ¼Ñ¡ε  ß
  5928.         ¿¼Ñ¡Ñ¼  MainMenu,  ¬«Γ«αδ⌐ αáß»«½«ªÑ¡ ó í¿í½¿«ΓѬѠMENULIB.DLL,
  5929.         Γ« »α«úαá¼¼á íπñÑΓ ß«ñÑαªáΓ∞ ß½ÑñπεΘ¿Ñ ßΓ᫬¿:
  5930.  
  5931.              HANDLE hLibrary;
  5932.              HMENU  hMenu;
  5933.  
  5934.              hLibrary = LoadLibrary("MENULIB.DLL");
  5935.  
  5936.              hMenu = LoadMenu(hLibrary,"MainMenu");
  5937.                     20.2.2  î«ñ¿Σ¿¬áµ¿∩ »α«úαá¼¼ ñ½∩ αẽ¿τ¡δσ α뭪«ó.         
  5938.  
  5939.              éδ ¼«ªÑΓÑ ¿ß»«½∞º«óáΓ∞ DLL ñ½∩  ¼«ñ¿Σ¿¬áµ¿¿  »α«úαá¼¼  »«ñ
  5940.         αẽ¿τ¡δÑ α뭪¿.  ä½∩  ¬áªñ«ú«  α뭪á óδ ß«ºñáÑΓÑ DLL,  ¬«Γ«αá∩
  5941.         ß«ñÑαª¿Γ ¬«ñ,  ñá¡¡δÑ ¿ αÑßπαßδ, ß»Ñµ¿Σ¿τ¡δÑ ñ½∩ ñá¡¡«ú« α뭪á.
  5942.  
  5943.        Windows 3.0/pg/3#3                                       = 114 =
  5944.  
  5945.         éδ ¡Ñ »ÑαÑαáíáΓδóáÑΓÑ »«½¡«ßΓ∞ε ¼«ñπ½¿ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ ñ½∩
  5946.         ¬áªñ«ú« α뭪á.  é¼ÑßΓ« φΓ«ú« óδ  ß«ºñáÑΓÑ  «ß¡«ó¡πε  »α«úαá¼¼π,
  5947.         ¿ß»«½∞ºπεΘπε ß»Ñµ¿Σ¿τ¡πε  ñ½∩ αδ¡¬á ¿¡Σ«α¼áµ¿ε,  ß«ñÑαªáΘπεß∩ ó
  5948.         DLL.
  5949.  
  5950.              DLL τáßΓ« ¿ß»«½∞ºπεΓß∩ ñ½∩ ¼«ñ¿Σ¿¬áµ¿¿ »α¿¬½áñ¡δσ »α«úαá¼¼
  5951.         »«ñ ¼Ñªñπ¡áα«ñ¡δÑ   α뭪¿.   DLL  ¼«ªÑΓ  ß«ñÑαªáΓ∞  ¿¡Σ«α¼áµ¿ε,
  5952.         ºáó¿ß¿¼πε «Γ ∩ºδ¬á ¿ ¬π½∞Γπαδ,  »α«úαá¼¼δ,  αáß»α«ßΓαá¡∩Ѽ«⌐  ó
  5953.         αẽ¿τ¡δσ ßΓαá¡áσ.  ìá»α¿¼Ñα,   »α¿¬½áñ¡¡á∩   »α«úαἼᠠ ¼«ªÑΓ
  5954.         ß«ßΓ«∩Γ∞ ¿º  «ß¡«ó¡«ú«  ¼«ñπ½∩  APPFILE.EXE  ¿  ΓαÑσ í¿í½¿«ΓѬ,
  5955.         ß«ñÑαªáΘ¿σ  ºáó¿ß¿¼πε  «Γ   ¿ß»«½∞ºπѼ«ú«   ∩ºδ¬á   ¿¡Σ«α¼áµ¿ε:
  5956.         ENGLISH.DLL, FRENCH.DLL ¿ GERMAN.DLL.
  5957.  
  5958.              Å«ß½Ñ πßΓᡫ󬿠 »α«ñπ¬Γá ¼«ª¡« óδíαáΓ∞ ¡πª¡πε í¿í½¿«ΓѬπ,
  5959.         ¬«Γ«αá∩ ß«ñÑαª¿Γ Φáí½«¡δ »á¡Ñ½Ñ⌐ ñ¿á½«úá, ¼Ñ¡ε, ßΓ᫬¿ ¿ ñαπúπε
  5960.         ¿¡Σ«α¼áµ¿ε ñ½∩ ñá¡¡«ú« ∩ºδ¬á.
  5961.  
  5962.              Åα¿ ¿ß»«½∞º«óá¡¿¿ αÑßπαß«ó í¿í½¿«ΓѬ¿ ñ½∩ ÑÑ ¿ñÑ¡Γ¿Σ¿¬áµ¿¿
  5963.         óδ ¿ß»«½∞ºπÑΓÑ  ñÑß¬α¿»Γ«α  φ¬º¡¼»½∩αá  í¿í½¿«ΓѬ¿.  äÑß¬α¿»Γ«α
  5964.         φ¬ºÑ¼»½∩αá í¿í½¿«ΓѬ¿ ó«ºóαáΘáÑΓß∩ Σπ¡¬µ¿Ñ⌐ LoadLibrary:
  5965.  
  5966.              HANDLE hLibrary;
  5967.  
  5968.              hLibrary = LoadLibrary("FRENCH.DLL");
  5969.  
  5970.              ç¡áτÑ¡¿Ñ hLibrary  ¼«ª¡«  ¿ß»«½∞º«óáΓ∞  ó«  óßÑσ  ß½πτá∩σ,
  5971.         ¬«úñá »α¿   ¿ß»«½∞º«óá¡¿¿   αÑßπα߫󠠠 ¡Ñ«íσ«ñ¿¼    ñÑß¬α¿»Γ«α
  5972.         φ¬ºÑ¼»½∩αá. ìá»α¿¼Ñα,   Ñß½¿   í¿í½¿«ΓѬᠠFRENCH.DLL  ß«ñÑনΓ
  5973.         Φáí½«¡ ¼Ñ¡ε  "MainMenu",  Γ«   »α«úαἼᠠ ºáúαπªáÑΓ   ¼Ñ¡ε   ¿
  5974.         «ßπΘÑßΓó½∩ÑΓ ¬ ¡Ñ¼π ñ«ßΓπ» ß½ÑñπεΘ¿¼ «íαẫ¼:
  5975.  
  5976.              HMENU  hMenu;
  5977.  
  5978.              hMenu = LoadMenu(hLibrary,"MainMenu");
  5979.                                           20.2.3  ï«óπΦ¬¿ «¬«¡.                
  5980.  
  5981.              Windows »«ºó«½∩ÑΓ   »α¿¬½áñ¡δ¼   »α«úαἼἠ  ¿ß»«½∞º«óáΓ∞
  5982.         "½«óπΦ¬¿" ñ½∩ Σ¿½∞Γαᵿ¿ ß««íΘÑ¡¿⌐ ó« óßÑ⌐ ß¿ßΓѼÑ.  ï«óπΦ¬á  ó
  5983.         Windows - φΓ« Σπ¡¬µ¿∩,  ¬«Γ«αá∩ »«½πτáÑΓ ¿ «íαáíáΓδóáÑΓ ß«íδΓ¿∩
  5984.         ñ«  Γ«ú«,  ¬á¬  «¡¿  »«ßδ½áεΓß∩   µ¿¬½π   «íαáí«Γ¬¿   ß««íΘÑ¡¿⌐
  5985.         »α¿¬½áñ¡«⌐  »α«úαá¼¼δ.  Åα¿¼Ñα«¼  Γᬫ⌐  Σπ¡¬µ¿¿  ¼«ªÑΓ ß½πª¿Γ∞
  5986.         Σπ¡¬µ¿∩, «íαáíáΓδóáεΘá∩ ¡áªáΓ¿Ñ »«½∞º«óáΓѽѼ ¡á ¬½áó¿Φ¿.
  5987.  
  5988.              ê¼ÑÑΓß∩ ßѼ∞ Γ¿»«ó ½«óπΦѬ, ¬«Γ«αδÑ í«½ÑÑ »«ñα«í¡« «»¿ßá¡δ
  5989.         ó »Ñαó«¼ Γ«¼Ñ æ»αáó«τ¡«ú« απ¬«ó«ñßΓóá.
  5990.  
  5991.              æ¿ßΓѼ¡δÑ ½«óπΦ¬¿   Windows   ñ«½ª¡δ  íδΓ∞  αÑ὿º«óá¡δ  ß
  5992.         ¿ß»«½∞º«ó᡿Ѽ DLL  ¿  ñ«½ª¡δ  αáß»«½áúáΓ∞ß∩  ó   Σ¿¬ß¿α«óá¡¡δσ
  5993.         ¬«ñ«óδσ  ßÑú¼Ñ¡Γáσ.  ¥Γ«  ñѽáÑΓß∩  »«Γ«¼π,  τΓ«  ¬á¬  ¿ óß∩¬¿⌐
  5994.         ß¿ßΓѼ¡δ⌐ αÑßπαß  ¬«ñ,  ßó∩ºá¡¡δ⌐  ß  ½«óπΦ¬«⌐,  ñ«½ª¡Ñ¡   íδΓ∞
  5995.         ñ«ßΓπ»Ñ¡ ó  ½εí«⌐ ¼«¼Ñ¡Γ.  é ¡Ñ¬«Γ«αδ󠬫¡Σ¿úπαᵿ∩σ ß EMS ¬«ñ,
  5996.         ºá ¿ß¬½ετÑ¡¿Ñ¼ ¬«ñá ó Σ¿¬ß¿α«óá¡¡δσ ßÑú¼Ñ¡Γáσ,  αáß»«½áúáÑΓß∩ ó
  5997.  
  5998.        Windows 3.0/pg/3#3                                       = 115 =
  5999.  
  6000.         »á¼∩Γ¿   EMS,   »α¿¡áñ½ÑªáΘÑ⌐   »α¿¬½áñ¡«⌐   »α«úαá¼¼Ñ.   Æá¬«Ñ
  6001.         αẼÑΘÑ¡¿Ñ ¡áºδóáÑΓß∩ "óδΦÑ úαá¡¿µδ  «Γ«íαáªÑ¡¿∩".  ä«ßΓπ»¡«ßΓ∞
  6002.         Γᬫú« ¬«ñá «úαá¡¿τÑ¡á »α¿¬½áñ¡«⌐ »α«úαá¼¼«⌐,  ó½áñÑεΘÑ⌐ ñá¡¡«⌐
  6003.         «í½áßΓ∞ε  »á¼∩Γ¿  EMS.  ü«½ÑÑ  Γ«ú«,  óδº«ó   φΓ«ú«   ¬«ñá   ¡Ñ
  6004.         «ßπΘÑßΓó½∩ÑΓß∩  ¿º  ¬«¡ΓѬßΓá  ºáúαπº¿óΦÑ⌐  ½«óπΦ¬π  »α¿¬½áñ¡«⌐
  6005.         »α«úαá¼¼δ.   é   ºáΘ¿ΘÑ¡¡«¼   αѪ¿¼Ñ   Windows    αáßß¼áΓα¿óáÑΓ
  6006.         Σ¿¬ß¿α«óá¡¡δ⌐ ¬«ñ í¿í½¿«ΓѬ¿ ¬á¬ «ß«íδ⌐ ß½πτá⌐ ñ½∩ Γ«ú«,  τΓ«íδ
  6007.         ¼«ª¡« í佫 «ßπΘÑßΓó¿Γ∞ Ñú« ó맮ó. àñ¿¡ßΓóÑ¡¡á∩ ½«óπΦ¬á Windows,
  6008.         ¬«Γ«αá∩ ¡Ñ  ΓαÑíπÑΓ  αẼÑΘÑ¡¿∩ ó DLL,  ¿¼ÑÑΓ Γ¿» WH_MSGFILTER,
  6009.         ¬«Γ«αá∩ ß»Ñµ¿Σ¿τ¡á ñ½∩ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ.  èα«¼Ñ φΓ«ú«,  »α¿
  6010.         αáí«ΓÑ  ó  ºáΘ¿ΘÑ¡¡«¼  αѪ¿¼Ñ  (ßΓá¡ñáαΓ¡«¼  ¿½¿  αáßΦ¿αÑ¡¡«¼),
  6011.         »«ñαáºπ¼ÑóáÑΓß∩, τΓ«   ß¿ßΓѼ¡δÑ   ½«óπΦ¬¿   αáß»«½áúáεΓß∩    ó
  6012.         Σ¿¬ß¿α«óá¡¡«¼ ¬«ñ«ó«¼ ßÑú¼Ñ¡ΓÑ DLL.
  6013.                                       20.2.4  äαá⌐óÑαδ πßΓα«⌐ßΓó.              
  6014.  
  6015.              æΓá¡ñáαΓ¡δÑ ñαá⌐óÑαδ  πßΓα«⌐ßΓó Windows αÑ὿º«óá¡δ ó ó¿ñÑ
  6016.         DLL. ì¿ªÑ »α¿óÑñÑ¡ ß»¿ß«¬ ¿¼Ñ¡,  ¿ß»«½∞ºπѼδσ »« π¼«½τá¡¿ε  ñ½∩
  6017.         í«½∞Φ¿¡ßΓóá ßΓá¡ñáαΓ¡δσ ñαá⌐óÑα«ó:
  6018.  
  6019.              äαá⌐óÑα           ìạáτÑ¡¿Ñ
  6020.              ──────────────────────────────────────────────────────────
  6021.              COMM.DRV          äαá⌐óÑα »«ß½Ññ«óáΓѽ∞¡«ú« »«αΓá.
  6022.  
  6023.              DISPLAY.DRV       äαá⌐óÑα ó¿ñÑ« ñ¿ß»½Ñ∩.
  6024.  
  6025.              KEYBOARD.DRV      äαá⌐óÑα ¬½áó¿áΓπαδ.
  6026.  
  6027.              MOUSE.DRV         äαá⌐óÑα ¼δΦ¿.
  6028.  
  6029.              SOUND.DRV         çóπ¬«ó«⌐ óδó«ñ.
  6030.  
  6031.              SYSTEM.DRV        Æá⌐¼Ñα.
  6032.              ──────────────────────────────────────────────────────────
  6033.  
  6034.              öá⌐½ SYSTEM.INI «»αÑñѽ∩ÑΓ,  ¬á¬¿Ñ ñαá⌐óÑαδ ¿¡ßΓá½½¿απεΓß∩
  6035.         »α¿ ºáúαπº¬Ñ Windows.
  6036.  
  6037.              äαá⌐óÑαδ ñ½∩  ¡ÑßΓá¡ñáαΓ¡δσ  πßΓα«⌐ßΓó  ΓᬪѠ ñ«½ª¡δ íδΓ∞
  6038.         αÑ὿º«óá¡δ ó  ó¿ñÑ  ß«íßΓóÑ¡¡δσ  DLL.  Å«ß½Ñ  φΓ«ú«  αẽ¿τ¡δÑ
  6039.         »α¿¬½áñ¡δÑ  »α«úαá¼¼δ  ¼«úπΓ  «ßπΘÑßΓó½∩Γ∞ ñ«ßΓπ» ¬ πßΓα«⌐ßΓóπ,
  6040.         ñαá⌐óÑα ßá¼    óδ»«½¡∩ÑΓ    ¡Ñ«íσ«ñ¿¼πε    ß¿¡σα«¡¿ºáµ¿ε    ñ½∩
  6041.         »αÑñ«ΓóαáΘÑ¡¿∩ ¬«¡Σ½¿¬Γ«ó ñ«ßΓπ»á ¬ πßΓα«⌐ßΓóπ.
  6042.  
  6043.              Å«ß¬«½∞¬π ó  ½εí«⌐ ¼«¼Ñ¡Γ,  á ¡Ñ Γ«½∞¬« ó Γ« óαѼ∩,  ¬«úñá
  6044.         »α¿¬½áñ¡á∩ »α«úαἼᠠ¿ß»«½∞ºπÑΓ  πßΓα«⌐Γßó«,  ¼«úπΓ  »α«¿º«⌐Γ¿
  6045.         »αÑαδóá¡¿∩, ¬«ñ  «íαáí«Γ¬¿  »αÑαδóá¡¿∩  ñ½∩  πßΓα«⌐ßΓóá  ñ«½ªÑ¡
  6046.         αáß»«½áúáΓ∞ß∩ ó Σ¿¬ß¿α«óá¡¡«¼ ¬«ñ«ó«¼ ßÑú¼Ñ¡ΓÑ. é ¬«¡Σ¿úπαᵿ∩σ
  6047.         »á¼∩Γ¿ EMS   ß   í«½∞Φ¿¼   ΣαÑ⌐¼«¼   «Γ«íαáªÑ¡¿∩   Γ«½∞¬«   ñ½∩
  6048.         Σ¿¬ß¿α«óá¡¡«ú« ¬«ñ«ó«ú«  ßÑú¼Ñ¡Γá  DLL  úáαá¡Γ¿απÑΓß∩,  τΓ«  «¡
  6049.         íπñÑΓ  ñ«ßΓπ»Ñ¡  ó  ½εí«⌐  óαѼ∩.  é  ºáΘ¿ΘÑ¡¡«¼  αѪ¿¼Ñ  ΓᬪÑ
  6050.         ΓαÑíπÑΓß∩, τΓ«íδ Γᬫ⌐ ¬«ñ αáß»«½áúá½ß∩ ó ¬«ñ«ó«¼ ßÑú¼Ñ¡ΓÑ DLL.
  6051.         ä«»«½¡¿Γѽ∞¡πε  ¿¡Σ«α¼áµ¿ε  »«  »«ó«ñπ  ¬«¡Σ¿úπαᵿ⌐  »á¼∩Γ¿ óδ
  6052.  
  6053.        Windows 3.0/pg/3#3                                       = 116 =
  6054.  
  6055.         ¡á⌐ñÑΓÑ ó ú½áóÑ 16, "àΘÑ «í π»αáó½Ñ¡¿¿ »á¼∩Γ∞ε".
  6056.  
  6057.              è«ñ «íαáí«Γ¬¿  »αÑαδóá¡¿∩   ó   ñαá⌐óÑαÑ   πßΓα«⌐ßΓóá   ¡Ñ
  6058.         óδºδóáÑΓß∩ ¡á»α∩¼πε »α¿¬½áñ¡«⌐ »α«úαá¼¼«⌐.  èα«¼Ñ φΓ«ú«,  ΓᬿÑ
  6059.         ñαá⌐óÑαδ ¡Ñ ñ«½ª¡δ óδºδóáΓ∞ ¬«ñ »α¿¬½áñ¡δσ »α«úαá¼¼  ß  »«¼«Θ∞ε
  6060.         Σπ¡¬µ¿¿ SendMessage,   »«ß¬«½∞¬π  ¡ÑΓ  ¼Ñσá¡¿º¼á  ß¿¡σα«¡¿ºáµ¿¿
  6061.         Γᬿσ ß««íΘÑ¡¿⌐ ß  »α«µÑßß«¼  «íαáí«Γ¬¿  ¡«α¼á½∞¡δσ  ß««íΘÑ¡¿⌐.
  6062.         Æá¬¿Ñ ó맮óδ ¼«úπΓ »α¿óÑßΓ¿ ¬ ¡Ñ«»αÑñѽѡ¡δ¼ ß«ßΓ«∩¡¿∩¼, »«ΓÑαÑ
  6063.         ñá¡¡δσ ¿ ¡Ñ»αÑñ߬áºπÑ¼δ¼ αѺπ½∞ΓáΓá¼.
  6064.  
  6065.              é¼ÑßΓ« φΓ«ú«,  ñαá⌐óÑα πßΓα«⌐ßΓóá ñ«½ªÑ¡ «ª¿ñáΓ∞, »«¬á Ñú«
  6066.         ¡Ñ ºá»α«ß¿Γ  »α¿¬½áñ¡á∩  »α«úαἼᠠ¬½¿Ñ¡Γ,  ΓᬠªÑ ¬á¬ ñαá⌐óÑα
  6067.         ¬«¼¼π¡¿¬áµ¿«¡¡«⌐ »α«úαá¼¼δ ñ«½ªÑ¡ «ª¿ñáΓ∞, »«¬á Ñú« ¡Ñ ºá»α«ß¿Γ
  6068.         »α¿¬½áñ¡á∩ »α«úαá¼¼á.  é¼ÑßΓ«  φΓ«ú«  ñαá⌐óÑα ¼«ªÑΓ ñ½∩ »«ß佬¿
  6069.         ß««íΘÑ¡¿⌐   »α¿¬½áñ¡δ¼    »α«úαἼἠ   ¿ß»«½∞º«óáΓ∞    Σπ¡¬µ¿ε
  6070.         PostMessage.
  6071.                               20.2.5  æ«íßΓóÑ¡¡δÑ í½«¬¿ π»αáó½Ñ¡¿∩.            
  6072.  
  6073.              àß½¿ óδ  αáºαáíáΓδóáÑΓÑ  ß«íßΓóÑ¡¡δÑ í½«¬¿ π»αáó½Ñ¡¿∩,  óδ
  6074.         ¼«ªÑΓÑ »«¼ÑßΓ¿Γ∞ ¬«ñ φΓ¿σ í½«¬«ó ó DLL.  èᬠ«»¿ßá¡« ó "Tools",
  6075.         Dialog Editor  (DIALOG)  ¼«ªÑΓ  ºáΓѼ «ßπΘÑßΓó½∩Γ∞ ñ«ßΓπ» ¬ DLL
  6076.         ñ½∩ «Γ«íαáªÑ¡¿∩ óáΦ¿σ í½«¬«ó π»αáó½Ñ¡¿∩ ó« óαѼ∩ αÑñá¬Γ¿α«óá¡¿∩
  6077.         »á¡Ñ½Ñ⌐ ñ¿á½«úá.
  6078.  
  6079.              ä½∩ Γ«ú«,  τΓ«íδ  í¿í½¿«ΓѬá óáΦÑú« í½«¬á π»αáó½Ñ¡¿∩ ¼«ú½á
  6080.         íδΓ∞  ¿ß»«½∞º«óá¡á  Dialog  Editor,  óδ  ñ«½ª¡δ  «»αÑñѽ¿Γ∞   ¿
  6081.         φ¬ß»«αΓ¿α«óáΓ∞  Σπ¡¬µ¿¿,  «»¿ßá¡¡δÑ  ó  ñá¡¡«¼ αáºñѽÑ.  Åα¿¼Ñα
  6082.         »α«úαá¼¼δ Rainbow ¿½½εßΓα¿απÑΓ,  ¬á¬ »¿ßáΓ∞ DLL ñ½∩ ß«íßΓóÑ¡¡δσ
  6083.         í½«¬«ó π»αáó½Ñ¡¿∩.
  6084.  
  6085.              é «»¿ßá¡¿∩σ  ß½ÑñπεΘ¿σ  Σπ¡¬µ¿⌐  "Class"  ¿ß»«½∞ºπÑΓß∩ ¬á¬
  6086.         Φáí½«¡ ñ½∩ ¿¼Ñ¡¿ ¬½áßßá  óáΦÑú«  í½«¬á  π»αáó½Ñ¡¿∩.  ê¼∩  í½«¬á
  6087.         π»αáó½Ñ¡¿∩ - φΓ« Γ«ªÑ ßἫѠ¿¼∩, ¬«Γ«α«Ñ π¬áºδóáÑΓ »«½∞º«óáΓѽ∞
  6088.         ó Dialog Editor ñ½∩ ¿ñÑ¡Γ¿Σ¿¬áµ¿¿ í½«¬á π»αáó½Ñ¡¿∩.  ê¼∩  í½«¬á
  6089.         π»αáó½Ñ¡¿∩  «íδτ¡«  ß«ó»áñáÑΓ  ß  ¿¼Ñ¡Ñ¼  DLL,  σ«Γ∩  φΓ«  ¿ ¡Ñ
  6090.         «í∩ºáΓѽ∞¡«.
  6091.  
  6092.              Ä»¿ßá¡¿∩ ßΓαπ¬Γπα,  Γá¬¿σ   ¬á¬   CTLINFO,   ¿   ¬«¡ßΓá¡Γ,
  6093.         «»αÑñѽ∩εΘ¿σ ¿¡ΓÑαΣÑ⌐ß ß Dialog Editor óáΦÑú« í½«¬á π»αáó½Ñ¡¿∩,
  6094.         ß«ñÑαªáΓß∩ ó Σá⌐½Ñ CUSTCNTL.H.
  6095.  
  6096.              é ñá¡¡«¼ αáºñѽѠ«»¿ßá¡«  ΦÑßΓ∞  Σπ¡¬µ¿⌐,  ¬«Γ«αδÑ  ñ«½ª¡á
  6097.         φ¬ß»«αΓ¿α«óáΓ∞ DLL   ñ½∩   í½«¬á   π»αáó½Ñ¡¿∩.  öπ¡¬µ¿¿  ñ«½ª¡δ
  6098.         φ¬ß»«αΓ¿α«óáΓ∞ß∩ ß« ß½ÑñπεΘ¿¼¿ º¡áτÑ¡¿∩¼¿:
  6099.  
  6100.         ¥¬ß»«αΓ¿απѼá∩ Σπ¡¬µ¿∩       ç¡áτÑ¡¿Ñ
  6101.         ───────────────────────────────────────────────────────────────
  6102.         WEP                          ïεí«Ñ τ¿ß½«, ºá ¿ß¬½ετÑ¡¿Ñ¼ 2 - 6.
  6103.  
  6104.         ClassInit ¿½¿ LibMain        ìÑ ΓαÑíπÑΓß∩.
  6105.  
  6106.         ClassInfo                    2
  6107.  
  6108.        Windows 3.0/pg/3#3                                       = 117 =
  6109.  
  6110.  
  6111.         ClassStyle                   3
  6112.  
  6113.         ClassFlags                   4
  6114.  
  6115.         ClassWndFn                   5
  6116.  
  6117.         ClassDlgFn                   6
  6118.         ───────────────────────────────────────────────────────────────
  6119.  
  6120.              ìá»α¿¼Ñα, Σπ¡¬µ¿¿,   φ¬ß»«αΓ¿απѼδÑ   ó  »α¿¼ÑαÑ  Rainbow,
  6121.         «íΩ∩ó½Ñ¡δ ó Σá⌐½Ñ RAINBOW.DEF ß½ÑñπεΘ¿¼ «íαẫ¼:
  6122.  
  6123.              EXPORTS
  6124.                 WEP           @1  RESIDENTNAME
  6125.                 RAINBOWINFO   @2
  6126.                 RAINBOWSTYLE  @3
  6127.                 RAINBOWFLAGS  @4
  6128.                 RAINBOWWNDFN  @5
  6129.                 RAINBOWDLGFN  @6
  6130.  
  6131.              ä«»«½¡¿Γѽ∞¡πε ¿¡Σ«α¼áµ¿ε « Σπ¡¬µ¿¿ LibMain óδ  ¡á⌐ñÑΓÑ  ó
  6132.         αáºñѽѠ20.3.1,  "ê¡¿µ¿á½¿ºáµ¿∩ DLL". ä«»«½¡¿Γѽ∞¡á∩ ¿¡Σ«α¼áµ¿∩
  6133.         « Σπ¡¬µ¿¿ WEP ß«ñÑনΓß∩ ó αáºñѽѠ20.3.1, "çáóÑαΦÑ¡¿Ñ DLL".
  6134.  
  6135.                               öπ¡¬µ¿∩ ClassInit.
  6136.  
  6137.              æ¿¡Γá¬ß¿ß
  6138.  
  6139.              HANDLE FAR PASCAL ClassInit(hInstance, wDataSegment,
  6140.                                          wHeapSize, lpszCmdLine);
  6141.  
  6142.              öπ¡¬µ¿∩ ClassInit    «ΓóÑτáÑΓ    ºá   óßε   ¿¡¿µ¿á½¿ºáµ¿ε,
  6143.         ¡Ñ«íσ«ñ¿¼πε ñ½∩    ¿ß»«½∞º«óá¡¿∩    ñ¿¡á¼¿τÑ߬¿    »«ñ¬½ετáѼ«⌐
  6144.         í¿í½¿«ΓѬ¿ óáΦÑú«  í½«¬á π»αáó½Ñ¡¿∩.  Æ«τ¬á óσ«ñá ¡á áßßѼí½ÑαÑ
  6145.         «íδτ¡« óδºδóáÑΓ  φΓπ  Σπ¡¬µ¿ε.  èα«¼Ñ  ß«σαá¡Ñ¡¿∩   ñÑß¬α¿»Γ«αá
  6146.         φ¬ºÑ¼»½∩αá ó  ú½«íá½∞¡«⌐  ßΓáΓ¿τÑ߬«⌐  »ÑαѼѡ¡«⌐  φΓá  Σπ¡¬µ¿∩
  6147.         ñ«½ª¡á ºáαÑú¿ßΓα¿α«óáΓ∞   ¬½áßß   «¬¡á   í½«¬á   π»αáó½Ñ¡¿∩   ¿
  6148.         ¿¡¿µ¿á½¿º¿α«óáΓ∞ ½«¬á½∞¡πε   ñ¿¡á¼¿τÑ߬πε   «í½áßΓ∞   »á¼∩Γ¿  ß
  6149.         »«¼«Θ∞ε Σπ¡¬µ¿¿ LocalInit,  Ñß½¿ φΓ«ú« ¡Ñ ñѽáÑΓ Γ«τ¬á óσ«ñá ¡á
  6150.         áßßѼí½ÑαÑ.
  6151.  
  6152.              àß½¿ óδ  ¬«¼»«¡πÑΓÑ  DLL  í½«¬á  π»αáó½Ñ¡¿∩ ß LIBENTRY.OBJ
  6153.         ó¼ÑßΓ« Γ«ú«,  τΓ«íδ  »¿ßáΓ∞  ¡á  áßßѼí½ÑαÑ  ß«íßΓóÑ¡¡πε  Γ«τ¬π
  6154.         óσ«ñá, φΓá  Σπ¡¬µ¿∩  ñ«½ª¡á  ¿¼ÑΓ∞ ¿¼∩ LibMain.  ä«»«½¡¿Γѽ∞¡πε
  6155.         ¿¡Σ«α¼áµ¿ε « Σπ¡¬µ¿¿  LibMain  óδ  ¡á⌐ñÑΓÑ  ó  αáºñѽѠ 20.3.1,
  6156.         "ê¡¿µ¿á½¿ºáµ¿∩ DLL".
  6157.  
  6158.         Åáαá¼ÑΓα           Æ¿»/Ä»¿ßá¡¿Ñ
  6159.         ───────────────────────────────────────────────────────────────
  6160.         hInstance          HANDLE êñÑ¡Γ¿Σ¿µ¿απÑΓ φ¬ºÑ¼»½∩α í¿í½¿«ΓѬ¿.
  6161.  
  6162.         wDataSegment       WORD Ä»αÑñѽ∩ÑΓ ßÑú¼Ñ¡Γ ñá¡¡δσ í¿í½¿«ΓѬ¿.
  6163.  
  6164.        Windows 3.0/pg/3#3                                       = 118 =
  6165.  
  6166.  
  6167.         wHeapSize          WORD Ä»αÑñѽ∩ÑΓ αẼÑα ½«¬á½∞¡«⌐ ñ¿¡á¼¿τÑß-
  6168.                                 ¬«⌐ «í½áßΓ¿ »á¼∩Γ¿ í¿í½¿«ΓѬ¿.
  6169.  
  6170.         lpszCmdLine        LPSTR Ä»αÑñѽ∩ÑΓ áαúπ¼Ñ¡Γδ ¬«¼á¡ñ¡«⌐ ßΓ᫬¿.
  6171.         ───────────────────────────────────────────────────────────────
  6172.  
  6173.                             é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ.
  6174.  
  6175.              é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ    -   φΓ«   ñÑß¬α¿»Γ«α   φ¬ºÑ¼»½∩αá
  6176.         í¿í½¿«ΓѬ¿ ºáαÑú¿ßΓα¿α«óá¡¡«ú«  ¬½áßßá   í½«¬á   π»αáó½Ñ¡¿∩   ó
  6177.         ß½πτáÑ,  Ñß½¿ ¿¡¿µ¿á½¿ºáµ¿∩ »α«Φ½á πß»ÑΦ¡«.  àß½¿ ¿¡¿µ¿á½¿ºáµ¿∩
  6178.         ºáóÑαΦ¿½áß∞ ¡Ñπñáτ¡«, Γ« ó«ºóαáΘáÑΓß∩ NULL.
  6179.  
  6180.                               öπ¡¬µ¿∩ ClassInfo.
  6181.  
  6182.              æ¿¡Γá¬ß¿ß
  6183.  
  6184.              HANDLE FAR PASCAL ClassInfo()
  6185.  
  6186.              öπ¡¬µ¿∩ ClassInfo ß¡áíªáÑΓ óδºδóáεΘ¿⌐ »α«µÑßß  ¿¡Σ«α¼áµ¿Ñ⌐
  6187.         « í¿í½¿«ΓѬѠ  í½«¬á  π»αáó½Ñ¡¿∩.  ìá  «ß¡«óÑ  φΓ«⌐  ¿¡Σ«α¼áµ¿¿
  6188.         óδºδóáεΘ¿⌐ »α«µÑßß ¼«ªÑΓ ß«ºñáΓ∞ φ¬ºÑ¼»½∩αδ  í½«¬á  π»αáó½Ñ¡¿∩,
  6189.         ¿ß»«½∞ºπ∩ «ñ¿¡ ¿º »«ññÑনóáѼδσ Γ¿»«ó. ìá»α¿¼Ñα, Dialog Editor
  6190.         ºá»αáΦ¿óáÑΓ π φΓ«⌐  Σπ¡¬µ¿¿  Γ¿»δ  í½«¬«ó  π»αáó½Ñ¡¿∩,  ¬«Γ«αδÑ
  6191.         »«ññÑনóáÑΓ í¿í½¿«ΓѬá.
  6192.  
  6193.              öπ¡¬µ¿∩ ¡Ñ ¿¼ÑÑΓ »áαá¼ÑΓα«ó.
  6194.  
  6195.              é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ «»αÑñѽ∩ÑΓ ßΓαπ¬Γπαπ ñá¡¡δσ CTLINFO.
  6196.         ¥Γá ¿¡Σ«α¼áµ¿∩ ßΓá¡«ó¿Γ∞ß∩ »α¿¡áñ½ÑªáΘÑ⌐  óδºóáóΦÑ¼π  »α«µÑßßπ.
  6197.         Å«ß½Ñ Γ«ú«,  ¬á¬  ßΓαπ¬Γπαá í«½∞ΦÑ ¡Ñ ¡πª¡á,  óδºóáóΦ¿⌐ »α«µÑßß
  6198.         ñ«½ªÑ¡ ∩ó¡« «ßó«í«ñ¿Γ∞ »á¼∩Γ∞ ß »«¼«Θ∞ε Σπ¡¬µ¿¿  GlobalFree.  é
  6199.         ß½πτáÑ, Ñß½¿  ñ½∩  óδñѽѡ¿∩  ¼ÑßΓá  »«ñ  ßΓαπ¬Γπαπ  ¡Ñ σóáΓáÑΓ
  6200.         »á¼∩Γ¿, Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ NULL.
  6201.  
  6202.              æΓαπ¬Γπαá CTLINFO «»αÑñѽ∩ÑΓ ¿¼∩ ¬½áßßá  ¿  ¡«¼Ñα  óÑαß¿¿.
  6203.         èα«¼Ñ φΓ«ú«  «¡á  ß«ñÑαª¿Γ  ¼áßß¿ó  ßΓαπ¬Γπα  CTLTYPE,  ¬«Γ«αδ⌐
  6204.         »αÑñßΓáó½∩ÑΓ ß«í«⌐ ß»¿ß«¬ ¿ß»«½∞ºπѼδ󠬫¼í¿¡áµ¿⌐  Γ¿»«ó  í½«¬á
  6205.         π»αáó½Ñ¡¿∩  (óáα¿á¡Γ«ó)  ß  ¬«α«Γ¬¿¼  «»¿ß᡿Ѽ ¿ ¿¡Σ«α¼áµ¿Ñ⌐ «
  6206.         αẼÑαÑ.
  6207.  
  6208.              ì¿ªÑ »α¿óÑñÑ¡«  «»¿ßá¡¿Ñ   φΓ¿σ   ßΓαπ¬Γπα   ¿   ºáó¿ß¿¼δσ
  6209.         º¡áτÑ¡¿⌐.
  6210.  
  6211.              /* «ß¡«ó¡δÑ Γ¿»δ ¿ «»αÑñѽѡ¿Ñ αẼÑα«ó */
  6212.              #define CTLTYPES    12
  6213.              #define CTLDESCR    22
  6214.              #define CTLCLASS    20
  6215.              #define CTLTITLE    94
  6216.  
  6217.              /* ßΓαπ¬Γπαá «»¿ßá¡¿∩ í½«¬á π»αáó½Ñ¡¿∩ */
  6218.              typedef struct {
  6219.  
  6220.        Windows 3.0/pg/3#3                                       = 119 =
  6221.  
  6222.                 WORD          wType;
  6223.                 WORD          wWidth;
  6224.                 WORD          wHeight;
  6225.                 DWORD         dwStyle;
  6226.                 char          szDescr[CTLDESCR];
  6227.              } CTLTYPE;
  6228.  
  6229.              typedef struct {
  6230.                 WORD          wVersion;
  6231.                 WORD          wCtlTypes;
  6232.                 char          szClass[CTLCLASS];
  6233.                 char          szTitle[CTLTITLE];
  6234.                 char          szReserved[10];
  6235.                 CTLTYPE       Type[CTLTYPES];
  6236.              }  CTLINFO;
  6237.  
  6238.              typedef CTLINFO * PCTLINFO;
  6239.              typedef CTLINFO FAR * LPCTLINFO;
  6240.  
  6241.              æΓαπ¬Γπαá CTLTYPE ß«ñÑαª¿Γ ß½ÑñπεΘ¿Ñ »«½∩:
  6242.  
  6243.         Å«½Ñ              Ä»¿ßá¡¿Ñ
  6244.         ───────────────────────────────────────────────────────────────
  6245.         wType             çáαѺÑαó¿α«óá¡« ñ½∩ »«ß½ÑñπεΘ¿σ αÑ὿ºáµ¿⌐.
  6246.                           ¥Γ« »«½Ñ ñ«½ª¡« íδΓ∞ αáó¡« 0.
  6247.  
  6248.         wWidth            Ä»αÑñѽ∩ÑΓ ñ½∩ Dialog Editor Φ¿α¿¡π í½«¬á
  6249.                           π»αáó½Ñ¡¿∩, ¬«Γ«αá∩  »αÑñ½áúáÑΓß∩   »α¿   Ñú«
  6250.                           ß«ºñá¡¿¿. àß½¿ ßá¼δ⌐ º¡áτ¿¼δ⌐ í¿Γ αáóÑ¡ ¡π½ε,
  6251.                           Γ« ¼½áñΦ¿⌐   íá⌐Γ   ß«ñÑαª¿Γ   óѽ¿τ¿¡π    »«
  6252.                           π¼«½τá¡¿ε ó ¬««αñ¿¡áΓá󠬫¼»¿½∩Γ«αá αÑßπαß«ó.
  6253.                           àß½¿ φëàíá⌐Γ αáóÑ¡ 1,  Γ«  «ßΓáóΦ¿Ñß∩  í¿Γδ
  6254.                           «»αÑñѽ∩εΓ    Φ¿α¿¡π   í½«¬á   π»αáó½Ñ¡¿∩   ó
  6255.                           »¿¬ßѽ∩σ.
  6256.  
  6257.         wWidth            Ä»αÑñѽ∩ÑΓ ñ½∩ Dialog Editor óδß«Γπ í½«¬á
  6258.                           π»αáó½Ñ¡¿∩, ¬«Γ«αá∩   »αÑñ½áúáÑΓß∩   »α¿  Ñú«
  6259.                           ß«ºñá¡¿¿. àß½¿ ßá¼δ⌐ º¡áτ¿¼δ⌐ í¿Γ αáóÑ¡ ¡π½ε,
  6260.                           Γ«   ¼½áñΦ¿⌐   íá⌐Γ   ß«ñÑαª¿Γ   óѽ¿τ¿¡π  »«
  6261.                           π¼«½τá¡¿ε ó ¬««αñ¿¡áΓá󠬫¼»¿½∩Γ«αá αÑßπαß«ó.
  6262.                           àß½¿  φëà íá⌐Γ αáóÑ¡ 1,  Γ« «ßΓáóΦ¿Ñß∩ í¿Γδ
  6263.                           «»αÑñѽ∩εΓ   óδß«Γπ   í½«¬á   π»αáó½Ñ¡¿∩    ó
  6264.                           »¿¬ßѽ∩σ.
  6265.  
  6266.         dwStyle           Ä»αÑñѽ∩ÑΓ ¿ßσ«ñ¡δÑ í¿Γδ Γ¿»á, ¿ß»«½∞ºπѼδÑ
  6267.                           ñ½∩ «»αÑñѽѡ¿∩ ñá¡¡«ú«  Γ¿»á.  ¥Γ«  º¡áτÑ¡¿Ñ
  6268.                           ó¬½ετáÑΓ ¿    Σ½áú¿,    «»αÑñѽ∩ѼδÑ   í½«¬«¼
  6269.                           π»αáó½Ñ¡¿∩ ó   ßΓáαΦѼ   ß½«óÑ,   ¿    Σ½áú¿,
  6270.                           «»αÑñѽ∩ѼδÑ Windows ó ¼½áñΦѼ ß½«óÑ.
  6271.  
  6272.         szDescr           Ä»αÑñѽ∩ÑΓ ¿¼∩, ¿ß»«½∞ºπѼ«Ñ ñαπú¿¼¿ ßαÑñßΓ-
  6273.                           óἿ αáºαáí«Γ¬¿ »α¿ ßß佬¿ ¡á ñá¡¡δ⌐  óáα¿á¡Γ
  6274.                           í½«¬á π»αáó½Ñ¡¿∩. Dialog Editor ¡Ñ ¿ß»«½∞ºπÑΓ
  6275.                           φΓπ ¿¡Σ«α¼áµ¿ε.
  6276.         ──────────────────────────────────────────────────────────────
  6277.  
  6278.        Windows 3.0/pg/3#3                                       = 120 =
  6279.  
  6280.  
  6281.              æΓαπ¬Γπαá CTLINFO ß«ñÑαª¿Γ ß½ÑñπεΘ¿Ñ »«½∩:
  6282.  
  6283.         Å«½Ñ              Ä»¿ßá¡¿Ñ
  6284.         ───────────────────────────────────────────────────────────────
  6285.         wVersion          Ä»αÑñѽ∩ÑΓ ¡«¼Ñα óÑαß¿¿ í½«¬á π»αáó½Ñ¡¿∩. ò«-
  6286.                           Γ∩ óδ ¼«ªÑΓÑ ¡áτáΓ∞ ¡π¼Ñαᵿε ß Ññ¿¡¿µδ, ó
  6287.                           í«½∞Φ¿¡ßΓóÑ αÑ὿ºáµ¿⌐   ñóÑ   ¼½áñΦ¿Ñ  µ¿Σαδ
  6288.                           ¿ß»«½∞ºπεΓß∩ ñ½∩ »αÑñßΓáó½Ñ¡¿∩  ¼½áñΦ¿σ  µ¿Σα
  6289.                           óÑαß¿¿.
  6290.  
  6291.         wCtlTypes         Ä»αÑñѽ∩ÑΓ τ¿ß½« Γ¿»«ó í½«¬«ó π»αáó½Ñ¡¿∩, »«ñ-
  6292.                           ñÑনóáѼδσ φΓ¿¼ ¬½áßß«¼. ¥Γ« º¡áτÑ¡¿Ñ ñ«½ª¡«
  6293.                           íδΓ∞ óßÑúñá í«½∞ΦÑ 0 ¿ ¼Ñ¡∞ΦÑ CTLTYPES.
  6294.  
  6295.         szClass           Ä»αÑñѽ∩ÑΓ ßΓ᫬π ß ¡π½Ñóδ¼ «¬«¡τ᡿Ѽ, ¬«Γ«-
  6296.                           αá∩ ß«ñÑαª¿Γ  ¿¼∩  ¬½áßßá  í½«¬á  π»αáó½Ñ¡¿∩,
  6297.                           »«ññÑনóáѼ«ú« DLL.
  6298.  
  6299.         szTitle           Ä»αÑñѽ∩ÑΓ ßΓ᫬π ß ¡π½Ñóδ¼ «¬«¡τ᡿Ѽ, ¬«Γ«-
  6300.                           αá∩ ß«ñÑαª¿Γ αẽ¿τ¡πε  ¿¡Σ«α¼áµ¿ε  «  ºáΘ¿ΓÑ
  6301.                           áóΓ«α߬¿σ »αáó  ¿½¿ «í áóΓ«αÑ,  «Γ¡«ß∩Θπεß∩ ¬
  6302.                           í½«¬π π»αáó½Ñ¡¿∩.
  6303.  
  6304.         Type[]            Ä»αÑñѽ∩ÑΓ ¼áßß¿ó ßΓαπ¬Γπα CTLTYPE, ß«ñÑαªá-
  6305.                           Θ¿σ ¿¡Σ«α¼áµ¿ε « ¬áªñ«¼ »«ññÑনóáѼ«¼ ñá¡¡δ¼
  6306.                           ¬½áßß«¼ Γ¿»Ñ í½«¬«ó π»αáó½Ñ¡¿∩.
  6307.         ───────────────────────────────────────────────────────────────
  6308.  
  6309.                               öπ¡¬µ¿∩ ClassStyle.
  6310.  
  6311.              æ¿¡Γá¬ß¿ß
  6312.  
  6313.              BOOL FAR PASCAL ClassStyle(hWnd, hCtlStyle, lpfnStrToId,
  6314.                                         lpfnIdToStr);
  6315.  
  6316.              Dialog Editor óδºδóáÑΓ Σπ¡¬µ¿ε ClassStyle ñ½∩  «Γ«íαáªÑ¡¿∩
  6317.         í½«¬á ñ¿á½«úá,   »αÑñ¡áº¡áτÑ¡¡«ú«   ñ½∩   αÑñá¬Γ¿α«óá¡¿∩   Γ¿»á
  6318.         óδíαá¡¡«ú« í½«¬á π»αáó½Ñ¡¿∩. Åα¿ ó맮óÑ φΓ«⌐ Σπ¡¬µ¿¿ «¡á ñ«½ª¡á
  6319.         «Γ«íαếΓ∞  ¼«ñá½∞¡πε  »á¡Ñ½∞  ñ¿á½«úá,  τΓ«íδ »«½∞º«óáΓѽ∞ ¼«ú
  6320.         «ΓαÑñá¬Γ¿α«óáΓ∞ »áαá¼ÑΓαδ CTLSTYLE.  Å«½∞º«óáΓѽ∞߬¿⌐ ¿¡ΓÑαΣÑ⌐ß
  6321.         ñ«½ªÑ¡ ß«ó»áñáΓ∞    ß   ¿¡ΓÑαΣÑ⌐ß«¼   »αÑñ«»αÑñѽѡ¡δσ   í½«¬«ó
  6322.         π»αáó½Ñ¡¿∩, »«ññÑনóáѼδσ Dialog Editor.
  6323.  
  6324.         Åáαá¼ÑΓα           Æ¿»/Ä»¿ßá¡¿Ñ
  6325.         ───────────────────────────────────────────────────────────────
  6326.         hWnd               HWND  Ä»αÑñѽ∩ÑΓ α«ñ¿Γѽ∞߬«Ñ «¬¡« »á¡Ñ½¿
  6327.                            ñ¿á½«úá.
  6328.  
  6329.         hCtlStyle          HANDLE  Ä»αÑñѽ∩ÑΓ ßΓαπ¬Γπαπ ñá¡¡δσ CTLSTYLE.
  6330.  
  6331.  
  6332.        Windows 3.0/pg/3#3                                       = 121 =
  6333.  
  6334.         lpfnStrToId        LPFNSTRTOID ô¬áºδóáÑΓ ¡á Σπ¡¬µ¿ε, »αÑñ«ßΓáó-
  6335.                            ½∩Ѽπε Dialog  Editor,  ¬«Γ«αá∩  »αÑ«íαáºπÑΓ
  6336.                            ßΓ᫬π ó  τ¿ß½«ó«⌐  ¿ñÑ¡Γ¿Σ¿¬áΓ«α.  æ¼«Γα¿ΓÑ
  6337.                            αáºñѽ "諼¼Ñ¡Γáα¿¿" ¡¿ªÑ.
  6338.  
  6339.         lpfnIdToStr        LPFNIDTOSTR ô¬áºδóáÑΓ ¡á Σπ¡¬µ¿ε, »αÑñ«ßΓáó-
  6340.                            ½∩Ѽπε Dialog  Editor,  ¬«Γ«αá∩  »αÑ«íαáºπÑΓ
  6341.                            τ¿ß½«ó«⌐ ¿ñÑ¡Γ¿Σ¿¬áΓ«α  ó  ßΓ᫬π.  æ¼«Γα¿ΓÑ
  6342.                            αáºñѽ "諼¼Ñ¡Γáα¿¿" ¡¿ªÑ.
  6343.         ───────────────────────────────────────────────────────────────
  6344.  
  6345.                             é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ.
  6346.  
  6347.              é ß½πτáÑ,   Ñß½¿   ßΓαπ¬Γπαá   CTLTYPE   íδ½á    ¿º¼Ñ¡Ñ¡á,
  6348.         ó«ºóαáΘáÑΓß∩ TRUE.  àß½¿  »«½∞º«óáΓѽ∞  «Γ¼Ñ¡¿½  ¿º¼Ñ¡Ñ¡¿Ñ  ¿½¿
  6349.         »α«¿º«Φ½á «Φ¿í¬á, ó«ºóαáΘáÑΓß∩ FALSE.
  6350.  
  6351.                                  è«¼¼Ñ¡Γáα¿¿.
  6352.  
  6353.              æΓαπ¬Γπαá CTLSTYLE «»αÑñѽ∩ÑΓ  áΓα¿íπΓδ  óδíαá¡¡«ú«  í½«¬á
  6354.         π»αáó½Ñ¡¿∩, ó¬½ετá∩   ΓѬπΘ¿Ñ   Σ½áú¿   Γ¿»á,   ¼ÑßΓ«»«½«ªÑ¡¿Ñ,
  6355.         αẼÑαδ ¿ ßó∩ºá¡¡δ⌐ ß  ñá¡¡δ¼  í½«¬«¼  π»αáó½Ñ¡¿∩  ΓѬßΓ.  ì¿ªÑ
  6356.         »«¬áºá¡« «»αÑñѽѡ¿Ñ ßΓαπ¬Γπαδ CTLSTYLE:
  6357.  
  6358.              /* ßΓαπ¬Γπαá Γ¿»á í½«¬á π»αáó½Ñ¡¿∩ */
  6359.              typedef struct {
  6360.                 WORD         wX;
  6361.                 WORD         wY;
  6362.                 WORD         wCx;
  6363.                 WORD         wCy;
  6364.                 WORD         wId;
  6365.                 DWORD        dwStyle;
  6366.                 char         szClass[CTLCLASS];
  6367.                 char         szTitle[CTLTITLE];
  6368.              } CTLSTYLE;
  6369.  
  6370.              typedef CTLSTYLE * PCTLSTYLE;
  6371.              typedef CTLSTYLE FAR * LPCTLSTYLE;
  6372.  
  6373.              æΓαπ¬Γπαá CTLSTYLE ß«ñÑαª¿Γ ß½ÑñπεΘ¿Ñ »«½∩:
  6374.  
  6375.         Å«½Ñ              Ä»¿ßá¡¿Ñ
  6376.         ───────────────────────────────────────────────────────────────
  6377.         wX                Ä»αÑñѽ∩ÑΓ σ-¬««αñ¿¡áΓπ í½«¬á π»αáó½Ñ¡¿∩ ó
  6378.                           ¬««αñ¿¡áΓáσ φ¬αá¡á    «Γ¡«ß¿Γѽ∞¡«    «í½áßΓ¿
  6379.                           »«½∞º«óáΓѽ∩ α«ñ¿Γѽ∞߬«ú« «¬¡á.
  6380.  
  6381.         wY                Ä»αÑñѽ∩ÑΓ y-¬««αñ¿¡áΓπ í½«¬á π»αáó½Ñ¡¿∩ ó
  6382.                           ¬««αñ¿¡áΓáσ φ¬αá¡á    «Γ¡«ß¿Γѽ∞¡«    «í½áßΓ¿
  6383.                           »«½∞º«óáΓѽ∩ α«ñ¿Γѽ∞߬«ú« «¬¡á.
  6384.  
  6385.         wCx               Ä»αÑñѽ∩ÑΓ Φ¿α¿¡π í½«¬á π»αáó½Ñ¡¿∩ ó ¬««αñ¿-
  6386.                           ¡áΓáσ φ¬αá¡á.
  6387.  
  6388.        Windows 3.0/pg/3#3                                       = 122 =
  6389.  
  6390.  
  6391.         wCy               Ä»αÑñѽ∩ÑΓ óδß«Γπ í½«¬á π»αáó½Ñ¡¿∩ ó ¬««αñ¿-
  6392.                           ¡áΓáσ φ¬αá¡á.
  6393.  
  6394.         dwStyle           Ä»αÑñѽ∩ÑΓ ΓѬπΘ¿⌐ Γ¿» í½«¬á π»αáó½Ñ¡¿∩. ¥Γ«
  6395.                           º¡áτÑ¡¿Ñ ó¬½ετáÑΓ   ¿   Σ½áú¿,   «»αÑñѽ∩ѼδÑ
  6396.                           í½«¬«¼ π»αáó½Ñ¡¿∩ ó ßΓáαΦѼ ß½«óÑ,  ¿  Σ½áú¿,
  6397.                           «»αÑñѽ∩ѼδÑ  Windows  ó  ¼½áñΦѼ  ß½«óÑ.  éδ
  6398.                           ¼«ªÑΓÑ »«ºó«½¿Γ∞  »«½∞º«óáΓÑ½ε  ¿º¼Ñ¡¿Γ∞  φΓ¿
  6399.                           Σ½áú¿ ¡á      ½εí«Ñ     º¡áτÑ¡¿Ñ,     ¬«Γ«α«Ñ
  6400.                           »«ññÑনóáÑΓß∩ óáΦ¿¼ í½«¬«¼ π»αáó½Ñ¡¿∩.
  6401.  
  6402.         szClass           Ä»αÑñѽ∩ÑΓ ßΓ᫬π ß ¡π½Ñóδ¼ «¬«¡τ᡿Ѽ, ¬«Γ«-
  6403.                           αá∩ ß«ñÑαª¿Γ   ¿¼∩   ¬½áßßá   ΓѬπΘÑú«  í½«¬á
  6404.                           π»αáó½Ñ¡¿∩. éδ    ¡Ñ     ¼«ªÑΓÑ     »«ºó«½¿Γ∞
  6405.                           »«½∞º«óáΓѽε αÑñá¬Γ¿α«óáΓ∞   φΓ«   »«½Ñ,  «¡«
  6406.                           »α¿ó«ñ¿Γß∩ Γ«½∞¬« ñ½∩ ¿¡Σ«α¼áµ¿¿.
  6407.  
  6408.         szTitle           Ä»αÑñѽ∩ÑΓ ßΓ᫬π ß ¡π½Ñóδ¼ «¬«¡τ᡿Ѽ, ¬«Γ«-
  6409.                           αá∩ ß«ñÑαª¿Γ   ΓѬßΓ,   ßó∩ºá¡¡δ⌐   ß  í½«¬«¼
  6410.                           π»αáó½Ñ¡¿∩. Äíδτ¡«  φëà ΓѬßΓ  «Γ«íαáªáÑΓß∩
  6411.                           ó¡πΓα¿ í½«¬á  π»αáó½Ñ¡¿∩ ¿½¿ ¿ß»«½∞ºπÑΓß∩ ñ½∩
  6412.                           ß«σαá¡Ñ¡¿∩ ñαπú«⌐ ¿¡Σ«α¼áµ¿¿, ΓαÑíπѼ«⌐ í½«¬π
  6413.                           π»αáó½Ñ¡¿∩.
  6414.         ───────────────────────────────────────────────────────────────
  6415.  
  6416.              Dialog Editor «Γ߽Ѫ¿óáÑΓ «»αÑñѽ∩ѼδÑ »«½∞º«óáΓѽѼ ¿¼Ñ¡á
  6417.         ¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó í½«¬«ó  π»αáó½Ñ¡¿∩  ¿  ß««ΓóÑΓßΓóπεΘÑÑ  ¿¼  ¿¼∩
  6418.         ß¿¼ó«½¿τÑ߬¿σ ¬«¡ßΓá¡Γ,  ß«ñÑαªáΘ¿σß∩  ó«   ó¬½ετáѼ«¼   Σá⌐½Ñ,
  6419.         ¬«Γ«αδ⌐ »«ñ¬½ετáÑΓß∩  ó ¼«¼Ñ¡Γ Γαá¡ß½∩µ¿¿.  öπ¡¬µ¿∩ «»αÑñѽѡ¿∩
  6420.         Γ¿»á í½«¬á π»αáó½Ñ¡¿∩ »«½πτáÑΓ  φΓπ  ¿¡Σ«α¼áµ¿ε  τÑαѺ  Σπ¡¬µ¿¿
  6421.         lpfnStrToId ¿ lpfnIdToStr.
  6422.  
  6423.              Åáαá¼ÑΓαδ lpfnStrToId  ¿  lpfnIdToStr «»αÑñѽ∩εΓ ñóÑ Γ«τ¬¿
  6424.         óσ«ñá ó Σπ¡¬µ¿¿ Dialog  Editor.  ä½∩  ó맮óá  φΓ¿σ  Σπ¡¬µ¿⌐  óδ
  6425.         ñ«½ª¡δ π¬áºáΓ∞ ¿σ »α«Γ«Γ¿»δ ß½ÑñπεΘ¿¼ «íαẫ¼:
  6426.  
  6427.              /* öπ¡¬µ¿¿ »αÑ«íαẫóá¡¿∩ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá ó ßΓ᫬π */
  6428.              typedef WORD (FAR PASCAL * LPFNIDTOSTR)(WORD,LPSTR,WORD);
  6429.              typedef DWPRD (FAR PASCAL *LPFNSTRTOID)(LPSTR);
  6430.  
  6431.              Æ«τ¬á óσ«ñá  lpfnIdToStr  ó  Dialog  Editor  »«ºó«½∩ÑΓ óá¼
  6432.         »αÑ«íαẫóáΓ∞ τ¿ß½«ó«Ñ º¡áτÑ¡¿Ñ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá, ß«ñÑαªáΘÑú«ß∩ ó
  6433.         ßΓαπ¬ΓπαÑ    CTLSTYLE,    ó    ΓѬßΓ«óπε   ßΓ᫬π,   ß«ñÑαªáΘπε
  6434.         ß¿¼ó«½¿τÑ߬«Ñ ¿¼∩ ¬«¡ßΓá¡Γδ,  «»αÑñѽѡ¡«Ñ ó« ó¬½ετáѼ«¼ Σá⌐½Ñ.
  6435.         çáΓѼ  φΓá ßΓα«¬á ¼«ªÑΓ íδΓ∞ «Γ«íαáªÑ¡á ó »á¡Ñ½¿ ñ¿á½«úá ó¼ÑßΓ«
  6436.         τ¿ß½«ó«ú« º¡áτÑ¡¿∩.  ÅÑαóδ⌐ »áαá¼ÑΓα - φΓ« ¿ñÑ¡Γ¿Σ¿¬áΓ«α  í½«¬á
  6437.         π»αáó½Ñ¡¿∩. éΓ«α«⌐ »áαá¼ÑΓα - φΓ« ñá½∞¡¿⌐ π¬áºáΓѽ∞ ¡á íπΣÑα, ó
  6438.         ¬«Γ«αδ⌐  ºá¡«ß¿Γß∩  ßΓ᫬á,  á   ΓαÑΓ¿⌐   »áαá¼ÑΓα   «»αÑñѽ∩ÑΓ
  6439.         ¼á¬ß¿¼á½∞¡πε ñ½¿¡π íπΣÑαá. öπ¡¬µ¿∩ lpfnIdToStr ó«ºóαáΘáÑΓ τ¿ß½«
  6440.         ß¬«»¿α«óá¡¡δσ ó íπΣÑα ß¿¼ó«½«ó.  àß½¿ Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ  ¡«½∞,
  6441.         φΓ« «º¡áτáÑΓ, τΓ« ó맮ó ºá¬«¡τ¿½ß∩ ¡Ñπñáτ¡«.
  6442.  
  6443.  
  6444.        Windows 3.0/pg/3#3                                       = 123 =
  6445.  
  6446.              öπ¡¬µ¿∩ lpfnStrToId     óδ»«½¡∩ÑΓ    «íαáΓ¡«Ñ    ñÑ⌐ßΓó¿Ñ,
  6447.         »αÑ«íαáºπ∩ ßΓ᫬π ó τ¿ß½«ó«⌐  ¿ñÑ¡Γ¿Σ¿¬áΓ«α.  öπ¡¬µ¿∩  »«½πτáÑΓ
  6448.         ßΓ᫬π, ß«ñÑαªáΘπε  ¿¼∩  ß¿¼ó«½¿τÑ߬«⌐ ¬«¡ßΓá¡Γδ,  ¿ ó«ºóαáΘáÑΓ
  6449.         ß««ΓóÑΓßΓóπεΘÑÑ º¡áτÑ¡¿Ñ  ¿ñÑ¡Γ¿Σ¿¬áΓ«αá.  àß½¿  ¼½áñΦÑÑ  ß½«ó«
  6450.         ó«ºóαáΘáѼ«ú«  º¡áτÑ¡¿∩  ¡Ñ αáó¡« 0,  Γ« ßΓáαΦÑÑ ß½«ó« ß«ñÑনΓ
  6451.         º¡áτÑ¡¿Ñ  ¿ñÑ¡Γ¿Σ¿¬áΓ«αá,  ¬«Γ«α«Ñ   ¼«ª¡«   ¿ß»«½∞º«óáΓ∞   ñ½∩
  6452.         ¼«ñ¿Σ¿¬áµ¿¿  ß«ñÑন¼«ú«  »«½∩  wID  ßΓαπ¬Γπαδ  CTLSTYLE.  àß½¿
  6453.         ¼½áñΦÑÑ ß½«ó« ó«ºóαáΘáѼ«ú« º¡áτÑ¡¿∩ αáó¡«  0,  Γ«  ¬«¡ßΓá¡Γ¡«Ñ
  6454.         º¡áτÑ¡¿Ñ  ñ½∩  ñá¡¡«ú« ¿¼Ñ¡¿ ¡Ñ «»αÑñѽѡ« ¿ Σπ¡¬µ¿∩ ClassStyle
  6455.         ñ«½ª¡δ óδñáΓ∞ ß««íΘÑ¡¿Ñ «í «Φ¿í¬Ñ.
  6456.  
  6457.              Äíδτ¡« »α¿  ó맮óÑ   Σπ¡¬µ¿¿   ClassStyle   «¡á   óδºδóáÑΓ
  6458.         lpfnIdToStr,  »ÑαÑñáóá∩  Ñ⌐ ß«ñÑন¼«Ñ »«½∩ CTLSTYLE.wID.  àß½¿
  6459.         Σπ¡¬µ¿∩   lpfnIdToStr   ó«ºóαáΘáÑΓ   ¡Ñ¡π½Ñó«Ñ   º¡áτÑ¡¿Ñ,   Γ«
  6460.         ClassStyle  «Γ«íαáªáÑΓ  »«½πτÑ¡¡πε ßΓ᫬π ó αáñá¬Γ¿απѼ«¼ í½«¬Ñ
  6461.         π»αáó½Ñ¡¿∩,  τΓ«íδ »«½∞º«óáΓѽ∞ ¼«ú  ¿º¼Ñ¡¿Γ∞  ÑÑ.  ê¡áτÑ,  «¡á
  6462.         «Γ«íαáªáÑΓ τ¿ß½«ó«Ñ º¡áτÑ¡¿Ñ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá.  àß½¿ »«½∞º«óáΓѽ∞
  6463.         óδ»«½¡¿½  ¿º¼Ñ¡Ñ¡¿∩  ó  í½«¬Ñ  αÑñá¬Γ¿α«óá¡¿∩,  Γ«   classStyle
  6464.         óδºδóáÑΓ   Σπ¡¬µ¿ε   lpfnStrToId   ñ½∩   »α«óÑન,  τΓ«  ßΓ᫬á
  6465.         «»αÑñѽ∩ÑΓ ß¿¼ó«½¿τÑ߬πε ¬«¡ßΓá¡Γπ,  ¿ Ñß½¿ φΓ«  Γá¬,  ºá¼Ñ¡∩ÑΓ
  6466.         ß«ñÑন¼«Ñ  »«½∩  CTLSTYLE.wID  ¡á  ß«ñÑন¼«Ñ  ßΓáαΦÑú«  ß½«óá
  6467.         ó«ºóαáΘáѼ«ú« º¡áτÑ¡¿∩.
  6468.  
  6469.                               öπ¡¬µ¿∩ ClassDlgFn.
  6470.  
  6471.              æ¿¡Γá¬ß¿ß
  6472.  
  6473.              BOOL FAR PASCAL ClassDlgFn(hDlg,wMessage,wParam,lParam);
  6474.  
  6475.              öπ¡¬µ¿∩ ClassDlgFn -  φΓ«  »α«µÑñπαá  «íαáí«Γ¬¿  ß««íΘÑ¡¿⌐
  6476.         »á¡Ñ½¿  ñ¿á½«úá.  Åá¡Ñ½∞  ñ¿á½«úá óδºδóáÑΓß∩ »α¿ ó맮óÑ Σπ¡¬µ¿¿
  6477.         ClassStyle.  öπ¡¬µ¿∩ ClassDlgFn ñ«½ª¡á  »«ºó«½∩Γ∞  »«½∞º«óáΓѽε
  6478.         αÑñá¬Γ¿α«óáΓ∞  óδíαá¡¡δÑ  τáßΓ¿ ßΓαπ¬Γπαδ CTLSTYLE,  »ÑαÑñá¡¡«⌐
  6479.         Σπ¡¬µ¿¿ ClassStyle.
  6480.  
  6481.         Åáαá¼ÑΓα           Æ¿»/Ä»¿ßá¡¿Ñ
  6482.         ───────────────────────────────────────────────────────────────
  6483.         hDlg               HWND  êñÑ¡Γ¿Σ¿µ¿απÑΓ «¬¡«, »«½πτáεΘÑÑ ß««í-
  6484.                            ΘÑ¡¿Ñ.
  6485.  
  6486.         wMessage           WORD  Ä»αÑñѽ∩ÑΓ ß««íΘÑ¡¿Ñ.
  6487.  
  6488.         wParam             WORD  Ä»αÑñѽ∩ÑΓ »áαá¼ÑΓα ß««íΘÑ¡¿∩ αẼÑα«¼
  6489.                            16 í¿Γ.
  6490.  
  6491.         lParam             LONG  Ä»αÑñѽ∩ÑΓ »áαá¼ÑΓα ß««íΘÑ¡¿∩ αẼÑα«¼
  6492.                            32 í¿Γá.
  6493.         ───────────────────────────────────────────────────────────────
  6494.  
  6495.                             é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ.
  6496.  
  6497.              é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ αáó¡« TRUE,  Ñß½¿ Σπ¡¬µ¿∩ «íαáí«Γá½á
  6498.         ß««íΘÑ¡¿Ñ, ¿½¿ FALSE ó »α«Γ¿ó¡«¼ ß½πτáÑ.
  6499.  
  6500.        Windows 3.0/pg/3#3                                       = 124 =
  6501.  
  6502.  
  6503.                               öπ¡¬µ¿∩ ClassFlags.
  6504.  
  6505.              æ¿¡Γá¬ß¿ß
  6506.  
  6507.              WORD FAR PASCAL ClassFlags(dwFlags,lpStyle,wMaxString);
  6508.  
  6509.              öπ¡¬µ¿∩ ClassFlags  »αÑ«íαáºπÑΓ  Σ½áú¿  Γ¿»á  ¬½áßßá í½«¬á
  6510.         π»αáó½Ñ¡¿∩ ó ß««ΓóÑΓßΓóπεΘ¿Ñ ΓѬßΓ«óδÑ ßΓ᫬¿,  »αÑñ¡áº¡áτÑ¡¡δÑ
  6511.         ñ½∩ óδó«ñá,   ó   Σá⌐½   «»¿ßá¡¿∩   αÑßπαß«ó.  ¥Γá  Σπ¡¬µ¿∩  ¡Ñ
  6512.         ¿¡ΓÑα»αÑΓ¿απÑΓ Σ½áú¿,  ß«ñÑαªáΘ¿Ñß∩ ó ßΓáαΦѼ ß½«óÑ,  »«ß¬«½∞¬π
  6513.         «¡¿   π»αáó½∩εΓß∩   Dialog   Editor.  çá¼ÑΓ¿¼,  τΓ«  óδ  ñ«½ª¡δ
  6514.         ¿ß»«½∞º«óáΓ∞ ΓÑ ªÑ «»αÑñѽѡ¿∩ Γ¿»á í½«¬á  π»αáó½Ñ¡¿∩,  ¬«Γ«αδÑ
  6515.         »α¿óÑñÑ¡δ ó« ó¬½ετáѼ«¼ Σá⌐½Ñ óáΦÑú« í½«¬á π»αáó½Ñ¡¿∩.
  6516.  
  6517.         Åáαá¼ÑΓα           Æ¿»/Ä»¿ßá¡¿Ñ
  6518.         ───────────────────────────────────────────────────────────────
  6519.         dwFlags            DWORD  Ä»αÑñѽ∩ÑΓ ΓѬπΘ¿Ñ Σ½áú¿ í½«¬á π»αáó-
  6520.                            ½Ñ¡¿∩.
  6521.  
  6522.         lpStyle            LPSTR  ô¬áºδóáÑΓ ¡á íπΣÑα, ó ¬«Γ«αδ⌐ »«¼ÑΘá-
  6523.                            ÑΓß∩ ßΓα«¬á «»αÑñѽѡ¿∩ Γ¿»á.
  6524.  
  6525.         wMaxString         WORD  Ä»αÑñѽ∩ÑΓ ¼á¬ß¿¼á½∞¡πε ñ½¿¡π ßΓ᫬¿.
  6526.         ───────────────────────────────────────────────────────────────
  6527.  
  6528.                             é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ.
  6529.  
  6530.              é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ φΓ« τ¿ß½« ß¿¼ó«½«ó,  ß¬«»¿α«óá¡¡δσ ó
  6531.         íπΣÑα, «»αÑñѽ∩Ѽδ⌐ »áαá¼ÑΓα«¼ lpStyle.  àß½¿ »α«¿º«Φ½á «Φ¿í¬á,
  6532.         ó«ºóαáΘáÑΓß∩ 0.
  6533.  
  6534.                               öπ¡¬µ¿∩ ClassWndFn.
  6535.  
  6536.              æ¿¡Γá¬ß¿ß
  6537.  
  6538.              LONG FAR PASCAL ClassWndFn(hWnd,wMessage,wParam,lParam);
  6539.  
  6540.              ClassWndFn - φΓ« Σπ¡¬µ¿∩  «¬¡á,  «ΓóÑτáεΘá∩  ºá  «íαáí«Γ¬π
  6541.         ß««íΘÑ¡¿⌐, »«ßδ½áѼδσ ñá¡¡«¼π í½«¬π π»αáó½Ñ¡¿∩.
  6542.  
  6543.         Åáαá¼ÑΓα           Æ¿»/Ä»¿ßá¡¿Ñ
  6544.         ───────────────────────────────────────────────────────────────
  6545.         hDlg               HWND  êñÑ¡Γ¿Σ¿µ¿απÑΓ «¬¡«, »«½πτáεΘÑÑ ß««í-
  6546.                            ΘÑ¡¿Ñ.
  6547.  
  6548.         wMessage           WORD  Ä»αÑñѽ∩ÑΓ ß««íΘÑ¡¿Ñ.
  6549.  
  6550.         wParam             WORD  Ä»αÑñѽ∩ÑΓ »áαá¼ÑΓα ß««íΘÑ¡¿∩ αẼÑα«¼
  6551.                            16 í¿Γ.
  6552.  
  6553.         lParam             LONG  Ä»αÑñѽ∩ÑΓ »áαá¼ÑΓα ß««íΘÑ¡¿∩ αẼÑα«¼
  6554.                            32 í¿Γá.
  6555.         ───────────────────────────────────────────────────────────────
  6556.  
  6557.        Windows 3.0/pg/3#3                                       = 125 =
  6558.  
  6559.  
  6560.                             é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ.
  6561.  
  6562.              é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ   «»αÑñѽ∩ÑΓ   αѺπ½∞ΓáΓ   «íαáí«Γ¬¿
  6563.         ß««íΘÑ¡¿∩ ¿ ºáó¿ß¿Γ «Γ ¬«¡¬αÑΓ¡«ú« ß««íΘÑ¡¿∩.
  6564.                                     20.2.6  ô»αáó½Ñ¡¿Ñ »α«Ñ¬ΓἿ.              
  6565.  
  6566.              àß½¿ óδ  αáºαáíáΓδóáÑΓÑ  í«½∞Φπε  ¿½¿  ß½«ª¡πε  »α¿¬½áñ¡πε
  6567.         »α«úαá¼¼π, óδ    ¼«ªÑΓÑ   ¿ß»«½∞º«óáΓ∞   DLL   ñ½∩   «í½ÑúτÑ¡¿∩
  6568.         αáºαáí«Γ¬¿. äѽѡ¿Ñ   »α¿¬½áñ¡«⌐   »α«úαá¼¼δ    ¡á    »«½¡«ßΓ∞ε
  6569.         «»αÑñѽѡ¡δÑ »«ñß¿ßΓÑ¼δ   ∩ó½∩ÑΓß∩  ½«ú¿τ¡δ¼  »πΓѼ  αáºñѽѡ¿∩
  6570.         αáí«Γδ ¼Ñªñπ αáº¡δ¼¿ úαπ»»á¼¿ αáºαáí«Γτ¿¬«ó.  èáªñá∩ »«ñß¿ßΓѼá
  6571.         ¼«ªÑΓ íδΓ∞ ºáΓѼ αÑ὿º«óá¡á ó ó¿ñÑ DLL.
  6572.  
  6573.              Äñ¡«⌐ ¿º   ß½«ª¡δσ   ºáñáτ   ó   Γá¬¿σ  »α«Ñ¬Γáσ  ∩ó½∩ÑΓß∩
  6574.         «»αÑñѽѡ¿Ñ ¿¡ΓÑαΣÑ⌐ßá ñ½∩ ¬áªñ«⌐ »«ñß¿ßΓѼδ. Å«ß¬«½∞¬π Σπ¡¬µ¿¿
  6575.         DLL ¼«úπΓ  ßó«í«ñ¡«  óδºδóáΓ∞  Σπ¡¬µ¿¿  ¿º  ñαπú«⌐  DLL,  Γᬿ¼
  6576.         «íαẫ¼ Windows  ¡Ñ   ß«ºñáÑΓ   »αÑ»∩ΓßΓó¿⌐   »α¿   «»αÑñѽѡ¿¿
  6577.         »«ñß¿ßΓѼ. èα«¼Ñ   φΓ«ú«,   Windows  π»αáó½∩ÑΓ  »ÑαѼÑΘÑ¡¿Ñ¼  ¿
  6578.         ßíαáßδó᡿Ѽ ¬«ñ«óδσ ßÑú¼Ñ¡Γ«ó ñ½∩ ¼¿¡¿¼¿ºáµ¿¿  »α«í½Ñ¼,  τáßΓ«
  6579.         ó«º¡¿¬áεΘ¿σ »ÑαÑñ   αáºαáí«Γτ¿¬á¼¿   »α«úαá¼¼   ñ½∩  DOS  ¿º-ºá
  6580.         «úαá¡¿τÑ¡¿⌐ »á¼∩Γ¿.  ä½∩ ¿ß»«½∞º«óá¡¿∩ φΓ¿σ »αÑ¿¼πΘÑßΓ󠬫ñ«óδÑ
  6581.         ßÑú¼Ñ¡Γδ  ñ«½ª¡δ  íδΓ∞  «»αÑñÑ½Ñ¡δ  ó  Σá⌐½Ñ «»αÑñѽѡ¿∩ ¼«ñπ½∩
  6582.         »α¿¬½áñ¡«⌐  »α«úαá¼¼δ  (.DEF),  ¬á¬  MOVEABLE  ¿½¿  MOVEABLE  ¿
  6583.         DISCARDABLE.
  6584.  
  6585.              Äñ¡¿¼ ¿º πñ«íßΓó ¿ß»«½∞º«óá¡¿∩ ¡Ñ߬«½∞¬¿σ DLL ∩ó½∩ÑΓß∩ Γ«,
  6586.         τΓ«, »«ß¬«½∞¬π  ¬áªñá∩  DLL  ¿¼ÑÑΓ  ßó«⌐  ß«íßΓóÑ¡¡δ⌐   ßÑú¼Ñ¡Γ
  6587.         ñá¡¡δσ,   Γ«   óºá¿¼«ó½¿∩¡¿Ñ   ñá¡¡δσ  αạδσ  »«ñß¿ßΓѼ  íπñÑΓ
  6588.         ¼¿¡¿¼á½∞¡δ¼.  ¥Γ«Γ Γ¿» ¿¡¬á»ßπ½∩µ¿¿ ¿ß»«½∞ºπÑΓß∩ »α¿ αáºαáí«Γ¬Ñ
  6589.         í«½∞Φ¿σ »α¿¬½áñ¡δσ »α«úαá¼¼.
  6590.  
  6591.              äαπú«⌐ Γ¿»  ¿¡¬á»ßπ½∩µ¿¿  ¼«ªÑΓ ß«ºñáΓ∞ »α«í½Ñ¼δ ó í«½∞Φ«¼
  6592.         »α«Ñ¬ΓÑ, ¬«Γ«αδ⌐  ΓαÑíπÑΓ   «ñ¡«óαѼѡ¡«⌐   αáí«Γδ   ¡Ñ߬«½∞¬¿σ
  6593.         »α¿¬½áñ¡δσ »α«úαá¼¼.  êß»«½∞ºπ∩ Γ«Γ Σá¬Γ, τΓ« ¬áªñá∩ »α¿¬½áñ¡á∩
  6594.         »α«úαá¼¼á αáßß¼áΓα¿óáÑΓß∩,  ¬á¬  ¿¼ÑεΘá∩  ß«íßΓóÑ¡¡«Ñ  áñαÑß¡«Ñ
  6595.         »α«ßΓαá¡ßΓó«, «¡á  ¼«ªÑΓ »ÑαÑñáΓ∞ ú½«íá½∞¡δ⌐ í½«¬ »á¼∩Γ¿ Γ«½∞¬«
  6596.         ß »«¼«Θ∞ε  Åα«Γ«¬«½á  ä¿¡á¼¿τÑ߬«ú«   Äí¼Ñ¡á   äá¡¡δ¼¿   (DDE).
  6597.         æ¼«Γα¿ΓÑ ú½áóπ 22, "信ἿτÑ߬¿⌐ «í¼Ñ¡ ñá¡¡δ¼¿".
  6598.  
  6599.                                                                                
  6600.                             20.3  æ«ºñá¡¿Ñ DLL.
  6601.  
  6602.              é ñá¡¡«¼ αáºñѽѠ»α¿ó«ñ¿Γß∩ »α¿¼Ñα ¬«ñá, ¬«Γ«αδ⌐ óδ ¼«ªÑΓÑ
  6603.         ¿ß»«½∞º«óáΓ∞ ¬á¬ Φáí½«¡ »α¿ ß«ºñá¡¿¿ ß«íßΓóÑ¡¡δσ DLL.
  6604.  
  6605.              ä½∩ ß«ºñá¡¿∩  DLL  óδ  ñ«½ª¡δ  ß«ºñáΓ∞ »« ¬αá⌐¡Ñ⌐ ¼ÑαÑ Γα¿
  6606.         Σá⌐½á:
  6607.  
  6608.              - öá⌐½ ß ¿ßσ«ñ¡δ¼ ¬«ñ«¼ ¡á æ.
  6609.  
  6610.  
  6611.        Windows 3.0/pg/3#3                                       = 126 =
  6612.  
  6613.              - öá⌐½ «»αÑñѽѡ¿∩ ¼«ñπ½∩ (.DEF).
  6614.  
  6615.              - Make-Σá⌐½.
  6616.  
  6617.              Å«ß½Ñ ß«ºñá¡¿∩ φΓ¿σ  Σá⌐½«ó  óδ  ºá»π߬áÑΓÑ  MAKE  ñ½∩  ¿σ
  6618.         Γαá¡ß½∩µ¿¿ ¿ ¬«¼»«¡«ó¬¿. ÄßΓáóΦá∩ τáßΓ∞ φΓ«ú« αáºñѽᠻ«ßó∩ΘÑ¡á
  6619.         «»¿ßá¡¿ε Γ«ú«, ¬á¬ ß«ºñáΓ∞ φΓ¿ Σá⌐½δ.
  6620.                         20.3.1  æ«ºñá¡¿Ñ Σá⌐½á ß ¿ßσ«ñ¡δ¼ ¬«ñ«¼ ¡á æ.          
  6621.  
  6622.              é ñá¡¡«¼  αáºñѽѠ »α¿ó«ñ¿Γß∩  ¿ßσ«ñ¡δ⌐  ¬«ñ,  ¬«Γ«αδ⌐  óδ
  6623.         ¼«ªÑΓÑ ¿ß»«½∞º«óáΓ∞  ¬á¬ Φáí½«¡ »α¿ ß«ºñá¡¿¿ DLL.  èᬠ¿ ñαπú¿Ñ
  6624.         »α«úαá¼¼δ ¡á æ,  DLL ¼«ªÑΓ  ß«ñÑαªáΓ∞  ¡Ñ߬«½∞¬«  Σπ¡¬µ¿⌐.  éßÑ
  6625.         Σπ¡¬µ¿¿, ¬«Γ«αδÑ  óδºδóáÑΓ ñαπúá∩ »α¿¬½áñ¡á∩ »α«úαἼᠿ½¿ DLL,
  6626.         ñ«½ª¡δ íδΓ∞ «íΩ∩ó½Ñ¡δ ¬á¬ FAR ¿  »α¿óÑñÑ¡δ  ó  αáºñѽѠ EXPORTS
  6627.         Σá⌐½á  «»αÑñѽѡ¿∩  ¼«ñπ½∩ í¿í½¿«ΓѬ¿ (.DEF).  öá⌐½ «»αÑñѽѡ¿∩
  6628.         ¼«ñπ½∩ í¿í½¿«ΓѬ¿ «íßπªñáÑΓß∩ ñá½ÑÑ ó αáºñѽѠ20.3.2, "櫺ñá¡¿Ñ
  6629.         Σá⌐½á «»αÑñѽѡ¿∩ ¼«ñπ½∩".
  6630.  
  6631.              /* MINDLL.C -- »α¿¼Ñα ¬«ñá DLL, ¬«Γ«αδ⌐ ñѼ«¡ßΓα¿απÑΓ
  6632.                 ¼¿¡¿¼á½∞¡« ¡Ñ«íσ«ñ¿¼δ⌐ ñ½∩ DLL ¬«ñ */
  6633.  
  6634.              #include WINDOWS.H
  6635.  
  6636.              int FAR PASCAL LibMain(HANDLE hInstance,
  6637.                                     WORD   wDataSeg,
  6638.                                     WORD   cbHeapSize,
  6639.                                     LPSTR  lpszCmdLine)
  6640.              {
  6641.                 .
  6642.                 .
  6643.                 /*  ê¡¿µ¿á½¿ºáµ¿∩ DLL */
  6644.                 .
  6645.                 .
  6646.              if(cbHeapSize != 0)    /* Ñß½¿ ßÑú¼Ñ¡Γ ñá¡¡δσ DLL
  6647.                                        »ÑαѼÑΘáѼδ⌐ */
  6648.                  UnlockData(0);
  6649.  
  6650.              return(1);             /* ¿¡¿µ¿á½¿ºáµ¿∩ »α«Φ½á πß»ÑΦ¡« */
  6651.              }
  6652.  
  6653.              VOID FAR PASCAL MinRoutine (int   iParam1,
  6654.                                          LPSTR lpszParam2)
  6655.              {
  6656.              char cLocalVariable;   /* ½«¬á½∞¡á∩ »ÑαѼѡ¡á∩ ó ßΓѬѠ*/
  6657.                 .
  6658.                 .
  6659.                 /* ¬«ñ Σπ¡¬µ¿¿ MinRoutine */
  6660.                 .
  6661.                 .
  6662.              }
  6663.  
  6664.              VOID FAR PASCAL WEP (int nParameter)
  6665.  
  6666.        Windows 3.0/pg/3#3                                       = 127 =
  6667.  
  6668.              {
  6669.              if(nParameter == WEP_SYSTEMEXIT)
  6670.                 {
  6671.                  /* óδ»«½¡∩ÑΓß∩ ºáóÑαΦÑ¡¿Ñ αáí«Γδ ß¿ßΓѼδ.
  6672.                     óδ»«½¡¿Γ∞ ß««ΓóÑΓßΓóπεΘ¿Ñ ñÑ⌐ßΓó¿∩ */
  6673.                 return(1);
  6674.                 }
  6675.              else
  6676.                 {
  6677.                 if(nParameter == WEP_FREE_DLL)
  6678.                    {
  6679.                     /* ßτÑΓτ¿¬ «íαáΘÑ¡¿⌐ ¬ DLL αáóÑ¡ 0. éßÑ »α¿¬½áñ¡δÑ
  6680.                        »α«úαá¼¼δ, ºáúαπº¿óΦ¿Ñ DLL, πªÑ ÑÑ «ßó«í«ñ¿½¿. */
  6681.                     return(1);
  6682.                    }
  6683.                    else
  6684.                    {
  6685.                         /* ¡Ñ¿ºóÑßΓ¡«Ñ º¡áτÑ¡¿Ñ. êú¡«α¿α«óáΓ∞ */
  6686.                       return(1);
  6687.                    }
  6688.                 }
  6689.              }
  6690.  
  6691.              êßσ«ñ¡δ⌐ ¬«ñ  DLL  ¿ß»«½∞ºπÑΓ  WINDOWS.H  Γᬠ ªÑ,  ¬á¬  ¿
  6692.         «ßΓá½∞¡δÑ »α¿¬½áñ¡δÑ »α«úαá¼¼δ.  WINDOWS.H ß«ñÑαª¿Γ «»αÑñѽѡ¿∩
  6693.         ñá¡¡δσ ¿  Γ¿»«ó,  «»αÑñѽѡ¿∩  Γ«τѬ   óσ«ñá   API   ¿   ñαπúπε
  6694.         ¿¡Σ«α¼áµ¿ε, ¿ß»«½∞ºπѼπε »α¿ »α«úαá¼¼¿α«óá¡¿¿.
  6695.  
  6696.              ÄíΩ∩ó½Ñ¡¿Ñ PASCAL   «»αÑñѽ∩ÑΓ   ß«ú½áΦÑ¡¿Ñ  »«  ó맮óπ  ¿
  6697.         «τ¿ßΓ¬Ñ ßΓѬá.  ¥Γ«  ¡Ñ   ΓαÑíπÑΓß∩   ñ½∩   DLL,   «ñ¡á¬«   Ñú«
  6698.         ¿ß»«½∞º«óá¡¿Ñ »«ºó«½∩ÑΓ  ß«ºñáΓ∞  τπΓ∞  ¼Ñ¡∞Φ¿⌐ ¿ í«½ÑÑ íδßΓαδ⌐
  6699.         ¬«ñ. æ«ú½áΦÑ¡¿Ñ »« ó맮óπ ∩ºδ¬á Pascal ¡Ñ ¼«ªÑΓ  ¿ß»«½∞º«óáΓ∞ß∩
  6700.         ß Σπ¡¬µ¿∩¼¿,  »«½πτáεΘ¿¼¿ »ÑαѼѡ¡«Ñ τ¿ß½« »áαá¼ÑΓα«ó,  ¿½¿ ñ½∩
  6701.         ó맮óá Σπ¡¬µ¿⌐ ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓÑ¼δ æ. é Γᬿσ ß½πτá∩σ ΓαÑíπÑΓß∩
  6702.         «íΩ∩ó½Ñ¡¿Ñ CDECL.
  6703.  
  6704.              öπ¡¬µ¿¿ MinRoutine   »ÑαÑñáεΓß∩   ñóá   »áαá¼ÑΓαá,  «ñ¡á¬«
  6705.         Σπ¡¬µ¿¿ DLL ¼«úπΓ  ¿¼ÑΓ∞  ßΓ«½∞¬«  »áαá¼ÑΓα«ó,  ß¬«½∞¬«  ¡πª¡«.
  6706.         àñ¿¡ßΓóÑ¡¡δ¼ «úαá¡¿τÑ¡¿Ñ¼  ∩ó½∩ÑΓß∩ Γ«,  τΓ« Σπ¡¬µ¿∩¼ DLL ¼«ª¡«
  6707.         »ÑαÑñáóáΓ∞ Γ«½∞¬« ñá½∞¡¿Ñ π¬áºáΓѽ¿.
  6708.  
  6709.                               ê¡¿µ¿á½¿ºáµ¿∩ DLL.
  6710.  
  6711.              éδ ñ«½ª¡δ   ó¬½ετ¿Γ∞   ó   DLL   Σπ¡¬µ¿ε    áóΓ«¼áΓ¿τÑ߬«⌐
  6712.         ¿¡¿µ¿á½¿ºáµ¿¿. ¥Γá  Σπ¡¬µ¿∩  óδ»«½¡∩ÑΓß∩  Γ«½∞¬«  «ñ¿¡  αẠ»α¿
  6713.         ºáúαπº¬Ñ í¿í½¿«ΓѬ¿.   è«úñá   ñαπú¿Ñ   »α¿¬½áñ¡δÑ   »α«úαá¼¼δ,
  6714.         ¿ß»«½∞ºπεΘ¿Ñ ñá¡¡πε   í¿í½¿«ΓѬπ,   ºáúαπªáεΓ  ÑÑ,  Windows  ¡Ñ
  6715.         óδºδóáÑΓ Σπ¡¬µ¿ε ¿¡¿µ¿á½¿ºáµ¿¿,  á »α«ßΓ«  πóѽ¿τ¿óáÑΓ  ßτÑΓτ¿¬
  6716.         ßß佫¬ ¡á DLL.
  6717.  
  6718.              Windows ñÑαª¿Γ í¿í½¿«ΓѬπ ó »á¼∩Γ¿, »«¬á ßτÑΓτ¿¬ ßß佫¬ ¡á
  6719.         ¡ÑÑ ¡Ñ αáóÑ¡ 0.  àß½¿ «¡ ßΓá½ αáóÑ¡ 0,  Γ« í¿í½¿«ΓѬá πñá½∩ÑΓß∩
  6720.         ¿º »á¼∩Γ¿.  è«úñá »α¿¬½áñ¡á∩ »α«úαἼᠫ»∩Γ∞ »δΓáÑΓß∩ ºáúαπº¿Γ∞
  6721.  
  6722.        Windows 3.0/pg/3#3                                       = 128 =
  6723.  
  6724.         í¿í½¿«ΓѬπ, ºá¡«ó« óδºδóáÑΓß∩ Σπ¡¬µ¿∩ ¿¡¿µ¿á½¿ºáµ¿¿.
  6725.  
  6726.              ì¿ªÑ »α¿óÑñÑ¡  ß»¿ß«¬  ºáñáτ,  ¬«Γ«αδÑ  ñ«½ª¡á   óδ»«½¡¿Γ∞
  6727.         Σπ¡¬µ¿∩ ¿¡¿µ¿á½¿ºáµ¿¿:
  6728.  
  6729.              - çáαÑú¿ßΓα¿α«óáΓ∞   ¬½áßßδ   «¬«¡   ñ½∩   Σπ¡¬µ¿⌐   «¬«¡,
  6730.                ß«ñÑαªáΘ¿σß∩ ó DLL.
  6731.  
  6732.              - ê¡¿µ¿á½¿º¿α«óáΓ∞ ½«¬á½∞¡πε ñ¿¡á¼¿τÑ߬πε  «í½áßΓ∞  »á¼∩Γ¿
  6733.                DLL.
  6734.  
  6735.              - ôßΓá¡«ó¿Γ∞  ¿ßσ«ñ¡δÑ  º¡áτÑ¡¿∩ ñ½∩ ú½«íá½∞¡δσ »ÑαѼѡ¡δσ
  6736.                DLL.
  6737.  
  6738.              Åα«µÑñπαá ¿¡¿µ¿á½¿ºáµ¿¿ í¿í½¿«ΓѬ¿ ΓαÑíπÑΓß∩ ñ½∩ óδñѽѡ¿∩
  6739.         ¼ÑßΓá »«ñ  ½«¬á½∞¡πε  ñ¿¡á¼¿τÑ߬πε  «í½áßΓ∞  »á¼∩Γ¿.  ï«¬á½∞¡á∩
  6740.         ñ¿¡á¼¿τÑ߬á∩ «í½áßΓ∞ »á¼∩Γ¿ ñ«½ª¡á  íδΓ∞  ß«ºñá¡á  »ÑαÑñ  ½εíδ¼
  6741.         óδº«ó«¼ ó  DLL Σπ¡¬µ¿⌐ αáí«Γδ ß ½«¬á½∞¡«⌐ ñ¿¡á¼¿τÑ߬«⌐ «í½áßΓ∞ε
  6742.         »á¼∩Γ¿, Γᬿσ ¬á¬  LocalAlloc.  ò«Γ∩  ñ½∩  »α¿¬½áñ¡δσ  »α«úαá¼¼
  6743.         Windows ¿¡¿µ¿á½¿º¿απÑΓ  ½«¬á½∞¡πε  ñ¿¡á¼¿τÑ߬πε  «í½áßΓ∞ »á¼∩Γ¿
  6744.         áóΓ«¼áΓ¿τÑ߬¿, DLL ñ«½ª¡á ßñѽáΓ∞ φΓ« ßἫßΓ«∩Γѽ∞¡« ß  »«¼«Θ∞ε
  6745.         Σπ¡¬µ¿¿ LocalInit.
  6746.  
  6747.              èα«¼Ñ φΓ«ú«,  óδ ñ«½ª¡δ ó¬½ετ¿Γ∞ ó »α«µÑñπαπ ¿¡¿µ¿á½¿ºáµ¿¿
  6748.         ß½ÑñπεΘÑÑ «íΩ∩ó½Ñ¡¿Ñ:
  6749.  
  6750.              extrn  __acrtuses:abs
  6751.  
  6752.              ¥Γ¿¼ óδ  «»αÑñѽ∩ÑΓÑ,  τΓ«  DLL   íπñÑΓ   ß¬«¼»«¡«óá¡á   ß
  6753.         ßΓáαΓ«óδ¼ ¬«ñ«¼   ¿º   í¿í½¿«ΓѬ   ¿ß»«½¡∩εΘÑ⌐  ß¿ßΓÑ¼δ  æ  ñ½∩
  6754.         Windows DLL (xDLLCy.LIB).
  6755.  
  6756.              Åα¿ ºáúαπº¬Ñ ¿¡Σ«α¼áµ¿∩ Σπ¡¬µ¿¿ ¿¡¿µ¿á½¿ºáµ¿¿ »ÑαÑñáÑΓß∩ ó
  6757.         αÑú¿ßΓαáσ. Å«ß¬«½∞¬π αÑú¿ßΓαδ ó æ ¡Ññ«ßΓπ»¡δ,  Γ« ñ½∩ ñ«ßΓπ»á ¬
  6758.         φΓ¿¼ º¡áτÑ¡¿∩  ¡Ñ«íσ«ñ¿¼«  ¡á»¿ßáΓ∞  Σπ¡¬µ¿ε   ¡á   áßßѼí½ÑαÑ.
  6759.         Éáß»«½«ªÑ¡¿Ñ ¿   º¡áτÑ¡¿Ñ  ¿¡Σ«α¼áµ¿¿  «  ñ¿¡á¼¿τÑ߬«⌐  «í½áßΓ¿
  6760.         »á¼∩Γ¿ »α¿óÑñÑ¡« ¡¿ªÑ:
  6761.  
  6762.         ÉÑú¿ßΓα             ç¡áτÑ¡¿Ñ
  6763.         ───────────────────────────────────────────────────────────────
  6764.         DI                  äÑß¬α¿»Γ«α φ¬ºÑ¼»½∩αá DLL.
  6765.  
  6766.         DS                  æÑú¼Ñ¡Γ ñá¡¡δσ DLL, Ñß½¿ ÑßΓ∞.
  6767.  
  6768.         CX                  ÉẼÑα ñ¿¡á¼¿τÑ߬«⌐ «í½áßΓ¿ »á¼∩Γ¿, «»αÑñÑ-
  6769.                             ½∩Ѽδ⌐ ó     Σá⌐½Ñ    «»αÑñѽѡ¿∩    ¼«ñπ½∩
  6770.                             í¿í½¿«ΓѬ¿.
  6771.  
  6772.         ES:SI               è«¼á¡ñ¡á∩ ßΓ᫬á (ó »«½Ñ lpCmdLine »áαá¼ÑΓαá
  6773.                             lpParameterBlock Σπ¡¬µ¿¿ LoadModule).
  6774.         ───────────────────────────────────────────────────────────────
  6775.  
  6776.              ìá ñ¿ß¬áσ ß  SDK  ß«ñÑনΓß∩  Σá⌐½  LIBENTRY.ASM,  ¬«Γ«αδ⌐
  6777.  
  6778.        Windows 3.0/pg/3#3                                       = 129 =
  6779.  
  6780.         ¼«ª¡« ¿ß»«½∞º«óáΓ∞ ñ½∩ ß«ºñá¡¿∩ Σπ¡¬µ¿¿ ¿¡¿µ¿á½¿ºáµ¿¿ DLL.  (éδ
  6781.         ¼«ªÑΓÑ ¡á⌐Γ¿ φëàΣá⌐½ ó  ñ¿αÑ¬Γ«α¿¿  SELECT  ¡á  ñ¿ß¬Ñ  Sample
  6782.         Source  Code  Disk).  öπ¡¬µ¿∩  LibEntry «»αÑñѽѡá ó φΓ«¼ Σá⌐½Ñ
  6783.         ß½ÑñπεΘ¿¼ «íαẫ¼:
  6784.  
  6785.        ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  6786.        ;
  6787.        ;       LIBENTRY.ASM
  6788.        ;
  6789.        ;       Æ«τ¬á óσ«ñá ó ñ¿¡á¼¿τÑ߬πε í¿í½¿«ΓѬπ Windows.
  6790.        ;
  6791.        ;   ¥Γ«Γ ¼«ñπ½∞ úÑ¡Ñα¿απÑΓ ¬«ñ«óδ⌐ ßÑú¼Ñ¡Γ ß ¿¼Ñ¡Ñ¼  INIT_TEXT.
  6792.        ;   Ä¡ ¿¡¿µ¿á½¿º¿απÑΓ ½«¬á½∞¡πε ñ¿¡á¼¿τÑ߬πε «í½áΓ∞ »á¼∩Γ¿, Ñß½¿
  6793.        ;   «¡á ÑßΓ∞ ¿ ºáΓѼ óδºδóáÑΓ Σπ¡¬µ¿ε C LibMain(), ¬«Γ«αá∩ ñ«½ª¡á
  6794.        ;   óδú½∩ñÑΓ∞ ß½ÑñπεΘ¿¼ «íαẫ¼:
  6795.        ;
  6796.        ;   BOOL FAR PASCAL LibMain(HANDLE hInstance,
  6797.        ;                           WORD   wDataSeg,
  6798.        ;                           WORD   cbHeap,
  6799.        ;                           LPSTR  lpszCmdLine);
  6800.        ;
  6801.        ;   ÉѺπ½∞ΓáΓ ó맮óá LibMain ó«ºóαáΘáÑΓß∩ Windows.
  6802.        ;   öπ¡¬µ¿∩ C ñ«½ª¡á óÑα¡πΓ∞ º¡áτÑ¡¿Ñ TRUE, Ñß½¿ ¿¡¿µ¿á½¿ºáµ¿∩ ºá-
  6803.        ;   óÑαΦÑ¡á πß»ÑΦ¡«, ¿½¿ FALSE »α¿ ó«º¡¿¬¡«óÑ¡¿¿ «Φ¿í¬¿.
  6804.        ;
  6805.        ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  6806.  
  6807.        include cmacros.inc
  6808.  
  6809.        externFP <LibMain>               ; éδºδóáѼá∩ »α«µÑñπαá æ
  6810.        externFP <LocalInit>             ; öπ¡¬µ¿∩ ¿¡¿á½¿ºáµ¿¿ ñ¿¡á¼¿τÑ߬«⌐
  6811.                                         ; «í½áßΓ¿ »á¼∩Γ¿ Windows
  6812.        extrn  __acrtused:abs            ; »«ñ¬½ετ¿Γ∞ ßΓáαΓ«óδ⌐ ¬«ñ DLL
  6813.  
  6814.        public LibEntry                  ; Γ«τ¬á óσ«ñá ó DLL
  6815.  
  6816.        INIT_TEXT segment byte pablic 'CODE'
  6817.              assume CS,INIT_TEXT
  6818.  
  6819.  
  6820.        LibEntry proc far
  6821.  
  6822.                push di                  ; ñÑ¬α¿»Γ«α φ¬ºÑ¼»½∩αá í¿í½¿«ΓѬ¿
  6823.                push    ds               ; ßÑú¼Ñ¡Γ ñá¡¡δσ í¿í½¿«ΓѬ¿
  6824.                push    cx               ; αẼÑα ñ¿¡á¼¿τÑ߬«⌐ «í½áßΓ¿
  6825.                push    es               ; ßÑú¼Ñ¡Γ ¬«¼á¡ñ¡«⌐ ßΓ᫬¿
  6826.                push    si               ; ß¼ÑΘÑ¡¿Ñ ¬«¼á¡ñ¡«⌐ ßΓ᫬¿
  6827.  
  6828.                ; Ñß½¿ ¡πª¡« ¿¡¿µ¿á½¿º¿α«óáΓ∞ ñ¿¡á¼¿τÑ߬πε «í½áßΓ∞
  6829.                jcxz    callc            ; »ÑαÑσ«ñ Ñß½¿ ¡Ñ ¡πª¡«
  6830.  
  6831.                ; éδºóáΓ∞ Σπ¡¬µ¿ε Windows LocalInit
  6832.                ; LocalInit((LPSTR)start, WORD cbHeap);
  6833.  
  6834.        Windows 3.0/pg/3#3                                       = 130 =
  6835.  
  6836.  
  6837.                push    ds               ; ßÑú¼Ñ¡Γ ñ¿¡á¼¿τÑ߬«⌐ «í½áßΓ¿
  6838.                xor     ax,ax
  6839.                push    ax               ; ß¼ÑΘÑ¡¿Ñ ¡áτá½á ñ¿¡á¼¿τÑ߬«⌐
  6840.                                         ; «í½áßΓ¿ »á¼∩Γ¿
  6841.                push    cx               ; ß¼ÑΘÑ¡¿Ñ ¬«¡µá ñ¿¡á¼¿τÑ߬«⌐
  6842.                                         ; «í½áßΓ¿ »á¼∩Γ¿
  6843.  
  6844.                call    LocalInit        ; »«»δΓ¬á ¿¡¿µ¿á½¿ºáµ¿¿
  6845.                or      ax,ax            ; óßÑ ó »«α∩ñ¬Ñ?
  6846.                jz      exit             ; óδσ«ñ »« «Φ¿í¬Ñ
  6847.  
  6848.                ; éδº«ó   Σπ¡¬µ¿¿   C   ñ½∩    óδ»«½¡Ñ¡¿∩    ß»Ñµ¿á½∞¡«⌐
  6849.                ; ¿¡¿µ¿á½¿ºáµ¿¿.
  6850.  
  6851.        callc:
  6852.                call    LibMain          ; é맮ó »α«µÑñπαδ C (αѺ. ó AX)
  6853.  
  6854.        exit:
  6855.                ret                      ; óÑα¡πΓ∞ αѺπ½∞ΓáΓ
  6856.  
  6857.        LibEntry endp
  6858.  
  6859.        INIT_TEXT ends
  6860.  
  6861.        end LibEntry
  6862.  
  6863.              ìá ñ¿ß¬áσ  SDK ΓᬪѠ¿¼ÑÑΓß∩ «ΓáßßÑ¼í½¿α«óá¡¡á∩ ¬«»¿∩ φΓ«⌐
  6864.         Σπ¡¬µ¿¿: LIBENTRY.OBJ.  (éδ ¼«ªÑΓÑ ¡á⌐Γ¿ φëàΣá⌐½ ó ñ¿αÑ¬Γ«α¿¿
  6865.         SELECT ¡á  ñ¿ß¬Ñ  Sample  Source  Code Disk).  öπ¡¬µ¿∩ LibEntry
  6866.         »«ºó«½∩ÑΓ óδºóáΓ∞ Σπ¡¬µ¿ε ¿¡¿µ¿á½¿ºáµ¿¿ ¡á æ. ä½∩ ¿ß»«½∞º«óá¡¿∩
  6867.         Σπ¡µ¿¿ LibEntry  ó  Γᬫ¼  ó¿ñÑ  ñ«íáó∞ΓÑ ÑÑ ¬ ¬«¼á¡ñ¡«⌐ ßΓ᫬Ñ
  6868.         ¬«¼»«¡«óΘ¿¬á:
  6869.  
  6870.              LINK MINDLL.OBJ LIBENTRY.OBJ, MINDLL.DLL, MINDLL.MAP/map,
  6871.                   MDLLCEW.LIB LIBW.LIB/NOE/NOD,MINDLL.DEF
  6872.  
  6873.              LibEntry «ßπΘÑßΓó½∩ÑΓ   ñá½∞¡¿⌐   ó맮ó  ß  ¿ß»«½∞º«ó᡿Ѽ
  6874.         ß«ú½áΦÑ¡¿∩ »« ó맮óπ ∩ºδ¬á  PASCAL  Σπ¡¬µ¿¿  LibMain.  àß½¿  óδ
  6875.         ¬«¼»«¡πÑΓÑ DLL  ß  LIBENTRY.OBJ,  óáΦá  í¿í½¿«ΓѬá ñ«½ª¡á ¿¼ÑΓ∞
  6876.         Σπ¡¬µ¿ε LibMain.
  6877.  
  6878.              ì¿ªÑ ñá¡ »α¿¼Ñα Σπ¡¬µ¿¿ LibMain:
  6879.  
  6880.              int FAR PASCAL LibMain(HANDLE hInstance,
  6881.                                     WORD   wDataSeg,
  6882.                                     WORD   cbHeapSize,
  6883.                                     LPSTR  lpszCmdLine)
  6884.              {
  6885.                 .
  6886.                 .
  6887.                 /*  ê¡¿µ¿á½¿ºáµ¿∩ DLL */
  6888.                 .
  6889.  
  6890.        Windows 3.0/pg/3#3                                       = 131 =
  6891.  
  6892.                 .
  6893.              if(cbHeapSize != 0)    /* Ñß½¿ ßÑú¼Ñ¡Γ ñá¡¡δσ DLL
  6894.                                        »ÑαѼÑΘáѼδ⌐ */
  6895.                  UnlockData(0);
  6896.  
  6897.              return(1);             /* ¿¡¿µ¿á½¿ºáµ¿∩ »α«Φ½á πß»ÑΦ¡« */
  6898.              }
  6899.  
  6900.              LibMain »«½πτáÑΓ  τÑΓδαÑ »áαá¼ÑΓαá:  hInstance,  wDataSeg,
  6901.         cbHeapSize, lpszCmdLine. ÅÑαóδ⌐ »áαá¼ÑΓα hInstance - ñÑß¬α¿»Γ«α
  6902.         φ¬ºÑ¼»½∩αá  DLL.  Åáαá¼ÑΓα wDataSeg φΓ« ß«ñÑন¼«Ñ αÑú¿ßΓαá DS,
  6903.         «»αÑñѽ∩εΘÑú« ßÑú¼Ñ¡Γ ñá¡¡δσ.  Åáαá¼ÑΓα  cbHeapSize  «»αÑñѽ∩ÑΓ
  6904.         αẼÑα   ñ¿¡á¼¿τÑ߬«⌐   «í½áßΓ¿  ñá¡¡δσ,  »«½πτáѼδ⌐  ¿º  Σá⌐½á
  6905.         «»αÑñѽѡ¿∩  ¼«ñπ½∩  í¿í½¿«ΓѬ¿.   LibEntry   ¿ß»«½∞ºπÑΓ   φΓ«Γ
  6906.         »áαá¼ÑΓα   ñ½∩  ¿¡¿µ¿á½¿ºáµ¿¿  ½«¬á½∞¡«⌐  ñ¿¡á¼¿τÑ߬«⌐  «í½áßΓ¿
  6907.         ñá¡¡δσ.  Åáαá¼ÑΓα lpszCmdLine ß«ñÑαª¿Γ ¿¡Σ«α¼áµ¿ε ¿º  ¬«¼á¡ñ¡«⌐
  6908.         ßΓ᫬¿ ¿ αÑñ¬« ¿ß»«½∞ºπÑΓß∩ ó DLL.
  6909.  
  6910.              àß½¿ óδ   ¡Ñ   σ«Γ¿ΓÑ,   τΓ«íδ  ßÑú¼Ñ¡Γ  ñá¡¡δσ  «ßΓáóá½ß∩
  6911.         ºáí½«¬¿α«óá¡¡δ¼,  Γ«  ó맮ó¿ΓÑ  Σπ¡¬µ¿ε  UnlockData,  »«ß¬«½∞¬π
  6912.         LocalInit ¡Ñ αáºí½«¬¿απÑΓ ßÑú¼Ñ¡Γ.
  6913.  
  6914.              àß½¿ ¿¡¿µ¿á½¿ºáµ¿∩  DLL  ºáóÑαΦ¿½áß∞  πß»ÑΦ¡«,  DLL ñ«½ª¡á
  6915.         óÑα¡πΓ∞ º¡áτÑ¡¿Ñ 1.  ìπ½Ñó«Ñ ó«ºóαáΘáѼ«Ñ  º¡áτÑ¡¿Ñ  «»αÑñѽ∩ÑΓ
  6916.         ¡Ñπñáτ¡«Ñ ºáóÑαΦÑ¡¿Ñ   ¿¡¿µ¿á½¿ºáµ¿¿,   ¿  DLL  óδúαπªáÑΓß∩  ¿º
  6917.         ß¿ßΓѼ¡«⌐ »á¼∩Γ¿.
  6918.  
  6919.              Åα¿¼Ñτá¡¿Ñ: àß½¿ óδ  »¿Φ¿ΓÑ  óßε  DLL  ¡á  áßßѼí½ÑαÑ,  óδ
  6920.         ñ«½ª¡δ ßἫßΓ«∩Γѽ∞¡« ºáαѺÑαó¿α«óáΓ∞ ¿ ¿¡¿µ¿á½¿º¿α«óáΓ∞ ¡π½∩¼¿
  6921.         »ÑαóδÑ 16 íá⌐Γ ßÑú¼Ñ¡Γá ñá¡¡δσ DLL.  Äñ¡á¬«,  Ñß½¿  ¼«ñπ½∞  DLL
  6922.         ß«ñÑαª¿Γ ½εí«⌐ ¬«ñ ¡á æ, ¬«¼»¿½∩Γ«α æ ºáαѺÑαó¿απÑΓ φΓπ «í½áßΓ∞
  6923.         áóΓ«¼áΓ¿τÑ߬¿.
  6924.  
  6925.                                 çáóÑαΦÑ¡¿Ñ DLL.
  6926.  
  6927.              Windows DLL ñ«½ª¡á ó¬½ετáΓ∞  Σπ¡¬µ¿ε  ºáóÑαΦÑ¡¿∩.  öπ¡¬µ¿∩
  6928.         ºáóÑαΦÑ¡¿∩, ¿¡«úñá   ¡áºδóáѼá∩  »α«µÑñπα«⌐  óδσ«ñá,  óδ»«½¡∩ÑΓ
  6929.         «τ¿ßΓ¬π DLL »ÑαÑñ ÑÑ óδúαπº¬«⌐.
  6930.  
  6931.              ä½∩ DLL  ß«ñÑαªáΘÑ⌐  Σπ¡¬µ¿¿  «¬¡á  (ºáαÑú¿ßΓα¿α«óá¡¡δÑ  ß
  6932.         »«¼«Θ∞ε Σπ¡¬µ¿¿    RegisterClass),    ¡Ñ    ΓαÑíπÑΓß∩   πñá½∩Γ∞
  6933.         αÑú¿ßΓαáµ¿ε ¬½áßßá (ß »«¼«Θ∞ε  UnRegisterClass),  Γ.¬.  Windows
  6934.         ñѽáÑΓ φΓ« áóΓ«¼áΓ¿τÑ߬¿ »α¿ ºáóÑαΦÑ¡¿¿ DLL.
  6935.  
  6936.              ì¿ªÑ »α¿óÑñÑ¡  »α¿¼Ñα »α«ßΓ«⌐ Σπ¡¬µ¿¿ ºáóÑαΦÑ¡¿∩.  öπ¡¬µ¿∩
  6937.         ºáóÑαΦÑ¡¿∩ ñ«½ª¡á  íδΓ∞   ºáαÑú¿ßΓα¿α«óá¡á   Γá¬,   ¬á¬   ºñÑß∞
  6938.         »«¬áºá¡«. à⌐  »ÑαÑñáÑΓß∩  «ñ¿¡  áαπú¼Ñ¡Γ (nParameter),  ¬«Γ«αδ⌐
  6939.         «»αÑñѽ∩ÑΓ, ºáóÑαΦáÑΓß∩  ½¿  αáí«Γá  Windows   (nParameter   ==
  6940.         WEP_SYSTEMEXIT)  ¿½¿  Γ«½∞¬«  DLL (nParameter == WEP_FREE_DLL).
  6941.         Ä¡á óßÑúñá ó«ºóαáΘáÑΓ 1, «í«º¡áτáεΘπε πß»ÑΦ¡«Ñ ºáóÑαΦÑ¡¿Ñ.
  6942.  
  6943.              VOID FAR PASCAL WEP (int nParameter)
  6944.              {
  6945.  
  6946.        Windows 3.0/pg/3#3                                       = 132 =
  6947.  
  6948.              if(nParameter == WEP_SYSTEMEXIT)
  6949.                 {
  6950.                  /* óδ»«½¡∩ÑΓß∩ ºáóÑαΦÑ¡¿Ñ αáí«Γδ ß¿ßΓѼδ.
  6951.                     óδ»«½¡¿Γ∞ ß««ΓóÑΓßΓóπεΘ¿Ñ ñÑ⌐ßΓó¿∩ */
  6952.                 return(1);
  6953.                 }
  6954.              else
  6955.                 {
  6956.                 if(nParameter == WEP_FREE_DLL)
  6957.                    {
  6958.                     /* ßτÑΓτ¿¬ «íαáΘÑ¡¿⌐ ¬ DLL αáóÑ¡ 0. éßÑ »α¿¬½áñ¡δÑ
  6959.                        »α«úαá¼¼δ, ºáúαπº¿óΦ¿Ñ DLL, πªÑ ÑÑ «ßó«í«ñ¿½¿. */
  6960.                     return(1);
  6961.                    }
  6962.                    else
  6963.                    {
  6964.                         /* ¡Ñ¿ºóÑßΓ¡«Ñ º¡áτÑ¡¿Ñ. êú¡«α¿α«óáΓ∞ */
  6965.                       return(1);
  6966.                    }
  6967.                 }
  6968.              }
  6969.  
  6970.              öπ¡¬µ¿∩ ºáóÑαΦÑ¡¿∩ ñ«½ª¡á ¡áºδóáΓ∞ß∩  WEP  ¿  ñ«½ª¡á  íδΓ∞
  6971.         «»¿ßá¡á  ó αáºñѽѠEXPORTS Σá⌐½á «»αÑñѽѡ¿∩ ¼«ñπ½∩ í¿í½¿«ΓѬ¿.
  6972.         îδ ¡áßΓ«∩Γѽ∞¡« αѬ«¼Ñ¡ñπѼ ¿º-ºá ÑÑ ó½¿∩¡¿∩ ¡á  σáαá¬ΓÑα¿ßΓ¿¬¿
  6973.         ß¿ßΓѼδ,   τΓ«íδ  ß  ¡Ñ⌐  ¿ß»«½∞º«óὫß∞  «α¿ú¿¡á½∞¡«Ñ  óσ«ñ¡«Ñ
  6974.         º¡áτÑ¡¿Ñ ¿ ¬½ετÑó«Ñ ß½«ó« RESIDENTNAME,  τΓ«íδ π¼Ñ¡∞Φ¿Γ∞  óαѼ∩
  6975.         »«¿ß¬á Σπ¡¬µ¿¿.  è½ετÑó«Ñ ß½«ó« RESIDENTNAME ºáßΓáó½∩ÑΓ Windows
  6976.         ñÑαªáΓ∞  ¿¡Σ«α¼áµ¿ε  «í  φ¬ß»«αΓ¿απѼ«⌐  Σπ¡¬µ¿¿  »«ßΓ«∩¡¡«   ó
  6977.         »á¼∩Γ¿,   ¿  ¼δ  ¡Ñ  αѬ«¼Ñ¡ñπѼ  ¿ß»«½∞º«óáΓ∞  Ñú«  ß  ñαπú¿¼¿
  6978.         Σπ¡¬µ¿∩¼¿.
  6979.  
  6980.              ä«»«½¡¿Γѽ∞¡πε ¿¡Σ«α¼áµ¿ε óδ ¡á⌐ñÑΓÑ ó ß½ÑñπεΘѼ αáºñѽÑ.
  6981.                           20.3.2  æ«ºñá¡¿Ñ Σá⌐½á «»αÑñѽѡ¿∩ ¼«ñπ½∩.           
  6982.  
  6983.              é ñá¡¡«¼ αáºñѽѠ »α¿óÑñÑ¡  Σá⌐½  «»αÑñѽѡ¿∩  ¼«ñπ½∩  ñ½∩
  6984.         ¼¿¡¿¼á½∞¡«⌐ DLL.  ¥Γ«Γ  Σá⌐½  ß«ñÑαª¿Γ  óσ«ñ¡πε  ¿¡Σ«α¼áµ¿ε ñ½∩
  6985.         ¬«¼»«¡«óΘ¿¬á (LINK), ¬«Γ«αá∩ «»αÑñѽ∩ÑΓ αẽ¿τ¡δÑ áΓα¿íπΓδ DLL.
  6986.         çá¼ÑΓ¿¼, τΓ« ó ñá¡¡«¼ Σá⌐½Ñ ¡ÑΓ «»ÑαáΓ«αá STACKSIZE,  »«ß¬«½∞¬π
  6987.         DLL ¿ß»«½∞ºπÑΓ ßΓѬ óδºδóáεΘÑ⌐ ÑÑ  »α«úαá¼¼δ.  Å«½¡«Ñ  «»¿ßá¡¿Ñ
  6988.         Σá⌐½á «»αÑñѽѡ¿∩  ¼«ñπ½∩ óδ ¡á⌐ñÑΓÑ ó« óΓ«α«¼ Γ«¼Ñ æ»αáó«τ¡«ú«
  6989.         απ¬«ó«ñßΓóá.
  6990.  
  6991.              LIBRARY MinDLL
  6992.  
  6993.              DESCRIPTION "MinDLL - î¿¡¿¼á½∞¡δ⌐ ΓαÑíπѼδ⌐ ñ½∩ DLL ¬«ñ"
  6994.  
  6995.              EXETYPE WINDOWS
  6996.  
  6997.              STUB 'WINSTUB.EXE'
  6998.  
  6999.              CODE MOVEABLE DISCARDABLE
  7000.  
  7001.        Windows 3.0/pg/3#3                                       = 133 =
  7002.  
  7003.  
  7004.              DATA MOVEABLE SINGLE
  7005.  
  7006.              HEAPSIZE 0
  7007.  
  7008.              EXPORTS
  7009.                 MinRoutine  @1
  7010.                 WEP         @2  RESIDENTNAME
  7011.  
  7012.              è½ετÑó«Ñ ß½«ó«   LIBRARY   «»αÑñѽ∩ÑΓ,   τΓ«   ¼«ñπ½∞    -
  7013.         í¿í½¿«ΓѬá. ê¼∩ í¿í½¿«ΓѬ¿,  ó ñá¡¡«¼ ß½πτáÑ MinDLL, ß½ÑñπÑΓ ºá
  7014.         ¬½ετÑóδ¼ ß½«ó«¼  ¿  ñ«½ª¡«  íδΓ∞  ΓѼ  ªÑ,  τΓ«  ¿  ¿¼∩   Σá⌐½á
  7015.         í¿í½¿«ΓѬ¿.
  7016.  
  7017.              Ä»ÑαáΓ«α EXETYPE  WINDOWS  ΓαÑíπÑΓß∩  ñ½∩  óßÑσ »α¿¬½áñ¡δσ
  7018.         »α«úαá¼¼ ¿ DLL Windows.
  7019.  
  7020.              Ä»ÑαáΓ«α DESCRIPTION  ß«ñÑαª¿Γ  ßΓ᫬𠠠ñ½¿¡«⌐   ñ«   128
  7021.         ß¿¼ó«½«ó. Äíδτ¡«  Ñú«  ¿ß»«½∞ºπεΓ  ñ½∩  «»¿ßá¡¿∩  ¼«ñπ½∩  ¿ ñ½∩
  7022.         «Γ¼ÑΓ¬¿ «í áóΓ«α߬¿σ »αáóáσ. ¥Γ«Γ «»ÑαáΓ«α ¡Ñ«í∩ºáΓѽѡ.
  7023.  
  7024.              Ä»ÑαáΓ«α STUB «»αÑñѽ∩ÑΓ »α«úαá¼¼π ñ½∩  DOS  2.σ,  ¬«Γ«αá∩
  7025.         ¬«»¿απÑΓß∩ ó  Γѽ«  ¼«ñπ½∩  í¿í½¿«ΓѬ¿  (.DLL).  ¥Γá  »α«úαá¼¼á
  7026.         »αÑñ¡áº¡áτÑ¡á ñ½∩  óδñáτ¿  ¿¡Σ«α¼áµ¿¿   »«½∞º«óáΓѽε,   ¬«Γ«αδ⌐
  7027.         »δΓáÑΓß∩ ºá»πßΓ¿Γ∞ ¼«ñπ½¿ Windows ¿º ¬«¼á¡ñ¡«⌐ ßΓ᫬¿ DOS. àß½¿
  7028.         «»ÑαáΓ«α STUB ¡Ñ π¬áºá¡, ¬«¼»«¡«óΘ¿¬ ñ«íáó¿Γ Ñú« áóΓ«¼áΓ¿τÑ߬¿.
  7029.  
  7030.              Ä»ÑαáΓ«α CODE  ¿ß»«½∞ºπÑΓß∩  ñ½∩  «»αÑñѽѡ¿∩   áΓα¿íπΓ«ó,
  7031.         ¿ß»«½∞ºπѼδσ »« π¼«½τá¡¿ε,  ñ½∩ í½«¬á »á¼∩Γ¿ ¬«ñ«ó«ú« ßÑú¼Ñ¡Γá.
  7032.         ÅÑαѼÑΘáѼδ⌐ ¿  ßíαáßδóáѼδ⌐  ¬«ñ«óδ⌐   ßÑú¼Ñ¡Γ   »αÑñ«ßΓáó½∩ÑΓ
  7033.         ¡á¿í«½∞Φπε ßó«í«ñπ ß¿ßΓѼѠπ»αáó½Ñ¡¿∩ »á¼∩Γ∞ε Windows,  ¬«Γ«αδ⌐
  7034.         «íÑß»Ñτ¿óáÑΓ ñ«ßΓπ»¡«ßΓ∞    ¬«ñ«ó«ú«    ßÑú¼Ñ¡Γá    »α¿     Ñú«
  7035.         ¡Ñ«íσ«ñ¿¼«ßΓ¿. Ä»ÑαáΓ«α   SEGMENTS,   ¡Ñ  ó¬½ετÑ¡¡δ⌐  ó  ñá¡¡δ⌐
  7036.         »α¿¼Ñα, »«ºó«½∩ÑΓ   «»αÑñѽ¿Γ∞   áΓα¿íπΓδ   «Γñѽ∞¡δσ   ¬«ñ«óδσ
  7037.         ßÑú¼Ñ¡Γ«ó.
  7038.  
  7039.              Ä»ÑαáΓ«α DATA «í∩ºáΓѽѡ.  Ä¡ «»αÑñѽ∩ÑΓ áΓα¿íπΓδ ßÑú¼Ñ¡Γá
  7040.         ñá¡¡δσ í¿í½¿«ΓѬ¿.  è½ετÑó«Ñ ß½«ó« MOVEABLE  »«ºó«½∩ÑΓ  ß¿ßΓѼÑ
  7041.         π»αáó½Ñ¡¿∩ »á¼∩Γ∞ε Windows »ÑαѼÑΘáΓ∞ »α¿ ¡Ñ«íσ«ñ¿¼«ßΓ¿ ßÑú¼Ñ¡Γ
  7042.         ñá¡¡δσ í¿í½¿«ΓѬ¿.  ä½∩  í¿í½¿«ΓѬ¿  ΓαÑíπÑΓß∩  ¬½ετÑó«Ñ  ß½«ó«
  7043.         SINGLE, Γ.¬.   í¿í½¿«ΓѬᠠóßÑúñá  ¿¼ÑÑΓ  Γ«½∞¬«  «ñ¿¡  ßÑú¼Ñ¡Γ
  7044.         ñá¡¡δσ, ¡Ñºáó¿ß¿¼« «Γ  Γ«ú«,  ß¬«½∞¬«  »α¿¬½áñ¡δσ  »α«úαá¼¼  Ñε
  7045.         »«½∞ºπεΓß∩.
  7046.  
  7047.              Ä»ÑαáΓ«α HEAPSIZE  ¿ß»«½∞ºπÑΓß∩  ñ½∩ «»αÑñѽѡ¿∩ ¿ßσ«ñ¡«ú«
  7048.         (¿½¿ ¼¿¡¿¼á½∞¡«ú«)  αẼÑαá  ½«¬á½∞¡«⌐   ñ¿¡á¼¿τÑ߬«⌐   «í½áßΓ¿
  7049.         »á¼∩Γ¿. àß½¿ í¿í½¿«ΓѬᠿ߻«½∞ºπÑΓ óδñѽѡ¿Ñ »á¼∩Γ¿ ó ½«¬á½∞¡«⌐
  7050.         ñ¿¡á¼¿τÑ߬«⌐ «í½áßΓ¿ »á¼∩Γ¿,  Γ« ó ¼«¼Ñ¡Γ ºá»π߬ᠫ¡á ñ«½ª¡á ÑÑ
  7051.         ¿¡¿µ¿á½¿º¿α«óáΓ∞. ÉẼÑα  ½«¬á½∞¡«⌐ ñ¿¡á¼¿τÑ߬«⌐ «í½áßΓ¿ »á¼∩Γ¿
  7052.         »«ßδ½áÑΓß∩ »α«µÑñπαÑ LibEntry,  ¬«Γ«αá∩ ó ßó«ε «τÑαÑñ∞ óδºδóáÑΓ
  7053.         Σπ¡¬µ¿ε LicalInit   ñ½∩  ¿¡¿µ¿á½¿ºáµ¿¿  ½«¬á½∞¡«⌐  ñ¿¡á¼¿τÑ߬«⌐
  7054.         «í½áßΓ¿ »á¼∩Γ¿ ñá¡¡«ú« αẼÑαá.  ä«»«½¡¿Γѽ∞¡πε  ¿¡Σ«α¼áµ¿ε  »«
  7055.         φΓ«¼π »«ó«ñπ óδ ¡á⌐ñÑΓÑ ó αáºñѽѠ20.3.1,  "ê¡¿µ¿á½¿ºáµ¿∩ DLL".
  7056.  
  7057.        Windows 3.0/pg/3#3                                       = 134 =
  7058.  
  7059.         é ¡áΦѼ  »α¿¼ÑαÑ  ½«¬á½∞¡á∩  ñ¿¡á¼¿τÑ߬á∩  «í½áßΓ∞  »á¼∩Γ¿   ¡Ñ
  7060.         ¿ß»«½∞ºπÑΓß∩ ¿ »«φΓ«¼π ÑÑ αẼÑα αáóÑ¡ 0.
  7061.  
  7062.              Ä»ÑαáΓ«α EXPORTS,     «»αÑñѽ∩ÑΓ     »α«µÑñπαδ     ¬«Γ«αδÑ
  7063.         ¿ß»«½∞ºπεΓß∩ ó ¬áτÑßΓóÑ Γ«τѬ óσ«ñá ñαπú¿¼¿ DLL ¿½¿ »α¿¬½áñ¡δ¼¿
  7064.         »α«úαἼἿ.    ¥Γá   ¿¡Σ«α¼áµ¿∩   ¿ß»«½∞ºπÑΓß∩   Windows   ñ½∩
  7065.         «»αÑñѽѡ¿∩ ßÑú¼Ñ¡Γá ñá¡¡δσ,  ¬«Γ«αδ⌐ ñ«½ªÑ¡  ¿ß»«½∞º«óáΓ∞ß∩  ß
  7066.         ¬áªñ«⌐  Σπ¡¬µ¿Ñ⌐ DLL.  èáªñá∩ »α«µÑñπαá ñ«½ª¡á ¿¼ÑΓ∞ π¡¿¬á½∞¡«Ñ
  7067.         º¡áτÑ¡¿Ñ,  ¬«Γ«α«Ñ ó ¡áΦѼ »α¿¼ÑαÑ  π¬áºδóáÑΓß∩  »«ß½Ñ  ß¿¼ó«½á
  7068.         '@'.   ¥Γ«  º¡áτÑ¡¿Ñ  ¿ß»«½∞ºπÑΓß∩  ñ½∩  π¼Ñ¡∞ΦÑ¡¿∩  αẼÑαá  ¿
  7069.         πóѽ¿τÑ¡¿∩ íδßΓα«ñÑ⌐ßΓó¿∩ ß¿ßΓѼδ ñ¿¡á¼¿τÑ߬«ú« ßó∩ºδóá¡¿∩.
  7070.                                     20.3.3.  æ«ºñá¡¿Ñ Make-Σá⌐½á.              
  7071.  
  7072.              æ½πªÑí¡á∩ »α«úαἼᠠMAKE  ¿ß»«½∞ºπÑΓß∩   ñ½∩   π»αáó½Ñ¡¿∩
  7073.         ß«ºñ᡿Ѽ óδ»«½¡∩Ѽδσ Σá⌐½«ó ¿ ¼¿¡¿¼¿ºáµ¿¿, ΓαÑíπѼ«⌐ ñ½∩ φΓ«ú«
  7074.         «íαáí«Γ¬¿.  ä½∩  ß«ºñá¡¿∩  DLL  ¿ß»«½∞ºπÑΓß∩  τÑΓδαÑ  ß½πªÑí¡δÑ
  7075.         »α«úαá¼¼δ:
  7076.  
  7077.              - è«¼»¿½∩Γ«α æ (CL).
  7078.  
  7079.              - è«¼»«¡«óΘ¿¬ (LINK).
  7080.  
  7081.              - æ½πªÑí¡á∩ »α«úαá¼¼á ñ½∩ ß«ºñá¡¿∩ ¿¼»«αΓ¿απѼδσ í¿í½¿«ΓѬ
  7082.                (IMPLIB).
  7083.  
  7084.              - è«¼»¿½∩Γ«α αÑßπαß«ó (RC).
  7085.  
  7086.              Make-Σá⌐½ ñ½∩  ß«ºñá¡¿∩  ¡áΦÑú«   »α¿¼Ñαá   DLL   óδú½∩ñ¿Γ
  7087.         ß½ÑñπεΘ¿¼ «íαẫ¼:
  7088.  
  7089.              MINDLL.OBJ: MINDLL.C
  7090.                  CL  -ASw  -c -Gsw -Os -W2 MINDLL.C
  7091.  
  7092.              MINDLL.DLL: MINDLL.OBJ
  7093.                  LINK MINDLL.OBJ LIBENTRY.OBJ, MINDLL.DLL, MINDLL.MAP/map,
  7094.                   MDLLCEW.LIB LIBW.LIB/NOE/NOD,MINDLL.DEF
  7095.                  MAPSYM MINDLL.MAP
  7096.                  IMPLIB MINDLL.LIB MINDLL.DEF
  7097.                  RC MINDLL.DLL
  7098.  
  7099.              ä«»«½¡¿Γѽ∞¡á∩ ¿¡Σ«α¼áµ¿∩  «  »α«úαἼѠ MAKE ß«ñÑনΓß∩ ó
  7100.         ñ«¬π¼Ñ¡Γᵿ¿ »« Microsoft C Compiller.
  7101.  
  7102.                              è½ετ¿ ¬«¼»¿½∩Γ«αá æ.
  7103.  
  7104.              è«¼»¿½∩Γ«α æ  ¿ß»«½∞ºπÑΓ  »∩Γ∞  ¡áí«α«ó  ¬½ετÑ⌐,   ¬«Γ«αδÑ
  7105.         ¬«α«Γ¬« «»¿ßá¡δ  ¡¿ªÑ.  Å«½¡«Ñ «»¿ßá¡¿Ñ ¬½ετÑ⌐ ¬«¼»¿½∩Γ«αá æ óδ
  7106.         ¡á⌐ñÑΓÑ ó ñ«¬π¼Ñ¡Γᵿ¿ »« Microsoft C Compiller  óÑαß¿¿  4.0  ¿
  7107.         í«½ÑÑ   »«ºñ¡¿σ.   ì¿ªÑ   »α¿óÑñÑ¡δ   ¬½ετ¿,  ¿ß»«½∞ºπѼδÑ  ñ½∩
  7108.         ¬«¼»¿½∩µ¿¿ ¡áΦÑú« »α¿¼Ñαá DLL:
  7109.  
  7110.                  CL  -ASw  -c -Gsw -Os -W2 MINDLL.C
  7111.  
  7112.        Windows 3.0/pg/3#3                                       = 135 =
  7113.  
  7114.  
  7115.              è½ετ -ASw «»αÑñѽ∩ÑΓ áñαÑßᵿε,  ¿ß»«½∞ºπѼπε ¬«¼»¿½∩Γ«α«¼
  7116.         »« π¼«½τá¡¿ε.  Åáαá¼ÑΓα  S  «»αÑñѽ∩ÑΓ  ¼á½πε ¼«ñѽ∞ »á¼∩Γ¿,  ó
  7117.         ¬«Γ«α«⌐ ¿ß»«½∞ºπεΓß∩ í½¿ª¡¿Ñ  π¬áºáΓѽ¿  ¡á  ñá¡¡δÑ  ¿  í½¿ª¡¿Ñ
  7118.         π¬áºáΓѽ¿ ¡á ¬«ñ.  Åáαá¼ÑΓα w ß««íΘáÑΓ ¬«¼»¿½∩Γ«απ, τΓ« ßΓѬ ¡Ñ
  7119.         ∩ó½∩ÑΓß∩ τáßΓ∞ε ßÑú¼Ñ¡Γá ñá¡¡δσ »« π¼«½τá¡¿ε, ¿½¿, Ñß½¿ ß¬áºáΓ∞
  7120.         »« ñαπú«¼π,   τΓ«   SS   !=   DS.   ¥Γ«  ºáßΓáó½∩ÑΓ  ¬«¼»¿½∩Γ«α
  7121.         úÑ¡Ñα¿α«óáΓ∞ ß««íΘÑ¡¿Ñ   «í   «Φ¿í¬Ñ,   ¬«úñá   «¡    «í¡áαπª¿Γ
  7122.         ¡Ññ«»πßΓ¿¼«Ñ ß«ºñá¡¿Ñ   í½¿ª¡Ñú«  π¬áºáΓѽ∩  ¡á  áóΓ«¼áΓ¿τÑ߬¿Ñ
  7123.         ñá¡¡δÑ.
  7124.  
  7125.              è½ετ -c «»αÑñѽ∩ÑΓ, τΓ« ¬«¼»¿½∩Γ«α ñ«½ªÑ¡ óδ»«½¡¿Γ∞ Γ«½∞¬«
  7126.         ¬«¼»¿½∩µ¿ε. Ä¡ ¡Ñ«íσ«ñ¿¼, Ñß½¿ ¿ßσ«ñ¡δ⌐ ΓѬßΓ óáΦÑ⌐ DLL ß«ßΓ«¿Γ
  7127.         ¿º ¡Ñ߬«½∞¬¿σ ¼«ñπ½Ñ⌐.
  7128.  
  7129.              è½ετ -Gsw ß«ßΓ«¿Γ ¿º ñóπσ  τáßΓÑ⌐.  Åáαá¼ÑΓα  s  «Γ¬½ετáÑΓ
  7130.         ¡«α¼á½∞¡πε »α«óÑα¬π ßΓѬᠬ«¼»¿½∩Γ«αá æ.  ¥Γ« ¡Ñ«íσ«ñ¿¼«,  Γ.¬.
  7131.         »α«óÑα¬á ßΓѬᠡÑß«ó¼ÑßΓ¿¼á ß Windows.  Åáαá¼ÑΓα  w  ºáßΓáó½∩ÑΓ
  7132.         »«ñ¬½ετ¿Γ∞ ¬   ¬áªñ«⌐   FAR-»α«µÑñπαÑ  ¬«ñ  »α«½«úá  ¿  φ»¿½«úá
  7133.         Windows.  ¥Γ« ¡Ñ«íσ«ñ¿¼« »« ñóπ¼ »α¿τ¿¡á¼:  «¡ ¿ß»«½∞ºπÑΓß∩ ñ½∩
  7134.         «»αÑñѽѡ¿∩ ¬«ααÑ¬Γ¡«ú«  ßÑú¼Ñ¡Γá  ñá¡¡δσ  ¿  ñ½∩  Γ«ú«,  τΓ«íδ
  7135.         ß¿ßΓѼá π»αáó½Ñ¡¿∩ »á¼∩Γ∞ε ¼«ú½á »ÑαѼÑΘáΓ∞  ßÑú¼Ñ¡Γ  ó«  óαѼ∩
  7136.         αáí«Γδ ß¿ßΓѼδ.
  7137.  
  7138.              è½ετ -Os  ß««íΘáÑΓ ¬«¼»¿½∩Γ«απ,  τΓ« ó¼ÑßΓ« «»Γ¿¼¿ºáµ¿¿ »«
  7139.         ß¬«α«ßΓ¿ ¡Ñ«íσ«ñ¿¼á   «»Γ¿¼¿ºáµ¿∩   »«   αẼÑαπ.   ¥Γ«Γ   ¬½ετ
  7140.         ¡Ñ«í∩ºáΓѽѡ, ¡« ¼δ αѬ«¼Ñ¡ñπѼ Ñú« ¿ß»«½∞º«óáΓ∞.
  7141.  
  7142.              è½ετ -W2   πßΓá¡áó½¿óáÑΓ   ñ½∩  »αÑñπ»αѪñÑ¡¿⌐  πα«óÑ¡∞  2
  7143.         (óδßΦ¿¼ πα«ó¡Ñ¼  »αÑñπ»αѪñÑ¡¿⌐   ∩ó½∩ÑΓß∩   3).   àú«   σ«α«Φ«
  7144.         ¿ß»«½∞º«óáΓ∞ ó  »α«µÑßßÑ  «Γ½áñ¬¿,  Γ.¬.  »α¿  φΓ«¼  ¬«¼»¿½∩Γ«α
  7145.         »α«¿ºó«ñ¿Γ αẽ¿τ¡δÑ  »α«óÑન  Γ¿»«ó   ñá¡¡δσ   ¿   »α«Γ«Γ¿»«ó
  7146.         Σπ¡¬µ¿⌐. ¥Γ«Γ   ¬½ετ   ¡Ñ«í∩ºáΓѽѡ,   ¡«  ¼δ  αѬ«¼Ñ¡ñπѼ  Ñú«
  7147.         ¿ß»«½∞º«óáΓ∞.
  7148.  
  7149.                         è«¼á¡ñ¡á∩ ßΓα«¬á ¬«¼»«¡«óΘ¿¬á.
  7150.  
  7151.              è«¼á¡ñ¡á∩ ßΓα«¬á  ¬«¼»«¡«óΘ¿¬á  ¿¼ÑÑΓ   »∩Γ∞   áαúπ¼Ñ¡Γ«ó,
  7152.         αáºñѽ∩Ѽδσ ºá»∩Γ묨:
  7153.  
  7154.              LINK MINDLL.OBJ LIBENTRY.OBJ, MINDLL.DLL, MINDLL.MAP/map,
  7155.                   MDLLCEW.LIB LIBW.LIB/NOE/NOD,MINDLL.DEF
  7156.  
  7157.              ÅÑαóδ⌐ áαúπ¼Ñ¡Γ ß«ñÑαª¿Γ ß»¿ß«¬ «íΩÑ¬Γ¡δσ  Σá⌐½«ó  (.OBJ),
  7158.         ¿ß»«½∞ºπѼδσ ñ½∩ ß«ºñá¡¿∩ DLL.  àß½¿ óδ ¿ß»«½∞ºπÑΓÑ ßΓá¡ñáαΓ¡πε
  7159.         »α«µÑñπαπ ¿¡¿µ¿á½¿ºáµ¿¿   DLL,    ó¬½ετ¿ΓÑ    «íΩÑ¬Γ¡δ⌐    Σá⌐½
  7160.         LIBENTRY.OBJ.
  7161.  
  7162.              éΓ«α«⌐ áαúπ¼Ñ¡Γ     «»αÑñѽ∩ÑΓ     ¿¼∩     αѺπ½∞Γ¿απεΘÑú«
  7163.         óδ»«½¡∩Ѽ«ú« Σá⌐½á.  è«¼»«¡«óΘ¿¬  ¿ß»«½∞ºπÑΓ  ñ½∩  ñ¿¡á¼¿τÑ߬¿σ
  7164.         í¿í½¿«ΓѬ αáßΦ¿αÑ¡¿Ñ .DLL. ìÑ∩ó¡« ºáúαπªáѼδÑ í¿í½¿«ΓѬ¿ ñ«½ª¡δ
  7165.         ¿¼ÑΓ∞ αáßΦ¿αÑ¡¿Ñ   .DLL.    ìÑ∩ó¡«    ºáúαπªáѼδÑ    í¿í½¿«ΓѬ¿
  7166.         ¿¼»«αΓ¿απεΓß∩ ó  Σá⌐½Ñ «»αÑñѽѡ¿∩ ¼«ñπ½∩ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ,
  7167.  
  7168.        Windows 3.0/pg/3#3                                       = 136 =
  7169.  
  7170.         ó Γ« óαѼ∩ ¬á¬ ∩ó¡« ºáúαπªáѼδÑ ºáúαπªáεΓß∩ ß  »«¼«Θ∞ε  Σπ¡¬µ¿¿
  7171.         LoadLibrary.  æ¼«Γα¿ΓÑ αáºñѽ 20.4, "ä«ßΓπ» ¬ DLL ¿º »α¿¬½áñ¡δσ
  7172.         »α«úαá¼¼."
  7173.  
  7174.              ÆαÑΓ¿⌐ áαúπ¼Ñ¡Γ - φΓ« ¿¼∩ MAP-Σá⌐½á, ¬«Γ«αδ⌐ ß«ºñáÑΓß∩ »α¿
  7175.         ¿ß»«½∞º«óá¡¿¿  ¬½ετá  /map.  ¥Γ«Γ  Σá⌐½  ß«ñÑαª¿Γ  ¿¡Σ«α¼áµ¿ε «
  7176.         ú½«íá½∞¡δσ »ÑαѼѡ¡δσ ¿ Σπ¡¬µ¿∩σ.  Ä¡ ¿ß»«½∞ºπÑΓß∩  ó  ¬áτÑßΓóÑ
  7177.         óσ«ñ¡«ú« ñ½∩ »α«úαá¼¼δ MAPSYM, ¬«Γ«αá∩ «»¿ßá¡á ¡¿ªÑ.
  7178.  
  7179.              ùÑΓóÑαΓδ⌐ áαúπ¼Ñ¡Γ   ß«ñÑαª¿Γ   ß»¿ß«¬   ¿¼»«αΓ¿απѼδσ   ¿
  7180.         ßΓáΓ¿τÑ߬¿σ í¿í½¿«ΓѬ,  ΓαÑíπѼδσ ñ½∩ ß«ºñá¡¿∩  DLL.  é  ñá¡¡«¼
  7181.         »α¿¼ÑαÑ ¿ß»«½∞ºπÑΓß∩  ñóÑ  í¿í½¿«ΓѬ¿:  MDLLCEW.LIB ¿ LIBW.LIB.
  7182.         MDLLCEW.LIB - φΓ« í¿í½¿«ΓѬᠠ¿ß»«½¡∩εΘÑ⌐  ß¿ßΓÑ¼δ  æ,  ¬«Γ«αá∩
  7183.         ß«ñÑαª¿Γ   ßΓáαΓ«óδ⌐  ¬«ñ  DLL,  á  ΓᬪѠ »α«µÑñπαδ  í¿í½¿«ΓѬ
  7184.         ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓÑ¼δ  æ  ¿  »α«µÑñπαδ  »«ññÑ᪬¿  ¼áΓѼáΓ¿τÑ߬¿σ
  7185.         «»Ñαᵿ⌐.   LIBW.LIB   ß«ñÑαª¿Γ  ¿¼»«αΓ¿απѼπε  ¿¡Σ«α¼áµ¿ε  ñ½∩
  7186.         »α«µÑñπα  í¿í½¿«ΓѬ¿  KERNEL.EXE.  ùÑΓóÑαΓδ⌐   áαúπ¼Ñ¡Γ   ΓᬪÑ
  7187.         ó¬½ετáÑΓ  ñóá  ¬½ετá,  /NOD  ¿ /NOE.  è½ετ /NOD «Γ¬½ετáÑΓ »«¿ß¬
  7188.         í¿í½¿«ΓѬ  »«  π¼«½τá¡¿ε  ¡á   «ß¡«óÑ   ¼«ñѽ¿   »á¼∩Γ¿.   àß½¿
  7189.         ¿ß»«½∞ºπεΓß∩  Σπ¡¬µ¿¿ í¿í½¿«ΓѬ¿ ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓÑ¼δ æ,  Γ« «¡¿
  7190.         ñ«½ª¡δ  íδΓ∞  ∩ó¡«  π¬áºá¡δ  ó   ñá¡¡«¼   ß»¿ß¬Ñ.   è½ετ   /NOE
  7191.         ¿ß»«½∞ºπÑΓß∩ ñ½∩ «Γ¬½ετÑ¡¿∩ »«¿ß¬á ñ«»«½¡¿Γѽ∞¡δσ í¿í½¿«ΓѬ,  ¿
  7192.         ΓѼ ßá¼δ¼ ¿ß¬½ετáÑΓß∩ ó«º¼«ª¡«ßΓ∞ óδñáτ¿ ß««íΘÑ¡¿⌐  «í  «Φ¿í¬áσ
  7193.         »α¿ ¡á½¿τ¿¿ ó ¡Ñ߬«½∞¬¿σ í¿í½¿«ΓѬáσ «ñ¿¡á¬«óδσ ß¿¼ó«½«ó.
  7194.  
  7195.              Å∩Γδ⌐ áαúπ¼Ñ¡Γ  «»αÑñѽ∩ÑΓ  ¿¼∩  Σá⌐½á  «»αÑñѽѡ¿∩ ¼«ñπ½∩
  7196.         í¿í½¿«ΓѬ¿, ß«ºñá¡¿Ñ  ¬«Γ«α«ú«  «»¿ßá¡«   ó   αáºñѽѠ  20.3.2,
  7197.         "櫺ñá¡¿Ñ Σá⌐½á «»αÑñѽѡ¿∩ ¼«ñπ½∩".
  7198.  
  7199.                                     MAPSYM.
  7200.  
  7201.              æ½πªÑí¡á∩ »α«úαἼᠠMAPSYM  »«½πτáÑΓ MAP-Σá⌐½,  ß«ºñá¡¡δ⌐
  7202.         ¬«¼»«¡«óΘ¿¬«¼ ¿ ß«ºñáÑΓ ß¿¼ó«½∞¡δ⌐  Σá⌐½  ß  αáßΦ¿αÑ¡¿Ñ¼  .SYM.
  7203.         ¥Γ«Γ Σá⌐½ ºáΓѼ ¿ß»«½∞ºπÑΓß∩ ß¿¼ó«½¿τÑ߬¿¼ «Γ½áñτ¿¬«¼ (SYMDEB),
  7204.         á ΓᬪѠó «Γ½áñ«τ¡«⌐ óÑαß¿¿ Windows ñ½∩ ß«ºñá¡¿¿ ¿¡Σ«α¼áµ¿¿  «í
  7205.         ¿ß»«½∞º«óá¡¿¿ ßΓÑ¬á »α¿ ó«º¡¿¬¡«óÑ¡¿¿ ¡ÑπßΓαá¡¿¼«⌐ «Φ¿í¬¿.
  7206.  
  7207.                                     IMPLIB.
  7208.  
  7209.              æ½πªÑí¡á∩ »α«úαἼᠠ   IMPLIB    ß«ºñáÑΓ    ¿¼»«αΓ¿απѼπε
  7210.         í¿í½¿«ΓѬπ ß  αáßΦ¿αÑ¡¿Ñ¼  .LIB  ¡á  «ß¡«óÑ  Σá⌐½á  «»αÑñѽѡ¿∩
  7211.         ¼«ñπ½∩ DLL.  ê¼»«αΓ¿απѼá∩  í¿í½¿«ΓѬ¿  ñ«½ª¡á »α¿ß«Ññ¿¡∩Γ∞ß∩ ó
  7212.         ¬«¼á¡ñ¡«⌐ ßΓα«¬Ñ   ¬«¼»«¡«óΘ¿¬á   ¬   »α¿¬½áñ¡δ¼    »α«úαá¼¼á¼,
  7213.         ¿ß»«½∞ºπεΘ¿¼ φΓπ í¿í½¿«ΓѬπ.  ¥Γ« »«ºó«½∩ÑΓ ¬«ααÑ¬Γ¡« αáºαÑΦ¿Γ∞
  7214.         ßß佬¿ ¡á Σπ¡¬µ¿¿ ñ¿¡á¼¿τÑ߬«⌐ í¿í½¿«ΓѬ¿.
  7215.  
  7216.              Å«ñα«í¡« IMPLIB «»¿ßá¡á ó "Tools".
  7217.  
  7218.                              è«¼»¿½∩Γ«α αÑßπαß«ó.
  7219.  
  7220.              éßÑ DLL ñ«½ª¡δ íδΓ∞ «Γ¬«¼»¿½¿α«óá¡δ ¬«¼»¿½∩Γ«α«¼  αÑßπαß«ó
  7221.         ñ½∩ Γ«ú«, τΓ«íδ «¡¿ í뫨 ß«ó¼ÑßΓ¿¼δ ß Windows 3.0.
  7222.  
  7223.  
  7224.        Windows 3.0/pg/3#3                                       = 137 =
  7225.  
  7226.              éδ ¼«ªÑΓÑ   «Γ¬«¼»¿½¿α«óáΓ∞   DLL  ß  »«¼«Θ∞ε  ¬«¼»¿½∩Γ«αá
  7227.         αÑßπαß«ó ß π¬áºá¡¿Ñ¼  ¬½ετá  -p.  ¥Γ¿¼  óδ  ñѽáÑΓÑ  í¿í½¿«ΓѬπ
  7228.         »α¿óáΓ¡«⌐,  Γ.Ñ.  ñ«ßΓπ»¡«⌐  ñ½∩  ó맮óá  ¿º  «ñ¡«⌐  »α¿¬½áñ¡«⌐
  7229.         »α«úαá¼¼δ,   ñ½∩   ñαπú¿σ   »α¿¬½áñ¡δσ   »α«úαá¼¼   «¡á   íπñÑΓ
  7230.         ¡Ññ«ßΓπ»¡«⌐.  é  ¬«¡Σ¿úπαᵿ¿  »á¼∩Γ¿  EMS  ß  í«½∞Φ¿¼  ΣαÑ⌐¼«¼
  7231.         «Γ«íαáªÑ¡¿∩ Windows  »«¼ÑΘáÑΓ  ßÑú¼Ñ¡Γδ  ñá¡¡δσ  ¿  ¬«ñá  Γᬿσ
  7232.         í¿í½¿«ΓѬ  óδΦÑ  úαá¡¿µδ  «Γ«íαáªÑ¡¿∩.  é ¬«¡Σ¿úπαᵿ¿ »á¼∩Γ¿ ß
  7233.         ¼á½δ¼ ΣαÑ⌐¼«¼ «Γ«íαáªÑ¡¿∩  Windows  »«¼ÑΘáÑΓ  ÑÑ  ¡¿ªÑ  úαá¡¿µδ
  7234.         «Γ«íαáªÑ¡¿∩,  ñáªÑ  Ñß½¿  í¿í½¿«ΓѬᠻα¿óáΓ¡á∩.  ä«»«½¡¿Γѽ∞¡πε
  7235.         ¿¡Σ«α¼áµ¿ε « ¬«¡Σ¿úπαᵿ∩σ »á¼∩Γ¿ Windows óδ  ¡á⌐ñÑΓÑ  ó  ú½áóÑ
  7236.         16, "àΘÑ «í π»αáó½Ñ¡¿¿ »á¼∩Γ∞ε".
  7237.  
  7238.              æ½ÑñπεΘá∩ Γáí½¿µá  ßπ¼¼¿απÑΓ  «Γ½¿τ¿∩  ¼Ñªñπ  »α¿óáΓ¡δ¼¿ ¿
  7239.         ¡Ñ»α¿óáΓ¡δ¼¿ í¿í½¿«ΓѬἿ ñ½∩ ñóπ󠬫¡Σ¿úπαᵿ⌐ »á¼∩Γ¿ EMS.
  7240.  
  7241.  
  7242.        Windows 3.0/pg/3#3                                       = 138 =
  7243.  
  7244.  
  7245.                            Åα¿óáΓ¡á∩ í¿í½¿«ΓѬᠠìÑ»α¿óáΓ¡á∩ í¿í½¿«ΓѬá
  7246.                            ────────────────────────────────────────────
  7247.         ÄíΩÑ¬Γ »á¼∩Γ¿      îá½δ⌐      ü«½∞Φ«⌐    îá½δ⌐      ü«½∞Φ«⌐
  7248.         í¿í½¿«ΓѬ¿         ΣαÑ⌐¼      ΣαÑ⌐¼      ΣαÑ⌐¼      ΣαÑ⌐¼
  7249.         ───────────────────────────────────────────────────────────────
  7250.         æÑú¼Ñ¡Γ ñá¡¡δσ     ¡¿ªÑ       ¡¿ªÑ       ¡¿ªÑ       óδΦÑ
  7251.  
  7252.         ö¿¬ß¿α«óá¡¡δ⌐ ßÑú-
  7253.         ¼Ñ¡Γ ¬«ñá          ¡¿ªÑ       ¡¿ªÑ       ¡¿ªÑ       óδΦÑ
  7254.  
  7255.         ÉÑßπαßδ            ¡¿ªÑ       óδΦÑ       ¡¿ªÑ       óδΦÑ
  7256.  
  7257.         æíαáßδóáѼδ⌐ ßÑú-
  7258.         ¼Ñ¡Γ ¬«ñá          ¡¿ªÑ       óδΦÑ       ¡¿ªÑ       óδΦÑ
  7259.         ───────────────────────────────────────────────────────────────
  7260.                                                                                
  7261.                 20.4  ä«ßΓπ» ¬ DLL ¿º »α¿¬½áñ¡δσ »α«úαá¼¼.
  7262.  
  7263.              é ñá¡¡«¼  αáºñѽѠ «»¿ßá¡δ  Γα¿  Φáúá,   ¡Ñ«íσ«ñ¿¼δσ   ñ½∩
  7264.         «ßπΘÑßΓó½Ñ¡¿∩ ñ«ßΓπ»á ¬ DLL ¿º »α¿¬½áñ¡«⌐  »α«úαá¼¼δ:
  7265.  
  7266.              - æ«ºñá¡¿Ñ »α«Γ«Γ¿»«ó í¿í½¿«ΓÑτ¡δσ Σπ¡¬µ¿⌐.
  7267.  
  7268.              - é맮ó í¿í½¿«ΓÑτ¡δσ Σπ¡¬µ¿⌐.
  7269.  
  7270.              - ê¼»«αΓ¿α«óá¡¿Ñ í¿í½¿«ΓÑτ¡δσ Σπ¡¬µ¿⌐.
  7271.                       20.4.1  æ«ºñá¡¿Ñ »α«Γ«Γ¿»á í¿í½¿«ΓÑτ¡δσ Σπ¡¬µ¿⌐.         
  7272.  
  7273.              Ä»ÑαáΓ«α »α«Γ«Γ¿»á  ñ«½ªÑ¡  ¿ß»«½∞º«óáΓ∞ß∩ ñ½∩ «»αÑñѽѡ¿∩
  7274.         óßÑσ Σπ¡¬µ¿⌐  í¿í½¿«ΓѬ¿   ó«   óßÑσ   »α¿¬½áñ¡δσ   »α«úαá¼¼áσ,
  7275.         ¿ß»«½∞ºπεΘ¿σ φΓπ í¿í½¿«ΓѬπ.  ä½∩ ¡áΦÑú« »α¿¼Ñαá »α«Γ«Γ¿» íπñÑΓ
  7276.         óδú½∩ñÑΓ∞ ß½ÑñπεΘ¿¼ «íαẫ¼:
  7277.  
  7278.              VOID FAR PASCAL MinRoutine(int,LPSTR);
  7279.  
  7280.              Åα«Γ«Γ¿» «»αÑñѽ∩ÑΓ   ñ½∩    ¬«¼»¿½∩Γ«αá    »áαá¼ÑΓαδ    ¿
  7281.         ó«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ  Σπ¡¬µ¿¿.  çáΓѼ ¬«¼»¿½∩Γ«α ¼«ªÑΓ ß«ºñáΓ∞
  7282.         ß««ΓóÑΓßΓóπεΘ¿⌐ ¬«ñ  ñ½∩  ó맮óá  í¿í½¿«ΓÑτ¡«⌐  Σπ¡¬µ¿¿.  èα«¼Ñ
  7283.         φΓ«ú«, »α¿  ¿ß»«∞º«óá¡¿¿  ¬½ετá  -W2  ¬«¼»¿½∩Γ«α  ¼«ªÑΓ  óδñáΓ∞
  7284.         »αÑñπ»αѪñáεΘÑÑ ß««íΘÑ¡¿Ñ ó ß½πτáÑ,  Ñß½¿ ¿ß»«½∞º«óá¡¿Ñ Σπ¡¬µ¿¿
  7285.         ¿   ÑÑ   »α«Γ«Γ¿»   «Γ½¿τáεΓß∩.   îδ  ¡áßΓ«∩Γѽ∞¡«  αѬ«¼Ñ¡ñπѼ
  7286.         ¿ß»«½∞º«óáΓ∞ »α«Γ«Γ¿»δ ¿ ñ½∩ Σπ¡¬µ¿⌐ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ, Γ.¬.
  7287.         φΓ« »«ºó«½∩ÑΓ ¿ºíѪáΓ∞ «Φ¿í«¬ Γᬫú« α«ñá. ìá»α¿¼Ñα, ¬«¼»¿½∩Γ«α
  7288.         óδñáßΓ »αÑñπ»αѪñáεΘÑÑ ß««íΘÑ¡¿Ñ ó  ß½πτáÑ,  Ñß½¿  «»αÑñѽѡ¡á∩
  7289.         óδΦÑ Σπ¡¬µ¿∩ MinRoutine íπñÑΓ óδºóá¡á ß½ÑñπεΘ¿¼ «íαẫ¼:
  7290.  
  7291.              MinRoutine (5);
  7292.  
  7293.                           é맮ó í¿í½¿«ΓÑτ¡δσ Σπ¡¬µ¿⌐.
  7294.  
  7295.              é맮ó Σπ¡¬µ¿⌐   DLL   ¡Ñ   «Γ½¿τáÑΓß∩  «Γ  ó맮óá  Σπ¡¬µ¿⌐
  7296.  
  7297.        Windows 3.0/pg/3#3                                       = 139 =
  7298.  
  7299.         ßΓáΓ¿τÑ߬«⌐ í¿í½¿«ΓѬ¿  ¿½¿  «Γ  ó맮óá  ñαπú¿σ  Σπ¡¬µ¿⌐  ßἫ⌐
  7300.         »α¿¬½áñ¡«⌐  »α«úαá¼¼δ.  Å«ß½Ñ  π¬áºá¡¿∩  »α«Γ«Γ¿»á í¿í½¿«ΓÑτ¡«⌐
  7301.         Σπ¡¬µ¿¿ óδ ¼«ªÑΓÑ óδºδóáΓ∞ ÑÑ «íδτ¡δ¼ «íαẫ¼.
  7302.                          20.4.2  ê¼»«αΓ¿α«óá¡¿Ñ í¿í½¿«ΓÑτ¡δσ Σπ¡¬µ¿⌐.          
  7303.  
  7304.              Åਪ½áñ¡á∩ »α«úαἼᠠ¼«ªÑΓ   ¿¼»«αΓ¿α«óáΓ∞   í¿í½¿«ΓÑτ¡δÑ
  7305.         Σπ¡¬µ¿¿ ΓαѼ∩ ß»«ß«íἿ:
  7306.  
  7307.              - ìÑ∩ó¡« ¿¼»«αΓ¿α«óáΓ∞ ó« óαѼ∩ ¬«¼»«¡«ó¬¿.
  7308.  
  7309.              - ƒó¡« ¿¼»«αΓ¿α«óáΓ∞ ó« óαѼ∩ ¬«¼»«¡«ó¬¿.
  7310.  
  7311.              - ê¼»«αΓ¿α«óáΓ∞ ñ¿¡á¼¿τÑ߬¿ ó« óαѼ∩ óδ»«½¡Ñ¡¿∩.
  7312.  
  7313.              é« óßÑσ   ß½πτá∩σ  ¿¡Σ«α¼áµ¿∩  «  ñ¿¡á¼¿τÑ߬«¼  ßó∩ºδóá¡¿¿
  7314.         ß«ñÑαªáΘá∩ß∩ ó í¿í½¿«ΓѬÑ,  ¿ñÑ¡Γ¿Σ¿µ¿απÑΓ ¿¼∩ í¿í½¿«ΓѬ¿ ¿ ¿¼∩
  7315.         Σπ¡¬µ¿¿   ¿½¿   ÑÑ   óσ«ñ¡«Ñ  º¡áτÑ¡¿Ñ.  Å«ß¬«½∞¬π  τáΘÑ  óßÑú«
  7316.         ¿ß»«½∞ºπÑΓß∩  ¡Ñ∩ó¡«Ñ  ¿¼»«αΓ¿α«óá¡¿Ñ,   Γ«   φëà  ß»«ß«í   ¿
  7317.         «íßπªñáÑΓß∩ »Ñαóδ¼.
  7318.  
  7319.                   ìÑ∩ó¡«Ñ ¿¼»«αΓ¿α«óá¡¿Ñ ó« óαѼ∩ ¬«¼»«¡«ó¬¿.
  7320.  
  7321.              ìÑ∩ó¡«Ñ ¿¼»«αΓ¿α«óá¡¿Ñ  óδ»«½¡∩ÑΓß∩,  ¬«úñá  óδ  »α¿ó«ñ¿ΓÑ
  7322.         ß»¿ß«¬ ¿¼»«αΓ¿απѼδσ í¿í½¿«ΓѬ ó ¬«¼á¡ñ¡«⌐ ßΓα«¬Ñ  ¬«¼»«¡«óΘ¿¬á
  7323.         ñ½∩ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ.  ê¼»«αΓ¿απѼδÑ í¿í½¿«ΓѬ¿ ß«ºñáεΓß∩ ß
  7324.         »«¼«Θ∞ε »α«úαá¼¼δ  IMPLIB,  ¬á¬  «»¿ßá¡«  ó   αáºñѽѠ  20.3.3,
  7325.         "櫺ñá¡¿Ñ Make-Σá⌐½á".
  7326.  
  7327.              SDK ß«ñÑαª¿Γ   ¡áí«α   ¿¼»«αΓ¿απѼδσ   í¿í½¿«ΓѬ,  ¬«Γ«αδÑ
  7328.         »«ºó«½∩εΓ «ßπΘÑßΓó¿Γ∞  ßó∩º∞   ß   ñ¿¡á¼¿τÑ߬¿¼¿   í¿í½¿«ΓѬἿ
  7329.         Windows. é  Γáí½¿µÑ  20.2  »α¿ó«ñ¿Γß∩  ß»¿ß«¬  φΓ¿σ Σá⌐½«ó ¿ ¿σ
  7330.         ¡áº¡áτÑ¡¿Ñ.
  7331.  
  7332.  
  7333.        Windows 3.0/pg/3#3                                       = 140 =
  7334.  
  7335.  
  7336.         Æáí½¿µá 20.2  ê¼»«αΓ¿απѼδÑ í¿í½¿«ΓѬ¿ Windows SDK.
  7337.         ───────────────────────────────────────────────────────────────
  7338.         ê¼∩ Σá⌐½á         ìạáτÑ¡¿Ñ
  7339.         ───────────────────────────────────────────────────────────────
  7340.         LIBW.LIB          ê¼»«αΓ¿απѼá∩ ¿¡Σ«α¼áµ¿∩ ñ½∩ USER.EXE,
  7341.                           GDI.EXE, ¿ KERNEL.EXE.
  7342.  
  7343.         SDLLCEW.LIB       æΓáαΓ«óδ⌐ ¬«ñ ñ½∩ Windows DLL, Σπ¡¬µ¿⌐ ¿ß»«½-
  7344.                           ¡∩εΘÑ⌐ ß¿ßΓÑ¼δ æ ¿ í¿í½¿«ΓѬ¿ φ¼π½∩Γ«αá ñ½∩
  7345.                           DLL ó ¼á½«⌐ ¼«ñѽ¿ »á¼∩Γ¿.
  7346.  
  7347.         MDLLCEW.LIB       æΓáαΓ«óδ⌐ ¬«ñ ñ½∩ Windows DLL, Σπ¡¬µ¿⌐ ¿ß»«½-
  7348.                           ¡∩εΘÑ⌐ ß¿ßΓÑ¼δ æ ¿ í¿í½¿«ΓѬ¿ φ¼π½∩Γ«αá ñ½∩
  7349.                           DLL ó ßαÑñ¡Ñ⌐ ¼«ñѽ¿ »á¼∩Γ¿.
  7350.  
  7351.         CDLLCEW.LIB       æΓáαΓ«óδ⌐ ¬«ñ ñ½∩ Windows DLL, Σπ¡¬µ¿⌐ ¿ß»«½-
  7352.                           ¡∩εΘÑ⌐ ß¿ßΓÑ¼δ æ ¿ í¿í½¿«ΓѬ¿ φ¼π½∩Γ«αá ñ½∩
  7353.                           DLL ó ¬«¼»á¬Γ¡«⌐ ¼«ñѽ¿ »á¼∩Γ¿.
  7354.  
  7355.         LDLLCEW.LIB       æΓáαΓ«óδ⌐ ¬«ñ ñ½∩ Windows DLL, Σπ¡¬µ¿⌐ ¿ß»«½-
  7356.                           ¡∩εΘÑ⌐ ß¿ßΓÑ¼δ æ ¿ í¿í½¿«ΓѬ¿ φ¼π½∩Γ«αá ñ½∩
  7357.                           DLL ó í«½∞Φ«⌐ ¼«ñѽ¿ »á¼∩Γ¿.
  7358.  
  7359.         SDLLCAW.LIB       æΓáαΓ«óδ⌐ ¬«ñ ñ½∩ Windows DLL, Σπ¡¬µ¿⌐ ¿ß»«½-
  7360.                           ¡∩εΘÑ⌐ ß¿ßΓÑ¼δ æ ¿ á½∞ΓÑα¡áΓ¿ó¡«⌐ ¼áΓѼáΓ¿τÑ߬«⌐
  7361.                           í¿í½¿«ΓѬ¿ ñ½∩ DLL ó ¼á½«⌐ ¼«ñѽ¿ »á¼∩Γ¿.
  7362.  
  7363.         MDLLCAW.LIB       æΓáαΓ«óδ⌐ ¬«ñ ñ½∩ Windows DLL, Σπ¡¬µ¿⌐ ¿ß»«½-
  7364.                           ¡∩εΘÑ⌐ ß¿ßΓÑ¼δ æ ¿ á½∞ΓÑα¡áΓ¿ó¡«⌐ ¼áΓѼáΓ¿τÑ߬«⌐
  7365.                           í¿í½¿«ΓѬ¿ ñ½∩ DLL ó ßαÑñ¡Ñ⌐ ¼«ñѽ¿ »á¼∩Γ¿.
  7366.  
  7367.         CDLLCAW.LIB       æΓáαΓ«óδ⌐ ¬«ñ ñ½∩ Windows DLL, Σπ¡¬µ¿⌐ ¿ß»«½-
  7368.                           ¡∩εΘÑ⌐ ß¿ßΓÑ¼δ æ ¿ á½∞ΓÑα¡áΓ¿ó¡«⌐ ¼áΓѼáΓ¿τÑ߬«⌐
  7369.                           í¿í½¿«ΓѬ¿ ñ½∩ DLL ó ¬«¼»á¬Γ¡«⌐ ¼«ñѽ¿ »á¼∩Γ¿.
  7370.  
  7371.         LDLLCAW.LIB       æΓáαΓ«óδ⌐ ¬«ñ ñ½∩ Windows DLL, Σπ¡¬µ¿⌐ ¿ß»«½-
  7372.                           ¡∩εΘÑ⌐ ß¿ßΓÑ¼δ æ ¿ á½∞ΓÑα¡áΓ¿ó¡«⌐ ¼áΓѼáΓ¿τÑ߬«⌐
  7373.                           í¿í½¿«ΓѬ¿ ñ½∩ DLL ó í«½∞Φ«⌐ ¼«ñѽ¿ »á¼∩Γ¿.
  7374.  
  7375.         SLIBCEW.LIB       æΓáαΓ«óδ⌐ ¬«ñ ñ½∩ »α¿¬½áñ¡δσ »α«úαá¼¼ Windows,
  7376.                           Σπ¡¬µ¿⌐ ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓÑ¼δ  æ  ¿  í¿í½¿«ΓѬ¿
  7377.                           φ¼π½∩Γ«αá ñ½∩  ¼á½«⌐ ¼«ñѽ¿ »á¼∩Γ¿.
  7378.  
  7379.         MLIBCEW.LIB       æΓáαΓ«óδ⌐ ¬«ñ ñ½∩ »α¿¬½áñ¡δσ »α«úαá¼¼ Windows,
  7380.                           Σπ¡¬µ¿⌐ ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓÑ¼δ  æ  ¿  í¿í½¿«ΓѬ¿
  7381.                           φ¼π½∩Γ«αá ñ½∩  ßαÑñ¡Ñ⌐ ¼«ñѽ¿ »á¼∩Γ¿.
  7382.  
  7383.         CLIBCEW.LIB       æΓáαΓ«óδ⌐ ¬«ñ ñ½∩ »α¿¬½áñ¡δσ »α«úαá¼¼ Windows,
  7384.                           Σπ¡¬µ¿⌐ ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓÑ¼δ  æ  ¿  í¿í½¿«ΓѬ¿
  7385.                           φ¼π½∩Γ«αá ñ½∩  ¬«¼»á¬Γ¡«⌐ ¼«ñѽ¿ »á¼∩Γ¿.
  7386.  
  7387.         LLIBCEW.LIB       æΓáαΓ«óδ⌐ ¬«ñ ñ½∩ »α¿¬½áñ¡δσ »α«úαá¼¼ Windows,
  7388.  
  7389.        Windows 3.0/pg/3#3                                       = 141 =
  7390.  
  7391.                           Σπ¡¬µ¿⌐ ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓÑ¼δ  æ  ¿  í¿í½¿«ΓѬ¿
  7392.                           φ¼π½∩Γ«αá ñ½∩ í«½∞Φ«⌐ ¼«ñѽ¿ »á¼∩Γ¿.
  7393.  
  7394.         SLIBCAW.LIB       æΓáαΓ«óδ⌐ ¬«ñ ñ½∩ »α¿¬½áñ¡δσ »α«úαá¼¼ Windows,
  7395.                           Σπ¡¬µ¿⌐ ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓÑ¼δ æ ¿ á½∞ΓÑα¡áΓ¿ó¡«⌐
  7396.                           ¼áΓѼáΓ¿τÑ߬«⌐ í¿í½¿«ΓѬ¿   φ¼π½∩Γ«αá ñ½∩ ¼á½«⌐
  7397.                           ¼«ñѽ¿ »á¼∩Γ¿.
  7398.  
  7399.         MLIBCAW.LIB       æΓáαΓ«óδ⌐ ¬«ñ ñ½∩ »α¿¬½áñ¡δσ »α«úαá¼¼ Windows,
  7400.                           Σπ¡¬µ¿⌐ ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓÑ¼δ æ ¿ á½∞ΓÑα¡áΓ¿ó¡«⌐
  7401.                           ¼áΓѼáΓ¿τÑ߬«⌐ í¿í½¿«ΓѬ¿   φ¼π½∩Γ«αá    ñ½∩
  7402.                           ßαÑñ¡Ñ⌐ ¼«ñѽ¿ »á¼∩Γ¿.
  7403.  
  7404.         CLIBCAW.LIB       æΓáαΓ«óδ⌐ ¬«ñ ñ½∩ »α¿¬½áñ¡δσ »α«úαá¼¼ Windows,
  7405.                           Σπ¡¬µ¿⌐ ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓÑ¼δ æ ¿ á½∞ΓÑα¡áΓ¿ó¡«⌐
  7406.                           ¼áΓѼáΓ¿τÑ߬«⌐ í¿í½¿«ΓѬ¿  φ¼π½∩Γ«αá ñ½∩
  7407.                           ¬«¼»á¬Γ¡«⌐ ¼«ñѽ¿ »á¼∩Γ¿.
  7408.  
  7409.         LLIBCAW.LIB       æΓáαΓ«óδ⌐ ¬«ñ ñ½∩ »α¿¬½áñ¡δσ »α«úαá¼¼ Windows,
  7410.                           Σπ¡¬µ¿⌐ ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓÑ¼δ æ ¿ á½∞ΓÑα¡áΓ¿ó¡«⌐
  7411.                           ¼áΓѼáΓ¿τÑ߬«⌐ í¿í½¿«ΓѬ¿  φ¼π½∩Γ«αá ñ½∩
  7412.                           í«½∞Φ«⌐ ¼«ñѽ¿ »á¼∩Γ¿.
  7413.  
  7414.         WIN87EM.LIB       ê¼»«αΓ¿απѼá∩ ¿¡Σ«α¼áµ¿∩ ñ½∩ DLL Windows ñ½∩
  7415.                           í¿í½¿«ΓѬ¿ φ¼π½∩Γ«αá óδτ¿ß½Ñ¡¿⌐ ß »½áóáεΘÑ⌐
  7416.                           Γ«τ¬«⌐.
  7417.         ───────────────────────────────────────────────────────────────
  7418.  
  7419.                    ƒó¡«Ñ ¿¼»«αΓ¿α«óá¡¿Ñ ó« óαѼ∩ ¬«¼»«¡«ó¬¿.
  7420.  
  7421.              èᬠ¿   ¡Ñ∩ó¡«Ñ   ¿¼»«αΓ¿α«óá¡¿Ñ,   ∩ó¡«Ñ   ¿¼»«αΓ¿α«óá¡¿Ñ
  7422.         óδ»«½¡∩ÑΓß∩  ó«  óαѼ∩  ¬«¼»«¡«ó¬¿.  Ä¡  óδ»«½¡∩ÑΓß∩  ¬«úñá óßÑ
  7423.         ¿¼»«αΓ¿απѼδÑ  Σπ¡¬µ¿¿  »α¿ó«ñ∩Γß∩  ó  αáºñѽѠ IMPORTS   Σá⌐½á
  7424.         «»αÑñѽѡ¿∩  ¼«ñπ½∩  »α¿¬½áñ¡«⌐ »α«úαá¼¼δ.  é ß½ÑñπεΘѼ »α¿¼ÑαÑ
  7425.         ¿¼ÑεΓß∩ Γα¿ τáßΓ¿: ¿¼∩ Σπ¡¬µ¿¿ (MinRoutine), ¿¼∩ DLL, (MinDLL),
  7426.         ¿ óσ«ñ¡«Ñ º¡áτÑ¡¿Ñ (1).
  7427.  
  7428.              IMPORTS
  7429.                 MinRoutine = MinDLL.1
  7430.  
  7431.              ä½∩ π¼Ñ¡∞ΦÑ¡¿∩  αẼÑαá  ¿  π½πτΦÑ¡¿∩   σáαá¬ΓÑα¿ßΓ¿¬   ¼δ
  7432.         αѬ«¼Ñ¡ñπѼ  αáºαáí«Γτ¿¬á¼  óßÑúñá  «»αÑñѽ∩Γ∞ ¿ßσ«ñ¡δÑ óσ«ñ¡δÑ
  7433.         º¡áτÑ¡¿∩ ñ½∩ óßÑσ φ¬ß»«αΓ¿απѼδσ Σπ¡¬µ¿⌐ DLL.  Äñ¡á¬«,  Ñß½¿ óδ
  7434.         ¡Ñ  π¬áºδóáÑΓÑ  ¿ßσ«ñ¡«Ñ  óσ«ñ¡«Ñ  º¡áτÑ¡¿Ñ ñ½∩ Σπ¡¬µ¿¿,  Γ« ÑÑ
  7435.         ¼«ª¡« ¿¼»«αΓ¿α«óáΓ∞ ß½ÑñπεΘ¿¼ «íαẫ¼:
  7436.  
  7437.              IMPORTS
  7438.                 MinDLL.MinRoutine
  7439.  
  7440.                    ä¿¡á¼¿τÑ߬¿⌐ ¿¼»«αΓ ó« óαѼ∩ óδ»«½¡Ñ¡¿∩.
  7441.  
  7442.              Åα¿ ¿¼»«αΓ¿α«óá¡¿¿    ó   »Ñα¿«ñ   óδ»«½¡Ñ¡¿∩   »α¿¬½áñ¡á∩
  7443.         »α«úαá¼¼á ñ«½ª¡á ó ¡áτá½Ñ ∩ó¡« ºáúαπº¿Γ∞ í¿í½¿«ΓÑ¬π ¿ ºá»α«ß¿Γ∞
  7444.  
  7445.        Windows 3.0/pg/3#3                                       = 142 =
  7446.  
  7447.         áñαÑß ¡πª¡«⌐  Ñ⌐  Σπ¡¬µ¿¿.  Å«ß½Ñ  φΓ«ú«  ¼«ª¡« óδ»«½¡∩Γ∞ ó맮ó
  7448.         Σπ¡¬µ¿¿. é ß½ÑñπεΘѼ »α¿¼ÑαÑ »«¬áºá¡á ñ¿¡á¼¿τÑ߬á∩ ¬«¼»«¡«ó¬á ß
  7449.         Σπ¡¬µ¿Ñ⌐ CreateInfo ¿º í¿í½¿«ΓѬ¿ INFO.DLL.
  7450.  
  7451.              HANDLE hLibrary;
  7452.              FARPROC lpFunc;
  7453.  
  7454.              hLibrary = LoadLibrary("INFO.DLL");
  7455.              if(hLibrary >= 32)
  7456.                 {
  7457.                 lpFunc = GetProcAdress(hLibrary,"CreateInfo");
  7458.                 if(lpFunc != (FARPROC)NULL)
  7459.                    (*lpFunc)((LPSTR)Buffer,512);
  7460.                 FreeLibrary(hLibrary);
  7461.                 }
  7462.  
  7463.              é φΓ«¼  »α¿¼ÑαÑ  Σπ¡¬µ¿∩  LoadLibrary  ºáúαπªáÑΓ ΓαÑíπѼπε
  7464.         í¿í½¿«ΓѬπ Windows ¿ ó«ºóαáΘáÑΓ ñÑß¬α¿»Γ«α  ¼«ñπ½∩  í¿í½¿«ΓѬ¿.
  7465.         öπ¡¬µ¿∩ GetProcAdress »«½πτáÑΓ áñαÑß Σπ¡¬µ¿¿ »« ÑÑ ¿¼Ñ¡¿.  ¥Γ«Γ
  7466.         áñαÑß ¼«ª¡« ¿ß»«½∞º«óáΓ∞  ñ½∩  ó맮óá  Σπ¡¬µ¿¿.  ì¿ªÑ  »α¿óÑñÑ¡
  7467.         «»ÑαáΓ«α ¡Ñ»α∩¼«ú« ó맮óá Σπ¡¬µ¿¿, ó ¬«Γ«α«¼ Ñ⌐ »ÑαÑñÑáεΓß∩ ñóá
  7468.         »áαá¼ÑΓαá: Buffer ¿ 512:
  7469.  
  7470.                    (*lpFunc)((LPSTR)Buffer,512);
  7471.  
  7472.              é ¬«¡µÑ Σπ¡¬µ¿∩ FreeLibrary π¼Ñ¡∞ΦáÑΓ ¡á  Ññ¿¡¿µπ  ßτÑΓτ¿¬
  7473.         ßß佫¬ ¡á  í¿í½¿«ΓѬπ.  è«úñá ßτÑΓτ¿¬ ßΓá¡«ó¿Γß∩ αáó¡δ¼ 0 (Γ.Ñ.
  7474.         í¿í½¿«ΓѬπ í«½∞ΦÑ ¡Ñ ¿ß»«½∞ºπÑΓ ¡¿ «ñ¡á »α¿¬½áñ¡á∩  »α«úαá¼¼á),
  7475.         Windows πñá½∩ÑΓ ÑÑ ¿º »á¼∩Γ¿.
  7476.  
  7477.              Äñ¡á¬«, ¼«ª¡« »«½πτ¿Γ∞ í«½ÑÑ óδß«¬¿Ñ σáαá¬ΓÑα¿ßΓ¿¬¿,  Ñß½¿
  7478.         Σπ¡¬µ¿∩ CreateInfo ¿¼Ñ½á íδ ßó∩ºá¡¡«Ñ ß  ¡Ñ⌐  ¿ßσ«ñ¡«Ñ  óσ«ñ¡«Ñ
  7479.         º¡áτÑ¡¿Ñ ó Σá⌐½Ñ «»αÑñѽѡ¿∩ ¼«ñπ½∩ í¿í½¿«ΓѬ¿.  ì¿ªÑ »«¬áºá¡«,
  7480.         ¬á¬ φΓ« ¼«ª¡« ßñѽáΓ∞:
  7481.  
  7482.              EXPORTS
  7483.                 CreateInfo @27
  7484.  
  7485.              ¥Γ«Γ «»ÑαáΓ«α  «»αÑñѽ∩ÑΓ  ñ½∩ Σπ¡¬µ¿¿ CreateInfo ¿ßσ«ñ¡«Ñ
  7486.         óσ«ñ¡«Ñ º¡áτÑ¡¿Ñ  αáó¡«Ñ  27.  é  φΓ«¼  ß½πτáÑΓ  ó맮ó  Σπ¡¬µ¿¿
  7487.         GetProcAdress ¼«ª¡« ¿º¼Ñ¡¿Γ∞ ß½ÑñπεΘ¿¼ «íαẫ¼:
  7488.  
  7489.              GetProcAdress(hLibrary,MAKEINTRESOURCE(27));
  7490.                          20.5  Åαáó¿½á ó½áñÑ¡¿∩ ñ½∩ «íΩÑ¬Γ«ó Windows.          
  7491.  
  7492.              ÄíΩѬΓδ »á¼∩Γ¿  Windows  ¼«úπΓ  ¡áσ«ñ¿Γß∩  ¬á¬ ó ½«¬á½∞¡«⌐
  7493.         »á¼∩Γ¿, Γᬠ ¿  ó  ú½«íá½∞¡«⌐  »á¼∩Γ¿.   è   «íΩѬΓá¼   Windows
  7494.         «Γ¡«ß∩Γß∩:
  7495.  
  7496.              - ÉáßΓα«óδÑ ¬áαΓδ.
  7497.  
  7498.              - îÑΓáΣá⌐½δ.
  7499.  
  7500.        Windows 3.0/pg/3#3                                       = 143 =
  7501.  
  7502.  
  7503.              - æÑú¼Ñ¡Γδ ¬«ñá »α¿¬½áñ¡«⌐ »α«úαá¼¼δ.
  7504.  
  7505.              - ÉÑßπαßδ (ºá ¿ß¬½ετÑ¡¿Ñ¼ Φα¿ΣΓ«ó).
  7506.  
  7507.              Windows αáßß¼áΓα¿óáεΓ «íΩѬΓδ »á¼∩Γ¿ ß½ÑñπεΘ¿¼ «íαẫ¼:
  7508.  
  7509.              - Åਪ½áñ¡á∩  »α«úαἼᠠó½áñÑÑΓ  »á¼∩Γ∞ε,  Ñß½¿  «¡á   ÑÑ
  7510.                óδñѽ¿½á.
  7511.  
  7512.              - è«úñá  DLL  óδñѽ∩ÑΓ  ú½«íá½∞¡δ⌐  «íΩѬΓ,  φΓ¿¼ «íΩÑ¬Γ«¼
  7513.                ó½áñÑÑΓ »α¿¬½áñ¡á∩ »α«úαá¼¼á, ¬«Γ«αá∩ óδºóá½á DLL.
  7514.  
  7515.              - Åα¿  ºáóÑαΦÑ¡¿¿  »α¿¬½áñ¡«⌐  »α«úαá¼¼δ  ¿½¿  DLL Windows
  7516.                «ßó«í«ªñáÑΓ ß¿ßΓѼπ «Γ óßÑσ «íΩÑ¬Γ«ó ¿½¿  ¬½áß߫󠠫¬«¡,
  7517.                ¬«Γ«α묨 ó½áñÑεΓ ñá¡¡á∩ »α¿¬½áñ¡á∩ »α«úαἼᠿ½¿ DLL.
  7518.  
  7519.              - Éáºñѽѡ¿Ñ ñá¡¡δσ ¼«ªÑΓ »α«¿ºó«ñ¿Γ∞ß∩  ß  ¿ß»«½∞º«ó᡿Ѽ
  7520.                ß¿ßΓѼ¡«ú« íπΣÑαá  ¿½¿  »α«Γ«¬«½á  ñ¿¡á¼¿τÑ߬«ú«  «í¼Ñ¡á
  7521.                ñá¡¡δ¼¿ (DDE),  σ«Γ∩ óδ ¼«ªÑΓÑ ΓᬪѠαáºñѽ∩Γ∞ ñá¡¡δÑ  ß
  7522.                »«¼«Φ∞ε  ßÑú¼Ñ¡Γá ñá¡¡δσ DLL.  Åα¿ ¿ß»«½∞º«óá¡¿¿ DDE ¿½¿
  7523.                ß¿ßΓѼ¡«ú« íπΣÑαá Windows ¬«»¿απÑΓ ñá¡¡δÑ ó  ß«íßΓóÑ¡¡«Ñ
  7524.                áñαÑß¡«Ñ »α«ßΓαá¡ßΓó« »«½πτáεΘÑ⌐ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ.
  7525.  
  7526.              - ÄíΩѬΓδ   GDI   (¬¿ßΓ¿,  »Ñα∞∩,  ¬«¡ΓѬßΓδ  πßΓα«⌐ßΓó  ¿
  7527.                «í½áßΓ¿) ¡Ñ ∩ó½∩εΓß∩ «íδτ¡δ¼¿  «íΩѬΓἿ  Windows  ¿  ¡Ñ
  7528.                «ßó«í«ªñáεΓß∩   »α¿   ºáóÑαΦÑ¡¿¿  »α¿¬½áñ¡«⌐  »α«úαá¼¼δ,
  7529.                ¬«Γ«αá∩  ¿¼¿  ó½áñÑÑΓ.  Å«   φΓ«⌐   »α¿τ¿¡Ñ   »α¿¬½áñ¡á∩
  7530.                »α«úαἼᠠ ¿½¿   DLL   ñ«½ª¡á  »ÑαÑñ  ºáóÑαΦÑ¡¿Ñ¼  ∩ó¡«
  7531.                αáºαπΦ¿Γ∞ óßÑ ß«ºñá¡¡δÑ Ñε «íΩѬΓδ GDI.
  7532.  
  7533.                                   20.6  Åα¿¼Ñα í¿í½¿«ΓѬ¿: Select.             
  7534.  
  7535.              é ñá¡¡«¼  »α¿¼ÑαÑ  í¿í½¿«ΓѬ¿ ß«ñÑαªáΓß∩ Σπ¡¬µ¿¿,  ¬«Γ«αδÑ
  7536.         ¼«úπΓ  íδΓ∞  ¿ß»«½∞º«óá¡δ  ñ½∩  óδ»«½¡Ñ¡¿∩  óδí«α¬¿  ß  »«¼«Θ∞ε
  7537.         ¼δΦ¿. ¥Γ¿  Σπ¡¬µ¿¿  «ß¡«óδóáεΓß∩ ¡á ¼ÑΓ«ñÑ úαáΣ¿τÑ߬«⌐ óδí«α¬¿,
  7538.         «»¿ßá¡¡«¼ ó  ú½áóÑ  6,  "èπαß«α,  ¼δΦ∞   ¿   ¬½áó¿áΓπαá".   Ä¡¿
  7539.         «íÑß»Ñτ¿óáεΓ  ñóá  ó¿ñá  «íαáΓ¡«⌐  ßó∩º¿  »α¿ óδí«α¬Ñ:  »á¡Ñ½∞,
  7540.         »«¬áºδóáεΘπε  «τÑαΓá¡¿∩  óδí«α¬¿,  ¿  í½«¬,  »«¬áºδóáεΘ¿⌐   óßε
  7541.         óδí«α¬π ó   ¿¡óÑαΓ¿α«óá¡¡«¼   ó¿ñÑ.   ü¿í½¿«ΓѬᠠ φ¬ß»«αΓ¿απÑΓ
  7542.         ß½ÑñπεΦ¿Ñ Σπ¡¬µ¿¿:
  7543.  
  7544.         öπ¡¬µ¿∩              äÑ⌐ßΓó¿Ñ
  7545.         ───────────────────────────────────────────────────────────────
  7546.         StartSelection       ìáτ¿¡áÑΓ óδí«α¬π      ¿     ¿¡¿µ¿á½¿º¿απÑΓ
  7547.                              »α∩¼«πú«½∞¡¿¬ óδí«α¬¿.   Åα¿   óδí«α¬Ñ   ß
  7548.                              »«¼«Θ∞ε ¼δΦ¿ φΓá  Σπ¡¬µ¿∩  óδºδóáÑΓß∩  »α¿
  7549.                              »«½πτÑ¡¿¿ ß««íΘÑ¡¿∩ WM_LBUTTONDOWN.
  7550.  
  7551.         UpdateSelection      è«ααÑ¬Γ¿απÑΓ »á¡Ñ½∞ ¿½¿ í½«¬ óδí«α¬¿.  Åα¿
  7552.                              óδí«α¬Ñ ß   »«¼«Θ∞ε   ¼δΦ¿   φΓá   Σπ¡¬µ¿∩
  7553.                              óδºδóáÑΓß∩    »α¿    »«½πτÑ¡¿¿   ß««íΘÑ¡¿∩
  7554.  
  7555.        Windows 3.0/pg/3#3                                       = 144 =
  7556.  
  7557.                              WM_MOUSEMOVE.
  7558.  
  7559.         EndSelection         çá¬á¡τ¿óáÑΓ óδí«α¬π,  Γ.  Ñ. »α∩¼«πú«½∞¡¿¬
  7560.                              óδí«α¬¿       »«½πτáÑΓ        «¬«¡τáΓѽ∞¡«
  7561.                              πßΓá¡«ó½Ñ¡¡δÑ αẼÑαδ.   Åα¿   óδí«α¬Ñ   ß
  7562.                              »«¼«Θ∞ε  ¼δΦ¿  φΓá  Σπ¡¬µ¿∩ óδºδóáÑΓß∩ »α¿
  7563.                              »«½πτÑ¡¿¿ ß««íΘÑ¡¿∩ WM_LBUTTONUP.
  7564.  
  7565.         ClearSelection       ôñá½∩ÑΓ ß φ¬αá¡á »á¡Ñ½∞ ¿½¿ í½«¬ óδí«α¬¿ ¿
  7566.                              «τ¿ΘáÑΓ »α∩¼«πú«½∞¡¿¬ óδí«α¬¿.
  7567.         ───────────────────────────────────────────────────────────────
  7568.  
  7569.              Åα∩¼«πú«½∞¡¿¬ óδí«α¬¿ - φΓ« ßΓαπ¬Γπαá RECT, ¬«Γ«απε ºáñáÑΓ
  7570.         »α«úαἼᠿ ¬«Γ«απε ºá»«½¡∩εΓ í¿í½¿«ΓÑτ¡δÑ Σπ¡¬µ¿¿. è««αñ¿¡áΓδ,
  7571.         ºáñá¡¡δÑ ó »α∩¼«πú«½∞¡¿¬Ñ, - φΓ« ¬««αñ¿¡áΓδ »«½∞º«óáΓѽ∩.
  7572.  
  7573.              ä½∩ ß«ºñá¡¿∩ φΓ«⌐ í¿í½¿«ΓѬ¿ ¡Ñ«íσ«ñ¿¼« ß«ºñáΓ∞  ¡Ñ߬«½∞¬«
  7574.         Σá⌐½«ó:
  7575.  
  7576.         öá⌐½                æ«ñÑন¼«Ñ
  7577.         ───────────────────────────────────────────────────────────────
  7578.         select.c            êßσ«ñ¡á∩  æ-»α«úαἼᠠñ½∩ óδíαá¡¡δσ Σπ¡¬-
  7579.                             µ¿⌐.
  7580.  
  7581.         select.def          öá⌐½  «»αÑñѽѡ¿∩   ¼«ñπ½∩  ñ½∩  í¿í½¿«ΓѬ¿
  7582.                             Select.
  7583.  
  7584.         select.h            é¬½ετáѼδ⌐ Σá⌐½ ñ½∩ í¿í½¿«ΓѬ¿ Select.
  7585.  
  7586.         select              öá⌐½ make ñ½∩ í¿í½¿«ΓѬ¿ Select.
  7587.  
  7588.         select.lib          ê¼»«αΓ¿απѼá∩   í¿í½¿«ΓѬᠠñ½∩  í¿í½¿«ΓѬ¿
  7589.                             Select.
  7590.         ───────────────────────────────────────────────────────────────
  7591.  
  7592.              ü¿í½¿«ΓѬá Select  ¡Ñ  ñ«½ª¡á  ¿¼ÑΓ∞  Σá⌐½á ¿¡¿µ¿á½¿ºáµ¿¿,
  7593.         »«ß¬«½∞¬π Σπ¡¬µ¿¿ ¡Ñ ¿ß»«½∞ºπεΓ ½«¬á½∞¡πε ñ¿¡á¼¿τÑ߬πε  «í½áßΓ∞
  7594.         »á¼∩Γ¿ ¿ ¡¿¬á¬«⌐ ñαπú«⌐ ¿¡¿µ¿á½¿ºáµ¿¿ ¡Ñ ΓαÑíπÑΓß∩.
  7595.  
  7596.              Åα¿¼Ñτá¡¿Ñ: é¼ÑßΓ« Γ«ú«, τΓ«íδ óó«ñ¿Γ∞ ΓѬßΓδ, »α¿óÑñÑ¡¡δÑ
  7597.         ó  ß½ÑñπεΘ¿σ  αáºñѽáσ,  ó«º¼«ª¡«  óá¼  íπñÑΓ  πñ«í¡ÑÑ   »α«ßΓ«
  7598.         »ÑαÑ»¿ßáΓ∞ ¿ßσ«ñ¡δÑ ΓѬßΓδ ¿º SDK.
  7599.                                        20.6.1  æ«ºñá¡¿Ñ Σπ¡¬µ¿⌐.               
  7600.  
  7601.              î«ª¡« ß«ºñáΓ∞   í¿í½¿«ΓÑτ¡δÑ   Σπ¡¬µ¿¿,  ß½Ññπ∩  «»¿ßá¡¿ε,
  7602.         ñá¡¡«¼π  ó  ú½áóÑ  6,  "èπαß«α,  ¼δΦ∞  ¿  ¬½áó¿áΓπαá".   Åα«ßΓ«
  7603.         ß¬«»¿απ⌐ΓÑ  ó  ß««ΓóÑΓßΓóπεΘ¿Ñ Σπ¡¬µ¿¿ «»ÑαáΓ«αδ,  ¿ß»«½∞ºπѼδÑ
  7604.         ñ½∩ αÑ὿ºáµ¿¿ úαáΣ¿τÑ߬«⌐ óδí«α¬¿.  èα«¼Ñ Γ«ú«,  τΓ«íδ Σπ¡¬µ¿¿
  7605.         óδí«α¬¿   í뫨  í«½ÑÑ  ú¿í¬¿¼¿,  ñ«íáó∞ΓÑ  í½«¬  ñ«»«½¡¿Γѽ∞¡δσ
  7606.         ó«º¼«ª¡«ßΓÑ⌐.
  7607.  
  7608.              Å«ß½Ñ ¿º¼Ñ¡Ñ¡¿∩  Σπ¡¬µ¿∩  StartSelection  íπñÑΓ  óδú½∩ñÑΓ∞
  7609.  
  7610.        Windows 3.0/pg/3#3                                       = 145 =
  7611.  
  7612.         Γá¬:
  7613.  
  7614.              int FAR PASCAL StartSelection(hWnd, ptCurrent,
  7615.                               lpSelectRect, fFlags)
  7616.  
  7617.              HWND hWnd;
  7618.              POINT ptCurrent;
  7619.              LPRECT lpSelectRect;
  7620.              int fFlags;
  7621.              {
  7622.                  if (!IsEmptyRect(lpSelectRect))
  7623.                      ClearSelection(hWnd,lpSelectRect,fFlags);
  7624.                  if (!fFlags & SL_EXTEND) {
  7625.                      lpSelectRect->left = ptCurrent.x;
  7626.                      lpSelectRect->top = ptCurrent.y;
  7627.                  }
  7628.                  lpSelectRect->right = ptCurrent.x;
  7629.                  lpSelectRect->bottom = ptCurrent.y;
  7630.                  SetCapture(hWnd);
  7631.              }
  7632.  
  7633.              ¥Γá Σπ¡¬µ¿∩  »«½πτáÑΓ  ñÑß¬α¿»Γ«α   «¬¡á   hWnd,   ΓѬπΘÑÑ
  7634.         »«½«ªÑ¡¿Ñ ¼δΦ¿  ptCurrent,  ñ½¿¡¡δ⌐  π¬áºáΓѽ∞ ¡á »α∩¼«πú«½∞¡¿¬
  7635.         óδí«α¬¿ lpSelectRect ¿  Σ½áú¿  óδí«α¬¿  fFlags.
  7636.  
  7637.              ÅÑαóδ⌐ Φáú - «τ¿ßΓ¿Γ∞ óδí«α¬π,  Ñß½¿ »α∩¼«πú«½∞¡¿¬ óδí«α¬¿
  7638.         ¡Ñ  »πßΓ.  àß½¿  »α∩¼«πú«½∞¡¿¬  »πßΓ,  Γ«  Σπ¡¬µ¿∩  IsRectEmpty
  7639.         ó«ºóαáΘáÑΓ TRUE. öπ¡¬µ¿∩ StartSelection «τ¿ΘáÑΓ óδí«α¬π, óδºóáó
  7640.         Σπ¡¬µ¿ε ClearSelection, ¬«Γ«αá∩ ΓᬪѠ¡áσ«ñ¿Γß∩ ó í¿í½¿«ΓѬÑ.
  7641.  
  7642.              æ½ÑñπεΘ¿⌐ Φáú   -  ¿¡¿µ¿á½¿ºáµ¿∩  »α∩¼«πú«½∞¡¿¬á  óδí«α¬¿.
  7643.         öπ¡¬µ¿∩  StartSelection  αáßΦ¿α∩ÑΓ  óδí«α¬π  («ßΓáó½∩∩  óÑασ¡¿⌐
  7644.         ½Ñóδ⌐   πú«½  óδí«α¬¿  ¡Ñ¿º¼Ñ¡¡δ¼),  Ñß½¿  ó  áαúπ¼Ñ¡ΓÑ  fFlags
  7645.         πßΓá¡«ó½Ñ¡ í¿Γ SS_EXTEND.  é »α«Γ¿ó¡«¼ ß½πτáÑ «¡á πßΓá¡áó½¿óáÑΓ
  7646.         óÑασ¡¿⌐  ½Ñóδ⌐  ¿  ¡¿ª¡¿⌐ »αáóδ⌐ πú½δ »α∩¼«πú«½∞¡¿¬á óδí«α¬¿ ¡á
  7647.         ΓѬπΘπε »«º¿µ¿ε  ¼δΦ¿.  öπ¡¬µ¿∩   SetCapture   ¡á»αáó½∩ÑΓ   óßε
  7648.         óó«ñ¿¼πε  «Γ  ¼δΦ¿  ¿¡Σ«α¼áµ¿ε  ó  «¬¡«,  ñáªÑ  Ñß½¿  ÑÑ ¬παß«α
  7649.         »ÑαѼÑΘáÑΓß∩ ºá »αÑñѽἿ «¬¡á.  ¥Γ« ñѽáÑΓß∩ ñ½∩  Γ«ú«,  τΓ«íδ
  7650.         »α«µÑßß óδí«α¬¿ »α«ñ«½ªá½ß∩ ¡Ñ»αÑαδó¡«. ä½∩ ó맮óá φΓ«⌐ Σπ¡¬µ¿¿
  7651.         »α¿¬½áñ¡«⌐ »α«úαἼѠ߽ÑñπÑΓ ¿ß»«½∞º«óáΓ∞ ß½ÑñπεΘ¿Ñ «»ÑαáΓ«αδ:
  7652.  
  7653.              case WM_LBUTTONDOWN:
  7654.                  bTrack = TRUE;
  7655.                  StartSelection(hWnd, MAKEPOINT(lParam), &SelectRect,
  7656.                      (wParam & MK_SHIFT) ? SL_EXTEND : NULL);
  7657.                  break;
  7658.  
  7659.              Å«ß½Ñ ¿º¼Ñ¡Ñ¡¿∩ Σπ¡¬µ¿∩  UpdateSelection  íπñÑΓ  óδú½∩ñÑΓ∞
  7660.         Γá¬:
  7661.  
  7662.         int FAR PASCAL UpdateSelection(hWnd, ptCurrent,
  7663.                            lpSelectRect, fFlags)
  7664.         HWND hWnd;
  7665.  
  7666.        Windows 3.0/pg/3#3                                       = 146 =
  7667.  
  7668.         POINT ptCurrent;
  7669.         LPRECT lpSelectRect;
  7670.         int fFlags;
  7671.         {
  7672.             HDC hDC;
  7673.             short OldROP;
  7674.             hDC = GetDC(hWnd);
  7675.             switch (fFlags & SL_TYPE) {
  7676.                 case SL_BOX:
  7677.                     OldROP = SetROP2(hDC, R2_XORPEN);
  7678.                     MoveTo(hDC, lpSelectRect->left,
  7679.                            lpSelectRect->top);
  7680.                     LineTo(hDC, lpSelectRect->right,
  7681.                            lpSelectRect->top);
  7682.                     LineTo(hDC, lpSelectRect->right,
  7683.                            lpSelectRect->bottom);
  7684.                     LineTo(hDC, lpSelectRect->left,
  7685.                            lpSelectRect->bottom);
  7686.                     LineTo(hDC, lpSelectRect->left,
  7687.                            lpSelectRect->top);
  7688.                     LineTo(hDC, ptCurrent.x, lpSelectRect->top);
  7689.                     LineTo(hDC, ptCurrent.x, ptCurrent.y);
  7690.                     LineTo(hDC, lpSelectRect->left, ptCurrent.y);
  7691.                     LineTo(hDC, lpSelectRect->left,
  7692.                            lpSelectRect.top);
  7693.                     SetROP2(hDC, OldROP);
  7694.                 break;
  7695.                 case SL_BLOCK:
  7696.                     PatBlt(hDC,
  7697.                         lpSelectRect->left, lpSelectRect->bottom,
  7698.                         lpSelectRect->right - lpSelectRect->left,
  7699.                         ptCurrent.y - lpSelectRect->bottom,
  7700.                         DSTINVERT);
  7701.                     PatBlt(hDC, PrevX, OrgY,
  7702.                         lpSelectRect->right, lpSelectRect->top,
  7703.                         ptCurrent.x - lpSelectRect->right,
  7704.                         ptCurrent.y - lpSelectRect->top, DSTINVERT);
  7705.                 break;
  7706.             }
  7707.             lpSelectRect->right = ptCurrent.x;
  7708.             lpSelectRect->bottom = ptCurrent.y;
  7709.             ReleaseDC(hWnd, hDC);
  7710.         }
  7711.  
  7712.              Å«ß½Ñ Γ«ú«,  ¬á¬  »«½∞º«óáΓѽ∞  ßñѽὠ óδí«α¬π,   Σπ¡¬µ¿∩
  7713.         UpdateSelection   «íÑß»Ñτ¿óáÑΓ   «íαáΓ¡πε  ßó∩º∞  ß  ñÑ⌐ßΓó¿∩¼¿
  7714.         »«½∞º«óáΓѽ∩.  Åα¿ "»á¡Ñ½∞¡«⌐" óδí«α¬Ñ Σπ¡¬µ¿∩ ß¡áτá½á  «τ¿ΘáÑΓ
  7715.         ΓѬπΘπε »á¡Ñ½∞,  α¿ßπ∩ »«óÑασ ¡ÑÑ, á ºáΓѼ α¿ßπÑΓ ¡«óπε »á¡Ñ½∞.
  7716.         ¥Γ¿ ñÑ⌐ßΓó¿∩ ΓαÑíπεΓ 8 ó맮ó«ó Σπ¡¬µ¿¿ LineTo.
  7717.  
  7718.              ä½∩ ¬«ααÑ¬Γ¿α«ó¬¿      "í½«τ¡«⌐"      óδí«α¬¿      Σπ¡¬µ¿∩
  7719.         UpdateSelection  ¿¡óÑαΓ¿απÑΓ  »α∩¼«πú«½∞¡¿¬  ß  »«¼«Θ∞ε Σπ¡¬µ¿¿
  7720.         PatBlt.  ä½∩ Γ«ú«, τΓ«íδ ¿ºíѪáΓ∞ ¼Ñαµá¡¿∩ »α¿ óδí«α¬Ñ, Σπ¡¬µ¿∩
  7721.  
  7722.        Windows 3.0/pg/3#3                                       = 147 =
  7723.  
  7724.         UpdateSelection  ¿¡óÑαΓ¿απÑΓ  Γ«½∞¬«  Γπ  τáßΓ∞ »α∩¼«πú«½∞¡¿¬á,
  7725.         ¬«Γ«αá∩ «Γ½¿τáÑΓß∩ «Γ »αÑñδñπΘÑú« »α∩¼«πú«½∞¡¿¬á  óδí«α¬¿.  ¥Γ«
  7726.         «º¡áτáÑΓ,  τΓ«  Σπ¡¬µ¿∩ ¿¡óÑαΓ¿απÑΓ ñóÑ «Γñѽ∞¡δσ τáßΓ¿ φ¬αá¡á.
  7727.         ÅαÑñ»«½áúáÑΓß∩,  τΓ«  Ññ¿¡ßΓóÑ¡¡«⌐  «í½áßΓ∞ε,   ¬«Γ«απε   ¡πª¡«
  7728.         ¿¡óÑαΓ¿α«óáΓ∞,  ∩ó½∩ÑΓß∩  «í½áßΓ∞  ¼Ñªñπ  »αÑñδñπΘ¿¼  ¿ ΓѬπΘ¿¼
  7729.         »«½«ªÑ¡¿Ñ¼ ¼δΦ¿. ìá α¿ß. 1 »αÑñßΓáó½Ñ¡δ Γ¿»¿τ¡δÑ ¬««αñ¿¡áΓδ ñ½∩
  7730.         «»¿ßá¡¿∩ ¿¡óÑαΓ¿απѼδσ «í½áßΓÑ⌐:
  7731.  
  7732.              É¿ßπ¡«¬ 20.1  ê¡óÑαΓ¿α«óá¡¿Ñ »α¿¼«πú«½∞¡¿¬á.
  7733.  
  7734.  
  7735.              ÅÑαóδ⌐ ó맮ó PatBlt ¿¡óÑαΓ¿απÑΓ ßá¼δ⌐ ½Ñóδ⌐ »α∩¼«πú«½∞¡¿¬,
  7736.         ¿ß»«½∞ºπ∩  lpSelectRect->left (¡áτá½∞¡«Ñ »«½«ªÑ¡¿Ñ »« «ß¿ σ »α¿
  7737.         »Ñαó«¼ ¡áªáΓ¿¿ ¡á ¬¡«»¬π ¼δΦ¿)  ¿  lpSelectRect->bottom  (ßá¼πε
  7738.         »«ß½Ññ¡εε ¬«ααѬµ¿ε  »«½«ªÑ¡¿∩  ¼δΦ¿  »«  «ß¿  π) ñ½∩ πßΓá¡«ó¬¿
  7739.         ¡áτá½∞¡«ú«  »«½«ªÑ¡¿∩  ¿¡óÑαΓ¿απѼ«⌐  «í½áßΓ¿.  ÿ¿α¿¡á   »Ñαó«⌐
  7740.         «í½áßΓ¿    «»αÑñѽ∩ÑΓß∩    óδτ¿Γ᡿Ѽ   lpSelectRect->left   ¿º
  7741.         lpSelectRect->right (ßá¼á∩ »«ß½Ññ¡∩∩ ¬«ααѬµ¿∩  »«½«ªÑ¡¿∩  ¼δΦ¿
  7742.         »«   «ß¿   σ).  éδß«Γá  φΓ«⌐  «í½áßΓ¿  «»αÑñѽ∩ÑΓß∩  óδτ¿Γ᡿Ѽ
  7743.         lpSelectRect->bottom ¿º ptCurrent.y (ΓѬπΘÑ⌐  »«º¿µ¿¿  ¼δΦ¿  »«
  7744.         ¬««αñ¿¡áΓÑ π).
  7745.  
  7746.              éΓ«α«⌐ ó맮ó PatBlt ¿¡óÑαΓ¿απÑΓ ßá¼δ⌐ »αáóδ⌐ »α∩¼«πú«½∞¡¿¬
  7747.         ß »«¼«Θ∞ε lpSelectRect->right (ßἫѠ»«ß½Ññ¡ÑÑ »«½«ªÑ¡¿Ñ »« «ß¿
  7748.         σ »α¿  ¡áªáΓ¿¿  ¡á  ¬¡«»¬π ¼δΦ¿) ¿ lpSelectRect->top (¡áτá½∞¡«Ñ
  7749.         »«½«ªÑ¡¿Ñ ¼δΦ¿ »« «ß¿ π)  ñ½∩  πßΓᡫ󬿠 ¡áτá½∞¡«ú«  »«½«ªÑ¡¿∩
  7750.         ¿¡óÑαΓ¿απѼ«⌐ «í½áßΓ¿.  ÿ¿α¿¡á φΓ«⌐ óΓ«α«⌐ «í½áßΓ¿ «»αÑñѽ∩ÑΓß∩
  7751.         óδτ¿Γ᡿Ѽ  lpSelectRect->bottom  (ßá¼á∩  »«ß½Ññ¡∩∩   ¬«ααѬµ¿∩
  7752.         »«½«ªÑ¡¿∩ ¼δΦ¿  »«  «ß¿  σ)  ¿º  ptCurrent.x (ΓѬπΘÑÑ »«½«ªÑ¡¿Ñ
  7753.         ¼δΦ¿ »« «ß¿ σ).  éδß«Γá φΓ«⌐  «í½áßΓ¿  «»αÑñѽ∩ÑΓß∩  óδτ¿Γ᡿Ѽ
  7754.         lpSelectRect->top ¿º ptCurrent.y (ΓѬπΘÑÑ »«½«ªÑ¡¿Ñ ¼δΦ¿ »« «ß¿
  7755.         π).
  7756.  
  7757.              è«úñá ¬«ααÑ¬Γ¿α«ó¬á    óδí«α¬¿     ºá¬«¡τÑ¡á,     º¡áτÑ¡¿∩
  7758.         lpSelectRect->right ¿ lpSelectRect->bottom ¬«ααÑ¬Γ¿απεΓß∩ »πΓѼ
  7759.         »α¿ßóá¿óá¡¿∩ ¿¼ ΓѬπΘ¿σ º¡áτÑ¡¿⌐, ß«ñÑαªáΘ¿σß∩ ó ptCurrent.
  7760.  
  7761.              ä½∩ ¬«ααѬµ¿¿  "»á¡Ñ½∞¡«⌐"  óδí«α¬¿  »α¿¬½áñ¡á∩  »α«úαá¼¼á
  7762.         ñ«½ª¡á óδºóáΓ∞ Σπ¡¬µ¿ε UpdateSelection ß½ÑñπεΘ¿¼ «íαẫ¼:
  7763.  
  7764.              case WM_MOUSEMOVE:
  7765.                  if (bTrack)
  7766.                      UpdateSelection(hWnd, MAKEPOINT(lParam),
  7767.                          &SelectRect, SL_BOX);
  7768.  
  7769.              Å«ß½Ñ ¿º¼Ñ¡Ñ¡¿∩ Σπ¡¬µ¿∩ EndSelection íπñÑΓ óδú½∩ñÑΓ∞ Γá¬:
  7770.  
  7771.              int FAR PASCAL EndSelection(ptCurrent, lpSelectRect)
  7772.              POINT ptCurrent;
  7773.              LPRECT lpSelectRect;
  7774.              {
  7775.                  if (ptCurrent.x < lpSelectRect->left) {
  7776.                      lpSelectRect->right = lpSelectRect->left;
  7777.  
  7778.        Windows 3.0/pg/3#3                                       = 148 =
  7779.  
  7780.                      lpSelectRect->left = ptCurrent.x;
  7781.                  }
  7782.                  else
  7783.                      lpSelectRect->right = ptCurrent.x;
  7784.                  if (ptCurrent.y < lpSelectRect->top) {
  7785.                      lpSelectRect->bottom = lpSelectRect->top;
  7786.                      lpSelectRect->top = ptCurrent.y;
  7787.                  }
  7788.                  else
  7789.                      lpSelectRect->bottom = ptCurrent.y;
  7790.                  ReleaseCapture();
  7791.              }
  7792.  
  7793.              öπ¡¬µ¿∩ EndSelection  ß«σαá¡∩ÑΓ  ΓѬπΘÑÑ  »«½«ªÑ¡¿Ñ ¼δΦ¿ ó
  7794.         »α∩¼«πú«½∞¡¿¬Ñ   óδí«α¬¿.    Ä¬«¡τáΓѽ∞¡«Ñ    »«½«ªÑ¡¿Ñ    ¼δΦ¿
  7795.         ¬«¡Γα«½¿απÑΓß∩  ñ½∩ Γ«ú«,  τΓ«íδ íδΓ∞ πóÑαÑ¡¡δ¼ ó Γ«¼,  τΓ« «¡«
  7796.         »αÑñßΓáó½∩ÑΓ  ß«í«⌐  Γ«τ¬π,  αáß»«½«ªÑ¡¡¡πε   ¡¿ªÑ   ¿   »αáóÑÑ
  7797.         ¡áτá½∞¡«⌐  Γ«τ¬¿.  Åα∩¼«πú«½∞¡¿¬¿  «íδτ¡«  «»¿ßδóáεΓß∩  óÑασ¡¿¼
  7798.         ½Ñóδ¼ ¿  ¡¿ª¡¿¼  »αáóδ¼  πú½á¼¿.   àß½¿   ¬«¡Ñτ¡á∩   Γ«τ¬á   ¡Ñ
  7799.         αáß»«½«ªÑ¡á ¡¿ªÑ ¿ »αáóÑÑ ¡áτá½∞¡«⌐ (Γ.Ñ.,  Ñß½¿ ¿½¿ ¬««αñ¿¡áΓá
  7800.         σ, ¿½¿  ¬««αñ¿¡áΓá  π  ¬«¡Ñτ¡«⌐  Γ«τ¬¿ ¼Ñ¡∞ΦÑ ¬««αñ¿¡áΓ σ ¿½¿ π
  7801.         ¡áτá½∞¡«⌐ Γ«τ¬¿),  º¡áτÑ¡¿∩ ¡áτá½∞¡«⌐  ¿  ¬«¡Ñτ¡«⌐  Γ«τѬ,  »α¿
  7802.         ¡Ñ«íσ«ñ¿¼«ßΓ¿, ¼Ñ¡∩εΓß∩ ¼ÑßΓἿ. Å«ß¬«½∞¬π íδ½á óδºóá¡á Σπ¡¬µ¿∩
  7803.         SetCapture,    Γ«    ¡Ñ«íσ«ñ¿¼á     ß««ΓóÑΓßΓóπεΘá∩     Σπ¡¬µ¿∩
  7804.         ReleaseCapture.  é««íΘÑ  ú«ó«α∩,  ß½ÑñπÑΓ «ßó«í«ñ¿Γ∞ ¼δΦ∞ ßαáºπ
  7805.         ªÑ, ¬á¬ Γ«½∞¬« «¡á ßΓá¡«ó¿Γß∩ ¡Ñ ¡πª¡á.
  7806.  
  7807.              ìᬫ¡Ñµ, ¬«úñá   »«½∞º«óáΓѽ∞  «ßó«í«ªñáÑΓ  ½Ñóπε  ¬¡«»¬π,
  7808.         »α¿¬½áñ¡á∩ »α«úαá¼¼á ñ«½ª¡á óδºóáΓ∞  Σπ¡¬µ¿ε  EndSelection  ñ½∩
  7809.         ß«σαá¡Ñ¡¿∩ ¬«¡Ñτ¡«⌐ Γ«τ¬¿:
  7810.  
  7811.              case WM_LBUTTONUP:
  7812.                  bTrack = FALSE;
  7813.                  EndSelection(MAKEPOINT(lParam), &SelectRect);
  7814.                  break;
  7815.  
  7816.              Å«ß½Ñ ¿º¼Ñ¡Ñ¡¿∩  Σπ¡¬µ¿∩  ClearSelection  íπñÑΓ  óδú½∩ñÑΓ∞
  7817.         Γá¬:
  7818.  
  7819.         int FAR PASCAL ClearSelection(hWnd, lpSelectRect, fFlags)
  7820.         HWND hWnd;
  7821.         LPRECT lpSelectRect;
  7822.         int fFlags;
  7823.         {
  7824.             HDC hDC;
  7825.             short OldROP;
  7826.             hDC = GetDC(hWnd);
  7827.             switch (fFlags & SL_TYPE) {
  7828.                 case SL_BOX:
  7829.                     OldROP = SetROP2(hDC, R2_XORPEN);
  7830.                     MoveTo(hDC, lpSelectRect->left,
  7831.                            lpSelectRect->top);
  7832.                     LineTo(hDC, lpSelectRect->right,
  7833.  
  7834.        Windows 3.0/pg/3#3                                       = 149 =
  7835.  
  7836.                            lpSelectRect->top);
  7837.                     LineTo(hDC, lpSelectRect->right,
  7838.                            lpSelectRect->bottom);
  7839.                     LineTo(hDC, lpSelectRect->left,
  7840.                            lpSelectRect->bottom);
  7841.                     LineTo(hDC, lpSelectRect->left,
  7842.                            lpSelectRect->top);
  7843.                     SetROP2(hDC, OldROP);
  7844.                 break;
  7845.                 case SL_BLOCK:
  7846.                     PatBlt(hDC,
  7847.                         lpSelectRect->left, lpSelectRect->top,
  7848.                         lpSelectRect->right - lpSelectRect->left,
  7849.                         electRect->top,
  7850.                         DSTINVERT);
  7851.                 break;
  7852.             }
  7853.             ReleaseDC(hWnd, hDC);
  7854.         }
  7855.  
  7856.              Äτ¿ßΓ¬á "»á¡Ñ½∞¡«⌐" óδí«α¬¿ «º¡áτáÑΓ ÑÑ πñá½Ñ¡¿Ñ ß φ¬αá¡á.
  7857.         î«ª¡« πñ὿Γ∞ ÑÑ «τÑαΓá¡¿∩, α¿ßπ∩ »«óÑασ ¡ÑÑ »Ñα«¼ XOR. Äτ¿ßΓ¬á
  7858.         "í½«τ¡«⌐" óδí«α¬¿ «º¡áτáÑΓ ó«ßßΓá¡«ó½Ñ¡¿Ñ ¿¡óÑαΓ¿α«óá¡¡«⌐ τáßΓ¿
  7859.         φ¬αá¡á  ó  Ñú«  »Ñαó«¡áτá½∞¡«Ñ  ß«ßΓ«∩¡¿Ñ.  î«ª¡«  ó«ßßΓá¡«ó¿Γ∞
  7860.         ¿¡óÑαΓ¿α«óá¡¡δ⌐ φ¬αá¡, ¿¡óÑαΓ¿απ∩ óßε óδí«α¬π.
  7861.                                                                                
  7862.                   20.6.2  æ«ºñá¡¿Ñ Σπ¡¬µ¿¿ ¿¡¿µ¿á½¿ºáµ¿¿.
  7863.  
  7864.              Select ¿ß»«½∞ºπÑΓ    ßΓá¡ñáαΓ¡πε    »α«µÑñπαπ    LibEntry,
  7865.         ß«ñÑαªáΘπεß∩ ó Σá⌐½Ñ LIBENTRY.OBJ. ¥Γá »α«µÑñπαá ó ßó«ε «τÑαÑñ∞
  7866.         óδºδóáÑΓ Σπ¡¬µ¿ε  ß ¿¼Ñ¡Ñ¼ LibMain,  «»αÑñѽѡ¿Ñ ¬«Γ«α«⌐ ñ«½ª¡«
  7867.         íδΓ∞ ó ¿ßσ«ñ¡«¼ ¬«ñÑ DLL  ¿  ¬«Γ«αá∩  óδ»«½¡∩ÑΓ  ¿¡¿µ¿á½¿ºáµ¿ε,
  7868.         ß»Ñµ¿Σ¿τ¡πε ñ½∩   ñá¡¡«⌐   í¿í½¿«ΓѬ¿.   Å«ß¬«½∞¬π   Select  ¡Ñ
  7869.         ΓαπíπÑΓß∩ ¿¡¿µ¿á½¿ºáµ¿∩, ¬α«¼Ñ óδ»«½¡∩Ѽ«⌐ LibEntry, Γ« LibMain
  7870.         »α«ßΓ« ó«ºóαáΘáÑΓ 1 ñ½∩ π¬áºá¡¿∩ πß»ÑΦ¡«ú« ºáóÑαΦÑ¡¿∩.  öπ¡¬µ¿∩
  7871.         LibMain ó í¿í½¿«ΓѬѠSelect «»αÑñѽѡá ß½ÑñπεΘ¿¼ «íαẫ¼:
  7872.  
  7873.              int FAR PASCAL LibMAin(hInstance,wDataSeg,cbHeapSize,
  7874.                                     lpszCmdLine)
  7875.              WORD wDataSeg;
  7876.              HANDLE hInstance;
  7877.              WORD cbHeaSize;
  7878.              LPSTR lpszCmdLine;
  7879.              {
  7880.                 return 1;
  7881.              }
  7882.                                                                                
  7883.                   20.6.3  æ«ºñá¡¿Ñ »α«µÑñπαδ ºáóÑαΦÑ¡¿∩.
  7884.  
  7885.              èᬠ¿ ½εíá∩ DLL, Select ñ«½ª¡á ¿¼ÑΓ∞ »α«µÑñπαπ ºáóÑαΦÑ¡¿∩,
  7886.         WEP. Å«ß¬«½∞¬π  Select ¡Ñ ΓαÑíπÑΓß∩ óδ»«½¡Ñ¡¿∩ ¡¿¬á¬¿σ «»Ñαᵿ⌐
  7887.         «τ¿ßΓ¬¿, Γ« »α«µÑñπαá WEP íπñÑΓ ¿¼ÑΓ∞ ß½ÑñπεΘ¿⌐ ó¿ñ:
  7888.  
  7889.  
  7890.        Windows 3.0/pg/3#3                                       = 150 =
  7891.  
  7892.              VOID FAR PASCAL WEP(nParameter);
  7893.              int nParameter;
  7894.              {
  7895.                 return;
  7896.              }
  7897.                                                                                
  7898.                  20.6.4  æ«ºñá¡¿Ñ Σá⌐½á «»αÑñѽѡ¿∩ ¼«ñπ½∩
  7899.  
  7900.              ä½∩ ¬«¼»«¡«ó¬¿ í¿í½¿«ΓѬ¿ Select ¡Ñ«íσ«ñ¿¼«  ß«ºñáΓ∞  Σá⌐½
  7901.         «»αÑñѽѡ¿∩ ¼«ñπ½∩, ß«ñÑαªáΘ¿⌐ ß½ÑñπεΘ¿Ñ «»ÑαáΓ«αδ:
  7902.  
  7903.              LIBRARY Select
  7904.              CODE MOVEABLE DISCARDABLE
  7905.              DATA SINGLE
  7906.              HEAPSIZE 1024
  7907.  
  7908.              EXPORTS
  7909.                  WEP             @1, RESIDENTNAME
  7910.                  StartSelection  @2
  7911.                  UpdateSelection @3
  7912.                  EndSelection    @4
  7913.                  ClearSelection  @5
  7914.  
  7915.              Å«ß¬«½∞¬π Σπ¡¬µ¿¿  óδí«α¬¿  ¡Ñ  ¿ß»«½∞ºπεΓ  ú½«íá½∞¡δσ ¿½¿
  7916.         ßΓáΓ¿τÑ߬¿σ »ÑαѼѡ¡δσ, ¿ ½«¬á½∞¡á∩ ñ¿¡á¼¿τÑ߬á∩ «í½áßΓ∞ »á¼∩Γ¿
  7917.         «ΓßπΓßΓóπÑΓ,  «»ÑαáΓ«α  DATA  ß»Ñµ¿Σ¿µ¿απÑΓ «ΓßπΓßΓó¿Ñ ßÑú¼Ñ¡Γá
  7918.         ñá¡¡δσ, á «»ÑαáΓ«α HEAPSIZE ¿ß»«½∞ºπÑΓß∩ ñ½∩ πßΓᡫ󬿠¡π½Ñó«ú«
  7919.         αẼÑαá ñ¿¡á¼¿τÑ߬«⌐ «í½áßΓ¿ »á¼∩Γ¿.
  7920.                                                                                
  7921.                     20.6.5  æ«ºñá¡¿Ñ ó¬½ετáѼ«ú« Σá⌐½á.
  7922.  
  7923.              ä½∩ í¿í½¿«ΓѬ¿  Select  ¡Ñ«íσ«ñ¿¼« ß«ºñáΓ∞ ó¬½ετáѼδ⌐ Σá⌐½
  7924.         select.h. ¥Γ«Γ Σá⌐½ ß«ñÑαª¿Γ «»αÑñѽѡ¿∩ ¬«¡ßΓá¡Γ, ¿ß»«½∞ºπѼδσ
  7925.         ó Σπ¡¬µ¿∩σ, á ΓᬪѠ«»αÑñѽѡ¿∩ Σπ¡¬µ¿⌐. é¬½ετáѼδ⌐ Σá⌐½ ñ«½ªÑ¡
  7926.         óδú½∩ñÑΓ∞ Γá¬:
  7927.  
  7928.         int  FAR  PASCAL  StartSelection(HWND,  POINT, LPRECT,  int);
  7929.         int  FAR  PASCAL  UpdateSelection(HWND,  POINT, LPRECT,  int);
  7930.         int FAR PASCAL EndSelection(POINT, LPRECT);
  7931.         int FAR PASCAL ClearSelection(HWND, LPRECT, int);
  7932.  
  7933.              ìÑ«íσ«ñ¿¼« ΓᬪѠ  ¿ß»«½∞º«óáΓ∞  φëà ó¬½ετáѼδ⌐  Σá⌐½  ó
  7934.         »α¿¬½áñ¡δσ »α«úαá¼¼áσ,  ¬«Γ«αδÑ ¿ß»«½∞ºπεΓ Σπ¡¬µ¿¿ óδí«α¬¿. ¥Γ«
  7935.         ñáßΓ πóÑαÑ¡¡«ßΓ∞ ó Γ«¼,  τΓ« ó Σπ¡¬µ¿∩σ ¿ß»«½∞ºπεΓß∩ »αáó¿½∞¡δÑ
  7936.         Γ¿»δ »áαá¼ÑΓα«ó ¿ ó«ºóαáΘáѼδσ º¡áτÑ¡¿⌐.
  7937.                                                                                
  7938.                      20.6.6  Æαá¡ß½∩µ¿∩ ¿ ¬«¼»«¡«ó¬á.
  7939.  
  7940.              ä½∩ Γαá¡ß½∩µ¿¿ ¿ ¬«¼»«¡«ó¬¿ í¿í½¿«ΓѬ¿  Select  ¡Ñ«íσ«ñ¿¼«
  7941.         ß«ºñáΓ∞ Σá⌐½ make ß½ÑñπεΘ¿¼ «íαẫ¼:
  7942.  
  7943.              select.obj: select.c select.h
  7944.                      cl -c -Asnw -Gsw -Os -Zp select.c
  7945.  
  7946.        Windows 3.0/pg/3#3                                       = 151 =
  7947.  
  7948.  
  7949.              select.dll: select.obj
  7950.                      link select  libentry,  select.dll,  ,  /NOD  /NOE
  7951.                      sdllcew libw, select.def
  7952.              rc select.dll
  7953.              implib select.lib select.def
  7954.  
  7955.              Å«ß½Ñ Γαá¡ß½∩µ¿¿  ¿  ¬«¼»«¡«ó¬¿  í¿í½¿«ΓѬ¿  Select  ¼«ª¡«
  7956.         ß«ºñáΓ∞ ¡Ñí«½∞Φπε ΓÑßΓ«óπε »α«úαá¼¼π ñ½∩ Γ«ú«,  τΓ«íδ πíÑñ¿Γ∞ß∩
  7957.         ó »αáó¿½∞¡«⌐ αáí«ΓÑ  í¿í½¿«ΓѬ¿.  Ä»¿ßá¡¿Ñ  »α«úαá¼¼δ,  ¬«Γ«αá∩
  7958.         ¿ß»«½∞ºπÑΓ Σπ¡¬µ¿¿ óδí«α¬¿,  óδ ¡á⌐ñÑΓÑ ó ú½áóÑ 11,  "ÉáßΓα«óδÑ
  7959.         ¬áαΓδ", ¿½¿ ó ú½áóÑ 13, "æ¿ßΓѼ¡δ⌐ íπΣÑα".
  7960.                                              20.7  çᬽετÑ¡¿Ñ.                 
  7961.  
  7962.              é ñá¡¡«⌐   ú½áóÑ    «»¿ßá¡δ    ñ¿¡á¼¿τÑ߬¿    »«ñ¬½ετáѼδÑ
  7963.         í¿í½¿«ΓѬ¿ (DLL),  ¬«Γ«αδÑ  »αÑñßΓáó½∩εΓ   ß«í«⌐   «ß«íδ⌐   Γ¿»
  7964.         í¿í½¿«ΓѬ,  »«ºó«½∩εΘ¿⌐  »α¿¬½áñ¡δ¼  »α«úαἼἠαáºñѽ∩Γ∞ ¬«ñ ¿
  7965.         αÑßπαßδ. ìá»α¿¼Ñα,  í¿í½¿«ΓѬ¿   Windows   ñѽáεΓ   ñ½∩   ½εí«⌐
  7966.         »α¿¬½áñ¡«⌐  »α«úαá¼¼δ ñ«ßΓπ»¡δ¼¿ Σπ¡¬µ¿¿ Windows,  ¿ »α¿¬½áñ¡δÑ
  7967.         »α«úαá¼¼δ Γᬿ¼ «íαẫ¼ ¡Ñ ñ«½ª¡δ ß«ñÑαªáΓ∞ ¬«ñ  φΓ¿σ  Σπ¡¬µ¿⌐.
  7968.         éδ ¼«ªÑΓÑ ß«ºñáΓ∞ ßó«¿ ß«íßΓóÑ¡¡δÑ í¿í½¿«ΓѬ¿,  τΓ«íδ αáºñѽ∩Γ∞
  7969.         ¬«ñ ¿½¿ αÑßπαßδ ¼Ñªñπ óáΦ¿¼¿ »α¿¬½áñ¡δ¼¿ »α«úαἼἿ.
  7970.  
  7971.              Åα¿ ¿ß»«½∞º«óá¡¿¿   ßΓáΓ¿τÑ߬¿σ   í¿í½¿«ΓѬ   (Γá¬¿σ   ¬á¬
  7972.         MLIBCEW.LIB) ¬«¼»«¡«óΘ¿¬  ¬«»¿απÑΓ  ¬«ñ  ΓαÑíπѼδσ   »α¿¬½áñ¡«⌐
  7973.         »α«úαἼѠΣπ¡¬µ¿⌐ ó  óδ»«½¡∩Ѽδ⌐  Σá⌐½  (.EXE).  ìá»α«Γ¿ó,  »α¿
  7974.         ¿ß»«½∞º«óá¡¿¿ ñ¿¡á¼¿τÑ߬¿σ  í¿í½¿«ΓѬ  ñóÑ ¿½¿ í«½ÑÑ »α¿¬½áñ¡δÑ
  7975.         »α«úαá¼¼δ ¼«úπΓ αáºñѽ∩Γ∞  Ññ¿¡ßΓóÑ¡¡πε  ¬«»¿ε  ¿ßσ«ñ¡«ú«  ¬«ñá
  7976.         »α«µÑñπαδ.  Åਪ½áñ¡δÑ  »α«úαá¼¼δ  »«ñß«Ññ¿¡∩εΓ  DLL  ó«  óαѼ∩
  7977.         óδ»«½¡Ñ¡¿∩, á ¡Ñ ó« óαѼ∩ ¬«¼»«¡«ó¬¿.
  7978.  
  7979.              Äíδτ¡« DLL  ¿ß»«½∞ºπεΓ  ñ½∩  ß«ºñá¡¿∩  ß«íßΓóÑ¡¡δσ  í½«¬«ó
  7980.         π»αáó½Ñ¡¿∩. éáΦá »α¿¬½áñ¡á∩ »α«úαἼᠼ«ªÑΓ ºáΓѼ  ¿ß»«½∞º«óáΓ∞
  7981.         φΓ¿ í½«¬¿  π»αáó½Ñ¡¿∩,  ¿  óδ  ¼«ªÑΓÑ ¿σ ó¬½ετáΓ∞ ó ßó«¿ »á¡Ñ½¿
  7982.         ñ¿á½«úá ß »«¼«Θ∞ε Dialog Editor.
  7983.  
  7984.              ä«»«½¡¿Γѽ∞¡πε ¿¡Σ«α¼áµ¿ε    »«     »«ó«ñπ     ñ¿¡á¼¿τÑ߬¿
  7985.         »«ñ¬½ετáѼδσ í¿í½¿«ΓѬ  óδ ¼«ªÑΓÑ »«½πτ¿Γ∞ ó:
  7986.  
  7987.         Éáºñѽ               Éπ¬«ó«ñßΓó«
  7988.         ───────────────────────────────────────────────────────────────
  7989.         æ»Ñµ¿á½∞¡δÑ ß«ú½á-   Éπ¬«ó«ñßΓó« »α«úαá¼¼¿ßΓá, ú½áóá 14, "ƒºδ¬
  7990.         ΦÑ¡¿∩ »« ß«ºñá¡¿ε    æ ¿ ∩ºδ¬ áßßѼí½Ñαá".
  7991.         DLL ¡á æ
  7992.  
  7993.         ô»αáó½Ñ¡¿Ñ »á¼∩Γ∞ε   Éπ¬«ó«ñßΓó« »α«úαá¼¼¿ßΓá, ú½áóá 16, "àΘÑ
  7994.         ó DLL                «í π»αáó½Ñ¡¿¿ »á¼∩Γ∞ε".
  7995.  
  7996.         è«¼»«¡«ó¬á ¿ ¿¼»«α-  "Tools", ú½áóá 2, "諼»«¡«óΘ¿¬: ¬«¼»«¡«ó¬á
  7997.         Γ¿α«óá¡¿Ñ DLL        »α¿¬½áñ¡δσ »α«úαá¼¼".
  7998.  
  7999.         ôßΓá¡«ó¬á ß«íßΓóÑ¡-  "Tools", ú½áóá 5, "Dialog Editor: æ«ºñá¡¿Ñ
  8000.  
  8001.        Windows 3.0/pg/3#3                                       = 152 =
  8002.  
  8003.         ¡δσ í½«¬«ó π»αáó½Ñ-  »á¡Ñ½Ñ⌐ ñ¿á½«úá".
  8004.         ¡¿∩ ß »«¼«Θ∞ε Dialog
  8005.         Editor
  8006.                            â½áóá 21. ê¡ΓÑαΣÑ⌐ß ¼¡«ªÑßΓóá ñ«¬π¼Ñ¡Γ«ó.           
  8007.  
  8008.              ê¡ΓÑαΣÑ⌐ß ¼¡«ªÑßΓóá   ñ«¬π¼Ñ¡Γ«ó   (MDI)  -  φΓ«  ßΓá¡ñáαΓ
  8009.         »«½∞º«óáΓѽ∞߬«ú« ¿¡ΓÑαΣÑ⌐ßá     ñ½∩     ¼á¡¿»π½¿α«óá¡¿∩      ¿
  8010.         »αÑñßΓáó½Ñ¡¿∩ ¡Ñ߬«½∞¬¿σ    ñ«¬π¼Ñ¡Γ«ó   ó   «ñ¡«⌐   »α¿¬½áñ¡«⌐
  8011.         »α«úαá¼¼Ñ. Åਪ½áñ¡δÑ »α«úαá¼¼δ,  ¿ß»«½∞ºπεΘ¿Ñ MDI,  ¿¼ÑεΓ «ñ¡«
  8012.         «ß¡«ó¡«Ñ  «¬¡«,  ó¡πΓα¿ ¬«Γ«α«ú« »«½∞º«óáΓѽ∞ ¼«ªÑΓ «Γ¬αδóáΓ∞ ¿
  8013.         αáí«ΓáΓ∞   ß   ¡Ñ߬«½∞¬¿¼¿   ñ«¬π¼Ñ¡ΓἿ.    èáªñδ⌐    ñ«¬π¼Ñ¡Γ
  8014.         »αÑñßΓáó½∩ÑΓß∩ ß«íßΓóÑ¡¡δ¼ ñ«τÑα¡¿¼ «¬¡«¼. èáªñ«Ñ ñ«τÑα¡ÑÑ «¬¡«
  8015.         ¿¼ÑÑΓ ΣαÑ⌐¼, ß¿ßΓѼ¡«Ñ ¼Ñ¡ε, ¬½áó¿Φ¿ ¼á¬ß¿¼¿ºáµ¿¿ ¿ ¼¿¡¿¼¿ºáµ¿¿
  8016.         ¿ ¿¬«¡π. Å«½∞º«óáΓѽ∞ ¼«ªÑΓ «íαáΘáΓ∞ß∩ ß φΓ¿¼¿ ñ«τÑα¡¿¼¿ «¬¡á¼¿
  8017.         ¬á¬ ß «íδτ¡δ¼¿ ¡Ñºáó¿ß¿¼δ¼¿ «¬¡á¼¿,  ºá ¿ß¬½ετÑ¡¿Ñ¼  Γ«ú«,  τΓ«
  8018.         «¡¿ ¡Ñ ¼«úπΓ óδσ«ñ¿Γ∞ ºá »αÑñѽδ α«ñ¿Γѽ∞߬«ú« «¬¡á.
  8019.  
  8020.              é ñá¡¡«⌐ ú½áóÑ »α¿óÑñÑ¡á ß½ÑñπεΘá∩ ¿¡Σ«α¼áµ¿∩:
  8021.  
  8022.              - æΓαπ¬Γπαá »α¿¬½áñ¡«⌐ »α«úαá¼¼δ, ¿ß»«½∞ºπεΘá∩ MDI.
  8023.  
  8024.              - ìỿßá¡¿Ñ    »α«µÑñπα    ñ½∩    »α¿¬½áñ¡«⌐    »α«úαá¼¼δ,
  8025.                ¿ß»«½∞ºπεΘÑ⌐ MDI.
  8026.  
  8027.              - ô»αáó½Ñ¡¿Ñ   ñ«τÑα¡¿¼¿   «¬¡á¼¿   »α¿¬½áñ¡«⌐  »α«úαá¼¼δ,
  8028.                ¿ß»«½∞ºπεΘÑ⌐ MDI.
  8029.  
  8030.              é ñá¡¡«⌐ ú½áóÑ ó ¬áτÑßΓóÑ »α¿¼Ñαá  ¿ß»«½∞ºπÑΓß∩  ΓѬßΓ«óδ⌐
  8031.         αÑñá¬Γ«α Multipad - »«ßΓáó½∩Ѽδ⌐ ¡á  ñ¿ß¬Ñ  SDK  Sample  Source
  8032.         Code Disk.  Multipad φΓ« óÑαß¿∩ Notepad,  ¿ß»«½∞ºπεΘá∩ MDI.  (é
  8033.         ñÑ⌐ßΓó¿Γѽ∞¡«ßΓ¿ Multipad ¿ß»«½∞ºπÑΓß∩ ó ¬áτÑßΓóÑ  »α¿¼Ñαá  ñ½∩
  8034.         ¡Ñ߬«½∞¬¿σ ú½áó ñá¡¡«ú« απ¬«ó«ñßΓóá. é ñá¡¡«⌐ ú½áóÑ «íßπªñáÑΓß∩
  8035.         Γ«½∞¬« Γá τáßΓ∞ Multipad, ¬«Γ«αá∩ «Γ¡«ß¿Γß∩ ¬ MDI).
  8036.                  21.1  æΓαπ¬Γπαá »α¿¬½áñ¡«⌐ »α«úαá¼¼δ, ¿ß»«½∞ºπεΘÑ⌐ MDI.       
  8037.  
  8038.              èᬠ¿ í«½∞Φ¿¡ßΓó« »α¿¬½áñ¡δσ »α«úαá¼¼ Windows,  »α¿¬½áñ¡δÑ
  8039.         »α«úαá¼¼δ, ¿ß»«½∞ºπεΘ¿Ñ, MDI ß«ñÑαªáΓ µ¿¬½ «íαáí«Γ¬¿ ß««íΘÑ¡¿⌐,
  8040.         ¬«Γ«αδ⌐ αáßßδ½áÑΓ ß««íΘÑ¡¿∩ «¬¡á¼ ñá¡¡«⌐ »α¿¬½áñ¡«⌐  »α«úαá¼¼δ.
  8041.         û¿¬½ «íαáí«Γ¬¿ ß««íΘÑ¡¿⌐ »α«úαá¼¼, ¿ß»«½∞ºπεΘ¿σ MDI, á¡á½«ú¿τÑ¡
  8042.         µ¿¬½π  «íαáí«Γ¬¿  ß««íΘÑ¡¿⌐  «íδτ¡δσ   »α«úαá¼¼   Windows,   ºá
  8043.         ¿ß¬½ετÑ¡¿Ñ¼  Γ«ú«,  ¬á¬  ó ¡Ñ¼ »α«¿ßσ«ñ¿Γ «íαáí«Γ¬á π߬«α¿ΓѽÑ⌐
  8044.         ¼Ñ¡ε.
  8045.  
  8046.              Äß¡«ó¡«Ñ «¬¡«   »α«úαá¼¼δ,  ¿ß»«½∞ºπεΘÑ⌐  MDI,  á¡á½«ú¿τ¡«
  8047.         «ß¡«ó¡«¼π «¬¡π  í«½∞Φ¿¡ßΓóá  »α«úαá¼¼  Windows.  é  »α«úαá¼¼áσ,
  8048.         ¿ß»«½∞ºπεΘ¿σ MDI,  «ß¡«ó¡«Ñ  «¬¡« ¡áºδóáÑΓß∩ «¬¡«¼ ΣαÑ⌐¼á.  Ä¡«
  8049.         «Γ½¿τáÑΓß∩ «Γ  «íδτ¡δσ  «¬«¡  »α«úαá¼¼  Windows  ΓѼ,  τΓ«  Ñú«
  8050.         «í½áßΓ∞ »«½∞º«óáΓѽ∩ ºá»«½¡∩ÑΓß∩ ß»Ñµ¿á½∞¡δ¼¿ ñ«τÑα¡¿¼¿ «¬¡á¼¿,
  8051.         ¡áºδóáÑ¼δ¼¿ «¬¡á¼¿ »«½∞º«óáΓѽ∩. Å«ß¬«½∞¬π Windows »«ññÑনóáÑΓ
  8052.         «¬¡á »«½∞º«óáΓѽ∩    ¿    π»αáó½∩ÑΓ    ¿¡ΓÑαΣÑ⌐ß«¼    MDI,   Γ«
  8053.         »«½∞º«óáΓѽ∞߬«⌐ »α¿¬½áñ¡«⌐   »α«úαἼѠ   ¡Ñ«íσ«ñ¿¼    ¼¿¡¿¼π¼
  8054.  
  8055.        Windows 3.0/pg/3#3                                       = 153 =
  8056.  
  8057.         ¿¡Σ«α¼áµ¿¿ «  »«½∞º«óáΓѽ∞߬«¼  ¿¡ΓÑαΣÑ⌐ßÑ  MDI.  (æ φΓ«⌐ Γ«τ¬¿
  8058.         ºαÑ¡¿∩ «¬¡«  »«½∞º«óáΓѽ∩  MDI  á¡á½«ú¿τ¡«  í½«¬π   π»αáó½Ñ¡¿∩,
  8059.         Γᬫ¼π ¬á¬   ¬½áó¿Φá  πßΓá¡«ó¬¿.  ¥Γ«  «¬¡«  ¿¼ÑÑΓ  ßΓá¡ñáαΓ¡«Ñ
  8060.         »«óÑñÑ¡¿Ñ, ¬«Γ«α«Ñ Windows «»αÑñѽ∩ÑΓ áóΓ«¼áΓ¿τÑ߬¿. Åਪ½áñ¡á∩
  8061.         »α«úαἼᠼ«ªÑΓ  ¿ß»«½∞º«óáΓ∞  «¬¡á »«½∞º«óáΓѽ∩ MDI,  ¡« Ñ⌐ ¡Ñ
  8062.         ¡πª¡« «»αÑñѽ∩Γ∞ Ñú« ó¿ñ ¿ »«óÑñÑ¡¿Ñ.)
  8063.  
  8064.              æ ó¿ñπ    «¬¡«   »«½∞º«óáΓѽ∩   MDI   ¡á»«¼¿¡áÑΓ   í«½∞Φ«⌐
  8065.         ¼«¡«σα«¼¡δ⌐ »α∩¼«πú«½∞¡¿¬.   ä½∩    »«½∞º«óáΓѽ∩    φΓ«    «¬¡«
  8066.         »αÑñßΓáó½∩ÑΓ ß«í«⌐ τáßΓ∞ «ß¡«ó¡«ú« «¬¡á,  «¡« ñáÑàëàӫ¡,  ¡á
  8067.         ¬«Γ«α«¼ «Γ«íαáªáεΓß∩ ñ«τÑα¡¿Ñ «¬¡á. Äíδτ¡« »α¿¬½áñ¡á∩ »α«úαá¼¼á
  8068.         ¡á ¬áªñδ⌐ ñ«¬π¼Ñ¡Γ «»αÑñѽ∩Γ »« «ñ¡«¼π ñ«τÑα¡Ñ¼π «¬¡π. ä«τÑα¡¿Ñ
  8069.         «¬¡á MDI óδú½∩ñ∩Γ «τÑ¡∞ »«σ«ªÑ  ¡á  «ß¡«ó¡«Ñ  «¬¡«.  Ä¡¿  ¿¼ÑεΓ
  8070.         ΣαÑ⌐¼   «¬¡á,   ßΓ᫬𠠠ºáú«½«ó¬á,   ¬½áó¿Φ¿   ¼¿¡¿¼¿ºáµ¿¿   ¿
  8071.         ¼á¬ß¿¼¿ºáµ¿¿.  Äß¡«ó¡δ¼ «Γ½¿τ¿Ñ¼ ∩ó½∩ÑΓß∩ Γ«, τΓ« ñ«τÑα¡¿Ñ «¬¡á
  8072.         ß«ñÑαªáΓ  «Γñѽ∞¡δÑ ñ«¬π¼Ñ¡Γδ,  ¿ τΓ« «¡¿ ¡Ñ ¼«úπΓ »ÑαѼÑΘáΓ∞ß∩
  8073.         ó¡Ñ «ß¡«ó¡«ú« «¬¡á.
  8074.  
  8075.              ìá α¿ßπ¡¬Ñ 21.1 »«¬áºá¡ ó¿ñ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ Multipad,
  8076.         ¬«Γ«αá∩ ∩ó½∩ÑΓß∩ Γ¿»¿τ¡«⌐ »α«úαá¼¼«⌐, ¿ß»«½∞ºπεΘÑ⌐ MDI.
  8077.  
  8078.              É¿ßπ¡«¬ 21.1 Multipad: »α¿¼Ñα »α«úαá¼¼δ, ¿ß»«½∞ºπεΘÑ⌐ MDI.
  8079.              1. Ä¬¡« ΣαÑ⌐¼á.
  8080.              2. Äí½áßΓ∞ »«½∞º«óáΓѽ∩.
  8081.              3. ä«τÑα¡¿Ñ «¬¡á.
  8082.  
  8083.              é «ß¡«ó¡«¼,  »α¿¬½áñ¡á∩  »α«úαἼᠠπ»αáó½∩ÑΓ  ¿¡ΓÑαΣÑ⌐ß«¼
  8084.         MDI, »«ßδ½á∩ ß««íΘÑ¡¿∩ óóÑασ ¿½¿ ó¡¿º  »«  ¿Ñαáασ¿¿  «¬«¡  MDI.
  8085.         Ä¬¡á »«½∞º«óáΓѽ∩  MDI,  ¬«Γ«α묨 π»αáó½∩ÑΓ Windows,  óδ»«½¡∩εΓ
  8086.         ¼¡«ú¿Ñ «»Ñαᵿ¿, «Γ¡«ß∩Θ¿Ñß∩ ¬ »α¿¬½áñ¡«⌐ »α«úαá¼¼Ñ.
  8087.  
  8088.              ÄßΓáóΦá∩ß∩ τáßΓ∞ ñá¡¡«⌐ ú½áóδ »«ßó∩Θѡᠫ»¿ßá¡¿ε Γ«ú«, ¬á¬
  8089.         »¿ßáΓ∞ »α¿¬½áñ¡δÑ   »α«úαá¼¼δ,  ¿ß»«½∞ºπεΘ¿Ñ  MDI,  ¿  ¬á¬  ñ½∩
  8090.         π»αáó½Ñ¡¿∩ ñ«τÑα¡¿¼¿ «¬¡á¼¿ MDI ¿ß»«½∞º«óáΓ∞ ß««íΘÑ¡¿∩.
  8091.                                                                                
  8092.         21.2  ê¡¿µ¿á½¿ºáµ¿∩ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ, ¿ß»«½∞ºπεΘÑ⌐ MDI.
  8093.  
  8094.              ÅÑαó«Ñ, τѼ  »α¿¬½áñ¡δÑ   »α«úαá¼¼δ,   ¿ß»«½∞ºπεΘ¿Ñ   MDI,
  8095.         «Γ½¿τáεΓß∩ «Γ   «ßΓá½∞¡δσ   »α«úαá¼¼   Windows,   φΓ«   »α«µÑßß
  8096.         ¿¡¿µ¿á½¿ºáµ¿¿. ò«Γ∩    ó    «ß¡«ó¡«¼    »α«µÑßß   ¿¡¿µ¿á½¿ºáµ¿¿
  8097.         á¡á½«ú¿τÑ¡, ñ½∩   »α¿¬½áñ¡δσ   »α«úαá¼¼,   ¿ß»«½∞ºπεΘ¿σ    MDI,
  8098.         ΓαÑíπÑΓß∩  πßΓá¡«ó¿Γ∞  ¡Ñ߬«½∞¬«  º¡áτÑ¡¿⌐  ó  ßΓαπ¬ΓπαÑ ¬½áßßá
  8099.         «¬¡á.
  8100.  
  8101.              ä½∩ ¿¡¿µ¿á½¿ºáµ¿¿ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ,  ¿ß»«½∞ºπεΘÑ⌐ MDI,
  8102.         óδ ñ«½ª¡δ ó¡áτá½Ñ ºáαÑú¿ßΓα¿α«óáΓ∞ ¬½áßßδ «¬«¡ (Ñß½¿ φΓ« »Ñαóδ⌐
  8103.         φ¬ºÑ¼»½∩α »α«úαá¼¼δ) Γᬠ ªÑ,  ¬á¬  ¿  ñ½∩  «íδτ¡«⌐  »α¿¬½áñ¡«⌐
  8104.         »α«úαá¼¼δ  Windows.  çáΓѼ  óδ  ß«ºñáÑΓÑ  ¿  «Γ«íαáªáÑΓÑ  «¬¡á,
  8105.         ¬«Γ«αδÑ ñ«½ª¡δ íδΓ∞ ó¿ñ¡δ.
  8106.                                  21.2.1  ÉÑú¿ßΓαᵿ∩ ¬½áß߫󠫬«¡.             
  8107.  
  8108.              é «ß¡«ó¡«¼ ñ½∩  »α¿¬½áñ¡«⌐  »α«úαá¼¼δ,  ¿ß»«½∞ºπεΘÑ⌐  MDI,
  8109.  
  8110.        Windows 3.0/pg/3#3                                       = 154 =
  8111.  
  8112.         ΓαÑíπÑΓß∩ ºáαÑú¿ßΓα¿α«óáΓ∞ ñóá ¬½áßßá «¬«¡:
  8113.  
  8114.              - è½áßß ñ½∩ «¬¡á ΣαÑ⌐¼á »α¿¬½áñ¡«⌐ »α«úαá¼¼δ, ¿ß»«½∞ºπεΘÑ⌐
  8115.                MDI. æΓαπ¬Γπαá  ñ½∩  αÑú¿ßΓαᵿ¿  ¬½áßßá   «¬¡á   ΣαÑ⌐¼á
  8116.                á¡á½«ú¿τ¡« ßΓαπ¬ΓπαÑ  αÑú¿ßΓαᵿ¿  ¬½áßßá «ß¡«ó¡«ú« «¬¡á
  8117.                »α¿¬½áñ¡«⌐ »α«úαá¼¼δ Windows, ¡Ñ ¿ß»«½∞ºπεÑΘ⌐ MDI.
  8118.  
  8119.              - è½áßß  «¬¡á  ñ½∩  ñ«τÑα¡¿σ  «¬«¡  »α¿¬½áñ¡«⌐  »α«úαá¼¼δ,
  8120.                ¿ß»«½∞ºπεΘÑ⌐ MDI. æΓαπ¬Γπαá αÑú¿ßΓαᵿ¿ ¬½áßßá ñ½∩ Γᬿσ
  8121.                «¬«¡ ¡Ñ߬«½∞¬«  «Γ½¿τáÑΓß∩  «Γ   ßΓαπ¬Γπαδ   αÑú¿ßΓαᵿ¿
  8122.                ¬½áßßá ñ½∩ «íδτ¡δσ ñ«τÑα¡¿σ «¬«¡.
  8123.  
  8124.                Åਪ½áñ¡á∩ »α«úαἼᠠ¼«ªÑΓ  ¿¼ÑΓ∞  í«½∞ΦÑ «ñ¡«ú« ¬½áßßá
  8125.                ñ«τÑα¡¿σ «¬«¡ MDI, Ñß½¿ »α«úαá¼¼á αáí«ΓáÑΓ ß ¡Ñ߬«½∞¬¿¼¿
  8126.                Γ¿»á¼¿ ñ«¬π¼Ñ¡Γ«ó.
  8127.  
  8128.              çá¼ÑΓ¿¼, τΓ«  »α¿¬½áñ¡á∩  »α«úαἼᠠ¡Ñ αÑú¿ßΓα¿απÑΓ ¬½áßß
  8129.         «¬«¡ - »«½∞º«óáΓѽÑ⌐ MDI, ¬«Γ«αδ⌐ «»αÑñѽ∩ÑΓß∩ Windows.
  8130.  
  8131.              æΓαπ¬Γπαá ¬½áßßá   ñ½∩   ñ«τÑα¡¿σ   «¬«¡   MDI   ¡Ñ߬«½∞¬«
  8132.         «Γ½¿τáÑΓß∩ «Γ  ßΓαπ¬Γπαδ  ¬½áßßá  ñ½∩  «íδτ¡δσ  ñ«τÑα¡¿σ «¬«¡ ó
  8133.         ß½ÑñπεΘѼ:
  8134.  
  8135.              - æΓαπ¬Γπαá  ¬½áßßá  ñ«½ª¡á  «»αÑñѽ∩Γ∞  ¿¬«¡π,  »«ß¬«½∞¬π
  8136.                »«½∞º«óáΓѽ∞ ¼«ªÑΓ ¼¿¡¿¼¿º¿α«óáΓ∞ ñ«τÑα¡ÑÑ «¬¡« MDI.
  8137.  
  8138.              - ê¼∩  ¼Ñ¡ε ñ«½ª¡« íδΓ∞ NULL,  »«ß¬«½∞¬π ñ«τÑα¡ÑÑ «¬¡« MDI
  8139.                ¡Ñ ¼«ªÑΓ ¿¼ÑΓ∞ ß«íßΓóÑ¡¡«ú« ¼Ñ¡ε.
  8140.  
  8141.              - æΓαπ¬Γπαá  ¬½áßßá  ñ«½ª¡á  αѺÑαó¿α«óáΓ∞  ñ«»«½¡¿Γѽ∞¡πε
  8142.                »á¼∩Γ∞ ó   ßΓαπ¬ΓπαÑ   «¬¡á.  ¥Γ«  »«ºó«½∩ÑΓ  »α¿¬½áñ¡«⌐
  8143.                »α«úαἼѠßó∩ºδóáΓ∞   ß   «¬¡«¼   «»αÑñѽѡ¡δÑ   ñá¡¡δÑ,
  8144.                ¡á»α¿¼Ñα, ¿¼∩ Σá⌐½á.
  8145.  
  8146.              é »α¿¬½áñ¡«⌐ »α«úαἼѠMultipad,  ¬½áßßδ «¬«¡ αÑú¿ßΓα¿απÑΓ
  8147.         ½«¬á½∞¡« «»αÑñѽѡ¡á∩ Σπ¡¬µ¿∩ InitializeApplication.
  8148.                                          21.2.2  æ«ºñá¡¿Ñ «¬«¡.                
  8149.  
  8150.              Å«ß½Ñ αÑú¿ßΓαᵿ¿ ¬½áß߫󠫬«¡ óáΦá  »α¿¬½áñ¡á∩  »α«úαá¼¼á
  8151.         ¼«ªÑΓ ß«ºñáΓ∞ ß«íßΓóÑ¡¡δÑ «¬¡á. Ä¡á ß¡áτá½á ß«ºñáÑΓ «¬¡« ΣαÑ⌐¼á
  8152.         ß  »«¼«Θ∞ε  Σπ¡¬µ¿¿   CreateWindow.   (é   System   Application
  8153.         Architecture,  Common  User  Access:  Advanced Interface Design
  8154.         Guide «»¿ßá¡«,  ¬á¬ ñ«½ª¡« óδú½∩ñÑΓ∞ «ß¡«ó¡«Ñ  «¬¡«  »α«úαá¼¼δ,
  8155.         ¿ß»«½∞ºπεΘÑ⌐ MDI).
  8156.  
  8157.              Å«ß½Ñ ß«ºñá¡¿∩  «¬¡á  ΣαÑ⌐¼á  »α¿¬½áñ¡á∩  »α«úαἼᠠ¼«ªÑΓ
  8158.         ß«ºñáΓ∞  ÑÑ   «¬¡á   »«½∞º«óáΓѽ∩   MDI   ß   »«¼«Θ∞ε   Σπ¡¬µ¿¿
  8159.         CreateWindow.   é  ¬áτÑßΓóÑ  ¿¼Ñ¡¿  ¬½áßßá  óδ  ñ«½ª¡δ  π¬áºáΓ∞
  8160.         MDICLIENT. MDICLIENT - φΓ« »αÑñ«»αÑñѽѡ¡δ⌐ ¬½áßß «¬¡á, ¬«Γ«αδ⌐
  8161.         αÑú¿ßΓα¿απÑΓ  Windows.  Åáαá¼ÑΓα  lParam  Σπ¡¬µ¿¿  CreateWindow
  8162.         ñ«½ªÑ¡ π¬áºδóáΓ∞  ¡á  ßΓαπ¬Γπαπ  CLIENTCREATESTRUCT.  æΓαπ¬Γπαá
  8163.         CLIENTCREATESTRUCT ß«ñÑαª¿Γ ß½ÑñπεΘ¿Ñ »«½∩:
  8164.  
  8165.        Windows 3.0/pg/3#3                                       = 155 =
  8166.  
  8167.  
  8168.         Å«½Ñ             Ä»¿ßá¡¿Ñ
  8169.         ───────────────────────────────────────────────────────────────
  8170.         hWindowMenu      äÑß¬α¿»Γ«α ¡á¬½áñδóáѼ«ú« ¼Ñ¡ε, ¿ß»«½∞ºπѼ«ú«
  8171.                          ñ½∩ π»αáó½Ñ¡¿∩ ñ«τÑα¡¿¼ «¬¡«¼ MDI.
  8172.  
  8173.                          Å«ß½Ñ ß«ºñá¡¿∩   ñ«τÑα¡Ñú«   «¬¡á   »α¿¬½áñ¡á∩
  8174.                          »α«úαἼᠠ¼«ªÑΓ  ñ«íáó¿Γ∞  ºáú«½«ó¬¿ ñ«τÑα¡¿σ
  8175.                          «¬«¡ ó  ¬áτÑßΓóÑ  φ½Ñ¼Ñ¡Γ«ó  ¬  ¡á¬½áñδóáѼ«¼π
  8176.                          ¼Ñ¡ε.  Å«½∞º«óáΓѽ∞ ¼«ªÑΓ ºáΓѼ á¬Γ¿ó¿º¿α«óáΓ∞
  8177.                          ñ«τÑα¡ÑÑ «¬¡«,  óδíαáó ß««ΓóÑΓßΓóπεΘ¿⌐ φ½Ñ¼Ñ¡Γ
  8178.                          ó ¼Ñ¡ε. Multipad »«¼ÑΘáÑΓ φΓ¿ ºáú«½«ó¬¿ ó ¼Ñ¡ε
  8179.                          "Window" ¿     »«½πτáÑΓ     ñÑß¬α¿»Γ«α     ñ½∩
  8180.                          ¡á¬½áñδóáѼ«ú«   »«ñ¼Ñ¡ε   ß  »«¼«Θ∞ε  Σπ¡¬µ¿¿
  8181.                          GetSubMenu.
  8182.  
  8183.         idFirstChild     ¥Γ« ¿ñÑ¡Γ¿Σ¿¬áΓ«α »Ñαó«ú« ñ«τÑα¡Ñú« «¬¡á MDI.
  8184.  
  8185.                          ÅÑαó«Ñ ñ«τÑα¡ÑÑ  «¬¡«   MDI   »«½πτ¿Γ   ñá¡¡δ⌐
  8186.                          ¿ñÑ¡Γ¿Σ¿¬áΓ«α. æ½ÑñπεΘ¿Ñ  ß«ºñáóáѼδÑ ñ«τÑα¡¿Ñ
  8187.                          «¬¡á »«½πτáΓ  ß½ÑñπεΘ¿Ñ  ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ.   Åα¿
  8188.                          πñá½Ñ¡¿¿ ñ«τÑα¡Ñú«  «¬¡á Windows áóΓ«¼áΓ¿τÑ߬¿
  8189.                          »ÑαѡạáτáÑΓ ¿σ      ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ       ñ½∩
  8190.                          »«ññÑαªá¡¿∩ ¿σ ñ«»πßΓ¿¼«ßΓ¿.
  8191.         ───────────────────────────────────────────────────────────────
  8192.  
  8193.              è«úñá ºáú«½«ó«¬ ñ«τÑα¡Ñú« «¬¡á ñ«íáó½∩ÑΓß∩  ¬  ¼Ñ¡ε  «¬¡á,
  8194.         φ½Ñ¼Ñ¡Γπ ¼Ñ¡ε  »α¿ßóá¿óáÑΓß∩ ¿ñÑ¡Γ¿Σ¿¬áΓ«α ñ«τÑα¡Ñú« «¬¡á,  τΓ«
  8195.         «º¡áτáÑΓ, τΓ« «¬¡« ΣαÑ⌐¼á »«½πτ¿Γ ß««íΘÑ¡¿Ñ WM_COMMAND ß  ΓαѼ∩
  8196.         ¿ñÑ¡Γ¿Σ¿¬áΓ«αἿ ó     lParam.    Æá¬¿¼    «íαẫ¼,    º¡áτÑ¡¿Ñ
  8197.         ¿ñÑ¡Γ¿Σ¿¬áΓ«αá ñ½∩ ñ«τÑα¡¿σ «¬«¡ ¡Ñ«íσ«ñ¿¼« óδí¿αáΓ∞ Γá¬, τΓ«íδ
  8198.         «¡«  ¡Ñ  ¬«¡Σ½¿¬Γ«óὫ  ß  ¿ñÑ¡Γ¿Σ¿¬áΓ«αἿ φ½Ñ¼Ñ¡Γ«ó ¼Ñ¡ε «¬¡á
  8199.         ΣαÑ⌐¼á.
  8200.  
  8201.              Ä¬¡« »«½∞º«óáΓѽ∩ MDI ß«ºñáÑΓß∩ ß  Γ¿»«¼  WS_CLIPCHILDREN,
  8202.         »«ß¬«½∞¬π «¬¡« ¡Ñ ñ«½ª¡« α¿ß«óáΓ∞ »«óÑασ ñ«τÑα¡¿σ «¬«¡.
  8203.  
  8204.              ï«¬á½∞¡« «»αÑñѽѡ¡á∩ Σπ¡¬µ¿∩ InitializeInstance »α«úαá¼¼δ
  8205.         Multipad ß«ºñáÑΓ «¬¡« ΣαÑ⌐¼á MDI Multipad.  Äñ¡á¬« Multipad  ¡Ñ
  8206.         ß«ºñáÑΓ  ñ«τÑα¡¿Ñ  «¬¡á  MDI  ó  ñá¡¡«⌐  Γ«τ¬Ñ.  é¼ÑßΓ«  φΓ«ú«,
  8207.         ß«ºñá¡¿Ñ φΓ¿σ «¬«¡ óδ»«½¡∩ÑΓß∩ ó ¬áτÑßΓóÑ  «íαáí«Γ¬¿  ß««íΘÑ¡¿∩
  8208.         WM_CREATE   «¬¡á   ΣαÑ⌐¼á.   Multipad   «íαáíáΓδóáÑΓ  ß««íΘÑ¡¿Ñ
  8209.         WM_CREATE ó Σπ¡¬µ¿¿ MPFrameWndProc.  Å«ß½Ñ ß«ºñá¡¿∩ «¬¡á ΣαÑ⌐¼á
  8210.         ¿  «¬«¡  »«½∞º«óáΓѽÑ⌐  MDI,  Multipad óδ»«½¡∩ÑΓ ñ«»«½¡¿Γѽ∞¡πε
  8211.         ¿¡¿µ¿á½¿ºáµ¿ε, Γá¬πε ¬á¬ »α«óÑα¬á ñαá⌐óÑαá »α¿¡ΓÑαá ¿  ºáúαπº¬á
  8212.         Γáí½¿µδ π߬«α¿ΓѽÑ⌐.
  8213.  
  8214.              çáΓѼ Multipad  ß«ºñáÑΓ  »Ñαó«Ñ  ñ«τÑα¡ÑÑ  «¬¡«  MDI,  ¿½¿
  8215.         »πßΓ«Ñ, ¿½¿  ß«ñÑαªáΘÑÑ  Σá⌐½,  ¿¼∩  ¬«Γ«α«ú«  í佫  π¬áºá¡«  ó
  8216.         ¬«¼á¡ñ¡«⌐ ßΓ᫬Ñ. (櫺ñá¡¿Ñ ñ«τÑα¡¿σ «¬«¡ MDI «»¿ßá¡« ó αáºñѽÑ
  8217.         21.7.1, "櫺ñá¡¿Ñ ñ«τÑα¡¿σ «¬«¡".)
  8218.  
  8219.  
  8220.        Windows 3.0/pg/3#3                                       = 156 =
  8221.  
  8222.                            21.3  æ«ºñá¡¿Ñ µ¿¬½á «íαáí«Γ¬¿ ß««íΘÑ¡¿⌐.           
  8223.  
  8224.              û¿¬½ «íαáí«Γ¬¿     ß««íΘÑ¡¿⌐     »α¿¬½áñ¡«⌐     »α«úαá¼¼δ,
  8225.         ¿ß»«½∞ºπεΘ¿⌐ MDI,  á¡á½«ú¿τÑ¡ µ¿¬½π «íαáí«Γ¬¿ ß««íΘÑ¡¿⌐ «íδτ¡«⌐
  8226.         »α«úαá¼¼δ, ºá ¿ß¬½ετÑ¡¿Ñ¼ Γ«ú«,  τΓ« ñ½∩ «íαáí«Γ¬¿  π߬«α¿ΓѽÑ⌐
  8227.         ñ«τÑα¡¿σ «¬«¡ ¿ß»«½∞ºπÑΓß∩ Σπ¡¬µ¿∩ TranslateMDISysAccel.
  8228.  
  8229.              ô߬«α¿Γѽ¿ ß¿ßΓѼ¡«ú«   ¼Ñ¡ε   ñ½∩   ñ«τÑα¡¿σ   «¬«¡   MDI
  8230.         á¡á½«ú¿τ¡δ π߬«α¿Γѽ∩¼ ß¿ßΓѼ¡«ú« ¼Ñ¡ε «íδτ¡«ú«  «¬¡á.  ÄΓ½¿τ¿Ñ
  8231.         ß«ßΓ«¿Γ ó  Γ«¼,  τΓ«  ñ«τÑα¡¿Ñ «¬¡á «ΓóÑτáεΓ ¡á ¡áªáΓ¿Ñ ¬½áó¿Φ¿
  8232.         CONTROL, ó Γ« óαѼ∩ ¬á¬ π߬«α¿Γѽ¿ ¼Ñ¡ε ¿ß»«½∞ºπεΓß∩ ß ¬½áó¿ΦÑ⌐
  8233.         Alt.
  8234.  
  8235.              û¿¬½ «íαáí«Γ¬¿     ß««íΘÑ¡¿⌐     »α¿¬½áñ¡«⌐     »α«úαá¼¼δ,
  8236.         ¿ß»«½∞ºπεΘÑ⌐ MDI, «íδτ¡« óδú½∩ñ¿Γ ß½ÑñπεΘ¿¼ «íαẫ¼:
  8237.  
  8238.              while(GetMessage(&msg,NULL,0,0))
  8239.              {
  8240.                 if(!TranslateMDISysAccel(hwndMDIClient,&msg)
  8241.                    && !TranslateAccelerator(hwndFrame,hAccel,&msg))
  8242.                 {
  8243.                    TranslateMessage(&msg);
  8244.                    DispatchMessage(&msg);
  8245.                 }
  8246.              }
  8247.  
  8248.              é ñá¡¡«¼  »α¿¼ÑαÑ  µ¿¬½  «íαáí«Γ¬¿  ß««íΘÑ¡¿⌐   »α¿¬½áñ¡«⌐
  8249.         »α«úαá¼¼δ, ¿ß»«½∞ºπεΘÑ⌐   MDI,   á¡á½«ú¿τÑ¡   µ¿¬½π   «íαáí«Γ¬¿
  8250.         ß««íΘÑ¡¿⌐ «íδτ¡«⌐   »α¿¬½áñ¡«⌐   »α«úαá¼¼δ,   ºá    ¿ß¬½ετÑ¡¿Ñ¼
  8251.         ¿ß»«½∞º«óá¡¿∩ ó   ¡áτá½Ñ   Σπ¡¬µ¿¿  TranslateMDISysAccel  »ÑαÑñ
  8252.         »α«óÑᬫ⌐ ¡á π߬«α¿Γѽ¿ ¼Ñ¡ε.
  8253.  
  8254.              öπ¡¬µ¿∩ TranslateMDISysAccel     »αÑ«íαáºπÑΓ     ß««íΘÑ¡¿∩
  8255.         WM_KEYDOWN ó  WM_SYSCOMMAND  ñ½∩  á¬Γ¿ó¡«ú« ñ«τÑα¡Ñú« «¬¡á MDI.
  8256.         Ä¡á ó«ºóαáΘáÑΓ FALSE, Ñß½¿ φΓ« ¡Ñ π߬«α¿Γѽ∞ MDI, ó φΓ«¼ ß½πτáÑ
  8257.         »α¿¬½áñ¡á∩ »α«úαἼᠠ¿ß»«½∞ºπÑΓ  Σπ¡¬µ¿ε  TranslateAccelerator
  8258.         ñ½∩  »α«óÑન  Γ«ú«,  τΓ«  φΓ«  «íδτ¡δ⌐  π߬«α¿Γѽ∞  »α¿¬½áñ¡«⌐
  8259.         »α«úαá¼¼δ.  àß½¿  φΓ«  ¡Ñ  Γá¬,  Γ« µ¿¬½ »ÑαÑñáÑΓ φΓ« ß««íΘÑ¡¿Ñ
  8260.         Σπ¡¬µ¿¿ ß««ΓóÑΓßΓóπεΘÑú« «¬¡á.
  8261.                  21.4  æ«ºñá¡¿Ñ Σπ¡¬µ¿¿ «íαáí«Γ¬¿ ß««íΘÑ¡¿⌐ «¬¡á ΣαÑ⌐¼á.       
  8262.  
  8263.              öπ¡¬µ¿∩ «¬¡á  ΣαÑ⌐¼á  á¡á½«ú¿τ¡á  Σπ¡¬µ¿¿  «ß¡«ó¡«ú«  «¬¡á
  8264.         »α¿¬½áñ¡«⌐ »α«úαá¼¼δ. Äñ¡á¬« ¿¼ÑεΓß∩ ¡Ñ߬«½∞¬« «Γ½¿τ¿⌐:
  8265.  
  8266.              - Äíδτ¡«  Σπ¡¬µ¿∩  «¬¡á  »«ßδ½áÑΓ  óßÑ ¡Ñ«íαáíáΓδóáѼδÑ Ñε
  8267.                ß««íΘÑ¡¿∩ Σπ¡¬µ¿¿ DefWindowProc.  öπ¡¬µ¿∩ «¬¡á ñ½∩  «¬¡á
  8268.                ΣαÑ⌐¼á MDI »«ßδ½áÑΓ ß««íΘÑ¡¿∩ Σπ¡¬µ¿¿ DefFrameProc.
  8269.  
  8270.              - öπ¡¬µ¿∩  «¬¡á  ΣαÑ⌐¼á  »«ßδ½áÑΓ Σπ¡¬µ¿¿ DefFrameProc óßÑ
  8271.                ß««íΘÑ¡¿∩, ¬«Γ«αδÑ «¡á ¡Ñ «íαáíáΓδóáÑΓ,  ¿, ¬α«¼Ñ φΓ«ú«,
  8272.                »«ßδ½áÑΓ   ¡Ñ¬«Γ«αδÑ  ß««íΘÑ¡¿∩,  ¬«Γ«αδÑ  «íαáíáΓδóáÑΓ.
  8273.                æ»¿ß«¬ óßÑσ ß««íΘÑ¡¿⌐,  ¬«Γ«αδÑ  óáΦá  »α«úαἼᠠñ«½ª¡á
  8274.                »ÑαÑñáΓ∞  DefFrameProc,  »α¿óÑñÑ¡  ó  Γ«¼Ñ 1 æ»αáó«τ¡«ú«
  8275.  
  8276.        Windows 3.0/pg/3#3                                       = 157 =
  8277.  
  8278.                απ¬«ó«ñßΓóá.
  8279.  
  8280.              DefFrameProc ΓᬪѠ«íαáíáΓδóáÑΓ ß««íΘÑ¡¿∩ WM_SIZE, ¿º¼Ñ¡∩∩
  8281.         «¬¡« »«½∞º«óáΓѽ∩ MDI Γá¬, τΓ«íδ «¡« »«¼ÑΘὫß∞ ó ¡«óπε «í½áßΓ∞
  8282.         »«½∞º«óáΓѽ∩. Åਪ½áñ¡á∩ »α«úαἼᠠ¼«ªÑΓ  «»αÑñѽ¿Γ∞  ñ«τÑα¡¿¼
  8283.         «¬¡á¼ ¿ ¼Ñ¡∞Φ¿⌐ αẼÑα, Ñß½¿ φΓ« ¡πª¡« (¡á»α¿¼Ñα, ñ½∩ óδñѽѡ¿∩
  8284.         ¼ÑßΓá »«ñ ßΓ᫬π ß«ßΓ«∩¡¿∩ ¿½¿ αѺ¿¡«ó«Ñ «¬¡«).
  8285.  
  8286.              DefFrameProc ΓᬪѠ πßΓá¡áó½¿óáÑΓ  ºáσóáΓ  óó«ñá  ¡á  «¬¡«
  8287.         »«½∞º«óáΓѽ∩ MDI  »α¿  «í¡áαπªÑ¡¿¿ ß««íΘÑ¡¿∩ WM_SETFOCUS.  Ä¬¡«
  8288.         »«½∞º«óáΓѽ∩ πßΓá¡áó½¿óáÑΓ ºáσóáΓ óó«ñá ñ½∩ á¬Γ¿ó¡«ú« ñ«τÑα¡Ñú«
  8289.         «¬¡á, Ñß½¿ ΓᬫѠÑßΓ∞. èᬠ¼δ πªÑ ú«ó«α¿½¿, ß««íΘÑ¡¿Ñ WM_CREATE
  8290.         ºáßΓáó½∩ÑΓ «¬¡« ΣαÑ⌐¼á ß«ºñáΓ∞ «¬¡« »«½∞º«óáΓѽ∩ MDI.
  8291.  
  8292.              Åα«µÑñπαá «¬¡á ΣαѼá Multipad  ¡áºδóáÑΓß∩  MPFrameWndProc.
  8293.         Äíαáí«Γ¬á «ßΓá½∞¡δσ  ß««íΘÑ¡¿⌐ á¡á½«ú¿τ¡á «íαáí«Γ¬Ñ ß««íΘÑ¡¿⌐ ó
  8294.         »α¿¬½áñ¡δσ »α«úαá¼¼áσ,   ¡Ñ   ¿ß»«½∞ºπεΘ¿σ    MDI.    æ««íΘÑ¡¿Ñ
  8295.         WM_COMMAND «íαáíáΓδóáÑΓß∩   ó  Multipad  ½«¬á½∞¡«  «»αÑñѽѡ¡«⌐
  8296.         Σπ¡¬µ¿Ñ⌐ CommandHandler,  ¬«Γ«αá∩ óδºδóáÑΓ Σπ¡¬µ¿ε DefFrameProc
  8297.         ó  ß½πτáÑ,  Ñß½¿  «¡á  ¡Ñ  «íαáíáΓδóáÑΓ φΓ« ß««íΘÑ¡¿Ñ.  àß½¿ íδ
  8298.         Multipad  ¡Ñ  ñѽá½á  φΓ«,   Γ«   »«½∞º«óáΓѽ∞   ¡Ñ   ß¼«ú   íδ
  8299.         á¬Γ¿ó¿º¿α«óáΓ∞   ñ«τÑα¡¿Ñ   «¬¡á   ¿º   ¼Ñ¡ε,   Γ.¬.  ß««íΘÑ¡¿Ñ
  8300.         WM_COMMAND,  »«ßδ½áѼ«Ñ »α¿ óδí«αÑ φ½Ñ¼Ñ¡Γá ó ¼Ñ¡ε,  ¼«ªÑΓ íδΓ∞
  8301.         »«ΓÑα∩¡«.
  8302.                                                                                
  8303.         21.5 æ«ºñá¡¿Ñ  Σπ¡¬µ¿¿  «íαáí«Γ¬¿  ß««íΘÑ¡¿⌐ ñ½∩ ñ«τÑα¡Ñú«
  8304.                                      «¬¡á.
  8305.  
  8306.              èᬠ¿ Σπ¡¬µ¿∩ «íαáí«Γ¬¿  ß««íΘÑ¡¿⌐  «¬¡á  ΣαÑ⌐¼á,  Σπ¡¬µ¿∩
  8307.         «íαáí«Γ¬¿ ß««íΘÑ¡¿⌐   ñ«τÑα¡Ñú«   «¬¡á  ¿ß»«½∞ºπÑΓ  ß»Ñµ¿á½∞¡πε
  8308.         Σπ¡¬µ¿ε ñ½∩   «íαáí«Γ¬¿    ß««íΘÑ¡¿⌐    »«    π¼«½τá¡¿ε.    éßÑ
  8309.         ¡Ñ«íαáíáΓδóáѼδÑ Σπ¡¬µ¿Ñ⌐  ñ«τÑα¡Ñú« «¬¡á ß««íΘÑ¡¿∩ ñ«½ª¡δ íδΓ∞
  8310.         »ÑαÑñá¡δ Σπ¡¬µ¿¿ DefMDIChildProc, ó¼ÑßΓ« Σπ¡¬µ¿¿ DefWindowProc.
  8311.         èα«¼Ñ  φΓ«ú«,  ¡Ñ¬«Γ«αδÑ  ß««íΘÑ¡¿∩ π»αáó½Ñ¡¿∩ «¬¡á¼¿ (WM_SIZE,
  8312.         WM_MOVE,   WM_GETMINMAXINFI)   ñ«½ª¡δ   »ÑαÑñáóáΓ∞ß∩    Σπ¡¬µ¿¿
  8313.         DefMDIChildProc ñáªÑ   ó  Γ«¼  ß½πτáÑ,  Ñß½¿  óáΦá  Σπ¡¬µ¿∩  ¿σ
  8314.         «íαáíáΓδóáÑΓ.  ¥Γ«  ñѽáÑΓß∩  ñ½∩  Γ«ú«,  τΓ«íδ  ¿¡ΓÑαΣÑ⌐ß  MDI
  8315.         ¬«ααÑ¬Γ¡«  Σπ¡¬µ¿«¡¿α«óá½.  Å«½¡δ⌐  ß»¿ß«¬  ß««íΘÑ¡¿⌐,  ¬«Γ«αδÑ
  8316.         ¡Ñ«íσ«ñ¿¼« »ÑαÑñáóáΓ∞ Σπ¡¬µ¿¿  DefMDIChildProc,  óδ  ¡á⌐ñÑΓÑ  ó
  8317.         »Ñαó«¼ Γ«¼Ñ æ»αáó«τ¡«ú« απ¬«ó«ñßΓóá.
  8318.  
  8319.              öπ¡¬µ¿∩ «íαáí«Γ¬¿   ß««íΘÑ¡¿⌐   ñ«τÑα¡¿σ   «¬«¡   Multipad
  8320.         ¡áºδóáÑΓß∩ MPChildWndProc.
  8321.                                                                                
  8322.                 21.6  æó∩ºδóá¡¿Ñ ñá¡¡δσ ß ñ«τÑα¡¿¼¿ «¬¡á¼¿.
  8323.  
  8324.              Å«ß¬«½∞¬π τ¿ß½«  ñ«τÑα¡¿σ   «¬«¡   ¼«ªÑΓ   «Γ½¿τáΓ∞ß∩,   ó
  8325.         ºáó¿ß¿¼«ßΓ¿ «Γ  «Γ¬αδΓδσ  »«½∞º«óáΓѽѼ ñ«¬π¼Ñ¡Γ«ó,  »α¿¬½áñ¡á∩
  8326.         »α«úαá¼¼á, ¿ß»«½∞ºπεΘá∩ MDI, ñ«½ª¡á ¿¼ÑΓ∞ ó«º¼«ª¡«ßΓ∞ ßó∩ºáΓ∞ ß
  8327.         ¬áªñδ¼ ñ«τÑα¡¿¼  «¬¡«¼ ¡Ñ¬«Γ«αδÑ ñá¡¡δÑ (¡á»α¿¼Ñα,  ¿¼∩ Σá⌐½á).
  8328.         ¥Γ« ¼«ª¡« ßñѽáΓ∞ ñóπ¼∩ ß»«ß«íἿ:
  8329.  
  8330.              - çừ¼¿¡á∩ ñá¡¡δÑ ó ßΓαπ¬ΓπαÑ «¬¡á.
  8331.  
  8332.        Windows 3.0/pg/3#3                                       = 158 =
  8333.  
  8334.  
  8335.              - êß»«½∞ºπ∩ ßó«⌐ßΓóá «¬¡á.
  8336.  
  8337.              ÄßΓáóΦá∩ß∩ τáßΓ∞ ñá¡¡«ú« αáºñѽᠻ«ßó∩ΘѡᠫíßπªñÑ¡¿ε φΓ¿σ
  8338.         ß»«ß«í«ó.
  8339.                            21.6.1  òαá¡Ñ¡¿Ñ ñá¡¡δσ ó ßΓαπ¬ΓπαÑ «¬¡á.           
  8340.  
  8341.              Åα¿ αÑú¿ßΓαᵿ¿  ¬½áßßá  «¬¡á  »α¿¬½áñ¡á∩  »α«úαἼᠼ«ªÑΓ
  8342.         ºáαѺÑαó¿α«óáΓ∞ ñ«»«½¡¿Γѽ∞¡πε «í½áßΓ∞  ó  ßΓαπ¬ΓπαÑ  «¬¡á  ñ½∩
  8343.         σαá¡Ñ¡¿∩ ñá¡¡δσ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ, «Γ¡«ß∩Θ¿σß∩ ¬ ¬«¡¬αÑΓ¡«¼π
  8344.         «¬¡π.  ä½∩  ºá¡ÑßÑ¡¿∩  ¿  »«½πτÑ¡¿∩  ñá¡¡δσ  ¿º  φΓ«⌐   «í½áßΓ¿
  8345.         »α¿¬½áñ¡á∩    »α«úαἼᠠ ¿ß»«½∞ºπÑΓ   Σπ¡¬µ¿¿   GetWindowWord,
  8346.         GetWindowLong, SetWindowWord ¿ SetWindowLong.
  8347.  
  8348.              àß½¿ »α¿¬½áñ¡«⌐  »α«úαἼѠ ΓαÑíπÑΓß∩  ßó∩ºáΓ∞   ß   «¬¡«¼
  8349.         í«½∞Φ«⌐ «íΩѼ  ¿¡Σ«α¼áµ¿¿,  Γ«  «¡á  ¼«ªÑΓ ºá¡ÑßΓ¿ ÑÑ ó «í½áßΓ∞
  8350.         »á¼∩Γ¿, »«½πτ¿Γ∞ ñÑß¬α¿»Γ«α φΓ«⌐ «í½áßΓ¿ ñá¡¡δσ ¿ σαá¡¿Γ∞ Ñú« ó
  8351.         ßΓαπ¬ΓπαÑ «¬¡á.
  8352.  
  8353.              Multipad ¿ß»«½∞ºπÑΓ    ¿¼Ñ¡¡«   φëà  ß»«ß«í.   ìá»α¿¼Ñα,
  8354.         ß««íΘÑ¡¿Ñ WM_CREATE  «íαáíáΓδóáÑΓß∩  Σπ¡¬µ¿Ñ⌐   MPChildWndProc,
  8355.         ¬«Γ«αá∩  ß«ºñáÑΓ  ¼¡«ú«ßΓα«τ¡δ⌐  í½«¬ αÑñá¬Γ¿α«óá¡¿∩ ó ¬áτÑßΓóÑ
  8356.         «¬¡á ΓѬßΓ«ó«ú« αÑñá¬Γ«αá.  Multipad ß«σαá¡∩ÑΓ ñÑß¬α¿»Γ«α φΓ«ú«
  8357.         í½«¬á  ó  ßΓαπ¬ΓπαÑ  ñá¡¡δσ  ñ«τÑα¡Ñú«  «¬¡á  ß »«¼«Θ∞ε Σπ¡¬µ¿¿
  8358.         SetWindowWord.   Åα¿   ¡Ñ«íσ«ñ¿¼«ßΓ¿    «íαáΘÑ¡¿∩    ¬    í½«¬π
  8359.         αÑñá¬Γ¿α«óá¡¿∩  Multipad  ¿ß»«½∞ºπÑΓ  Σπ¡¬µ¿ε GetWindowWord ñ½∩
  8360.         »«½πτÑ¡¿∩  ñÑß¬α¿»Γ«αá  í½«¬á  αÑñá¬Γ¿α«óá¡¿∩.  Æá¬¿¼   «íαẫ¼
  8361.         Multipad   »«ññÑনóáÑΓ   ¡á   ¬áªñδ⌐   ñ«¬π¼Ñ¡Γ  »«  ¡Ñ߬«½∞¬«
  8362.         »ÑαѼѡ¡δσ.
  8363.                                                                                
  8364.                     21.6.2  êß»«½∞º«óá¡¿Ñ ßó«⌐ßΓ󠫬¡á.
  8365.  
  8366.              éáΦá »α«úαἼᠼ«ªÑΓ ΓᬪѠ߫σαá¡∩Γ∞ ñá¡¡δÑ, «Γ¡«ß∩Θ¿Ñß∩ ¬
  8367.         ñ«¬π¼Ñ¡Γπ, ¿ß»«½∞ºπ∩  ßó«⌐ßΓóá  «¬¡á.  æó«⌐ßΓóá  «Γ½¿τáεΓß∩  «Γ
  8368.         σαá¡Ñ¡¿∩ ñá¡¡δσ ó ßΓαπ¬ΓπαÑ «¬¡á ΓѼ, τΓ« ¡Ñ ΓαÑíπÑΓß∩ óδñѽ∩Γ∞
  8369.         ñ«»«½¡¿Γѽ∞¡πε »á¼∩Γ∞  »α¿ αÑú¿ßΓαᵿ¿ ¬½áßßá «¬¡á.  Ç¡á½«ú¿τ¡«
  8370.         Γ«¼π, ¬á¬ ó ßΓαπ¬ΓπαÑ óδ ºá»«¼¿¡áÑΓÑ ñÑß¬α¿»Γ«α «í½áßΓ¿ ñá¡¡δσ,
  8371.         Γᬠ¿ ¬ ßó«⌐ßΓóá¼ óδ «íαáΘáÑΓÑß∞ »« ¿¼Ñ¡¡«⌐ ßΓ᫬Ñ.
  8372.  
  8373.              æó∩º∞ε ß  ¬áªñδ¼ ßó«⌐ßΓó«¼ ∩ó½∩ÑΓß∩ ñÑß¬α¿»Γ«α.  ìá»α¿¼Ñα,
  8374.         Multipad ¼«ú½á íδ ¿¼ÑΓ∞ ßó«⌐ßΓó«  ß  ¿¼Ñ¡Ñ¼  "EditControl"  ñ½∩
  8375.         σαá¡Ñ¡¿∩    ñÑß¬α¿»Γ«αá    αÑñá¬Γ¿απѼ«ú«   í½«¬á   π»αáó½Ñ¡¿∩.
  8376.         äÑß¬α¿»Γ«α ¼«ªÑΓ íδΓ∞ ó  ñÑ⌐ßΓó¿Γѽ∞¡«ßΓ¿  ½εíδ¼  ñóπσ-íá⌐Γ«óδ¼
  8377.         º¡áτÑ¡¿Ñ¼,  ¿  ¼«ªÑΓ íδΓ∞ ñÑß¬α¿»Γ«α«¼ ßΓαπ¬Γπαδ ñá¡¡δσ.  ùáßΓ«
  8378.         ßó«⌐ßΓóá í«½ÑÑ πñ«í¡δ,  τѼ ñ«»«½¡¿Γѽ∞¡δÑ ñá¡¡δÑ  ó  ßΓαπ¬ΓπαÑ
  8379.         «¬¡á,  »«ß¬«½∞¬π »α¿ ¿ß»«½∞º«óá¡¿¿ ßó«⌐ßΓó »α¿¬½áñ¡á∩ »α«úαá¼¼á
  8380.         ¡Ñ ñ«½ª¡á óδτ¿ß½∩Γ∞ ¡Ñ«íσ«ñ¿¼δ⌐ αẼÑα ñ«»«½¡¿Γѽ∞¡«⌐ «í½áßΓ¿ ó
  8381.         ßΓαπ¬ΓπαÑ  «¬¡á  ¿ óδτ¿ß½∩Γ∞ ß¼ÑΘÑ¡¿∩ ¡á αẽ¿τ¡δÑ φ½Ñ¼Ñ¡Γδ.  æ
  8382.         ñαπú«⌐ ßΓ«α«¡δ, ñ«ßΓπ» ¬ ñá¡¡δ¼ ó ßΓαπ¬ΓπαÑ «¬¡á «ßπΘÑßΓó½∩ÑΓß∩
  8383.         íδßΓαÑÑ, τѼ ñ«ßΓπ» ¬ ßó«⌐ßΓóá¼.
  8384.  
  8385.  
  8386.        Windows 3.0/pg/3#3                                       = 159 =
  8387.  
  8388.                                 21.7  ô»αáó½Ñ¡¿Ñ ñ«τÑα¡¿¼¿ «¬¡á¼¿.             
  8389.  
  8390.              ä½∩ π»αáó½Ñ¡¿∩   ñ«τÑα¡¿¼¿  «¬¡á¼¿  »α¿¬½áñ¡á∩  »α«úαá¼¼á,
  8391.         ¿ß»«½∞ºπεΘá∩ MDI, »«ßδ½áÑΓ ß««íΘÑ¡¿∩ «¬¡á¼ - »«½∞º«óáΓѽ∩¼ MDI.
  8392.         ¥Γ«   ó¬½ετáÑΓ  ó  ßÑí∩  ß«ºñá¡¿Ñ,  αáºαπΦÑ¡¿Ñ,  á¬Γ¿ó¿ºáµ¿ε  ¿
  8393.         ¿º¼Ñ¡Ñ¡¿Ñ ß«ßΓ«∩¡¿∩ ñ«τÑα¡¿σ «¬«¡.
  8394.  
  8395.              é «ß¡«ó¡«¼,  »α¿¬½áñ¡á∩  »α«úαἼᠠ¼«ªÑΓ  ¿¼ÑΓ∞  ñѽ«   ß
  8396.         ΓѬπΘ¿¼ á¬Γ¿ó¡δ¼   ñ«τÑα¡¿¼   «¬¡«¼.   ìá»α¿¼Ñα,   ó  Multipad,
  8397.         í«½∞Φ¿¡ßΓó« ¬«¼á¡ñ ¼Ñ¡ε File ¿ óßÑ ¬«¼á¡ñδ ¼Ñ¡ε Edit  ¿  Search
  8398.         «íαáΘáεΓß∩   ¬   ΓѬπΘÑ¼π   á¬Γ¿ó¡«¼π  «¬¡π.  Å«φΓ«¼π  Multipad
  8399.         »«ññÑনóáÑΓ  ñóÑ  »ÑαѼѡ¡δÑ  -  hWndActivEdit  ¿   hWndActiv,
  8400.         »«ß¬«½∞¬π Γ«½∞¬« φΓ¿ ñóá «¬¡á ¼«úπΓ »«½πτáΓ∞ ß««íΘÑ¡¿∩.
  8401.  
  8402.              Äñ¡á¬« ¿¼ÑεΓß∩ ¿ß¬½ετÑ¡¿∩.  ìá»α¿¼Ñα, »α¿¬½áñ¡á∩ »α«úαá¼¼á
  8403.         ¼«ªÑΓ »«ß½áΓ∞ ß««íΘÑ¡¿Ñ óßѼ ñ«τÑα¡¿¼ «¬¡á¼,  τΓ«íδ  «»αÑñѽ¿Γ∞
  8404.         ¿σ ß«ßΓ«∩¡¿Ñ.   Multipad   ñѽáÑΓ  φΓ«  »α¿  ºáóÑαΦÑ¡¿¿,  τΓ«íδ
  8405.         πíÑñ¿Γ∞ß∩, τΓ« óßÑ Σá⌐½δ í뫨 ß«σαá¡Ñ¡δ.
  8406.  
  8407.              Å«ß¬«½∞¬π ñ«τÑα¡¿Ñ «¬¡á MDI ¼«úπΓ íδΓ∞ ó  ó¿ñÑ  ¿¬«¡δ,  Γ«
  8408.         »α¿¬½áñ¡á∩ »α«úαἼᠠñ«½ª¡δ  »α«∩ó½∩Γ∞ «ßë᫪¡«ßΓ∞,  τΓ«íδ ¡Ñ
  8409.         ¼á¡¿»π½¿α«óáΓ∞ «¬¡á¼¿ ó ó¿ñÑ ¿¬«¡δ ¬á¬ «íδτ¡δ¼  ñ«τÑα¡¿¼  «¬¡«¼
  8410.         MDI. Ä¬¡á  ó ó¿ñÑ ¿¬«¡δ «Γ«íαáªáεΓß∩ ¬«úñá »α¿¬½áñ¡á∩ »α«úαá¼¼á
  8411.         »α¿τ¿ß½∩ÑΓ ñ«τÑα¡¿Ñ «¬¡á ¬ »«½∞º«óáΓѽε MDI,  ¡«  «¬¡á  ó  ó¿ñÑ
  8412.         ¿¬«¡δ «Γ½¿τáεΓß∩  «Γ ñαπú¿σ ñ«τÑα¡¿σ «¬«¡ ΓѼ,  τΓ« ¿¼¿ ó½áñÑÑΓ
  8413.         ñ«τÑα¡ÑÑ «¬¡« MDI.  Æá¬¿¼ «íαẫ¼,  ñ½∩ «»αÑñѽѡ¿∩  Γ«ú«,  τΓ«
  8414.         «¬¡« »αÑñßΓáó½∩ÑΓß∩   ó  ó¿ñÑ  ¿¬«¡δ,  ¡Ñ«íσ«ñ¿¼«  ¿ß»«½∞º«óáΓ∞
  8415.         Σπ¡¬µ¿ε GetWindow ß ¿¡ñѬ߫¼ GW_OWNER. Ä¬¡á ¡Ñ ¿¬«¡δ ó«ºóαáΘáεΓ
  8416.         NULL.   çá¼ÑΓ¿¼,  τΓ«  Γá¬á∩  »α«óÑα¬á  ¡Ññ«ßΓáΓ«τ¡á  ñ½∩  «¬«¡
  8417.         óÑασ¡Ñú« πα«ó¡∩, Γᬿσ ¬á¬ ¡á¬½áñδóáѼδÑ «¬¡á ¿ »á¡Ñ½¿ ñ¿á½«úá,
  8418.         »«ß¬«½∞¬π «¡¿ ΓᬪѠó½áñÑεΓ «¬¡á¼¿.
  8419.  
  8420.              ÄßΓáóΦá∩ß∩ τáßΓ∞  ñá¡¡«⌐  ú½áóδ »«ßó∩ΘÑ¡á Γ«¼π,  ¬á¬ ¼«ª¡«
  8421.         ß«ºñáΓ∞, αáºαπΦ¿Γ∞,    á¬Γ¿ó¿º¿α«óáΓ∞,    ñÑá¬Γ¿ó¿º¿α«óáΓ∞    ¿
  8422.         »ÑαÑßΓáó¿Γ∞ ñ«τÑα¡¿Ñ «¬¡á MDI.
  8423.                                    21.7.1  æ«ºñá¡¿Ñ ñ«τÑα¡¿σ «¬«¡.             
  8424.  
  8425.              ä½∩ ß«ºñá¡¿∩   ñ«τÑα¡Ñú«  «¬¡á  MDI  »α¿¬½áñ¡á∩  »α«úαá¼¼á
  8426.         »«ßδ½áÑΓ ß««íΘÑ¡¿Ñ WM_MDICREATE »«½∞º«óáΓÑ½ε  MDI.  (Åਪ½áñ¡á∩
  8427.         »α«úαἼᠡѠ  ñ«½ª¡á  ¿ß»«½∞º«óáΓ∞  Σπ¡¬µ¿ε  CreateWindow  ñ½∩
  8428.         ß«ºñá¡¿∩ ñ«τÑα¡¿σ «¬«¡ MDI).  Åáαá¼ÑΓα lParam ß««íΘÑ¡¿∩  ñ«½ªÑ¡
  8429.         ß«ñÑαªáΓ∞ π¬áºáΓѽ∞   ¡á   ßΓαπ¬Γπαπ  MDICREATESTRUCT,  ¬«Γ«αá∩
  8430.         ß«ñÑαª¿Γ »«½∩, á¡á½«ú¿τ¡δÑ »áαá¼ÑΓαá¼ Σπ¡¬µ¿¿ CreateWindow.
  8431.  
  8432.              Multipad ß«ºñáÑΓ ñ«τÑα¡¿Ñ  «¬¡á  MDI  ß  »«¼«Θ∞ε  ½«¬á½∞¡«
  8433.         «»αÑñѽѡ¡«⌐ Σπ¡¬µ¿¿  AddFile  (ß«ñÑনΓß∩  ó  Σá⌐½Ñ MPFILE.C).
  8434.         öπ¡¬µ¿∩ AddFile ºáñáÑΓ ºáú«½«ó«¬ «¬¡á,  »α¿ßóá¿óá∩ »«½ε szTitle
  8435.         ßΓαπ¬Γπαδ MDICREATESTRUCT   ½¿í«   ¿¼∩   Σá⌐½á,   ½¿í«   ßΓ᫬π
  8436.         "Untitled".  é »«½Ñ szClass ºá¡«ß¿Γß∩ ¿¼∩ ¬½áßßá ñ«τÑα¡¿σ «¬«¡,
  8437.         ºáαÑú¿ßΓα¿α«óá¡¡«ú« Σπ¡¬µ¿Ñ⌐ Multipad InitializeApplication.  é
  8438.         »«½Ñ  ó½áñѽ∞µá,  hOwner,   ºá¡«ß¿Γß∩   ñÑß¬α¿»Γ«α   φ¬ºÑ¼»½∩αá
  8439.         »α¿¬½áñ¡«⌐ »α«úαá¼¼δ.
  8440.  
  8441.  
  8442.        Windows 3.0/pg/3#3                                       = 160 =
  8443.  
  8444.              æΓαπ¬Γπαá MDICREATESTRUCT     ß«ñÑαª¿Γ     τÑΓδαÑ    »«½∩,
  8445.         «»αÑñѽ∩εΘ¿σ αẼÑαδ:  x ¿  y,  ¬«Γ«αδÑ  «»αÑñѽ∩εΓ  ¬««αñ¿¡áΓδ
  8446.         «¬¡á, ¿ cx ¿ cy,  «»αÑñѽ∩εΘ¿Ñ αẼÑαδ «¬¡á.  éßÑ ¿½¿ ¡Ñ¬«Γ«αδÑ
  8447.         ¿º ¡¿σ ¼«úπΓ  ß«ñÑαªáΓ∞  º¡áτÑ¡¿Ñ  CW_USEDEFAULT,  »α¿  ¬«Γ«α«¼
  8448.         »«º¿µ¿∩ ¿/¿½¿  αẼÑαδ  «¬¡á  íπñπΓ ºáñáóáΓ∞ß∩ ó ß««ΓóÑΓßΓó¿¿ ß
  8449.         ¬á߬áñ¡δ¼ á½ú«α¿Γ¼«¼ Windows.  é ½εí«¼ ß½πτáÑ,  óßÑ τÑΓδαÑ »«½∩
  8450.         ñ«½ª¡δ   íδΓ∞   ¿¡¿µ¿á½¿º¿α«óá¡δ.   Multipad  ó«  óßÑσ  ß½πτá∩σ
  8451.         ¿ß»«½∞ºπÑΓ CW_USEDEFAULT.
  8452.  
  8453.              Å«ß½Ññ¡ÑÑ »«½Ñ - style - ß«ñÑαª¿Γ í¿Γδ Γ¿»á «¬¡á.  Windows
  8454.         ΓαÑíπÑΓ ñ½∩  ñ«τÑα¡¿σ  «¬«¡  MDI ¡Ñ¬«Γ«αδÑ Γ¿»δ ¿ «ßΓáó½∩ÑΓ óá¼
  8455.         ¡Ñ¬«Γ«αδÑ ñαπú¿Ñ, á ΓᬪѠ¼á߬¿απÑΓ ¡Ñ ß««ΓóÑΓßΓóπεΘ¿Ñ.
  8456.  
  8457.              ä½∩ «»αÑñѽѡ¿∩    ¿ßσ«ñ¡«ú«    ß«ßΓ«∩¡¿∩    «¬¡á    ¼«ª¡«
  8458.         ¿ß»«½∞º«óáΓ∞ í¿Γδ WS_MINIMIZE ¿½¿ WS_MAXIMIZE.
  8459.  
  8460.              ô¬áºáΓѽ∞, »«ßδ½áѼδ⌐   ó   »áαá¼ÑΓαÑ   lParam   ß««íΘÑ¡¿∩
  8461.         WM_MDICREATE, »ÑαÑñáÑΓß∩ ß«ºñáóáѼ«¼π «¬¡π  ¿  ∩ó½∩ÑΓß∩  »Ñαóδ¼
  8462.         »«½Ñ¼ ßΓαπ¬Γπαδ    CREATESTRUCT,   »ÑαÑñáóáѼ«⌐   ó   ß««íΘÑ¡¿¿
  8463.         WM_CREATE. é Multipad ñ«τÑα¡¿Ñ «¬¡á  ¿¡¿µ¿á½¿º¿απεΓ  ßἿ  ßÑí∩
  8464.         »α¿ «íαáí«Γ¬Ñ  ß««íΘÑ¡¿∩  WM_CREATE,  ¿¡¿µ¿á½¿º¿απ∩  »ÑαѼѡ¡δÑ
  8465.         ñ«¬π¼Ñ¡Γ«ó ó ñ«»«½¡¿Γѽ∞¡«⌐ «í½áßΓ¿ ßΓαπ¬Γπαδ «¬¡á,  ¿ ß«ºñáóá∩
  8466.         í½«¬ αÑñá¬Γ¿α«óá¡¿∩ ñ«τÑα¡Ñú« «¬¡á.
  8467.                                                                                
  8468.                      21.7.2  ÉáºαπΦÑ¡¿Ñ ñ«τÑα¡¿σ «¬«¡.
  8469.  
  8470.              ä½∩ αáºαπΦÑ¡¿∩  ñ«τÑα¡Ñú«  «¬¡á MDI ¿ß»«½∞ºπÑΓß∩ ß««íΘÑ¡¿Ñ
  8471.         WM_MDIDESTROY. äÑß¬α¿»Γ«α ñ«τÑα¡Ñú« «¬¡á »ÑαÑñáÑΓß∩ ó  ¬áτÑΓßóÑ
  8472.         »áαá¼ÑΓαá wParam.
  8473.                     21.7.3  Ç¬Γ¿ó¿ºáµ¿∩ ¿ ñÑá¬Γ¿ó¿ºáµ¿∩ ñ«τÑα¡¿σ «¬«¡.         
  8474.  
  8475.              Ç¬Γ¿ó¡«Ñ «¬¡«  ¼«ªÑΓ  íδΓ∞  ¿º¼Ñ¡Ñ¡«  ß  »«¼«Θ∞ε ß««íΘÑ¡¿⌐
  8476.         WM_MDICREATE ¿     WM_MDIACTIVATE.     æ««íΘÑ¡¿Ñ     WM_MDINEXT
  8477.         á¬Γ¿ó¿º¿απÑΓ ß½ÑñπεΘÑÑ ó ß»¿ß¬Ñ «¬«¡ ñ«τÑα¡ÑÑ «¬¡«, á ß««íΘÑ¡¿Ñ
  8478.         WM_MDIACTIVATE á¬Γ¿ó¿º¿απÑΓ   ñ«τÑα¡ÑÑ    «¬¡«,    «»αÑñѽ∩Ѽ«Ñ
  8479.         »áαá¼ÑΓα«¼ ß««íΘÑ¡¿∩  lParam.  Ç¬Γ¿ó¿ºáµ¿∩  «íδτ¡«  óδ»«½¡∩ÑΓß∩
  8480.         »«½∞º«óáΓѽѼ τÑαѺ »«½∞º«óáΓѽ∞߬¿⌐  ¿¡ΓÑαΣÑ⌐ß  MDI.  Multipad
  8481.         ¡á»α∩¼πε ¡Ñ ¿ß»«½∞ºπÑΓ ¡¿ «ñ¡« ¿º φΓ¿σ ß««íΘÑ¡¿⌐.
  8482.  
  8483.              Äß¡«ó¡δ¼ ¿ß»«½∞º«ó᡿Ѽ  ß««íΘÑ¡¿∩ WM_MDIACTIVATE ∩ó½∩ÑΓß∩
  8484.         ß½Ññ«óá¡¿Ñ   ºá   ¿º¼Ñ¡Ñ¡¿Ñ¼    á¬Γ¿ó¡«ú«    «¬¡á.    æ««íΘÑ¡¿Ñ
  8485.         WM_MDIACTIVATE   »«ßδ½áÑΓß∩   ΓᬪѠ  ñ«τÑα¡¿¼  «¬¡á¼  MDI  »α¿
  8486.         á¬Γ¿ó¿ºáµ¿¿  ¿   ñÑá¬Γ¿ó¿ºáµ¿¿.   Æá¬¿¼   «íαẫ¼,   «Γ߽Ѫ¿óá∩
  8487.         ß««íΘÑ¡¿∩ WM_MDIACTIVATE, »α¿¬½áñ¡á∩ »α«úαἼᠼ«ªÑΓ «»αÑñѽ∩Γ∞
  8488.         ΓѬπΘÑÑ á¬Γ¿ó¡«Ñ «¬¡« MDI.
  8489.  
  8490.              Multipad »«ññÑনóáÑΓ    ñóÑ    ú½«íá½∞¡δÑ     »ÑαѼѡ¡δÑ,
  8491.         hwndActive ¿   hwndActivEdit,   ¬«Γ«αδÑ  ∩ó½∩εΓß∩  ñÑß¬α¿»Γ«α«¼
  8492.         ΓѬπΘÑú« á¬Γ¿ó¡«ú« ñ«τÑα¡Ñú«  «¬¡á  MDI  ¿  Ñú«  αÑñá¬Γ¿απѼ«ú«
  8493.         í½«¬á ß««ΓóÑΓßΓóÑ¡¡«.  ÄΓ߽Ѫ¿óá¡¿Ñ  φΓ¿σ «¬«¡ π»α«ΘáÑΓ »«ß佬π
  8494.         ß««íΘÑ¡¿⌐.
  8495.  
  8496.  
  8497.        Windows 3.0/pg/3#3                                       = 161 =
  8498.  
  8499.              Å«½πτ¿Γ∞ ΓѬπΘÑÑ  á¬Γ¿ó¡«Ñ  «¬¡«  MDI  ¼«ª¡«   ß   »«¼«Θ∞ε
  8500.         ß««íΘÑ¡¿∩ WM_MDIGETACTIV,  ¬«Γ«αδ⌐ ó«ºóαáΘáÑΓ á¬Γ¿ó¡«Ñ ñ«τÑα¡ÑÑ
  8501.         «¬¡« ó  ¼½áñΦѼ  ß½«óÑ.  çáΓѼ,  »α¿¬½áñ¡á∩   »α«úαἼᠠ ¼«ªÑΓ
  8502.         ¿ß»«½∞º«óáΓ∞  Σπ¡¬µ¿ε  GetWindowWord  ñ½∩ »«½πτÑ¡¿∩ ñÑß¬α¿»Γ«αá
  8503.         «¬¡á ñ½∩ í½«¬á αÑñá¬Γ¿α«óá¡¿∩.  ä½∩ ∩ó¡«ú« ¼á¬ß¿¼¿º¿α«óá¡¿∩ ¿½¿
  8504.         ó«ßßΓá¡«ó½Ñ¡¿∩ ñ«τÑα¡Ñú«   «¬¡á   »α¿¬½áñ¡á∩   »α«úαἼᠠ¼«ªÑΓ
  8505.         ¿ß»«½∞º«óáΓ∞ ß««íΘÑ¡¿∩ WM_MDIMAXIMAZE ¿ WM_MDIRESTORE, »áαá¼ÑΓα
  8506.         wParam  ¬«Γ«αδσ  «»αÑñѽ∩ÑΓ ñÑß¬α¿»Γ«α ¿º¼Ñ¡∩Ѽ«ú« «¬¡á.  Ä»∩Γ∞
  8507.         ªÑ,  φΓ« ß««íΘÑ¡¿∩,  ¬«Γ«αδÑ  »α¿¬½áñ¡á∩  »α«úαἼᠠ¡Ñ  ñ«½ª¡á
  8508.         «íδτ¡«     ¿ß»«½∞º«óáΓ∞,     »«ß¬«½∞¬π     Windows    π»αáó½∩ÑΓ
  8509.         »«½∞º«óáΓѽ∞߬¿¼  ¿¡ΓÑαΣÑ⌐ß«¼  MDI   ó   ¿¡ΓÑαÑßáσ   »α¿¬½áñ¡«⌐
  8510.         »α«úαá¼¼δ.
  8511.                                                                                
  8512.                21.7.4  ÉáßßΓá¡«ó¬á ñ«τÑα¡¿σ «¬«¡ ¡á φ¬αá¡Ñ.
  8513.  
  8514.              Windows »αÑñ«ßΓáó½∩ÑΓ  Γα¿  ß½πªÑí¡δσ  ß««íΘÑ¡¿∩,  ¬«Γ«αδÑ
  8515.         óδ ¼«ªÑΓÑ ¿ß»«½∞º«óáΓ∞ ñ½∩ αáßßΓᡫ󬿠 ñ«τÑα¡¿σ  «¬«¡  MDI  ¡á
  8516.         φ¬αá¡Ñ.
  8517.  
  8518.         æ««íΘÑ¡¿Ñ           Ä»¿ßá¡¿Ñ
  8519.         ───────────────────────────────────────────────────────────────
  8520.         WM_MDICASCADE       ÉáßßΓáó½∩ÑΓ óßÑ ñ«τÑα¡¿Ñ «¬¡á, ¡Ñ ¿¬«¡δ,
  8521.                             ó »«α∩ñ¬Ñ «Γ ½Ñó«ú« óÑασ¡Ñú« πú½á »« ¡á»-
  8522.                             αáó½Ñ¡¿ε ¬ »αáó«¼π ¡¿ª¡Ñ¼π. (¥Γ« ß««íΘÑ¡¿Ñ
  8523.                             ΓᬪѠαáßßΓáó½∩ÑΓ ñ«τÑα¡¿Ñ ¿¬«¡δ).
  8524.  
  8525.         WM_MDIICONARRANGE   ÉáßßΓáó½∩ÑΓ óßÑ ñ«τÑα¡¿Ñ ¿¬«¡δ «¬¡á ó ¡¿ª¡Ñ⌐
  8526.                             τáßΓ¿ «¬¡á »«½∞º«óáΓѽ∩ MDI.
  8527.  
  8528.         WM_MDITILE          ÉáßßΓáó½∩ÑΓ óßÑ ñ«τÑα¡¿Ñ «¬¡á, ¡Ñ ¿¬«¡δ,
  8529.                             Γá¬, τΓ«íδ  «¡¿  í뫨  óßΓδ¬  ó¡πΓα¿   «¬¡á
  8530.                             »«½∞º«óáΓѽ∩   MDI.  (¥Γ«  ß««íΘÑ¡¿Ñ  ΓᬪÑ
  8531.                             αáßßΓáó½∩ÑΓ ¿¬«¡δ).
  8532.         ───────────────────────────────────────────────────────────────
  8533.  
  8534.  
  8535.        Windows 3.0/pg/3#3                                       = 162 =
  8536.  
  8537.                                              21.8  çᬽετÑ¡¿Ñ.                 
  8538.  
  8539.              é ñá¡¡«⌐   ú½áóÑ   »α¿ó«ñ¿Γß∩   «ß¡«ó¡á∩   ¿¡Σ«α¼áµ¿∩   «í
  8540.         ¿¡ΓÑαΣÑ⌐ßÑ ¼¡«ªÑßΓóá ñ«¬π¼Ñ¡Γ«ó Windows ¿ «»¿ßδóáÑΓß∩ ßΓαπ¬Γπαá
  8541.         »α¿¬½áñ¡«⌐ »α«úαá¼¼δ,  ¿ß»«½∞ºπεΘÑ⌐ φëà¿¡ΓÑαΣÑ⌐ß. èα«¼Ñ φΓ«ú«
  8542.         »α¿ó«ñ¿Γß∩ ¿¡Σ«α¼áµ¿∩,  »«∩ß¡∩εΘá∩,   ¬á¬   »¿ßáΓ∞   »α¿¬½áñ¡δÑ
  8543.         »α«úαá¼¼δ, ¿ß»«½∞ºπεΘ¿Ñ MDI.
  8544.  
  8545.              ä«»«½¡¿Γѽ∞¡πε ¿¡Σ«α¼áµ¿ε «Γ¡«ß¿Γѽ∞¡« MDI óδ ¡á⌐ñÑΓÑ ó:
  8546.  
  8547.         Éáºñѽ               Éπ¬«ó«ñßΓó«
  8548.         ───────────────────────────────────────────────────────────────
  8549.         æ«ºñá¡¿Ñ ¿ π»αáó-    æ»αáó«τ¡«Ñ απ¬«ó«ñßΓó«, Γ«¼ 1: â½áóá 1,
  8550.         ½Ñ¡¿Ñ «¬¡á¼¿         "öπ¡¬µ¿¿ ß¿ßΓѼδ π»αáó½Ñ¡¿∩ «¬¡á¼¿".
  8551.  
  8552.         æΓαπ¬Γπαá ¬½áßßá     æ»αáó«τ¡«Ñ απ¬«ó«ñßΓó«, Γ«¼ 1: â½áóá 1,
  8553.         «¬¡á                 "öπ¡¬µ¿¿ ß¿ßΓѼδ π»αáó½Ñ¡¿∩ «¬¡á¼¿".
  8554.  
  8555.         öπ¡¬µ¿¿ MDI          æ»αáó«τ¡«Ñ απ¬«ó«ñßΓó«, Γ«¼ 1: â½áóá 1,
  8556.                              "öπ¡¬µ¿¿ ß¿ßΓѼδ π»αáó½Ñ¡¿∩ «¬¡á¼¿", ¿
  8557.                              â½áóá 4, "滿߫¬ Σπ¡¬µ¿⌐".
  8558.  
  8559.         Åα¿¼Ñα »α«úαá¼¼δ,    Åα¿¼Ñα »α¿¬½áñ¡«⌐ »α«úαá¼¼δ Multipad,
  8560.         ¿ß»«½∞ºπεΘÑ⌐ MDI     »«ßΓáó½∩Ѽ«⌐ ¡á ñ¿ß¬Ñ SDK Sample Source
  8561.                              Code Disk.
  8562.  
  8563.  
  8564.  
  8565.        Windows 3.0/pg/3#3                                       = 163 =
  8566.  
  8567.                               â½áóá 22. ä¿¡á¼¿τÑ߬¿⌐ «í¼Ñ¡ ñá¡¡δ¼¿.            
  8568.        ----------------------------------------------------------------
  8569.              Microsoft Windows   »αÑñ«ßΓáó½∩ÑΓ  ¡Ñ߬«½∞¬«  ¼ÑΓ«ñ«ó  ñ½∩
  8570.         »ÑαÑñáτ¿ ñá¡¡δσ ¼Ñªñπ  »α«úαἼἿ.  Äñ¡¿¼  ¿º  »πΓÑ⌐  »ÑαÑñáτ¿
  8571.         ñá¡¡δσ -  ∩ó½∩ÑΓß∩  ¿ß»«½∞º«óá¡¿Ñ  ñ¿¡á¼¿τÑ߬«ú« «í¼Ñ¡á ñá¡¡δ¼¿
  8572.         Windows (DDE). DDE - φΓ« »α«Γ«¬«½ »ÑαÑñáτ¿ ß««íΘÑ¡¿⌐ ñ½∩ «í¼Ñ¡á
  8573.         ñá¡¡δ¼¿  ¼Ñªñπ  »α¿¬½áñ¡δ¼¿  »α«úαἼἿ Windows.  Ä¡ »«ºó«½∩ÑΓ
  8574.         αáºαáí«Γτ¿¬á¼    »α«úαá¼¼¡«ú«    «íÑß»ÑτÑ¡¿∩     «αúá¡¿º«óδóáΓ∞
  8575.         αáºñѽѡ¿Ñ ñá¡¡δσ ¼Ñªñπ »α¿¬½áñ¡δ¼¿ »α«úαἼἿ ¿ Γᬿ¼ «íαẫ¼
  8576.         »αÑñ«ßΓáó¿Γ∞ »«½∞º«óáΓѽε í«½ÑÑ ¿¡ΓÑúα¿α«óá¡¡πε ßαÑñπ.
  8577.  
  8578.              é ñá¡¡«⌐  ú½áóÑ  ß«ñÑনΓß∩  απ¬«ó«ñßΓó«   »«   αÑ὿ºáµ¿¿
  8579.         »α«Γ«¬«½á DDE  ó  óáΦ¿σ »α¿¬½áñ¡δσ »α«úαá¼¼áσ.  Å«½¡«Ñ «»¿ßá¡¿Ñ
  8580.         »α«Γ«¬«½á ß«ñÑনΓß∩ ó« óΓ«α«¼ Γ«¼Ñ æ»αáó«τ¡«ú« απ¬«ó«ñßΓóá.
  8581.  
  8582.              é ñá¡¡«⌐ ú½áóÑ ß«ñÑনΓß∩ ¿¡Σ«α¼áµ¿∩ »« ß½ÑñπεΘ¿¼ ΓѼá¼:
  8583.  
  8584.              - Äí¼Ñ¡ ñá¡¡δ¼¿ ó Windows.
  8585.  
  8586.              - è«¡µÑ»µ¿¿ DDE.
  8587.  
  8588.              - æ««íΘÑ¡¿∩ DDE.
  8589.  
  8590.              - Å«Γ«¬ ß««íΘÑ¡¿⌐ DDE.
  8591.  
  8592.              é ñá¡¡«⌐ ú½áóÑ ΓᬪѠ«»¿ßá¡«, ¬á¬ ¿ß»«½∞º«óáΓ∞ ñóá »α¿¼Ñαá
  8593.         »α«úαá¼¼, Client ¿ Server, ¬«Γ«αδÑ ¿½½εßΓα¿απεΓ ñá¡¡δÑ ΓѼδ.
  8594.                                                                                
  8595.                       22.1  Äí¼Ñ¡ ñá¡¡δ¼¿ ó Windows.
  8596.  
  8597.              é «ß¡«ó¡«¼,  Windows  »«ññÑনóáÑΓ  Γα¿  ¼Ñσá¡¿º¼á  «í¼Ñ¡á
  8598.         ñá¡¡δ¼¿ ¼Ñªñπ »α¿¬½áñ¡δ¼¿ »α«úαἼἿ:
  8599.  
  8600.              - ÅÑαÑñáτá τÑαѺ ß¿ßΓѼ¡δ⌐ íπΣÑα.
  8601.  
  8602.              - ä¿¡á¼¿τÑ߬¿ »«ñ¬½ετáѼδÑ í¿í½¿«ΓѬ¿.
  8603.  
  8604.              - ä¿¡á¼¿τÑ߬¿⌐ «í¼Ñ¡ ñá¡¡δ¼¿.
  8605.  
  8606.              Windows ¡Ñ »«ññÑনóáÑΓ αáºñѽѡ¿Ñ  ¡á»α∩¼πε  ñÑß¬α¿»Γ«α«ó
  8607.         ú½«íá½∞¡δσ í½«¬«ó »á¼∩Γ¿.  ä½∩ αáí«Γδ ß αáßΦ¿αÑ¡¡«⌐ »á¼∩Γ∞ε,  á
  8608.         ΓᬠªÑ ñ½∩ ß«ó¼ÑßΓ¿¼«ßΓ¿ ß íπñπΘ¿¼¿  óÑαß¿∩¼¿  Windows,  óδ  ¡Ñ
  8609.         ñ«½ª¡δ »δΓáΓ∞ß∩  »«½πτ¿Γ∞  áñαÑß  (c  »«¼«Θ∞ε GlobalUnlock) ¿½¿
  8610.         ½εíδ¼ ñαπú¿¼ ß»«ß«í«¼ ¼á¡¿»π½¿α«óáΓ∞  ñÑß¬α¿»Γ«αἿ  ú½«íá½∞¡δσ
  8611.         í½«¬«ó  »á¼∩Γ¿,  ß«ºñá¡¡δσ ñαπú«⌐ »α¿¬½áñ¡«⌐ »α«úαá¼¼«⌐.  Æá¬πε
  8612.         ó«º¼«ª¡«ßΓ∞ »αÑñ«ßΓáó½∩ÑΓ  óá¼  Γ«½∞¬«  DDE,  ß  ¿ß»«½∞º«ó᡿Ѽ
  8613.         ¬«Γ«α«ú«  óδ  ¼«ªÑΓÑ  »ÑαÑñáóáΓ∞  ñÑß¬α¿»Γ«αδ ú½«íá½∞¡δσ í½«¬«ó
  8614.         »á¼∩Γ¿ ó ñαπú¿Ñ »α¿¬½áñ¡δÑ »α«úαá¼¼δ.
  8615.  
  8616.  
  8617.        Windows 3.0/pg/3#3                                       = 164 =
  8618.  
  8619.                                                                                
  8620.               22.1.1  ÅÑαÑñáτá ñá¡¡δσ τÑαѺ ß¿ßΓѼ¡δ⌐ íπΣÑα.
  8621.  
  8622.              æ¿ßΓѼ¡δ⌐ íπΣÑα »«ºó«½∩ÑΓ »«½∞º«óáΓÑ½ε  »ÑαÑñáóáΓ∞  ñá¡¡δÑ
  8623.         ¼Ñªñπ »α¿¬½áñ¡δ¼¿    »α«úαἼἿ    ó   ß¿ßΓѼÑ.   Å«½∞º«óáΓѽ∞
  8624.         ¿¡¿µ¿¿απÑΓ ¬«¼á¡ñπ   »α¿¬½áñ¡«⌐   »α«úαá¼¼δ   ñ½∩   ¬«»¿α«óá¡¿∩
  8625.         óδíαá¡¡δσ ñá¡¡δσ ó ß¿ßΓѼ¡δ⌐ íπΣÑα.  çáΓѼ, ó ñαπú«⌐ »α¿¬½áñ¡«⌐
  8626.         »α«úαἼѠ»«½∞º«óáΓѽ∞ ¿¡¿µ¿¿απÑΓ ¬«¼á¡ñπ »« óßΓáó¬Ñ ñá¡¡δσ  ¿º
  8627.         ß¿ßΓѼ¡«ú« íπΣÑαá ó «í½áßΓ∞ ñá¡¡δσ óΓ«α«⌐ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ.
  8628.         é  «ß¡«ó¡«¼,  ß¿ßΓѼ¡δ⌐  íπΣÑα  ¿ß»«½∞ºπÑΓß∩   ñ½∩   óαѼѡ¡«ú«
  8629.         σαá¡Ñ¡¿∩  ñá¡¡δσ  »α¿  »α∩¼«¼  »ÑαÑ¡«ßÑ »«½∞º«óáΓѽѼ ñá¡¡δσ ¿º
  8630.         «ñ¡«⌐ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ ó ñαπúπε.
  8631.                                                                                
  8632.                22.1.2  ä¿¡á¼¿τÑ߬¿ »«ñ¬½ετáѼδÑ í¿í½¿«ΓѬ¿.
  8633.  
  8634.              ä¿¡á¼¿τÑ߬¿ »«ñ¬½ετáѼδÑ  í¿í½¿«ΓѬ¿  (DLL)   ¼«úπΓ   íδΓ∞
  8635.         ß«ºñá¡δ ñ½∩ «íÑß»ÑτÑ¡¿∩ óαѼѡ¡«ú« σαá¡Ñ¡¿∩ ñá¡¡δσ, αáºñѽ∩Ѽδσ
  8636.         »α¿¬½áñ¡«⌐ »α«úαá¼¼«⌐.  é φΓ«¼ ß½πτáÑ DLL  αáßß¼áΓα¿óáÑΓß∩  ¬á¬
  8637.         »α«úαá¼¼¡δ⌐  ¿¡ΓÑαΣÑ⌐ß ñ½∩ »«½πτÑ¡¿∩ ¿ ß«σαá¡Ñ¡¿∩ ñá¡¡δσ.  æá¼¿
  8638.         ñá¡¡δÑ σαá¡∩Γß∩ ó ½«¬á½∞¡«⌐ ñ¿¡á¼¿τÑ߬«⌐ «í½áßΓ¿ »á¼∩Γ¿ DLL ¿½¿
  8639.         ó ÑÑ ßÑú¼Ñ¡ΓÑ ñá¡¡δσ ó «í½áßΓ¿ ßΓáΓ¿τÑ߬¿σ ñá¡¡δσ.  äÑß¬α¿»Γ«αδ
  8640.         ¿½¿ áñαÑßá φΓ¿σ ñá¡¡δσ ¼«úπΓ íδΓ∞ »«ß½á¡δ »α¿¬½áñ¡«⌐  »α«úαá¼¼Ñ
  8641.         Γ«½∞¬«  ¬á¬ ½«ú¿τÑ߬¿Ñ ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ,  ¡« »α¿¬½áñ¡á∩ »α«úαá¼¼á
  8642.         ¡Ñ ¼«ªÑΓ ¿σ  »«½πτ¿Γ∞  ó  ñÑ⌐ßΓó¿Γѽ∞¡«ßΓ¿.  Æ«½∞¬«  DLL  ¼«ªÑΓ
  8643.         »αÑ«íαẫóδóáΓ∞ φΓ¿ ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ ó ñÑ⌐ßΓó¿Γѽ∞¡δÑ ñÑß¬α¿»Γ«αδ
  8644.         ¿½¿ áñαÑßá  ß  »«¼«Θ∞ε  Σπ¡¬µ¿⌐  GlobalUnlock,  LocalUnlock.  é
  8645.         «ß¡«ó¡«¼,  ñ½∩  «í¼Ñ¡á  ñá¡¡δ¼¿  óδ  ¼«ªÑΓÑ ¿ß»«½∞º«óáΓ∞ Γ«½∞¬«
  8646.         ßÑú¼Ñ¡Γ ñá¡¡δσ DLL.
  8647.                                 22.1.3  ä¿¡á¼¿τÑ߬¿⌐ «í¼Ñ¡ ñá¡¡δ¼¿.            
  8648.  
  8649.              Åα«Γ«¬«½ Windows DDE  ∩ó½∩ÑΓß∩  ßΓá¡ñáαΓ«¼  ñ½∩  ßó∩ºá¡¡δσ
  8650.         »α¿¬½áñ¡δσ »α«úαá¼¼,  ¬«Γ«αδ⌐ »«ºó«½∩ÑΓ ¿¼ «í¼Ñ¡¿óáΓ∞ß∩ ñá¡¡δ¼¿
  8651.         ¿ ¿¡¿µ¿¿α«óáΓ∞ πñá½Ñ¡¡δÑ ¬«¼á¡ñδ ó ó¿ñÑ ß««íΘÑ¡¿⌐ Windows.
  8652.  
  8653.              Å«ß¬«½∞¬π Windows íếαπÑΓß∩ ¡á áασ¿ΓѬΓπαÑ,  ¿ß»«½∞ºπεΘÑ⌐
  8654.         ß««íΘÑ¡¿∩, Γ«  »«ßδ½¬á  ß««íΘÑ¡¿⌐  ∩ó½∩ÑΓß∩ ¡á¿í«½ÑÑ »«ñσ«ñ∩Θ¿¼
  8655.         ¼ÑΓ«ñ«¼ ñ½∩ áóΓ«¼áΓ¿τÑ߬«⌐ »ÑαÑñáτ¿  ñá¡¡δσ  ¼Ñªñπ  »α¿¬½áñ¡δ¼¿
  8656.         »α«úαἼἿ. Äñ¡á¬«,  ß««íΘÑ¡¿∩  Windows  ñ½∩  »ÑαÑñáτ¿  ñá¡¡δσ
  8657.         ¿¼ÑεΓ Γ«½∞¬« ñóá  »áαá¼ÑΓαá  (wParam  ¿  lParam).  Å«φΓ«¼π  φΓ¿
  8658.         »áαá¼ÑΓαδ ¼«úπΓ ¿ß»«½∞º«óáΓ∞ß∩ ñ½∩ »ÑαÑñáτ¿ ¬«ßóÑ¡¡δσ ßß佫¬ ¡á
  8659.         ñαπú¿Ñ í½«¬¿ ¿¡Σ«α¼áµ¿¿.
  8660.  
  8661.              Åα«Γ«¬«½ DDE Γ«τ¡«  «»αÑñѽ∩ÑΓ,  ¬á¬  »áαá¼ÑΓαδ  lParam  ¿
  8662.         wParam  ¿ß»«½∞ºπεΓß∩  ñ½∩ »ÑαÑñáτ¿ í«½∞Φ¿σ í½«¬«ó ñá¡¡δσ ó ó¿ñÑ
  8663.         ú½«íá½∞¡δσ áΓ«¼«ó ¿ ú½«íá½∞¡δσ ñÑß¬α¿»Γ«α«ó αáºñѽ∩Ѽ«⌐ »á¼∩Γ¿.
  8664.  
  8665.              â½«íá½∞¡δ⌐ áΓ«¼  -  φΓ«  ßßδ½¬á  ¡á  ΓѬßΓ«óπε  ßΓ᫬π.  é
  8666.         »α«Γ«¬«½Ñ DDE  áΓ«¼δ ¿ß»«½∞ºπεΓß∩ ñ½∩ ¿ñÑ¡Γ¿Σ¿¬áµ¿¿ ¿¡Σ«α¼áµ¿¿,
  8667.         ¬«Γ«α«⌐   «í¼Ñ¡¿óáεΓß∩   »α¿¬½áñ¡δÑ   »α«úαá¼¼δ,   ñ½∩    ßἫ⌐
  8668.         «í¼Ñ¡¿óáѼ«⌐  ¿¡Σ«α¼áµ¿¿,  ñ½∩ «»αÑñѽѡ¿∩ »α¿α«ñδ «í¼Ñ¡¿óáѼ«⌐
  8669.         ¿¡Σ«α¼áµ¿Ñ⌐.
  8670.  
  8671.              äÑß¬α¿»Γ«α αáºñѽ∩Ѽ«ú« ú½«íá½∞¡«ú«  í½«¬á  »á¼∩Γ¿  -  φΓ«
  8672.         ñÑß¬α¿»Γ«α  í½«¬á  »á¼∩Γ¿,  óδñѽѡ¡«ú«  Σπ¡¬µ¿Ñ⌐ GlobalAlloc ß
  8673.         ¿ß»«½∞º«ó᡿Ѽ ¬½ετá GMEM_DDECHARE. é »α«Γ«¬«½Ñ DDE αáºñѽ∩ѼδÑ
  8674.         ú½«íá½∞¡δÑ «íΩѬΓδ ¿ß»«½∞ºπεΓß∩ ñ½∩ σαá¡Ñ¡¿∩ »ÑαÑñáóáѼδσ ¼Ñªñπ
  8675.         »α¿¬½áñ¡δ¼¿ »α«úαἼἿ ñá¡¡δσ,  »áαá¼ÑΓα«ó »α«Γ«¬«½á  ¿  ßΓ᫬
  8676.  
  8677.        Windows 3.0/pg/3#3                                       = 165 =
  8678.  
  8679.         óδ»«½¡∩Ѽδσ πñá½Ñ¡¡δ󠬫¼á¡ñ.
  8680.  
  8681.              Åα«Γ«¬«½ DDE   ¿¼ÑÑΓ   «τÑ¡∞   ß»Ñµ¿Σ¿τÑ߬¿Ñ  »αáó¿½á  ñ½∩
  8682.         ¡áº¡áτÑ¡¿∩ «ΓóÑΓßΓóÑ¡¡«ßΓ¿ »α¿¬½áñ¡δσ »α«úαá¼¼,  πτáßΓóπεΘ¿σ  ó
  8683.         «í¼Ñ¡Ñ ñá¡¡δ¼¿  ß ¿ß»«½∞º«ó᡿Ѽ DDE,  ñ½∩ óδñѽѡ¿∩ ¿ πñá½Ñ¡¿∩
  8684.         ú½«íá½∞¡δσ áΓ«¼«ó ¿ αáºñѽ∩Ѽδσ «íΩÑ¬Γ«ó »á¼∩Γ¿. é« óΓ«α«¼ Γ«¼Ñ
  8685.         æ»αáó«τ¡«ú« απ¬«ó«ñßΓóá,  ú½áóá  15,  ß«ñÑαªáΓß∩  «»¿ßá¡¿Ñ φΓ¿σ
  8686.         »αáó¿½ ñ½∩ ¬áªñ«ú« ß««íΘÑ¡¿∩.
  8687.                              22.1.4  è«úñá ¿ß»«½∞º«óáΓ∞ Windows DDE.           
  8688.  
  8689.              Windows DDE ¡á¿í«½ÑÑ  »«ñσ«ñ¿Γ  ñ½∩  «í¼Ñ¡á  ñá¡¡δ¼¿,  »α¿
  8690.         ¬«Γ«α«¼ ¡Ñ  ΓαÑíπÑΓß∩  óºá¿¼«ñÑ⌐ßΓó¿Ñ  ß »«½∞º«óáΓѽѼ.  Äíδτ¡«
  8691.         »α¿¬½áñ¡á∩ »α«úαἼᠠ»αÑñ«ßΓáó½∩ÑΓ  »«½∞º«óáΓÑ½ε   ¼ÑΓ«ñ   ñ½∩
  8692.         πßΓá¡«ó½Ñ¡¿∩ ßó∩º¿      ¼Ñªñπ      »α¿¬½áñ¡δ¼¿     »α«úαἼἿ,
  8693.         «í¼Ñ¡¿óáεΘ¿¼¿ß∩ ñá¡¡δ¼¿.  Äñ¡á¬«,  »«ß½Ñ   πßΓá¡«ó½Ñ¡¿∩   ßó∩º¿
  8694.         »α«úαá¼¼δ «í¼Ñ¡¿óáεΓß∩ ñá¡¡δ¼¿ íѺ πτáßΓ¿∩ »«½∞º«óáΓѽ∩.
  8695.  
  8696.              DDE ¼«ªÑΓ  íδΓ∞ ¿ß»«½∞º«óá¡ ó Φ¿α«¬«¼ ñ¿á»áº«¡Ñ »α¿¬½áñ¡δσ
  8697.         ºáñáτ, ó¬½ετá∩:
  8698.  
  8699.              - Å«ñß«Ññ¿¡Ñ¡¿Ñ  ñá¡¡δσ  αÑá½∞¡«ú«  óαѼѡ¿,  Γᬿσ,   ¬á¬
  8700.                ¼«ñ¿Σ¿¬áµ¿¿   «ß¡«ó¡δσ  ñá¡¡δσ  ñ½∩  ¬«¡¬αÑΓ¡«ú«  α뭪á,
  8701.                ¡áπτ¡δÑ ¿¡ßΓαπ¼Ñ¡Γδ ¿½¿ ñá¡¡δÑ π»αáó½Ñ¡¿Ñ »α«µÑßß«¼.
  8702.  
  8703.              - æ«ºñá¡¿Ñ  ß½«ª¡δσ  ñ«¬π¼Ñ¡Γ«ó,   Γá¬¿σ   ¬á¬   ñ«¬π¼Ñ¡Γδ
  8704.                ΓѬßΓ«ó«ú« »α«µÑßß«αá, ó¬½ετáεΘ¿σ úαáΣ¿¬¿, óδ»«½¡Ñ¡¡δÑ ó
  8705.                úαáΣ¿τÑ߬¿σ »α«úαá¼¼áσ.  æ  ¿ß»«½∞º«ó᡿Ѽ  DDE  úαáΣ¿¬¿
  8706.                ¼«úπΓ  ¿º¼Ñ¡∩Γ∞ß∩  »α¿  ¿º¼Ñ¡Ñ¡¿¿ ¿ßσ«ñ¡δσ ñá¡¡δσ,  ó Γ«
  8707.                óαѼ∩,   ¬á¬   «ßΓáóΦá∩ß∩   τáßΓ∞   ñ«¬π¼Ñ¡Γá   «ßΓáÑΓß∩
  8708.                ¡Ñ¿º¼Ñ¡¡«⌐.
  8709.  
  8710.              - æ«ºñá¡¿Ñ  «τÑαÑñÑ⌐ ñá¡¡δσ ¼Ñªñπ »α¿¬½áñ¡δ¼¿ »α«úαἼἿ,
  8711.                ¡á»α¿¼Ñα, φ½Ñ¬Γα«¡¡á∩ Γáí½¿µá óßΓáÑΓ ó  «τÑαÑñ∞  ¬  íáºÑ
  8712.                ñá¡¡δσ ñ½∩ »«½πτÑ¡¿∩ »«ß½Ññ¡¿σ ßτÑΓ«ó.
  8713.                             22.1.5  DDE ß Γ«τ¬¿ ºαÑ¡¿∩ »«½∞º«óáΓѽ∩.           
  8714.  
  8715.              æ½ÑñπεΘ¿⌐ »α¿¼Ñα   ¿½½εßΓα¿απÑΓ,   ¬á¬   ß   Γ«τ¬¿  ºαÑ¡¿∩
  8716.         »«½∞º«óáΓѽ∩ óºá¿¼«ñÑ⌐ßΓóπεΓ ñóÑ »α¿¬½áñ¡δÑ »α«úαá¼¼δ Windows ß
  8717.         ¿ß»«½∞º«ó᡿Ѽ DDE.
  8718.  
  8719.              Å«½∞º«óáΓѽ∞ σ«Γѽ,  τΓ«íδ  φ½Ñ¬Γα«¡¡á∩  Γáí½¿µá Microsoft
  8720.         Excel  «Γ߽Ѫ¿óá½á   ßΓ«¿¼«ßΓ∞   «»αÑñѽѡ¡δσ   á¬µ¿⌐   ¡á   ¡á
  8721.         ì∞ε-ë«α¬ß¬«⌐   Σ«¡ñ«ó«⌐  í¿αªÑ.  Å«½∞º«óáΓѽ∞  ¿¼Ñ½  »α¿¬½áñ¡πε
  8722.         »α«úαá¼¼π Quote ¬«Γ«αá∩,  ó ßó«ε «τÑαÑñ∞ ¿¼Ñ½á ñ«ßΓπ» ¬  ñá¡¡δ¼
  8723.         ì∞ε-ë«α¬ß¬«⌐ Σ«¡ñ«ó«⌐ í¿αª¿.  éºá¿¼«ñÑ⌐ßΓó¿Ñ φΓ¿σ ñóπσ »α«úαá¼¼
  8724.         óδú½∩ñѽ« íδ ß½ÑñπεΘ¿¼ «íαẫ¼.
  8725.  
  8726.              - Å«½∞º«óáΓѽ∞ ¿¡¿µ¿á½¿º¿απÑΓ óºá¿¼«ñÑ⌐ßΓó¿Ñ, π¬áºδóá∩ ¿¼∩
  8727.                »α¿¬½áñ¡«⌐    »α«úαá¼¼δ    (Quote),   ¬«Γ«αá∩   »«½πτáÑΓ
  8728.                ¿¡ΓÑαÑßπεΘ¿Ñ Ñú« ñá¡¡δÑ. é αѺπ½∞Γ¿απεΘѼ »αÑ«íαẫóá¡¿¿
  8729.                ß    ¿ß»«½∞º«ó᡿Ѽ    DDE   »α¿¼Ñ¡∩ÑΓß∩   ¬   ßΓ«¿¼«ßΓ¿
  8730.  
  8731.        Windows 3.0/pg/3#3                                       = 166 =
  8732.  
  8733.                ¿¡ΓÑαÑßπεΘ¿σ á¬µ¿⌐.
  8734.  
  8735.              - Excel αáßßδ½áÑΓ ¿¼∩ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ ¿  ¿¼∩  αáºñѽá
  8736.                óßѼ αáí«ΓáεΘ¿¼ »α¿¬½áñ¡δ¼ »α«úαá¼¼á¼, ¿ß»«½∞ºπεΘ¿¼ DDE.
  8737.                Quote «ΓóÑτáÑΓ,  πßΓá¡áó½¿óá∩ ßó∩º∞ ß Excel,  «  ñá¡¡δσ,
  8738.                ΓαÑíπѼδσ «Γ ì∞ε-ë«α¬ß¬«⌐ Σ«¡ñ«ó«⌐ í¿αª¿.
  8739.  
  8740.              - Å«½∞º«óáΓѽ∞ ¼«ªÑΓ ºáΓѼ »«ΓαÑí«óáΓ∞,  τΓ«íδ φ½Ñ¬Γα«¡¡á∩
  8741.                Γáí½¿µá áóΓ«¼áΓ¿τÑ߬¿   ¼«ñ¿Σ¿µ¿α«óá½á   αѺπ½∞ΓáΓ   »α¿
  8742.                ¿º¼Ñ¡Ñ¡¿¿   ¿ßσ«ñ¡δσ  ñá¡¡δσ,  óóÑñ∩  Σ«α¼π½π  ó  ∩τÑ⌐¬π
  8743.                φ½Ñ¬Γα«¡¡«⌐ Γáí½¿µδ.   ìá»α¿¼Ñα,   »«½∞º«óáΓÑ½ε    ¼«ªÑΓ
  8744.                »«ΓαÑí«óáΓ∞ß∩ óδ»«½¡¿Γ∞  óδτ¿ß½Ñ¡¿∩  »α¿ ¿º¼Ñ¡Ñ¡¿¿ ¬παßá
  8745.                »α«ñ᪠ᬵ¿⌐ IBM.  Ä¡ ¼«ªÑΓ φΓ« ßñѽáΓ∞,  óóÑñ∩ ó ∩τÑ⌐¬π
  8746.                φ½Ñ¬Γα«¡¡«⌐ Γáí½¿µδ Σ«α¼π½π:
  8747.  
  8748.                = 'Quote' | 'NYSE'!IBM
  8749.  
  8750.              - Å«½∞º«óáΓѽ∞ ¼«ªÑΓ »αѬαáΓ¿Γ∞ áóΓ«¼áΓ¿τÑ߬πε ¼«ñ¿Σ¿¬áµ¿ε
  8751.                ¬παßá á¬µ¿⌐ IBM ó ½εí«⌐  ¼«¼Ñ¡Γ.  æ«Ññ¿¡Ñ¡¿Ñ  »«  ñαπú¿¼
  8752.                ñá¡¡δ¼, πßΓá¡«ó½Ñ¡¡«Ñ «Γñѽ∞¡«, ¡á»α¿¼Ñα, »« ¬παßπ á¬µ¿⌐
  8753.                ñαπú¿σ Σ¿α¼,  «ßΓá¡ÑΓß∩ á¬Γ¿ó¡δ¼ »α¿ ¿ß»«½∞º«óá¡¿¿  Γ«ú«
  8754.                ªÑ ß«Ññ¿¡Ñ¡¿∩ ñ½∩ ì∞ε-ë«α¬ß¬«⌐ Σ«¡ñ«ó«⌐ í¿αª¿ (NYSE).
  8755.  
  8756.              - Å«½∞º«óáΓѽ∞ ¼«ªÑΓ ΓᬪѠ»αÑαóáΓ∞ óÑß∞ «í¼Ñ¡ ¼Ñªñπ Excel
  8757.                ¿ Quote »« NYSE Γᬿ¼ «íαẫ¼,  τΓ« ó  ñá½∞¡Ñ⌐ΦѼ  ¼«ªÑΓ
  8758.                íδΓ∞ πßΓá¡«ó½Ñ¡á   ßó∩º∞   »«  «»αÑñѽѡ¡δ¼  ñá¡¡δ¼  íѺ
  8759.                »«óΓ«α¡«⌐ Ñú« ¿¡¿µ¿á½¿ºáµ¿¿.
  8760.                                                                                
  8761.                            22.2  è«¡µÑ»µ¿¿ DDE.
  8762.  
  8763.              ä½∩ »«¡¿¼á¡¿∩   ñ¿¡á¼¿τÑ߬«ú«  «í¼Ñ¡á  ñá¡¡δ¼¿  ¡Ñ«íσ«ñ¿¼«
  8764.         «»¿ßá¡¿Ñ ¡Ñ¬«Γ«αδσ  ¬«¡µÑ»µ¿⌐  ¿   «»αÑñѽѡ¡«⌐   ΓÑନ¡«½«ú¿¿.
  8765.         ìá¿í«½ÑÑ ó᪡δÑ ¿º ¡¿σ «»¿ßá¡δ ó ß½ÑñπεΘ¿σ αáºñѽáσ.
  8766.                                   22.2.1  è½¿Ñ¡Γ, ßÑαóÑα ¿ ñ¿á½«ú.             
  8767.  
  8768.              äóÑ »α¿¬½áñ¡δÑ  »α«úαá¼¼δ,   «ßπΘÑßΓó½∩εΘ¿Ñ   ñ¿¡á¼¿τÑ߬¿⌐
  8769.         «í¼Ñ¡ ñá¡¡δ¼¿,  ¡áºδóáεΓß∩  ó«ó½ÑτÑ¡¡δ¼¿  ó ñ¿á½«ú.  Åਪ½áñ¡á∩
  8770.         »α«úαá¼¼á, ¬«Γ«αá∩ ¿¡¿µ¿¿απÑΓ ñ¿á½«ú,  ¿ºóÑßΓ¡á ¬á¬  ¬½¿Ñ¡Γ,  á
  8771.         »α¿¬½áñ¡á∩ »α«úαá¼¼á, «íß½πª¿óáεΘá∩ ¬½¿Ñ¡Γá - ¬á¬ ßÑαóÑα. ïεíá∩
  8772.         »α¿¬½áñ¡á∩ »α«úαἼᠼ«ªÑΓ íδΓ∞ ó«ó½ÑτÑ¡á ó ¡Ñ߬«½∞¬«  ñ¿á½«ú«ó
  8773.         «ñ¡«óαѼѡ¡«, ñÑ⌐ßΓóπ∩ ¬á¬ ¬½¿Ñ¡Γ ó «ñ¡«¼ ß½πτáÑ ¿ ¬á¬ ßÑαóÑα -
  8774.         ó ñαπú«¼.
  8775.  
  8776.              DDE -   ñ¿á½«ú   ¼Ñªñπ   ñóπ¼∩   »α«úαἼἿ,   Σá¬Γ¿τÑ߬¿
  8777.         «ßπΘÑßΓó½∩ÑΓß∩ ¼Ñªñπ ñóπ¼∩ «¬¡á¼¿,  »α¿¡áñ½ÑªáΘ¿¼¿ ¬áªñ«Ñ ßó«Ñ⌐
  8778.         »α«úαá¼¼Ñ. Ä¬¡« ¼«ªÑΓ íδΓ∞ «ß¡«ó¡δ¼ «¬¡«¼ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ,
  8779.         «¬¡«¼, ßó∩ºá¡¡δ¼   ß   «Γñѽ∞¡δ¼   ñ«¬π¼Ñ¡Γ«¼   (ó  »α«úαá¼¼áσ,
  8780.         ¿ß»«½∞ºπεΘ¿σ ¿¡ΓÑαΣÑ⌐ß MDI),  ¿½¿  ß¬αδΓδ¼  (¡Ñó¿ñ¿¼δ¼)  «¬¡«¼,
  8781.         ß»Ñµ¿á½∞¡«   »αÑñ¡áº¡áτÑ¡¡δ¼   ñ½∩   «íαáí«Γ¬¿  ß««íΘÑ¡¿⌐  DDE.
  8782.         Å«ß¬«½∞¬π ñ¿á½«ú ó DDE «»αÑñѽ∩ÑΓß∩  »áα«⌐  ñÑß¬α¿»Γ«α«ó  «¬«¡,
  8783.         πτáßΓóπεΘ¿σ ó ¡Ñ¼,  Γ« ¡¿ «ñ¡« «¬¡« ¡Ñ ¼«ªÑΓ πτáßΓó«óáΓ∞ í«½∞ΦÑ
  8784.         τѼ ó «ñ¡«¼ ñ¿á½«úÑ «ñ¡«óαѼѡ¡«. Åਪ½áñ¡á∩ »α«úαá¼¼á "ßÑαóÑα"
  8785.  
  8786.        Windows 3.0/pg/3#3                                       = 167 =
  8787.  
  8788.         ¿½¿ »α¿¬½áñ¡á∩  »α«úαá¼¼á "¬½¿Ñ¡Γ" ñ«½ª¡δ ñ½∩ ¬áªñ«ú« ñ¿á½«úá ß
  8789.         «»αÑñѽѡ¡«⌐ »α«úαá¼¼«⌐ ßÑαóÑαá ¿½¿ ¬½¿Ñ¡Γá ºáó«ñ¿Γ∞  «Γñѽ∞¡«Ñ
  8790.         «¬¡«.
  8791.  
  8792.              ä½∩ ¿ß¬½ετÑ¡¿∩   ó«º¼«ª¡«ßΓ¿  πτáßΓ¿∩  «¬¡á  ó  ¡Ñ߬«½∞¬¿σ
  8793.         ñ¿á½«úáσ óδ ¼«ªÑΓÑ  ñ½∩  ¬áªñ«ú«  ñ¿á½«úá  ß«ºñáóáΓ∞  «Γñѽ∞¡«Ñ
  8794.         ß¬αδΓ«Ñ «¬¡«.  êσ  ¡áº¡áτÑ¡¿Ñ  ºá¬½ετáÑΓß∩  Γ«½∞¬«  ó «íαáí«Γ¬Ñ
  8795.         ß««íΘÑ¡¿⌐ DDE.
  8796.                               22.2.2  ¥½Ñ¼Ñ¡Γ, »αÑñ¼ÑΓ, »α¿½«ªÑ¡¿Ñ.            
  8797.  
  8798.  
  8799.              ä½∩ «ñ¡«º¡áτ¡«⌐   ¿ñÑ¡Γ¿Σ¿¬áµ¿¿   φ½Ñ¼Ñ¡Γ«ó   ñá¡¡δσ   DDE
  8800.         ¿ß»«½∞ºπÑΓ  ΓαÑσπα«ó¡Ñóπε  ¿σ   ¿Ñαáασ¿ε:   φ½Ñ¼Ñ¡Γ,   »αÑñ¼ÑΓ,
  8801.         »α¿½«ªÑ¡¿Ñ.
  8802.  
  8803.              èáªñδ⌐ ñ¿á½«ú  DDE  »«½¡«ßΓ∞ε  «»αÑñѽ∩ÑΓß∩  »α¿½«ªÑ¡¿Ñ¼ ¿
  8804.         »αÑñ¼ÑΓ«¼. é ¡áτá½Ñ ñ¿á½«úá DDE ¬½¿Ñ¡Γ ¿ ßÑαóÑα ß«ú½áΦáεΓß∩  ¡á
  8805.         ¿¼∩ »α¿½«ªÑ¡¿∩   ¿   »αÑñ¼ÑΓ.   Åα¿½«ªÑ¡¿Ñ  -  φΓ«  «íδτ¡«  ¿¼∩
  8806.         »α¿¬½áñ¡«⌐ »α«úαá¼¼δ ßÑαóÑαá.  ìá»α¿¼Ñα,  ó ñ¿á½«úÑ ß Microsoft
  8807.         Excel,  óδßΓπ»áεΘ¿¼ ó ¬áτÑßΓóÑ ßÑαóÑαá,  »α¿½«ªÑ¡¿Ñ íπñÑΓ ¿¼ÑΓ∞
  8808.         ¿¼∩ "Excel".
  8809.  
  8810.              ÅαÑñ¼ÑΓ - φΓ« ½«ú¿τÑ߬¿⌐ ¬«¡ΓѬßΓ ñá¡¡δσ,  ó¡πΓα¿ ¬«Γ«α«ú«
  8811.         ¼«úπΓ "«íßπªñáΓ∞ß∩"  (¿º¼Ñ¡∩Γ∞ß∩)  αẽ¿τ¡δÑ  ñá¡¡δÑ  ó«  óαѼ∩
  8812.         ñ¿á½«úá. ä½∩   »α«úαá¼¼,   ¬«Γ«αδÑ    «»Ñα¿απεΓ    ñ«¬π¼Ñ¡ΓἿ,
  8813.         σαá¡∩Θ¿¼¿ß∩  ó  Σá⌐½áσ,  »αÑñ¼ÑΓ  -  φΓ« «íδτ¡« ¿¼∩ Σá⌐½á;  ñ½∩
  8814.         ñαπú¿σ »α¿¬½áñ¡δσ »α«úαá¼¼ - φΓ« ¿¼∩,  ºáó¿ß∩ΘÑÑ «Γ  »α¿¬½áñ¡«⌐
  8815.         »α«úαá¼¼δ.
  8816.  
  8817.              Å«ß¬«½∞¬π «¬¡«    ¬½¿Ñ¡Γá    ¿    «¬¡«    ßÑαóÑαá   ó¼ÑßΓÑ
  8818.         ¿ñÑ¡Γ¿Σ¿µ¿απεΓ ñ¿á½«ú   DDE,   ¿¼∩   »α¿½«ªÑ¡¿∩   ¿    »αÑñ¼ÑΓ,
  8819.         «»αÑñѽ∩εΘ¿Ñ ñ¿á½«ú,  «¡¿  ¡Ñ  ñ«½ª¡δ ¿º¼Ñ¡∩Γ∞ß∩ ó« óαѼ∩ óßÑú«
  8820.         ñ¿á½«úá.
  8821.  
  8822.              ¥½Ñ¼Ñ¡Γδ ñá¡¡δσ DDE - φΓ« ó  ñÑ⌐ßΓó¿Γѽ∞¡«ßΓ¿  ¿¡Σ«α¼áµ¿∩,
  8823.         «Γ¡«ß∩Θá∩ß∩ ¬ »αÑñ¼ÑΓπ ñ¿á½«úá, ¬«Γ«α«⌐ «í¼Ñ¡¿óáεΓß∩ »α¿¬½áñ¡δÑ
  8824.         »α«úαá¼¼δ.  ç¡áτÑ¡¿∩ φ½Ñ¼Ñ¡Γ«ó ñá¡¡δσ  ¼«úπΓ  íδΓ∞  »«ß½á¡δ  «Γ
  8825.         ßÑαóÑαá ¬½¿Ñ¡Γπ ¿½¿ «Γ ¬½¿Ñ¡Γá ßÑαóÑαπ.  ö«α¼áΓ φ½Ñ¼Ñ¡Γá ñá¡¡δσ
  8826.         ¼«ªÑΓ íδΓ∞ ½εíδ¼ ¿º Σ«α¼áΓ«ó ñá¡¡δσ,  »«ññÑনóáѼδσ  ß¿ßΓѼ¡δ¼
  8827.         íπΣÑα«¼ (漫Γα¿ΓÑ Γ«¼ 1 æ»αáó«τ¡«ú« απ¬«ó«ñßΓóá).
  8828.                                                                                
  8829.         22.2.3  Å«ßΓ«∩¡¡á∩ ("ú«α∩τá∩" ¿ "ΓÑ»½á∩") ßó∩º∞ »« ñá¡¡δ¼.
  8830.  
  8831.              Å«ß½Ñ ¡áτá½á  ñ¿á½«úá DDE ¬½¿Ñ¡Γ ¼«ªÑΓ πßΓá¡«ó¿Γ∞ «ñ¡π ¿½¿
  8832.         ¡Ñ߬«½∞¬« »«ßΓ«∩¡¡δσ ßó∩ºÑ⌐ ñá¡¡δσ ß ßÑαóÑα«¼.  æó∩º∞ ñá¡¡δσ  -
  8833.         φΓ«  ¬«¼¼π¡¿¬áµ¿«¡¡δ⌐  ¼Ñσá¡¿º¼,  »α¿  ¬«Γ«α«¼  ßÑαóÑα ß««íΘáÑΓ
  8834.         ¬½¿Ñ¡Γπ  «í  ¿º¼Ñ¡Ñ¡¿¿  «»αÑñѽѡ¡«ú«  φ½Ñ¼Ñ¡Γá  ñá¡¡δσ.  æó∩º∞
  8835.         ñá¡¡δσ »«ßΓ«∩¡¡á, »«ß¬«½∞¬π »α«µÑßß πóÑñ«¼½Ñ¡¿∩ »α«ñ«½ªáÑΓß∩ ñ«
  8836.         ΓÑσ »«α, »«¬á ¡Ñ íπñÑΓ ºáóÑαΦÑ¡á ßó∩º∞ ñá¡¡δσ ¿½¿ ßá¼ ñ¿á½«ú.
  8837.  
  8838.              é DDE ¿¼ÑÑΓß∩  ñóá  Γ¿»á  »«ßΓ«∩¡¡«⌐  ßó∩º¿:  "ú«α∩τá∩"  ¿
  8839.         "ΓÑ»½á∩". Åα¿  ΓÑ»½«⌐ ßó∩º¿ ßÑαóÑα »α¿ ¿º¼Ñ¡Ñ¡¿¿ «íΩѬΓá ñá¡¡δσ
  8840.  
  8841.        Windows 3.0/pg/3#3                                       = 168 =
  8842.  
  8843.         πóÑñ«¼½∩ÑΓ «í φΓ«¼ »α¿¬½áñ¡πε »α«úαá¼¼π ¬½¿Ñ¡Γá, ¡« ßἿ ñá¡¡δÑ
  8844.         ¡Ñ »«ßδ½áÑΓ,  »«¬á  ¬½¿Ñ¡Γ  ¡Ñ  ºá»α«ß¿Γ ¿σ.  Åα¿ ú«α∩τÑ⌐ ßó∩º¿
  8845.         ßÑαóÑα »α¿ ¿º¼Ñ¡Ñ¡¿¿ ñá¡¡δσ ßαáºπ ªÑ »«ßδ½áÑΓ ¿σ ¬½¿Ñ¡Γπ.
  8846.  
  8847.              Åਪ½áñ¡δÑ »α«úαá¼¼δ,  »«ññÑনóáεΘ¿Ñ ú«α∩τπε  ¿½¿  ΓÑ»½πε
  8848.         ßó∩º∞, «íδτ¡«  ß«ñÑαªáΓ  ó  ¼Ñ¡ε Edit ¬«¼á¡ñδ Copy Link ¿ Paste
  8849.         Link,  ñ½∩ Γ«ú«,  τΓ«íδ »«½∞º«óáΓѽ∞ ¼«ú πßΓá¡«ó¿Γ∞ ßó∩º∞ ¼Ñªñπ
  8850.         »α¿¬½áñ¡δ¼¿ »α«úαἼἿ. æ¼«Γα¿ΓÑ αáºñѽ 22.4.3, "ê¡¿µ¿á½¿ºáµ¿∩
  8851.         ßó∩º¿ ñá¡¡δσ ß »«¼«Θ∞ε ¬«¼á¡ñδ Paste Link".
  8852.                                            22.3  æ««íΘÑ¡¿∩ DDE.                
  8853.  
  8854.              Å«ß¬«½∞¬π »α«Γ«¬«½ DDE íếαπÑΓß∩ ¡á  »ÑαÑñáτÑ  ß««íΘÑ¡¿⌐,
  8855.         Γ« «¡  ¡Ñ ¿ß»«½∞ºπÑΓ ß»Ñµ¿á½∞¡δσ Σπ¡¬µ¿⌐ ¿½¿ í¿í½¿«ΓѬ Windows.
  8856.         éßÑ Γα᡺ᬵ¿¿ óδ»«½¡∩εΓß∩ ß »«¼«Θ∞ε »ÑαÑñáτ¿ ¼Ñªñπ »α«úαἼἿ
  8857.         ¬½¿Ñ¡Γ«¼ ¿ ßÑαóÑα«¼ ¡Ñ¬«Γ«αδσ, «»αÑñѽѡ¡δσ DDE ß««íΘÑ¡¿⌐.
  8858.  
  8859.              ê¼ÑÑΓß∩ ñÑó∩Γ∞ ß««íΘÑ¡¿⌐ DDE.  æ¿¼ó«½¿τÑ߬¿Ñ ¬«¡ßΓá¡Γδ ñ½∩
  8860.         φΓ¿σ ß««íΘÑ¡¿⌐ «»αÑñѽѡδ ó« ó¬½ετáѼ«¼ Σá⌐½Ñ SDK DDE.H, á ¡Ñ ó
  8861.         WINDOWS.H. ìѬ«Γ«αδÑ  ßΓαπ¬Γπαδ  ñá¡¡δσ ñ½∩ αẽ¿τ¡δσ ß««íΘÑ¡¿⌐
  8862.         DDE ΓᬪѠ«»αÑñѽѡδ ó DDE.H.
  8863.  
  8864.              ì¿ªÑ »α¿óÑñÑ¡«   ¬αáΓ¬«Ñ   «»¿ßá¡¿Ñ   óßÑσ   φΓ¿σ   ñÑó∩Γ¿
  8865.         ß««íΘÑ¡¿⌐. Å«½¡«Ñ  «»¿ßá¡¿Ñ  ß««íΘÑ¡¿⌐  DDE »α¿óÑñÑ¡« ó« óΓ«α«¼
  8866.         Γ«¼Ñ æ»αáó«τ¡«ú« απ¬«ó«ñßΓóá.
  8867.  
  8868.         æ««íΘÑ¡¿Ñ            Ä»¿ßá¡¿Ñ
  8869.         ───────────────────────────────────────────────────────────────
  8870.         WM_DDE_ASK           Å«ßδ½áÑΓß∩ ó «ΓóÑΓ ¡á »«½πτÑ¡¡«Ñ ß««íΘÑ¡¿Ñ.
  8871.                              Ä»αÑñѽ∩ÑΓ »«½«ª¿Γѽ∞¡«Ñ ¿½¿ «Γα¿µáΓѽ∞¡«Ñ
  8872.                              »«ñΓóÑαªñÑ¡¿Ñ ó »«½πτÑ¡¿¿ ß««íΘÑ¡¿∩.
  8873.  
  8874.         WM_DDE_ADVISE        ÆαÑí«óá¡¿Ñ «Γ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ ßÑαóÑαá
  8875.                              »«ññÑ᪬¿ ¼«ñ¿Σ¿¬áµ¿¿  ¿½¿ πóÑñ«¼½Ñ¡¿∩ »α¿
  8876.                              ¿º¼Ñ¡Ñ¡¿¿ φ½Ñ¼Ñ¡Γá ñá¡¡δσ.  ¥Γ«  ß««íΘÑ¡¿Ñ
  8877.                              πßΓá¡áó½¿óáÑΓ »«ßΓ«∩¡¡πε ßó∩º∞ ñá¡¡δσ.
  8878.  
  8879.         WM_DDE_DATA          Å«ßδ½áÑΓ º¡áτÑ¡¿Ñ φ½Ñ¼Ñ¡Γá ñá¡¡δσ »α¿¬½áñ-
  8880.                              ¡«⌐ »α«úαἼѠ¬½¿Ñ¡Γπ.
  8881.  
  8882.         WM_DDE_EXECUTE       Å«ßδ½áÑΓ ßΓ᫬π »α¿¬½áñ¡«⌐ »α«úαἼѠßÑα-
  8883.                              óÑαπ, ¬«Γ«αá∩   ñ«½ª¡á  óδ»«½¡¿Γ∞  ÑÑ  ¬á¬
  8884.                              »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ ¬«¼á¡ñ.
  8885.  
  8886.         WM_DDE_INITIATE      ê¡¿µ¿á½¿º¿απÑΓ ñ¿á½«ú ¼Ñªñπ »α¿¬½áñ¡δ¼¿
  8887.                              »α«úαἼἿ ßÑαóÑαá ¿ ¬½¿Ñ¡Γá.
  8888.  
  8889.         WM_DDE_POKE          Å«ßδ½áÑΓ º¡áτÑ¡¿Ñ φ½Ñ¼Ñ¡Γá ñá¡¡δσ »α¿¬½áñ-
  8890.                              ¡«⌐ »α«úαἼѠßÑαóÑαπ.
  8891.  
  8892.         WM_DDE_REQUEST       çá»αáΦ¿óáÑΓ π »α¿¬½áñ¡«⌐ »α«úαá¼¼δ ßÑαóÑαá
  8893.                              º¡áτÑ¡¿Ñ φ½Ñ¼Ñ¡Γá ñá¡¡δσ.
  8894.  
  8895.  
  8896.        Windows 3.0/pg/3#3                                       = 169 =
  8897.  
  8898.         WM_DDE_TERMINATE     çáóÑαΦáÑΓ ñ¿á½«ú.
  8899.  
  8900.         WM_DDE_UNADVISE      çáóÑαΦáÑΓ »«ßΓ«∩¡¡πε ßó∩º∞ ñá¡¡δσ.
  8901.         ───────────────────────────────────────────────────────────────
  8902.                                       22.4  Å«Γ«¬ ß««íΘÑ¡¿⌐ DDE.               
  8903.  
  8904.              Æ¿»¿τ¡δ⌐ ñ¿á½«ú ß ¿ß»«½∞º«ó᡿Ѽ DDE ß«ßΓ«¿Γ ¿º  ß½ÑñπεΘ¿σ
  8905.         ß«íδΓ¿⌐:
  8906.  
  8907.              1. Åਪ½áñ¡á∩ »α«úαá¼¼á - ¬½¿Ñ¡Γ ¿¡¿µ¿á½¿º¿απÑΓ ñ¿á½«ú,  á
  8908.                 »α«úαá¼¼á ßÑαóÑα Ñ⌐ «ΓóÑτáÑΓ.
  8909.  
  8910.              2. Åਪ½áñ¡δÑ    »α«úαá¼¼δ    «í¼Ñ¡¿óáεΓß∩    ñá¡¡δ¼¿    ß
  8911.                 ¿ß»«½∞º«ó᡿Ѽ ½εí«ú«    ¿½¿   óßÑσ   ¡¿ªÑ»ÑαÑτ¿ß½Ñ¡¡δσ
  8912.                 ¼ÑΓ«ñ«ó:
  8913.  
  8914.                 - Å« ºá»α«ßπ »α«úαá¼¼δ - ¬½¿Ñ¡Γá  ßÑαóÑα  »«ßδ½áÑΓ  Ñ¼π
  8915.                   ñá¡¡δÑ.
  8916.  
  8917.                 - Åα«úαἼᠠ-  ¬½¿Ñ¡Γ »«ßδ½áÑΓ ßÑαóÑαπ ¡Ñºá»αáΦ¿óáѼδÑ
  8918.                   ñá¡¡δÑ.
  8919.  
  8920.                 - Åα«úαá¼¼á - ¬½¿Ñ¡Γ ºá»αáΦ¿óáÑΓ  »α«úαá¼¼π  -  ßÑαóÑα,
  8921.                   τΓ«íδ  «¡á  »«ßδ½á½á ñá¡¡δÑ »α¿ ¿σ ¿º¼Ñ¡Ñ¡¿¿ (ú«α∩τá∩
  8922.                   ßó∩º∞).
  8923.  
  8924.                 - Åα«úαá¼¼á - ¬½¿Ñ¡Γ ºá»αáΦ¿óáÑΓ  »α«úαá¼¼π  -  ßÑαóÑα,
  8925.                   τΓ«íδ  «¡á  »«ßδ½á½á πóÑñ«¼½Ñ¡¿Ñ »α¿ ¿º¼Ñ¡Ñ¡¿¿ ñá¡¡δσ
  8926.                   (ΓÑ»½á∩ ßó∩º∞).
  8927.  
  8928.                 - æÑαóÑα  óδ»«½¡∩ÑΓ  ¬«¼á¡ñδ  »«  ºá»α«ßπ  »α«úαá¼¼δ  -
  8929.                   ¬½¿Ñ¡Γá.
  8930.  
  8931.              3. ï¿í« ¬½¿Ñ¡Γ, ½¿í« ßÑαóÑα ºáóÑαΦáÑΓ ñ¿á½«ú.
  8932.  
  8933.              é ß½ÑñπεΘ¿σ αáºñѽáσ «»¿ßá¡ ¡«α¼á½∞¡δ⌐ »«Γ«¬ ß««íΘÑ¡¿⌐ DDE
  8934.         ¼Ñªñ𠬽¿Ñ¡Γ«¼ ¿ ßÑαóÑα«¼.
  8935.                                    22.4.1  ê¡¿µ¿á½¿ºáµ¿∩ ñ¿á½«úá.              
  8936.  
  8937.              ä½∩ ¿¡¿µ¿á½¿ºáµ¿¿     ñ¿á½«úá    DDE    ¬½¿Ñ¡Γ    »«ßδ½áÑΓ
  8938.         Φ¿α«¬«óÑΘáΓѽ∞¡«Ñ ß««íΘÑ¡¿Ñ   WM_DDE_INITIATE.   Äíδτ¡«  ¬½¿Ñ¡Γ
  8939.         »«ßδ½áÑΓ Ñú« óßѼ »α¿¬½áñ¡δ¼ »α«úαá¼¼á¼,  π¬áºδóá∩  ó  ¬áτÑßΓóÑ
  8940.         »Ñαó«ú« »áαá¼ÑΓαá  -1.  Äñ¡á¬«,  Ñß½¿  »α«úαἼѠ - ¬½¿Ñ¡Γπ πªÑ
  8941.         ¿ºóÑßΓÑ¡  ñÑß¬α¿»Γ«α  «¬¡á  »α«úαá¼¼δ  ßÑαóÑαá,  Γ«  «¡á  ¼«ªÑΓ
  8942.         »«ß½áΓ∞   Ñú«  »α∩¼«  φΓ«¼π  «¬¡π.  è½¿Ñ¡Γ  »«ñú«Γáó½¿óáÑΓ  ñ½∩
  8943.         »α¿½«ªÑ¡¿∩   áΓ«¼δ   ¿   ¿¼∩   »αÑñ¼ÑΓá   ß   »«¼«Θ∞ε   Σπ¡¬µ¿¿
  8944.         GlobalAddAtom.   è½¿Ñ¡Γ   ¼«ªÑΓ   ºáΓαÑí«óáΓ∞  ßó∩º∞  ß«  óßѼ¿
  8945.         »«ΓÑ¡µ¿á½∞¡δ¼¿ »α«úαἼἿ  -  ßÑαóÑαἿ  »«  ½εí«¼π  »αÑñ¼ÑΓπ,
  8946.         π¬áºáó  ¡π½ÑóδÑ  áΓ«¼δ (Φáí½«¡) ß««ΓóÑΓßΓóÑ¡¡« ñ½∩ »α¿½«ªÑ¡¿∩ ¿
  8947.         »αÑñ¼ÑΓá.
  8948.  
  8949.  
  8950.        Windows 3.0/pg/3#3                                       = 170 =
  8951.  
  8952.              æ½ÑñπεΘ¿⌐ »α¿¼Ñα ¿½½εßΓα¿απÑΓ,  ¬á¬ ¬½¿Ñ¡Γ  ¿¡¿µ¿á½¿º¿απÑΓ
  8953.         ñ¿á½«ú, π¬áºδóá∩ »α¿½«ªÑ¡¿Ñ ¿ »αÑñ¼ÑΓ.
  8954.  
  8955.         (1)  atomApplication = GlobaAddlAtom("Server");
  8956.              atomTopic = GlobalAddAtom(szTopic);
  8957.         (2)  SendMessage(-1,
  8958.                          WM_DDE_INITIATE,
  8959.                          hWndClientDDE,
  8960.                          MAKELONG(atomApplication,atomTopic));
  8961.         (3)  GlobalDeleteAtom(atomApplication);
  8962.              GlobalDeleteAtom(atomTopic);
  8963.  
  8964.              é ñá¡¡«¼ »α¿¼ÑαÑ:
  8965.  
  8966.         1)   Åਪ½áñ¡á∩ »α«úαá¼¼á - ¬½¿Ñ¡Γ ß«ºñáÑΓ ñóá ú½«íá½∞¡δσ áΓ«¼á,
  8967.              ß«ñÑαªáΘ¿σ ß««ΓóÑΓßΓóÑ¡¡« ¿¼∩ ßÑαóÑαá ¿ ¿¼∩ »αÑñ¼ÑΓá.
  8968.  
  8969.         2)   Åα«úαá¼¼á - ¬½¿Ñ¡Γ »«ßδ½áÑΓ  ß««íΘÑ¡¿Ñ  WM_DDE_INITIATE  ß
  8970.              lParam, ß«ñÑαªáΘ¿¼ ¿¼∩ »α¿½«ªÑ¡¿∩ ¿  »αÑñ¼ÑΓ.  æ»Ñµ¿á½∞¡δ⌐
  8971.              ñÑß¬α¿»Γ«α -1  ºáßΓáó½∩ÑΓ  Windows αẫ߽áΓ∞ φΓ« ß««íΘÑ¡¿Ñ
  8972.              óßѼ «ßΓá½∞¡δ¼  á¬Γ¿ó¡δ¼  »α¿¬½áñ¡δ¼  »α«úαá¼¼á¼.  öπ¡¬µ¿∩
  8973.              SendMessage ¡Ñ ó«ºóαáΘáÑΓ π»αáó½Ñ¡¿Ñ »α«úαἼѠñ« ΓÑσ »«α,
  8974.              »«¬á »α«úαá¼¼δ, »«½πτ¿óΦ¿Ñ φΓ« ß««íΘÑ¡¿Ñ, ¡Ñ óÑα¡πΓ Ñú«, ó
  8975.              ßó«ε «τÑαÑñ∞,  Windows.  ¥Γ« «º¡áτáÑΓ, τΓ« óßÑ »«ß½á¡¡δÑ ó
  8976.              «ΓóÑΓ  ßÑαóÑα«¼  ß««íΘÑ¡¿∩  WM_DDE_ASK  íπñπΓ   «íαáí«Γá¡δ
  8977.              ¬½¿Ñ¡Γ«¼ »«ß½Ñ ó«ºóαáΓá ¿º Σπ¡¬µ¿¿ SendMessage.
  8978.  
  8979.         3)   Å«ß½Ñ ó«ºóαáΓá π»αáó½Ñ¡¿∩ Σπ¡¬µ¿Ñ⌐ SendMessage  »α«úαá¼¼á -
  8980.              ¬½¿Ñ¡Γ πñá½∩ÑΓ ú½«íá½∞¡δÑ áΓ«¼δ.
  8981.  
  8982.              Åα«úαá¼¼á ßÑαóÑα   «ΓóÑτáÑΓ   ó  ß««ΓóÑΓßΓó¿¿  ß  ½«ú¿¬«⌐,
  8983.         »«¬áºá¡«⌐ ¡á α¿ßπ¡¬Ñ 22.1.
  8984.  
  8985.              É¿ßπ¡«¬ 22.1  ÉÑᬵ¿∩ ¡á ß««íΘÑ¡¿Ñ WM_DDE_INITIATE.
  8986.              1. ô¬áºá¡« Γ« »α¿½«ªÑ¡¿Ñ?
  8987.              2. ¥Γ« φ¬ºÑ¼»½∩α ¡πª¡«ú« »α¿½«ªÑ¡¿∩?
  8988.              3. ì¿τÑú« ¡Ñ ñѽáΓ∞ (ó«ºóαáΓ).
  8989.              4. ÆαÑíπѼδ⌐ »αÑñ¼ÑΓ?
  8990.              5. Å«ß½áΓ∞ ¬½¿Ñ¡Γπ »«½«ª¿Γѽ∞¡«Ñ ß««íΘÑ¡¿Ñ WM_DDE_ASK ¡á
  8991.                 ¬áªñδ⌐ »«ññÑনóáѼδ⌐ »α¿½«ªÑ¡¿Ñ¼ »αÑñ¼ÑΓ.
  8992.              6. äá¡¡«Ñ »α¿½«ªÑ¡¿Ñ »«ññÑনóáÑΓ φëà»αÑñ¼ÑΓ?
  8993.              7. Å«ß½áΓ∞ ¬½¿Ñ¡Γπ »«½«ª¿Γѽ∞¡«Ñ ß««íΘÑ¡¿Ñ WM_DDE_ASK ¡á
  8994.                 ΓαÑíπѼδ⌐ »αÑñ¼ÑΓ.
  8995.  
  8996.              ä½∩ »«ñΓóÑαªñÑ¡¿∩ «ñ¡«ú« ¿½¿ ¡Ñ߬«½∞¬¿σ  »αÑñ¼ÑΓ«ó  ßÑαóÑα
  8997.         ñ«½ªÑ¡  ß«ºñáΓ∞  áΓ«¼δ  ñ½∩ ¬áªñ«ú« ñ¿½«úá (ΓαÑíπ∩ ñπí½¿α«óá¡¿Ñ
  8998.         áΓ«¼á ß ¿¼Ñ¡Ñ¼ »α¿½«ªÑ¡¿∩, Ñß½¿ ¿¼ÑεΓß∩ ¡Ñ߬«½∞¬« »αÑñ¼ÑΓ«ó), ¿
  8999.         ñ½∩ ¬áªñ«ú« ñ¿á½«úá »«ß½áΓ∞ ß««íΘÑ¡¿Ñ WM_DDE_ASK,  ¬á¬ »«¬áºá¡«
  9000.         ¡¿ªÑ:
  9001.  
  9002.              atomApplication = GlobaAddlAtom("Server");
  9003.              atomTopic = GlobalAddAtom(szTopic);
  9004.              if(!SendMessage(-1,
  9005.  
  9006.        Windows 3.0/pg/3#3                                       = 171 =
  9007.  
  9008.                          WM_DDE_ASK,
  9009.                          hWndServerDDE,
  9010.                          MAKELONG(atomApplication,atomTopic))
  9011.              {
  9012.                 GlobalDeleteAtom(atomApplication);
  9013.                 GlobalDeleteAtom(atomTopic);
  9014.              }
  9015.  
  9016.              è«úñá ßÑαóÑα  «ΓóÑτáÑΓ  ß  »«¼«Θ∞ε  ß««íΘÑ¡¿∩  WM_DDE_ASK,
  9017.         »α«úαá¼¼á - ¬½¿Ñ¡Γ ñ«½ª¡á ß«σαá¡¿Γ∞  ñÑß¬α¿»Γ«α  «¬¡á  ßÑαóÑαá.
  9018.         Åα«úαἼᠠ- ¬½¿Ñ¡Γ »«½πτáÑΓ φëàñÑß¬α¿»Γ«α ó »áαá¼ÑΓαÑ wParam
  9019.         ß««íΘÑ¡¿∩ WM_DDE_ASK.  Åα«úαá¼¼á - ¬½¿Ñ¡Γ »«ß½Ñ φΓ«ú«  »«ßδ½áÑΓ
  9020.         óßÑ ß½ÑñπεΘ¿Ñ ß««íΘÑ¡¿∩ φΓ«¼π «¬¡π »α«úαá¼¼δ - ßÑαóÑαá.
  9021.  
  9022.              àß½¿ »α«úαἼᠠ -   ¬½¿Ñ¡Γ   ¿ß»«½∞ºπÑΓ  ñ½∩  «»αÑñѽѡ¿∩
  9023.         »α¿½«ªÑ¡¿∩ ¿½¿ »αÑñ¼ÑΓá ¡π½Ñó«⌐ áΓ«¼,  Γ«  ¡Ñ«íσ«ñ¿¼«  »«¼¡¿Γ∞,
  9024.         τΓ«  «¡á  »«½πτ¿Γ «ΓóÑΓδ «Γ í«½∞ΦÑ τѼ «ñ¡«⌐ »α«úαá¼¼δ ßÑαóÑαá.
  9025.         èᬠ߬áºá¡«  ó  αáºñѽѠ 22.2.1,  "轿ѡΓ,  ßÑαóÑα  ¿  ñ¿á½«ú",
  9026.         ß«ºñá¡¿Ñ ñ½∩  ¬áªñ«ú« ñ¿á½«úá π¡¿¬á½∞¡δσ ß¬αδΓδ󠫬«¡ ¿ß¬½ετáÑΓ
  9027.         ó«º¼«ª¡«ßΓ∞ πτáßΓ¿∩ «ñ¡«ú« «¬¡á í«½∞ΦÑ  τѼ  ó  «ñ¡«¼  ñ¿á½«úÑ.
  9028.         Äñ¡á¬«, τΓ«íδ  ß½Ññ«óáΓ∞  φΓ«¼π,  »α¿¬½áñ¡á∩  »α«úαἼᠬ½¿Ñ¡Γ,
  9029.         ñ«½ª¡á ºáóÑαΦ¿Γ∞ ñ¿á½«ú¿ ß«  óßѼ¿,  ¬α«¼Ñ  «ñ¡«⌐,  »α«úαἼἿ
  9030.         ßÑαóÑαἿ,  «Γ¬½¿¬¡πóΦ¿¼¿ß∩  ¡á  »«ß½á¡¡«Ñ  ¬½¿Ñ¡Γ«¼  ß««íΘÑ¡¿⌐
  9031.         WM_DDE_INITIATE.
  9032.                                  22.4.2  ÅÑαÑñáτá «ñ¡«ú« φ½Ñ¼Ñ¡Γá.             
  9033.  
  9034.              Å«ß½Ñ πßΓá¡«ó½Ñ¡¿∩   ñ¿á½«úá   ¬½¿Ñ¡Γ   ¼«ªÑΓ   ß  »«¼«Θ∞ε
  9035.         ß««íΘÑ¡¿∩ WM_DDE_REQUEST »«½πτ¿Γ∞ «Γ ßÑαóÑαá φ½Ñ¼Ñ¡Γ ñá¡¡δσ ¿½¿
  9036.         ß««íΘÑ¡¿∩ WM_DDE_POKE »ÑαÑñáΓ∞ ¡á ßÑαóÑα φ½Ñ¼Ñ¡Γ ñá¡¡δσ.
  9037.  
  9038.                      Å«½πτÑ¡¿Ñ φ½Ñ¼Ñ¡Γá ñá¡¡δσ «Γ ßÑαóÑαá.
  9039.  
  9040.              ä½∩ »«½πτÑ¡¿∩  φ½Ñ¼Ñ¡Γá  ñá¡¡δσ  «Γ  ßÑαóÑαá  »α«úαἼᠠ-
  9041.         ¬½¿Ñ¡Γ  »«ßδ½áÑΓ  ßÑαóÑαπ  ß««íΘÑ¡¿Ñ WM_DDE_REQUEST ó ß½ÑñπεΘÑ⌐
  9042.         Σ«α¼Ñ:
  9043.  
  9044.              atomItem = GlobalAddAtom(szItemName);
  9045.              if(!PostMessage(hWndServerDDE,
  9046.                          WM_DDE_REQUEST,
  9047.                          hWndClientDDE,
  9048.                          MAKELONG(CF_TEXT,atomItem));
  9049.              GlobalDeleteAtom(atomItem);
  9050.  
  9051.              é ñá¡¡«¼ »α¿¼ÑαÑ  ¬½¿Ñ¡Γ  ó  ¬áτÑßΓóÑ  Σ«α¼áΓá  ΓαÑíπѼ«ú«
  9052.         φ½Ñ¼Ñ¡Γá «»αÑñѽ∩ÑΓ Σ«α¼áΓ ß¿ßΓѼ¡«ú« íπΣÑαá CF_TEXT.
  9053.  
  9054.              Å«½πτáΓѽ∞ ß««íΘÑ¡¿∩    WM_DDE_REQUEST   (ßÑαóÑα)   «íδτ¡«
  9055.         «ΓóÑτáÑΓ ºá πñá½Ñ¡¿Ñ áΓ«¼á φ½Ñ¼Ñ¡Γá, «ñ¡á¬«, Ñß½¿ ó맮ó Σπ¡¬µ¿¿
  9056.         PostMessage ºáóÑαΦ¿Γß∩  »«  «Φ¿í¬Ñ,  Γ«  áΓ«¼  ñ«½ªÑ¡   πñ὿Γ∞
  9057.         ¬½¿Ñ¡Γ.
  9058.  
  9059.              àß½¿ π ßÑαóÑαá ¿¼ÑÑΓß∩ ñ«ßΓπ» ¬ ΓαÑíπѼ«¼π φ½Ñ¼Ñ¡Γπ  ¿  «¡
  9060.  
  9061.        Windows 3.0/pg/3#3                                       = 172 =
  9062.  
  9063.         ¼«ªÑΓ »αÑ«íαẫóáΓ∞   Ñú«   ¬  ΓαÑíπѼ«¼π  Σ«α¼áΓπ,  Γ«  ßÑαóÑα
  9064.         ¬«»¿απÑΓ º¡áτÑ¡¿Ñ φ½Ñ¼Ñ¡Γᠬᬠ «íΩÑ¬Γ  ú½«íá½∞¡«⌐  αáºñѽ∩Ѽ«⌐
  9065.         »á¼∩Γ¿ ¿   »«ßδ½áÑΓ  ¬½¿Ñ¡Γπ  ß««íΘÑ¡¿Ñ  WM_DDE_DATA  ß½ÑñπεΘ¿¼
  9066.         «íαẫ¼:
  9067.  
  9068.              /* éδñѽ¿Γ∞ í½«¬ αẼÑα«¼ ó ºáú«½«ó«¬ ñá¡¡δσ DDE »½εß */
  9069.              /* ñá¡¡δÑ: ßΓ᫬á, <CR><LF><NULL>. çáóÑαΦáεΘ¿⌐ ¡π½Ñó«⌐ */
  9070.              /* íá⌐Γ ßτ¿ΓáÑΓß∩ ó DDEData.Value[1] */
  9071.  
  9072.         (1)  if(!(hData = GlobalAlloc(GMEM_MOVEABLE | GMEM_DDESHARE,
  9073.                  (LONG)sizeof(DDEDATA)+strlen(szItemValue)+2)))
  9074.                  return;
  9075.  
  9076.         (2)  if(!(lpData = (DDEDATA FAR *)GlobalLock(hData)))
  9077.              {
  9078.                 GlobalFree(hData);
  9079.                 return;
  9080.              }
  9081.                 .
  9082.                 .
  9083.                 .
  9084.         (3)  lpData -> cfFormat = CF_TEXT;
  9085.         (4)  lstrcopy((LPSTR)lpData->Value,(LPSTR)szItemValue);
  9086.              /* ¬áªñá∩ ßΓ᫬á ñá¡¡δσ ºáóÑαΦáÑΓß∩ <CR><LF> */
  9087.              lstrcat((LPSTR)lpData->Value,(LPSTR)"\r\n");
  9088.         (5)  GlobalUnlock(hData);
  9089.         (6)  atomItem = GlobalAddAtom(szItemName);
  9090.         (7)  if(!PostMessage(hWndClientDDE,
  9091.                          WM_DDE_DATA,
  9092.                          hWndServerDDE,
  9093.                          MAKELONG(hData,atomItem));
  9094.              {
  9095.                 GlobalFree(hData);
  9096.                 GlobalDeleteAtom(atomItem);
  9097.              }
  9098.  
  9099.              é ñá¡¡«¼ »α¿¼ÑαÑ:
  9100.  
  9101.         (1)  Åα«úαá¼¼á - ßÑαóÑα  óδñѽ∩ÑΓ í½«¬  »á¼∩Γ¿   ñ½∩   σαá¡Ñ¡¿∩
  9102.              φ½Ñ¼Ñ¡Γá ñá¡¡δσ.   ü½«¬   »á¼∩Γ¿   óδñѽ∩ÑΓß∩   ß   ¬½ετѼ
  9103.              GMEM_DDESHARE, ¬«Γ«αδ⌐   »«ºó«½∩ÑΓ   ßÑαóÑαπ   ¿   ¬½¿Ñ¡Γπ
  9104.              αáºñѽ∩Γ∞ «ñ¿¡ í½«¬ »á¼∩Γ¿.
  9105.  
  9106.         (2)  çáΓѼ, »α«úαá¼¼á - ßÑαóÑα ñ½∩  »«½πτÑ¡¿∩  áñαÑßá í½«¬¿απÑΓ
  9107.              í½«¬ »á¼∩Γ¿.  ü½«¬  ñá¡¡δσ   ¿¡¿µ¿á½¿º¿απÑΓß∩   ßΓαπ¬Γπα«⌐
  9108.              ñá¡¡δσ DDEDATA.
  9109.  
  9110.         (3)  Åα«úαá¼¼á - ßÑαóÑα πßΓá¡áó½¿óáÑΓ  ó  »«½Ñ  cfFormat  í½«¬á
  9111.              ñá¡¡δσ º¡áτÑ¡¿Ñ CF_TEXT  ñ½∩  ¿ñÑ¡Γ¿Σ¿¬áµ¿¿  ¿ß»«½∞ºπѼ«ú«
  9112.              Σ«α¼áΓá.
  9113.  
  9114.         (4)  è½¿Ñ¡Γ ¬«»¿απÑΓ  º¡áτÑ¡¿Ñ  ΓαÑíπѼδσ  ñá¡¡δσ  ó »«½Ñ Value
  9115.              ßΓαπ¬Γπαδ DDEDATA.
  9116.  
  9117.        Windows 3.0/pg/3#3                                       = 173 =
  9118.  
  9119.  
  9120.         (5)  çñÑß∞ ßÑαóÑα ºá»«½¡∩ÑΓ í½«¬  ñá¡¡δσ  ¿  αáºí½«¬¿απÑΓ  í½«¬
  9121.              »á¼∩Γ¿.
  9122.  
  9123.         (6)  çáΓѼ ßÑαóÑα   ß«ºñáÑΓ   ú½«íá½∞¡δ⌐  áΓ«¼, ß«ñÑαªáΘ¿⌐  ¿¼∩
  9124.              φ½Ñ¼Ñ¡Γá ñá¡¡δσ.
  9125.  
  9126.         (7)  é ¬«¡µÑ, ßÑαóÑα ß  »«¼«Θ∞ε  Σπ¡¬µ¿¿  PostMessage  »«ßδ½áÑΓ
  9127.              ß««íΘÑ¡¿Ñ WM_DDE_DATA.   é   »áαá¼ÑΓαÑ   lParam  ß««íΘÑ¡¿∩
  9128.              »ÑαÑñáÑΓß∩ ñÑß¬α¿»Γ«α í½«¬á ñá¡¡δσ ¿ áΓ«¼,  ß«ñÑαªáΘ¿⌐ ¿¼∩
  9129.              φ½Ñ¼Ñ¡Γá ñá¡¡δσ.
  9130.  
  9131.              àß½¿ ßÑαóÑα ¡Ñ ¼«ªÑΓ  πñ«ó½ÑΓó«α¿Γ∞  ºá»α«ß,  «¡  »«ßδ½áÑΓ
  9132.         ¬½¿Ñ¡Γπ «Γα¿µáΓѽ∞¡«Ñ ß««íΘÑ¡¿Ñ WM_DDE_ASK:
  9133.  
  9134.              /* «Γα¿µáΓѽ∞¡«Ñ ß««íΘÑ¡¿Ñ */
  9135.              PostMessage(hWndClientDDE,
  9136.                      WM_DDE_ASK,
  9137.                      hWndServerDDE,
  9138.                      MAKELONG(0,atomItem));
  9139.  
  9140.              Åα¿ »«½πτÑ¡¿¿ ß««íΘÑ¡¿∩ WM_DDE_DATA,  »α«úαἼᠠ-  ¬½¿Ñ¡Γ
  9141.         «íαáíáΓδóáÑΓ   Ñú«   ß««ΓóÑΓßΓóπεΘ¿¼  «íαẫ¼.  çáΓѼ,  Ñß½¿  ó
  9142.         π¬áºá¡¡«¼ ß««íΘÑ¡¿¿ WM_DDE_DATA í¿Γ  fAskReq  πßΓá¡«ó½Ñ¡  ó  1,
  9143.         ¬½¿Ñ¡Γ  ñ«½ªÑ¡ »«ß½áΓ∞ »«½«ª¿Γѽ∞¡«Ñ ß««íΘÑ¡¿Ñ WM_DDE_ASK,  ¬á¬
  9144.         »«¬áºá¡« ¡¿ªÑ:
  9145.  
  9146.              hData = LOWORD(lPAram);    /* ñ½∩ ß««íΘÑ¡¿∩ WM_DDE_DATA */
  9147.              atomItem = HIWORD(lParam);
  9148.         (1)  if(!(lpDDEData = (DDEDATA FAR *)GlobalLock(hData)) ||
  9149.                  (lpDDEData -> cfFormat != CF_TEXT))
  9150.              {
  9151.  
  9152.                 /* «Γα¿µáΓѽ∞¡«Ñ ß««íΘÑ¡¿Ñ */
  9153.                 PostMessage(hWndServerDDE,
  9154.                         WM_DDE_ASK,
  9155.                         hWndClientDDE,
  9156.                         MAKELONG(0,atomItem));
  9157.              }
  9158.  
  9159.              /* ß¬«»¿α«óáΓ∞ ñá¡¡δÑ ¿º lpDDEData */
  9160.  
  9161.         (2)  if(lpDDEData -> fAskReq)
  9162.              {
  9163.                 /* »«½«ª¿Γѽ∞¡«Ñ ß««íΘÑ¡¿Ñ */
  9164.                 PostMessage(hWndServerDDE,
  9165.                         WM_DDE_ASK,
  9166.                         hWndClientDDE,
  9167.                         MAKELONG(0x8000,atomItem));
  9168.              }
  9169.         (3)  bRelease = lpDDEData->fRelease;
  9170.              GlobalUnlock(hData);
  9171.              if(bRelease)
  9172.  
  9173.        Windows 3.0/pg/3#3                                       = 174 =
  9174.  
  9175.                 GlobalFree(hData);
  9176.  
  9177.              é ñá¡¡«¼ »α¿¼ÑαÑ:
  9178.  
  9179.         1)   è½¿Ñ¡Γ »α«óÑα∩ÑΓ Σ«α¼áΓ ñá¡¡δσ. àß½¿ φΓ« CF_TEXT (¿½¿ Ñß½¿
  9180.              ¬½¿Ñ¡Γ ¡Ñ   ß¼«ú   óδñѽ¿Γ∞  »á¼∩Γ∞  ñ½∩  ñá¡¡δσ),  ¬½¿Ñ¡Γ
  9181.              »«ßδ½áÑΓ «Γα¿µáΓѽ∞¡«Ñ ß««íΘÑ¡¿Ñ WM_DDE_ASK ñ½∩  ¿¡ñ¿¬áµ¿¿
  9182.              Γ«ú«, τΓ« ¡Ñ ¼«ªÑΓ «íαáí«ΓáΓ∞ ñá¡¡δÑ.
  9183.  
  9184.         2)   àß½¿ ¬½¿Ñ¡Γ  ¼«ªÑΓ  «íαáí«ΓáΓ∞  ñá¡¡δÑ,  «¡ »α«óÑα∩ÑΓ Σ½áú
  9185.              fAskReq ßΓαπ¬Γπαδ ñá¡¡δσ DDEDATA,  τΓ«íδ «»αÑñѽ¿Γ∞, ¡πª¡«
  9186.              ½¿  ß««íΘáΓ∞  ßÑαóÑαπ,  τΓ«  ñá¡¡δÑ  »«½πτÑ¡δ ¿ «íαáí«Γá¡δ
  9187.              πß»ÑΦ¡«.  àß½¿  ñá,  Γ«  ¬½¿Ñ¡Γ   »«ßδ½áÑΓ   »«½«ª¿Γѽ∞¡«Ñ
  9188.              ß««íΘÑ¡¿Ñ WM_DDE_ASK.
  9189.  
  9190.         3)   è½¿Ñ¡Γ ß«σαá¡∩ÑΓ  Σ½áú  fRelease  »ÑαÑñ  αáºí½«¬¿α«ó᡿Ѽ
  9191.              í½«¬á ñá¡¡δσ,  »«ß¬«½∞¬π  »α¿  αáºí½«¬¿α«óá¡¿¿   π¬áºáΓѽ∞
  9192.              ßΓá¡«ó¿Γß∩ ¡Ñ¬«ααÑ¬Γ¡δ¼.   çáΓѼ   «¡  »α«óÑα∩ÑΓ  º¡áτÑ¡¿Ñ
  9193.              Σ½áúá, τΓ«íδ «»αÑñѽ¿Γ∞ ¡πª¡«,  ½¿ «τ¿ΘáΓ∞ í½«¬ ú½«íá½∞¡«⌐
  9194.              »á¼∩Γ¿, ¿ ñÑ⌐ßΓóπÑΓ ß««ΓóÑΓßΓóÑ¡¡«.
  9195.  
  9196.              Åα¿ »«½πτÑ¡¿¿  «Γα¿µáΓѽ∞¡«ú«  «ΓóÑΓá  WM_DDE_ASK   ¬½¿Ñ¡Γ
  9197.         ¼«ªÑΓ ß¡«óá  ºá»α«ß¿Γ∞  Γ«Γ  ªÑ  ßá¼δ⌐  φ½Ñ¼Ñ¡Γ ñá¡¡δσ,  π¬áºáó
  9198.         ñαπú«⌐ Σ«α¼áΓ ß¿ßΓѼ¡«ú« íπΣÑαá.  Äíδτ¡« ó ¡áτá½Ñ ºá»αáΦ¿óáÑΓß∩
  9199.         ¡á¿í«½ÑÑ ß½«ª¡δ⌐   Σ«α¼áΓ,  »«ññÑনóáѼδ⌐  ¬½¿Ñ¡Γ«¼,  ¿  ºáΓѼ
  9200.         ºá»α«ßδ »«óΓ«α∩εΓß∩ ß π¼Ñ¡∞ΦÑ¡¿Ñ¼ ß½«ª¡«ßΓ¿ Σ«α¼áΓ«ó,  »«¬á  ¡Ñ
  9201.         íπñÑΓ ¡á⌐ñÑ¡ Σ«α¼áΓ, »«ññÑনóáѼδ⌐ ßÑαóÑα«¼.
  9202.  
  9203.              àß½¿ ßÑαóÑα »«ññÑনóáÑΓ φ½Ñ¼Ñ¡Γá Formats »αÑñ¼ÑΓá System,
  9204.         ¬½¿Ñ¡Γ ¼«ªÑΓ   ßαáºπ  «»αÑñѽ¿Γ∞,  ¬á¬¿Ñ  Σ«α¼áΓδ  »«ññÑনóáÑΓ
  9205.         ßÑαóÑα,  ó¼ÑßΓ«  Γ«ú«,  τΓ«íδ  «»αÑñѽ∩Γ∞  φΓ«  »«ß½Ññ«óáΓѽ∞¡«
  9206.         ºá»αáΦ¿óá∩  ßÑαóÑα.  ê¡Σ«α¼áµ¿ε « »αÑñ¼ÑΓÑ System óδ ¡á⌐ñÑΓÑ ó«
  9207.         óΓ«α«¼ Γ«¼Ñ æ»αáó«τ¡«ú« απ¬«ó«ñßΓóá.
  9208.  
  9209.                           Å«ß佬á φ½Ñ¼Ñ¡Γá ¡á ßÑαóÑα.
  9210.  
  9211.              è½¿Ñ¡Γ ¼«ªÑΓ  »«ß½áΓ∞ ¡á ßÑαóÑα º¡áτÑ¡¿Ñ φ½Ñ¼Ñ¡Γá ñá¡¡δσ ß
  9212.         »«¼«Θ∞ε ß««íΘÑ¡¿∩ WM_DDE_POKE.  è½¿Ñ¡Γ  «»αÑñѽ∩ÑΓ  ¿  »«ßδ½áÑΓ
  9213.         φ½Ñ¼Ñ¡Γ ß½ÑñπεΘ¿¼ «íαẫ¼:
  9214.  
  9215.              if(!(hPokeData = GlobalAlloc(GMEM_MOVEABLE | GMEM_DDESHARE,
  9216.                  (LONG)sizeof(DDEPOKE)+strlen(szValue)+2)))
  9217.                  return;
  9218.  
  9219.              if(!(lpPokeData = (DDEPOKE FAR *)GlobalLock(hPokeData)))
  9220.              {
  9221.                 GlobalFree(hPokeData);
  9222.                 return;
  9223.              }
  9224.              lpPokeData -> fRelease = TRUE;
  9225.              lpPokeData -> cfFormat = CF_TEXT;
  9226.              lstrcopy((LPSTR)lpPokeData->Value,(LPSTR)szValue);
  9227.              /* ¬áªñá∩ ßΓ᫬á ñá¡¡δσ ºáóÑαΦáÑΓß∩ <CR><LF> */
  9228.  
  9229.        Windows 3.0/pg/3#3                                       = 175 =
  9230.  
  9231.              lstrcat((LPSTR)lpPokeData->Value,(LPSTR)"\r\n");
  9232.              GlobalUnlock(hPokeData);
  9233.              atomItem = GlobalAddAtom((LPSTR)szItem);
  9234.                 .
  9235.                 .
  9236.                 .
  9237.              if(!PostMessage(hWndServerDDE,
  9238.                          WM_DDE_POKE,
  9239.                          hWndClientDDE,
  9240.                          MAKELONG(hPokeData,atomItem));
  9241.              {
  9242.                 GlobalFree(hPokeData);
  9243.                 GlobalDeleteAtom(atomItem);
  9244.              }
  9245.  
  9246.              ÄΓ¼ÑΓ¿¼, τΓ«  »ÑαÑñáτá φ½Ñ¼Ñ¡Γá ¡á ßÑαóÑα ß ¿ß»«½∞º«ó᡿Ѽ
  9247.         ß««íΘÑ¡¿∩ WM_DDE_POKE  á¡á½«ú¿τ¡á  »ÑαÑñáτÑ   φ½Ñ¼Ñ¡Γá   ñá¡¡δσ
  9248.         ¬½¿Ñ¡Γπ ß  »«¼«Θ∞ε ß««íΘÑ¡¿∩ WM_DDE_DATA,  ºá ¿ß¬½ετÑ¡¿Ñ¼ Γ«ú«,
  9249.         τΓ« ó «ñ¡«¼ ß½πτáÑ »ÑαÑñáτá «ßπΘÑßΓó½∩ÑΓß∩ «Γ ¬½¿Ñ¡Γá  ßÑαóÑαπ,
  9250.         á ó ñαπú«¼ «Γ ßÑαóÑαá ¬½¿Ñ¡Γπ.
  9251.  
  9252.              àß½¿ ßÑαóÑα ß»«ß«íÑ¡ ó«ß»α¿¡¿¼áΓ∞ Σ«α¼áΓ º¡áτÑ¡¿∩ φ½Ñ¼Ñ¡Γá
  9253.         ñá¡¡δσ, ¬«Γ«αδ⌐   »ÑαÑñá¡   Ñ¼π   ¬½¿Ñ¡Γ«¼,   Γ«   ßÑαóÑα   Ñú«
  9254.         ß««ΓóÑΓßΓóπεΘ¿¼ «íαẫ¼  «íαáíáΓδóáÑΓ  ¿ »«ßδ½áÑΓ »«½«ª¿Γѽ∞¡«Ñ
  9255.         ß««íΘÑ¡¿Ñ WM_DDE_ASK.  àß½¿  ßÑαóÑα  ¡Ñ   ß»«ß«íÑ¡   «íαáí«ΓáΓ∞
  9256.         º¡áτÑ¡¿Ñ φ½Ñ¼Ñ¡Γá ñá¡¡δσ ¿º-ºá Σ«α¼áΓá ¿½¿ »« ¬á¬«⌐-½¿í« ñαπú«⌐
  9257.         »α¿τ¿¡Ñ, Γ« ßÑαóÑα »«ßδ½áÑΓ «Γα¿µáΓѽ∞¡«Ñ ß««íΘÑ¡¿Ñ WM_DDE_ASK.
  9258.  
  9259.              hPokeData = LOWORD(lPAram);
  9260.              atomItem = HIWORD(lParam);
  9261.         (1)  GlobalGetAtomName(atomItem,szItemName,ITEM_NAME_MAX_SIZE);
  9262.         (2)  if(!(lpPokeData = (DDEPOKE FAR *)GlobalLock(hPokeData)) ||
  9263.                  (lpPokeData -> cfFormat != CF_TEXT ||
  9264.                  !IfItemSypportedByServer(szItemName)))
  9265.              {
  9266.  
  9267.                 /* «Γα¿µáΓѽ∞¡«Ñ ß««íΘÑ¡¿Ñ */
  9268.                 PostMessage(hWndClientDDE,
  9269.                         WM_DDE_ASK,
  9270.                         hWndServerDDE,
  9271.                         MAKELONG(0,atomItem));
  9272.              }
  9273.  
  9274.              lstrcpy(szItemValue,lpPokeData->Value); /* ¬«»¿α«óá¡¿Ñ */
  9275.              bRelease = lpPokeData->fRelease;
  9276.              GlobalUnlock(hPokeData);
  9277.              if(bRelease)
  9278.              {
  9279.                 GlobalFree(hPokeData);
  9280.                 GlobalDeleteAtom(atomItem);
  9281.              }
  9282.                 /* »«½«ª¿Γѽ∞¡«Ñ ß««íΘÑ¡¿Ñ */
  9283.                 PostMessage(hWndClientDDE,
  9284.  
  9285.        Windows 3.0/pg/3#3                                       = 176 =
  9286.  
  9287.                         WM_DDE_ASK,
  9288.                         hWndServerDDE,
  9289.                         MAKELONG(0x8000,atomItem));
  9290.              }
  9291.  
  9292.              é ñá¡¡«¼ »α¿¼ÑαÑ:
  9293.  
  9294.         1)   æÑαóÑα óδºδóáÑΓ Σπ¡¬µ¿ε  GlobalGetAtomName  ñ½∩  »«½πτÑ¡¿∩
  9295.              ¿¼Ñ¡¿ »«ß½á¡¡«ú« ¬½¿Ñ¡Γ«¼ φ½Ñ¼Ñ¡Γá ñá¡¡δσ.
  9296.  
  9297.         2)   çáΓѼ ßÑαóÑα  «»αÑñѽ∩ÑΓ, »«ññÑনóáÑΓ ½¿ «¡ φΓ¿ ñá¡¡δÑ,  ¿
  9298.              Σ«α¼áΓ, ó  ¬«Γ«α«¼  «¡¿ »«ß½á¡δ (CF_TEXT).  àß½¿ ¡ÑΓ,  ¿½¿
  9299.              Ñß½¿ ßÑαóÑα ¡Ñ ¼«ªÑΓ  ºáí½«¬¿α«óáΓ∞  ñá¡¡δÑ,  «¡  »«ßδ½áÑΓ
  9300.              «Γα¿µáΓѽ∞¡«Ñ ß««íΘÑ¡¿Ñ »α«úαἼѠ- ¬½¿Ñ¡Γπ.
  9301.                       22.4.3  ôßΓá¡«ó½Ñ¡¿Ñ »«ßΓ«∩¡¡«⌐ ßó∩º¿ »« ñá¡¡δ¼.         
  9302.  
  9303.              Åα«úαἼᠬ½¿Ñ¡Γ  ¼«ªÑΓ  ¿ß»«½∞º«óáΓ∞ DDE ñ½∩ πßΓá¡«ó½Ñ¡¿∩
  9304.         ßó∩º¿ ß   φ½Ñ¼Ñ¡Γ«¼   ñá¡¡δσ   »α«úαá¼¼δ   -   ßÑαóÑαá.   Å«ß½Ñ
  9305.         πßΓá¡«ó½Ñ¡¿∩ Γᬫ⌐   ßó∩º¿  ßÑαóÑα  »Ñα¿«ñ¿τÑ߬¿,  («íδτ¡«  »α¿
  9306.         ¿º¼Ñ¡Ñ¡¿¿ φ½Ñ¼Ñ¡Γá ñá¡¡δσ) »«ßδ½áÑΓ ¬½¿Ñ¡Γπ ßó∩ºá¡¡δ⌐  φ½Ñ¼Ñ¡Γ.
  9307.         Æá¬¿¼ «íαẫ¼,     ¼Ñªñπ    ñóπ¼∩    »α¿¬½áñ¡δ¼¿    »α«úαἼἿ
  9308.         πßΓá¡áó½¿óáÑΓß∩ »«Γ«¬ ñá¡¡δσ ¿ «ßΓáÑΓß∩ ñ«  ΓÑσ  »«α,  »«¬á  ¡Ñ
  9309.         íπñÑΓ ∩ó¡« »αÑαóá¡.
  9310.  
  9311.                         ê¡¿µ¿á½¿ºáµ¿∩ ßó∩º¿ »« ñá¡¡δ¼.
  9312.  
  9313.              è½¿Ñ¡Γ ¿¡¿µ¿á½¿º¿απÑΓ  ßó∩º∞ »« ñá¡¡δ¼,  »«ßδ½á∩ ß««íΘÑ¡¿Ñ
  9314.         WM_DDE_ADVISE:
  9315.  
  9316.              if(!hOptions = GlobalAlloc(GMEM_MOVEABLE | GMEM_DDESHARE,
  9317.                                         sizeof(DDEADVISE))))
  9318.                   return;
  9319.              if(!lpOptions = (DDEADVISE FAR *)GlobalLock(hOptions)))
  9320.              {
  9321.                 GlobalFree(hOptions);
  9322.                 return;
  9323.              }
  9324.              lpOptions -> cfFormat = CF_TEXT;
  9325.              lpOptions -> fAskReq  = TRUE;
  9326.         (1)  lpOptions -> fDefurUpd = FALSE;
  9327.              GlobalUnlock(hOptions);
  9328.              atomItem = GlobalAddAtom(szItemName);
  9329.              if(!PostMessage(hWndServerDDE,
  9330.                          WM_DDE_ADVISE,
  9331.                          hWndClientDDE,
  9332.                          MAKELONG(hOptions,atomItem));
  9333.              {
  9334.                 GlobalFree(hOptions);
  9335.                 GlobalDeleteAtom(atomItem);
  9336.              }
  9337.  
  9338.              é ñá¡¡«¼ »α¿¼ÑαÑ:
  9339.  
  9340.        Windows 3.0/pg/3#3                                       = 177 =
  9341.  
  9342.  
  9343.         1)   Åα«úαá¼¼á -  ¬½¿Ñ¡Γ πßΓá¡áó½¿óáÑΓ Σ½áú fDeferUpd ß««íΘÑ¡¿∩
  9344.              WM_DDE_ADVISE ó  FALSE.  ¥Γ¿¼ óδ ¿¡Σα«α¼¿απÑΓÑ »α«úαá¼¼π -
  9345.              ßÑαóÑα,  τΓ« «¡á ñ«½ª¡á »α¿ ¿º¼Ñ¡Ñ¡¿¿ ñá¡¡δσ  »«ßδ½áΓ∞  ¡Ñ
  9346.              πóÑñ«¼½Ñ¡¿Ñ. á ßἿ ñá¡¡δÑ.
  9347.  
  9348.              àß½¿ ßÑαóÑα   ¿¼ÑÑΓ   ñ«ßΓπ»   ¬   ΓαÑíπѼ«¼π  φ½Ñ¼Ñ¡Γπ  ¿
  9349.         »«ññÑনóáÑΓ ¡Ñ«íσ«ñ¿¼δ⌐ Σ«α¼áΓ,  ßÑαóÑα «Γ¼ÑτáÑΓ  ¡«óπε  ßó∩º∞
  9350.         (ºá»«¼¿¡á∩ Σ½áú¿,  π¬áºá¡¡δÑ  ó  hOptions)  ¿  »«ßδ½áÑΓ ¬½¿Ñ¡Γπ
  9351.         »«½«ª¿Γѽ∞¡«Ñ ß««íΘÑ¡¿Ñ WM_DDE_ASK.  æ φΓ«ú« ¼«¼Ñ¡Γá ¿  ñ«  ΓÑσ
  9352.         »«α,   »«¬á   ¬½¿Ñ¡Γ   ¡Ñ   »«Φ½ÑΓ   ß««ΓóÑΓßΓóπεΘÑÑ  ß««íΘÑ¡¿Ñ
  9353.         WM_DDE_UNADVISE,  ßÑαóÑα »α¿ ½εí«¼ ¿º¼Ñ¡Ñ¡¿¿  ñá¡¡«ú«  φ½Ñ¼Ñ¡Γá
  9354.         íπñÑΓ »«ßδ½áΓ∞ ¬½¿Ñ¡Γπ ¿º¼Ñ¡Ñ¡¡δÑ ñá¡¡δÑ.
  9355.  
  9356.              àß½¿ ßÑαóÑα  ¡Ñ  ¼«ªÑΓ πñ«ó½ÑΓó«α¿Γ∞ ºá»α«ß WM_DDE_ADVISE,
  9357.         «¡ »«ßδ½áÑΓ «Γα¿µáΓѽ∞¡«Ñ ß««íΘÑ¡¿Ñ WM_DDE_ASK.
  9358.  
  9359.              void DoPasteLink(hwndClientDDE;)
  9360.              HWND   hwndClientDDE;
  9361.  
  9362.              {
  9363.  
  9364.               HANDLE hData;
  9365.               LPSTR  lpData;
  9366.               HWND   hwndServerDDE;
  9367.               char   szApplication[APP_MAX_SIZE+1];
  9368.               char   szTopic[TOPIC_MAX_SIZE+1];
  9369.               char   szItem[ITEM_MAX_SIZE+1];
  9370.               int    nBufLen;
  9371.  
  9372.          (1)  if (OpenClipboard(hwndClientDDE))
  9373.               {
  9374.                if (!(hData = GetClipboardData(cfLink)) ||
  9375.                   !(lpData = GlobalLock(hData)))
  9376.                {
  9377.                   CloseClipboard();
  9378.                   return;
  9379.                }
  9380.  
  9381.  
  9382.                /* Åα«óÑα¿Γ∞ ñá¡¡δÑ ó ß¿ßΓѼ¡«¼ íπΣÑαÑ */
  9383.          (2)   if ((nBufLen = lstrlen(lpData)) >= APP_MAX_SIZE)
  9384.                {
  9385.                     CloseClipboard();
  9386.                     GlobalUnlock(hData);
  9387.                     return;
  9388.                }
  9389.                lstrcpy(szApplication, lpData);
  9390.                lpData += (nBufLen+1); /* »ÑαÑ»αδú¡πΓ∞ τÑαѺ 0 */
  9391.                if ((nBufLen = lstrlen(lpData)) >= TOPIC_MAX_SIZE)
  9392.                {
  9393.                     CloseClipboard();
  9394.                     GlobalUnlock(hData);
  9395.  
  9396.        Windows 3.0/pg/3#3                                       = 178 =
  9397.  
  9398.                     return;
  9399.                }
  9400.                lstrcpy(szTopic, lpData);
  9401.                lpData += (nBufLen+1); /* »ÑαÑ»αδú¡πΓ∞ τÑαѺ 0 */
  9402.                if ((nBufLen = lstrlen(lpData)) >= ITEM_MAX_SIZE)
  9403.                {
  9404.                     CloseClipboard();
  9405.                     GlobalUnlock(hData);
  9406.                     return;
  9407.                }
  9408.                lstrcpy(szItem, lpData);
  9409.  
  9410.                GlobalUnlock(hData);
  9411.                CloseClipboard();
  9412.  
  9413.          (3)   if (hwndClientDDE =
  9414.                    FindConvGivenAppTopic(szApplication, szTopic))
  9415.                { /* ñ¿á½«ú »α¿½«ªÑ¡¿Ñ/»αÑñ¼ÑΓ πªÑ ¡áτáΓ */
  9416.                  if (DoesAdviseAlreadyExist(hwndClientDDE, szItem))
  9417.                  MessageBox(hwndMain,"Advisory already established",
  9418.                       "Client", MB_ICONEXCLAMATION | MB_OK);
  9419.                  else
  9420.                     hwndServerDDE = GetHwndServerDDE(hwndClientDDE);
  9421.                     SendAdvise(hwndClientDDE, hwndServerDDE, szItem);
  9422.                }
  9423.          (4)   else
  9424.                {   /* ¡Ñ«íσ«ñ¿¼« ¿¡¿µ¿á½¿º¿α«óáΓ∞ ¡«óδ⌐ ñ¿á½«ú */
  9425.                    SendInitiate(szApplication, szTopic);
  9426.                    if (hwndClientDDE =
  9427.                       FindConvGivenAppTopic(szApplication, szTopic))
  9428.                    {
  9429.                     hwndServerDDE = GetHwndServerDDE(hwndClientDDE);
  9430.                     SendAdvise(hwndClientDDE, hwndServerDDE, szItem);
  9431.                    }
  9432.                }
  9433.               }
  9434.  
  9435.               return;
  9436.              }
  9437.  
  9438.             é ñá¡¡«¼ »α¿¼ÑαÑ:
  9439.  
  9440.         1)   Åα«úαá¼¼á - ¬½¿Ñ¡Γ «Γ¬αδóáÑΓ ß¿ßΓѼ¡δ⌐  íπΣÑα ¿ »α«óÑα∩ÑΓ,
  9441.              ß«ñÑαª¿Γ ½¿  «¡  ñá¡¡δÑ  ó  Γ«¼  Σ«α¼áΓÑ  ßó∩º¿  (cfLink),
  9442.              ¬«Γ«αδ⌐   íδ½   »αÑñóáα¿Γѽ∞¡«   «»αÑñѽѡ.   àß½¿  «¡  ¡Ñ
  9443.              »«ññÑনóáÑΓ φëàӫα¼áΓ ¿½¿ Ñß½¿ ¡Ñ  ¼«ªÑΓ  ºáí½«¬¿α«óáΓ∞
  9444.              ñá¡¡δÑ ó ß¿ßΓѼ¡«¼ íπΣÑαÑ, Γ« «¡ ó«ºóαáΘáÑΓ π»αáó½Ñ¡¿Ñ.
  9445.  
  9446.         2)   Å«ß½Ñ »«½πτÑ¡¿∩  π¬áºáΓѽ∩  ¡á  ñá¡¡δÑ ó ß¿ßΓѼ¡«¼ íπΣÑαÑ
  9447.              «¡á óδñѽ∩ÑΓ ó ñá¡¡δσ ¿¼∩ »α¿½«ªÑ¡¿∩, »αÑñ¼ÑΓá ¿ φ½Ñ¼Ñ¡Γá.
  9448.  
  9449.         3)   Åਪ½áñ¡á∩ »α«úαá¼¼á - ¬½¿Ñ¡Γ «»αÑñѽ∩ÑΓ,  ¡áτáΓ ½¿  ¼Ñªñπ
  9450.              ¡Ñ⌐ ¿ »α«úαá¼¼«⌐ - ßÑαóÑα«¼ ñ¿á½«ú »« ñá¡¡«¼π  »αÑñ¼ÑΓπ  ¿
  9451.  
  9452.        Windows 3.0/pg/3#3                                       = 179 =
  9453.  
  9454.              »α¿½«ªÑ¡¿ε.  àß½¿ ñá,  Γ« «¡á »α«óÑα∩ÑΓ,  ßπΘÑßΓóπÑΓ ½¿ »«
  9455.              ñá¡¡«¼π  φ½Ñ¼Ñ¡Γπ  ßó∩º∞.  àß½¿  Γá¬á∩  ßó∩º∞  ßπΘÑßΓóπÑΓ,
  9456.              »α«úαá¼¼á óδó«ñ¿Γ ñ½∩ »«½∞º«óáΓѽ∩ »á¡Ñ½∞ ß ß««íΘÑ¡¿Ñ¼,  ó
  9457.              »α«Γ¿ó¡«¼ ß½πτáÑ  «¡á  óδºδóáÑΓ  Σπ¡¬µ¿ε  SendAdvise   ñ½∩
  9458.              »«ß佬¿   ßÑαóÑαπ   ß««íΘÑ¡¿∩  WM_DDE_ADVISE  ñ½∩  ñá¡¡«ú«
  9459.              φ½Ñ¼Ñ¡Γá.
  9460.  
  9461.         4)   àß½¿ »«  ñá¡¡«¼π »αÑñ¼ÑΓπ ñ¿á½«ú ¼Ñªñ𠬽¿Ñ¡Γ«¼ ¿ ßÑαóÑα«¼
  9462.              ÑΘÑ ¡Ñ  ¡áτáΓ,  Γ«  ¬½¿Ñ¡Γ   óδºδóáÑΓ   ßó«ε   ß«íßΓóÑ¡¡πε
  9463.              »α«µÑñπαπ   SendInitiate  ñ½∩  »«ß佬¿  Φ¿α«¬«óÑΘáΓѽ∞¡«ú«
  9464.              ß««íΘÑ¡¿∩ WM_DD E_INITIATE,  τΓ«íδ  πßΓá¡«ó¿Γ∞  ñ¿á½«ú,  ¿
  9465.              πßΓá¡áó½¿óáÑΓ Ñú« ß «¬¡«¼, «ΓóÑΓ¿óΦ¿¼ ¡á ºá»α«ß, ß »«¼«Θ∞ε
  9466.              Σπ¡¬µ¿¿    FindServerGivenAppTopic.   Å«ß½Ñ   πßΓá¡«ó½Ñ¡¿∩
  9467.              ñ¿á½«úá ¬½¿Ñ¡Γ ß »«¼«Θ∞ε  Σπ¡¬µ¿¿  SendAdvise  ºá»αáΦ¿óáÑΓ
  9468.              ßó∩º∞ »« ñá¡¡δ¼.
  9469.  
  9470.                    ôóÑñ«¼½Ñ¡¿Ñ ¬½¿Ñ¡Γá «í ¿º¼Ñ¡Ñ¡¿¿ ñá¡¡δσ.
  9471.  
  9472.              è«úñá ¬½¿Ñ¡Γ   πßΓá¡áó½¿óáÑΓ   ßó∩º∞  ß  Σ½áú«¼  fDeferUpd
  9473.         ß««íΘÑ¡¿∩ WM_DDE_ADVISE,  πßΓá¡«ó½Ñ¡¡δ¼  ó  FALSE  (¡«½∞),  φΓ«
  9474.         «º¡áτáÑΓ,  τΓ«  ßÑαóÑα  »α¿  ¿º¼Ñ¡Ñ¡¿¿ ñá¡¡δσ íπñÑΓ »«ßδ½áΓ∞ ¿σ
  9475.         »α«úαἼѠ- ¬½¿Ñ¡Γπ. é Γᬿσ ß½πτá∩σ ßÑαóÑα »αÑ«íαáºπÑΓ φ½Ñ¼Ñ¡Γ
  9476.         ñá¡¡δσ ó  «»αÑñѽѡ¡δ⌐  ó  ¡áτá½Ñ  Σ«α¼áΓ  ¿  »«ßδ½áÑΓ  ¬½¿Ñ¡Γπ
  9477.         ß««íΘÑ¡¿Ñ WM_DDE_DATA:
  9478.  
  9479.              /* éδñѽ¿Γ∞ í½«¬ αẼÑα«¼ ó ºáú«½«ó«¬ ñá¡¡δσ DDE »½εß */
  9480.              /* ñá¡¡δÑ: ßΓ᫬á, <CR><LF><NULL>. */
  9481.  
  9482.              if(!(hData = GlobalAlloc(GMEM_MOVEABLE | GMEM_DDESHARE,
  9483.                  (LONG)sizeof(DDEDATA)+strlen(szItemValue)+2)))
  9484.                  return;
  9485.  
  9486.              if(!(lpData = (DDEDATA FAR *)GlobalLock(hData)))
  9487.              {
  9488.                 GlobalFree(hData);
  9489.                 return;
  9490.              }
  9491.              lpData -> bAskReq = bAskReq;
  9492.              lpData -> cfFormat = CF_TEXT;
  9493.              lstrcopy((LPSTR)lpData->Value,(LPSTR)szItemValue);
  9494.              lstrcat((LPSTR)lpData->Value,(LPSTR)"\r\n");
  9495.              GlobalUnlock(hData);
  9496.              atomItem = GlobalAddAtom(szItemName);
  9497.              if(!PostMessage(hWndClientDDE,
  9498.                          WM_DDE_DATA,
  9499.                          hWndServerDDE,
  9500.                          MAKELONG(hData,atomItem));
  9501.              {
  9502.                 GlobalFree(hData);
  9503.                 GlobalDeleteAtom(atomItem);
  9504.              }
  9505.  
  9506.              è½¿Ñ¡Γ «íαáíáΓδóáÑΓ    ß««ΓóÑΓßΓóπεΘ¿¼   «íαẫ¼   φ½Ñ¼Ñ¡Γ
  9507.  
  9508.        Windows 3.0/pg/3#3                                       = 180 =
  9509.  
  9510.         ñá¡¡δσ. àß½¿ ñ½∩  ñá¡¡«ú«  φ½Ñ¼Ñ¡Γá  πßΓá¡«ó½Ñ¡  Σ½áú  fAskReq,
  9511.         ¬½¿Ñ¡Γ »«ßδ½áÑΓ ßÑαóÑαπ »«½«ª¿Γѽ∞¡«Ñ ß««íΘÑ¡¿Ñ WM_DDE_ASK.
  9512.  
  9513.              è«úñá ¬½¿Ñ¡Γ  πßΓá¡áó½¿óáÑΓ  ßó∩º∞  ß πßΓá¡«ó½Ñ¡¡δ¼ ó TRUE
  9514.         (1) Σ½áú«¼ fDeferUpd,  φΓ« «º¡áτáÑΓ,  τΓ« «¡ ºá»αáΦ¿óáÑΓ, τΓ«íδ
  9515.         »α¿ ¿º¼Ñ¡Ñ¡¿¿  ñá¡¡δσ »α«úαá¼¼á ßÑαóÑα »«ßδ½á½á ¡Ñ ßἿ ñá¡¡δÑ,
  9516.         á Γ«½∞¬« πóÑñ«¼½Ñ¡¿Ñ «í ¿σ ¿º¼Ñ¡Ñ¡¿¿. é Γᬿσ ß½πτá∩σ »α«úαá¼¼á
  9517.         ßÑαóÑα  »α¿  ¿º¼Ñ¡Ñ¡¿¿ ñá¡¡δσ ¡Ñ «íαáíáΓδóáÑΓ ñá¡¡δÑ,  á Γ«½∞¬«
  9518.         »«ßδ½áÑΓ ¬½¿Ñ¡Γπ ß««íΘÑ¡¿Ñ WM_DDE_DATA ß  ¡π½Ñóδ¼  ñÑß¬α¿»Γ«α«¼
  9519.         ñá¡¡δσ:
  9520.  
  9521.              if(bDeferUpd)  /* »α«óÑα¬á Σ½áúá, πßΓá¡«ó½Ñ¡¡«ú« »α¿ »α¿Ñ¼Ñ
  9522.                                ß««íΘÑ¡¿∩ WM_DDE_ADVISE */
  9523.              {
  9524.                  atomItem = GlobalAddAtom(szItemName);
  9525.                  if(!PostMessage(hWndClientDDE,
  9526.                              WM_DDE_DATA,
  9527.                              hWndServerDDE,
  9528.                              MAKELONG(0,atomItem));
  9529.                  {
  9530.                     GlobalDeleteAtom(atomItem);
  9531.                  }
  9532.              }
  9533.  
  9534.              Å« ßó«Ñ¼π πß¼«ΓαÑ¡¿ε »α«úαá¼¼á -  ¬½¿Ñ¡Γ  ¼«ªÑΓ  »α¿  φΓ«¼
  9535.         »«½πτ¿Γ∞ ñá¡¡δÑ ß »«¼«Θ∞ε «íδτ¡«ú« ß««íΘÑ¡¿∩ WM_DDE_REQUEST ¿½¿
  9536.         ó««íΘÑ ¿ú¡«α¿α«óáΓ∞ πóÑñ«¼½Ñ¡¿Ñ «í ¿º¼Ñ¡Ñ¡¿¿ φ½Ñ¼Ñ¡Γá ñá¡¡δσ. é
  9537.         «íÑ¿σ ß½πτá∩σ,  Ñß½¿ πßΓá¡«ó½Ñ¡ Σ½áú fAslReq,  Γ« ¬½¿Ñ¡Γ ñ«½ªÑ¡
  9538.         »«ß½áΓ∞ »«½«ª¿Γѽ∞¡«Ñ ß««íΘÑ¡¿Ñ WM_DDE_ASK.
  9539.  
  9540.                           çáóÑαΦÑ¡¿Ñ ßó∩º¿ »« ñá¡¡δ¼.
  9541.  
  9542.              àß½¿ ¬½¿Ñ¡Γ σ«τÑΓ ºáóÑαΦ¿Γ∞ ßó∩º∞ »« «»αÑñѽѡ¡δ¼  ñá¡¡δ¼,
  9543.         «¡ »«ßδ½áÑΓ ßÑαóÑαπ ß««íΘÑ¡¿Ñ WM_DDE_UNADVISE:
  9544.  
  9545.              atomItem = GlobalAddAtom(szItemName);
  9546.              if(!PostMessage(hWndServerDDE,
  9547.                          WM_DDE_UNADVISE,
  9548.                          hWndClientDDE,
  9549.                          MAKELONG(0,atomItem));
  9550.              {
  9551.                 GlobalDeleteAtom(atomItem);
  9552.              }
  9553.  
  9554.              æÑαóÑα »α«óÑα∩ÑΓ,  ¿¼ÑÑΓß∩ ½¿ ñ½∩ ñá¡¡«ú« φ½Ñ¼Ñ¡Γá  ñá¡¡δσ
  9555.         ßó∩º∞ ß   ¬½¿Ñ¡Γ«¼.   àßñ¿   ñá,  Γ«  ßÑαóÑα  »«ßδ½áÑΓ  ¬½¿Ñ¡Γπ
  9556.         »«½«ª¿Γѽ∞¡«Ñ ß««íΘÑ¡¿Ñ WM_DDE_ASK,  »«ß½Ñ φΓ«ú« «¡ ¡Ñ «ΓóÑτáÑΓ
  9557.         ºá »«ßδ½¬π ¿º¼Ñ¡Ñ¡¡«ú« ñá¡¡«ú« φ½Ñ¼Ñ¡Γá ¬½¿Ñ¡Γπ. àß½¿ ßÑαóÑα ¡Ñ
  9558.         ¿¼Ñ½ Γᬫ⌐   ßó∩º¿,   «¡   »«ßδ½áÑΓ   «Γα¿µáΓѽ∞¡«Ñ   ß««íΘÑ¡¿Ñ
  9559.         WM_DDE_ASK.
  9560.  
  9561.              ä½∩ ºáóÑαΦÑ¡¿∩   óßÑσ   ßó∩ºÑ⌐  ó  ñá¡¡«¼  ñ¿á½«úÑ  ¬½¿Ñ¡Γ
  9562.         »«ßδ½áÑΓ ßÑαóÑαπ ß««íΘÑ¡¿Ñ WM_DDE_UNADVISE, π¬áºδóá∩ ó ¬áτÑßΓóÑ
  9563.  
  9564.        Windows 3.0/pg/3#3                                       = 181 =
  9565.  
  9566.         áΓ«¼á  ñá¡¡δσ ¡«½∞.  æÑαóÑα »α«óÑα∩ÑΓ,  ¿¼ÑÑΓß∩ ½¿ σ«Γ∩ íδ «ñ¡á
  9567.         ßó∩º∞.  àß½¿  ñá,  ßÑαóÑα  »«ßδ½áÑΓ   »«½«ª¿Γѽ∞¡«Ñ   ß««íΘÑ¡¿Ñ
  9568.         WM_DDE_ASK; «¡ í«½∞ΦÑ ¡Ñ «ΓóÑτáÑΓ ºá »ÑαÑñáτ𠬽¿Ñ¡Γπ ¿º¼Ñ¡Ñ¡¿⌐
  9569.         ó ñá¡¡δσ.  àß½¿ ó ñá¡¡«¼ ñ¿á½«úÑ ¡ÑΓ  ¡¿  «ñ¡«⌐  ßó∩º¿,  ßÑαóÑα
  9570.         »«ßδ½áÑΓ ¬½¿Ñ¡Γπ «Γα¿µáΓѽ∞¡«Ñ ß««íΘÑ¡¿Ñ WM_DDE_ASK.
  9571.                  22.4.4  çá»π߬ ¬«¼á¡ñ ó πñá½Ñ¡¡«⌐ »α¿¬½áñ¡«⌐ »α«úαá¼¼Ñ.       
  9572.  
  9573.              Åਪ½áñ¡á∩ »α«úαἼᠠWindows  ¼«ªÑΓ  ß  »«¼«Θ∞ε ß««íΘÑ¡¿∩
  9574.         WM_DDE_EXECUTE ¿¡¿µ¿¿α«óáΓ∞     óδ»«½¡Ñ¡¿Ñ     ¬«¼á¡ñδ      ¿½¿
  9575.         »«ß½Ññ«óáΓѽ∞¡«ßΓ¿ ¬«¼á¡ñ ñαπú«⌐ »α¿¬½áñ¡«⌐ »α«úαá¼¼«⌐.  è½¿Ñ¡Γ
  9576.         »«ßδ½áÑΓ ßÑαóÑαπ    ß««íΘÑ¡¿Ñ    WM_DDE_EXECUTE,     ß«ñÑαªáΘÑÑ
  9577.         ñÑß¬α¿»Γ«α ¬«¼á¡ñ¡«⌐ ßΓ᫬¿:
  9578.  
  9579.              if(!hCommand = GlobalAlloc(GMEM_MOVEABLE | GMEM_DDESHARE,
  9580.                                         sizeof(szCommandString))))
  9581.                   return;
  9582.              if(!lpCommand = GlobalLock(hCommand)))
  9583.              {
  9584.                 GlobalFree(hCommand);
  9585.                 return;
  9586.              }
  9587.              lstrcpy(lpCommand,szCommandString);
  9588.              GlobalUnlock(hCommand);
  9589.              if(!PostMessage(hWndServerDDE,
  9590.                          WM_DDE_EXECUTE,
  9591.                          hWndClientDDE,
  9592.                          MAKELONG(0,hCommand));
  9593.              {
  9594.                 GlobalFree(hCommand);
  9595.              }
  9596.  
  9597.              æÑαóÑα »δΓáÑΓß∩ óδ»«½¡¿Γ∞ π¬áºá¡¡πε ¬«¼á¡ñ¡πε ßΓ᫬π.  Åα¿
  9598.         πß»ÑΦ¡«¼ ºáóÑαΦÑ¡¿¿  ßÑαóÑα  »«ßδ½áÑΓ  »«½«ª¿Γѽ∞¡«Ñ  ß««íΘÑ¡¿Ñ
  9599.         WM_DDE_ASK ¿½¿ «Γα¿µáΓѽ∞¡«Ñ ß««íΘÑ¡¿Ñ ó »α«Γ¿ó¡«¼ ß½πτáÑ.  ¥Γ«
  9600.         ß««íΘÑ¡¿Ñ WM_DDE_ASK  ºá¡«ó«  ¿ß»«½∞ºπÑΓ  ñÑß¬α¿»Γ«α  hCommand,
  9601.         »«ß½á¡¡δ⌐ ó ¿ßσ«ñ¡«¼ ß««íΘÑ¡¿¿ WM_DDE_EXECUTE.
  9602.  
  9603.                          ìáí«α ¬«¼á¡ñ Program Manager.
  9604.  
  9605.              Åα«úαá¼¼á Windows  Program  Manager  ¿ß»«½∞ºπÑΓ  ¿¡ΓÑαΣÑ⌐ß
  9606.         ¬«¼á¡ñ¡δσ ßΓ᫬  DDE,  ¬«Γ«αδ⌐  »«ºó«½∩ÑΓ   ñαπú¿¼   »α¿¬½áñ¡δ¼
  9607.         »α«úαἼἠ߫ºñáóáΓ∞,  «Γ«íαáªáΓ∞ ¿ πñá½∩Γ∞ úαπ»»δ, ñ«íáó½∩Γ∞ ó
  9608.         úαπ»»δ φ½Ñ¼Ñ¡Γδ ¿ ºá¬αδóáΓ∞ Program Manager. ¥Γ¿ ñÑ⌐ßΓó¿∩ ¼«ª¡«
  9609.         óδ»«½¡¿Γ∞ ß »«¼«Θ∞ε ß½ÑñπεΘ¿σ ¬«¼á¡ñ:
  9610.  
  9611.              - CreateGroup
  9612.  
  9613.              - AddItem
  9614.  
  9615.              - DeleteGroup
  9616.  
  9617.              - ShowGroup
  9618.  
  9619.        Windows 3.0/pg/3#3                                       = 182 =
  9620.  
  9621.  
  9622.              - ExitProgman
  9623.  
  9624.              ìá»α¿¼Ñα, »α«úαἼᠠ πßΓᡫ󬿠  óáΦÑ⌐   »α«úαá¼¼δ  ¼«ªÑΓ
  9625.         ¿ß»«½∞º«óáΓ∞ φΓ¿ ¬«¼á¡ñδ ñ½∩ ºá¡ÑßÑ¡¿∩ ¿¬«¡δ óáΦÑ⌐ »α«úαá¼¼δ  ó
  9626.         úαπ»»π.
  9627.  
  9628.              Åα¿¼Ñτá¡¿Ñ: Å«½∞º«óáΓѽ∞   ¼«ªÑΓ  πßΓá¡«ó¿Γ∞  ¬«¡Σ¿úπαᵿε
  9629.         Windows Γᬿ¼ «íαẫ¼,  τΓ«íδ ¿ß»«½∞º«óáΓ∞ ó ¬áτÑßΓóÑ  «í«½«τ¬¿
  9630.         ¡Ñ Program Manager, á ñαπúπε »α«úαá¼¼π. Å«φΓ«¼π, óáΦá »α«úαá¼¼á
  9631.         ¡Ñ ñ«½ª¡á »«ñαáºπ¼ÑóáΓ∞,  τΓ« Program Manager  óßÑúñá  ñ«ßΓπ»¡á
  9632.         ñ½∩ πßΓá¡«ó½Ñ¡¿∩ ñ¿á½«úá.
  9633.  
  9634.              ä½∩ ¿ß»«½∞º«óá¡¿∩  φΓ¿σ  ¬«¼á¡ñ  óáΦá »α¿¬½áñ¡á∩ »α«úαá¼¼á
  9635.         ñ«½ª¡á ó ¡áτá½Ñ ¿¡¿µ¿á½¿º¿α«óáΓ∞ ñ¿á½«ú ß Program Manager.  ä½∩
  9636.         ñ¿á½«úá ¡πª¡«  ¿ß»«½∞º«óáΓ∞  "PROGMAN" ó ¬áτÑßΓóÑ ¿¼Ñ¡¿ ¬á¬ ñ½∩
  9637.         »α¿½«ªÑ¡¿∩, Γᬠ¿ ñ½∩ »αÑñ¼ÑΓá.  çáΓѼ, óáΦá »α«úαἼᠻ«ßδ½áÑΓ
  9638.         ß««íΘÑ¡¿Ñ  WM_DDE_EXECUTE,  π¬áºδóá∩  ¡Ñ«íσ«ñ¿¼πε  ¬«¼á¡ñπ ¿ ÑÑ
  9639.         »áαá¼ÑΓαδ.  ìá»α¿¼Ñα, ß½ÑñπεΘ¿⌐ ¡áí«α ¬«¼á¡ñ ñ«íáó¿Γ WINAPP.EXE
  9640.         ¬ úαπ»»Ñ Windows Applications:
  9641.  
  9642.              [CreateGroup(Windows Applications)]
  9643.              [ShowGroup(1)]
  9644.              [AddItem(winapp.exe, Win App,wunapp.exe,2);
  9645.  
  9646.              é ß½ÑñπεΘ¿σ  »áαáúαáΣáσ  ¬«¼á¡ñ¡δÑ  ßΓ᫬¿ Program Manager
  9647.         «»¿ßá¡δ í«½ÑÑ »«ñα«í¡«.
  9648.  
  9649.                                  CreateGroup.
  9650.  
  9651.              æ¿¡Γá¬ß¿ß ¬«¼á¡ñδ CreateGroup:
  9652.  
  9653.              CreateGroup(GroupName[,GroupPath])
  9654.  
  9655.              è«¼á¡ñá CreateGroup ß««íΘáÑΓ Program  Manager,  τΓ«  ¡πª¡«
  9656.         ß«ºñáΓ∞ ¡«óπε   úαπ»»π  ¿½¿  á¬Γ¿ó¿º¿α«óáΓ∞  «¬¡«  ßπΘÑßΓóπεΘÑ⌐
  9657.         úαπ»»δ.
  9658.  
  9659.              Åáαá¼ÑΓα GroupName - φΓ« ßΓ᫬á,  ß«ñÑαªáΘá∩  ¿¼∩  úαπ»»δ.
  9660.         àß½¿   Γá¬á∩   úαπ»»á   πªÑ   ßπΘÑßΓóπÑΓ,  Γ«  Program  Manager
  9661.         á¬Γ¿ó¿º¿απÑΓ «¬¡« φΓ«⌐ úαπ»»δ.
  9662.  
  9663.              ìÑ«í∩ºáΓѽ∞¡δ⌐ »áαá¼ÑΓα GroupPath ß«ñÑαª¿Γ  ¼áαΦαπΓ  Σá⌐½á
  9664.         úαπ»»δ. àß½¿  óδ  ¡Ñ  π¬áªÑΓÑ  φëà»áαá¼ÑΓα,  Γ« Windows íπñÑΓ
  9665.         ¿ß»«½∞º«óáΓ∞ ñ½∩ Σá⌐½á ¿¼∩ »« π¼«½τá¡¿ε.
  9666.  
  9667.                                    AddItem.
  9668.  
  9669.              æ¿¡Γá¬ß¿ß ¬«¼á¡ñδ AddItem:
  9670.  
  9671.              AddItem(CmdLine[,Name[,IconPath[,IconIndex[,xPos,yPos]]]])
  9672.  
  9673.              è«¼á¡ñá AddItem ñ«íáó½∩ÑΓ ¬ ßπΘÑßΓóπεΘÑ⌐ úαπ»»Ñ ¿¬«¡π.
  9674.  
  9675.        Windows 3.0/pg/3#3                                       = 183 =
  9676.  
  9677.  
  9678.              ÆαÑíπѼδ⌐ »áαá¼ÑΓα  ß«ñÑαª¿Γ  ßΓ᫬π  ß  »«½¡«⌐  ¬«¼á¡ñ¡«⌐
  9679.         ßΓ᫬«⌐, ¡Ñ«íσ«ñ¿¼«⌐  ñ½∩ ºá»π߬ᠻα«úαá¼¼δ.  èᬠ¼¿¡¿¼π¼,  φΓ«
  9680.         ñ«½ª¡« íδΓ∞ ¿¼∩ óδ»«½¡∩Ѽ«ú« Σá⌐½á  »α¿¬½áñ¡«⌐  »α«úαá¼¼δ.  Ä¡á
  9681.         ¼«ªÑΓ  ΓᬪѠó¬½ετáΓ∞ »«½¡δ⌐ ¼áαΦαπΓ ¿ »áαá¼ÑΓαδ,  »ÑαÑñáóáѼδÑ
  9682.         »α«úαá¼¼Ñ.
  9683.  
  9684.              ìÑ«í∩ºáΓѽ∞¡δ⌐ »áαá¼ÑΓα  Name  -  φΓ«  ßΓ᫬á,  ß«ñÑαªáΘá∩
  9685.         ºáú«½«ó«¬, ¬«Γ«αδ⌐ íπñÑΓ «Γ«íαáªáΓ∞ß∩ »«ñ ¿¬«¡«⌐ ó «¬¡Ñ úαπ»»δ.
  9686.  
  9687.              ìÑ«í∩ºáΓѽ∞¡δ⌐ »áαá¼ÑΓα  IconPath  -  φΓ«  ßΓ᫬á ß ¿¼Ñ¡Ñ¼
  9688.         Σá⌐½á,  ß«ñÑαªáΘÑú« ¿¬«¡π,  «Γ«íαáªáѼπε ó ñá¡¡«¼ «¬¡Ñ  úαπ»»δ.
  9689.         ¥Γ« ¼«ªÑΓ íδΓ∞ ¬á¬ óδ»«½¡∩Ѽδ⌐ Σá⌐½ Windows,  Γᬠ¿ Σá⌐½ ¿¬«¡δ,
  9690.         ß«ºñá¡¡δ⌐ ß »«¼«Θ∞ε SDKPaint.  àß½¿  óδ  ¡Ñ  π¬áªÑΓÑ  IconPath,
  9691.         Program    Manager    ó«ß»«½∞ºπÑΓß∩    »Ñαó«⌐   ¿¬«¡«⌐   Σá⌐½á,
  9692.         «»αÑñѽ∩Ѽ«ú« CmdLine.  àß½¿ φëàΣá⌐½ ¡Ñ  ß«ñÑαª¿Γ  ¿¬«¡δ,  Γ«
  9693.         Program Manager ó«ß»«½∞ºπÑΓß∩ ßΓá¡ñáαΓ¡«⌐ ¿¬«¡«⌐.
  9694.  
  9695.              ìÑ«í∩ºáΓѽ∞¡δ⌐ »áαá¼ÑΓα    IconIndex    -    φΓ«    µÑ½«Ñ,
  9696.         «»αÑñѽ∩εΘÑÑ ¿¡ñѬߠ¿¬«¡δ ó IconPath,  ¬«Γ«απε íπñÑΓ «Γ«íαáªáΓ∞
  9697.         Program  Manager.  PROGMAN.EXE  ß«ñÑαª¿Γ  »∩Γ∞ óßΓα«Ñ¡¡δσ ¿¬«¡,
  9698.         ¬«Γ«αδÑ óδ ¼«ªÑΓÑ ¿ß»«½∞º«óáΓ∞ ñ½∩ »α¿¬½áñ¡δσ »α«úαá¼¼  ¡Ñ  ñ½∩
  9699.         Windows.
  9700.  
  9701.              ìÑ«í∩ºáΓѽ∞¡δÑ »áαá¼ÑΓαδ   xPos   ¿   yPos  -  φΓ«  µÑ½δÑ,
  9702.         «»αÑñѽ∩εΘ¿Ñ ú«α¿º«¡Γá½∞¡πε ¿ óÑαΓ¿¬á½∞¡πε »«º¿µ¿ε ¿¬«¡δ ó «¬¡Ñ
  9703.         úαπ»»δ. éδ  ¼«ªÑΓÑ  ¿ß»«½∞º«óáΓ∞  «íá »áαá¼ÑΓαá ñ½∩ «»αÑñѽѡ¿∩
  9704.         ¡Ñ«íσ«ñ¿¼«ú« »«½«ªÑ¡¿∩ ¿¬«¡δ.  àß½¿ óδ ¿σ ¡Ñ  π¬áªÑΓÑ,  Program
  9705.         Manager »«¼ÑßΓ¿Γ ¿¬«¡π ó »Ñαó«Ñ ßó«í«ñ¡«Ñ ¼ÑßΓ«.
  9706.  
  9707.                                  DeleteGroup.
  9708.  
  9709.              æ¿¡Γá¬ß¿ß ¬«¼á¡ñδ DeleteGroup:
  9710.  
  9711.              DeleteGroup(GroupName);
  9712.  
  9713.              è«¼á¡ñá DeleteGroup    πñá½∩ÑΓ    úαπ»»π,     «»αÑñѽ∩Ѽπε
  9714.         »áαá¼ÑΓα«¼ GroupName.
  9715.  
  9716.                                   ShowGroup.
  9717.  
  9718.              æ¿¡Γá¬ß¿ß ¬«¼á¡ñδ ShowGroup:
  9719.  
  9720.              ShowGroup(GroupName,ShowCommand);
  9721.  
  9722.              è«¼á¡ñá ShowGroup        »«ºó«½∩ÑΓ         ¼¿¡¿¼¿º¿α«óáΓ∞,
  9723.         ¼á¬ß¿¼¿º¿α«óáΓ∞  ¿½¿ ó«ßßΓá¡áó½¿óáΓ∞ «¬¡« úαπ»»δ,  «»αÑñѽ∩Ѽ«⌐
  9724.         »áαá¼ÑΓα«¼ GroupName.
  9725.  
  9726.              Äí∩ºáΓѽ∞¡δ⌐ »áαá¼ÑΓα   ShowCommand   »αÑñßΓáó½∩ÑΓ   ß«í«⌐
  9727.         µÑ½«Ñ, «»αÑñѽ∩εΘÑÑ ñÑ⌐ßΓó¿Ñ,  ¬«Γ«α«Ñ Program  Manager  ñ«½ªÑ¡
  9728.         óδ»«½¡¿Γ∞ ß   «¬¡«¼   úαπ»»δ.  ¥Γ«Γ  »áαá¼ÑΓα  ¼«ªÑΓ  »α¿¡¿¼áΓ∞
  9729.         ß½ÑñπεΘ¿Ñ º¡áτÑ¡¿∩:
  9730.  
  9731.        Windows 3.0/pg/3#3                                       = 184 =
  9732.  
  9733.  
  9734.         ç¡áτÑ¡¿Ñ         Ä»¿ßá¡¿Ñ
  9735.         ───────────────────────────────────────────────────────────────
  9736.         1                Ç¬Γ¿ó¿º¿απÑΓ ¿ «Γ«íαáªáÑΓ «¬¡« úαπ»»δ. àß½¿
  9737.                          «¬¡« í佫 ¼¿¡¿¼¿º¿α«óá¡« ¿½¿  ¼á¬ß¿¼¿º¿α«óá¡«,
  9738.                          Γ« Windows ó«ßßΓá¡áó½¿óáÑΓ Ñú« ¿ßσ«ñ¡δ⌐ αẼÑα
  9739.                          ¿ »«½«ªÑ¡¿Ñ.
  9740.  
  9741.         2                Ç¬Γ¿ó¿º¿απÑΓ «¬¡« úαπ»»δ ¿ «Γ«íαáªáÑΓ Ñú« ó
  9742.                          ó¿ñÑ ¿¬«¡δ.
  9743.  
  9744.         3                Ç¬Γ¿ó¿º¿απÑΓ «¬¡« úαπ»»δ ¿ ¼á¬ß¿¼¿º¿απÑΓ Ñú«.
  9745.  
  9746.         4                ÄΓ«íαáªáÑΓ «¬¡« úαπ»»δ ó Γ«¼ »«½«ªÑ¡¿¿ ¿ Γ«ú«
  9747.                          ªÑ αẼÑαá, ¬á¬¿¼ «¡« í佫 ó »«ß½Ññ¡δ⌐ αáº.
  9748.  
  9749.         5                Ç¬Γ¿ó¿º¿απÑΓ «¬¡« úαπ»»δ ¿ «Γ«íαáªáÑΓ Ñú« ó
  9750.                          ΓѬπΘѼ »«½«ªÑ¡¿¿ ¿ ß ΓѬπΘ¿¼¿ αẼÑαἿ.
  9751.  
  9752.         6                î¿¡¿¼¿º¿απÑΓ «¬¡« úαπ»»δ.
  9753.  
  9754.         7                ÄΓ«íαáªáÑΓ «¬¡« úαπ»»δ ó ó¿ñÑ ¿¬«¡δ. ÆÑ¬πΘÑÑ
  9755.                          á¬Γ¿ó¡«Ñ «¬¡« «ßΓáÑΓß∩ á¬Γ¿ó¡δ¼.
  9756.  
  9757.         8                ÄΓ«íαáªáÑΓ «¬¡« úαπ»»δ ó Ñú« ΓѬπΘѼ ß«ßΓ«∩¡¿¿.
  9758.                          ÆÑ¬πΘÑÑ á¬Γ¿ó¡«Ñ «¬¡« «ßΓáÑΓß∩ á¬Γ¿ó¡δ¼.
  9759.         ───────────────────────────────────────────────────────────────
  9760.  
  9761.                                  ExitProgman.
  9762.  
  9763.              æ¿¡Γá¬ß¿ß ¬«¼á¡ñδ ExitProgman:
  9764.  
  9765.              ExitProgman(bSaveState)
  9766.  
  9767.              è«¼á¡ñá ExitProgman  ºáßΓáó½∩ÑΓ  Program Manager ºáóÑαΦ¿Γ∞
  9768.         ßó«ε αáí«Γπ ¿,  ó«º¼«ª¡«,  ºá»«¼¡¿Γ∞ ßó«Ñ ß««ßΓ«∩¡¿Ñ.  Åáαá¼ÑΓα
  9769.         bSaveState ∩ó½∩ÑΓß∩  íπ½Ñó߬¿¼  »ÑαѬ½ετáΓѽѼ,  ¬«Γ«αδ⌐,  Ñß½¿
  9770.         αáóÑ¡ TRUE,   ºáßΓáó½∩ÑΓ   Program   Manager   ß«σαá¡¿Γ∞   ßó«Ñ
  9771.         ß«ßΓ«∩¡¿Ñ.  àß½¿ bSaveState αáóÑ¡ FALSE,  Γ« Program Manager ¡Ñ
  9772.         íπñÑΓ ß«σαá¡∩Γ∞ ßó«Ñú« ß«ßΓ«∩¡¿∩.
  9773.                                       22.4.5  çáóÑαΦÑ¡¿Ñ ñ¿á½«úá.              
  9774.  
  9775.              èᬠ»α«úαἼᠠ-  ¬½¿Ñ¡Γ,  Γᬠ ¿ »α«úαá¼¼á ßÑαóÑα ¼«úπΓ ß
  9776.         »«¼«Θ∞ε ß««íΘÑ¡¿∩ WM_DDE_TERMINATE  ó  ½εí«⌐  ¼«¼Ñ¡Γ  ºáóÑαΦ¿Γ∞
  9777.         ñ¿á½«ú. àßΓÑßΓóÑ¡¡«,  «íÑ  »α«úαá¼¼δ,  ¬½¿Ñ¡Γ ¿ ßÑαóÑα,  ñ«½ª¡δ
  9778.         íδΓ∞  »«ñú«Γ«ó½Ñ¡δ   ¬   »α¿Ñ¼π   ß««íΘÑ¡¿∩   WM_DDE_TERMINATE.
  9779.         Åਪ½áñ¡á∩ »α«úαἼᠫí∩ºá¡á »ÑαÑñ ºáóÑαΦÑ¡¿Ñ¼ αáí«Γδ ºáóÑαΦ¿Γ∞
  9780.         óßÑ ßó«¿ ñ¿á½«ú¿.
  9781.  
  9782.              Åਪ½áñ¡á∩ »α«úαἼᠺáóÑαΦáÑΓ ñ¿á½«ú,  »«ßδ½á∩  ß««íΘÑ¡¿Ñ
  9783.         WM_DDE_TERMINATE:
  9784.  
  9785.  
  9786.        Windows 3.0/pg/3#3                                       = 185 =
  9787.  
  9788.           PostMessage(hWndServerDDE,WM_DDE_TERMINATE,hWndClientDDE,0L);
  9789.  
  9790.              ¥Γ¿¼ óáΦá  »α«úαἼᠠ¿¡Σ«α¼¿απÑΓ,  τΓ«  í«½∞ΦÑ  ¡Ñ  íπñÑΓ
  9791.         »«ßδ½áΓ∞ ß««íΘÑ¡¿⌐ ¿ τΓ« ñαπúá∩ »α«úαἼᠠ¼«ªÑΓ  ºá¬αδΓ∞  ßó«Ñ
  9792.         «¬¡«.  Å«½πτ¿ó  φΓ«  ß««íΘÑ¡¿Ñ »α«úαἼᠫí∩ºá¡á ó ½εí«¼ ß½πτáÑ
  9793.         »«ß½áΓ∞ ó  «ΓóÑΓ  ß««íΘÑ¡¿Ñ  WM_DDE_TERMINATE.  ìÑ  ñ«»π߬áÑΓß∩
  9794.         »«ßδ½áΓ∞  «Γα¿µáΓѽ∞¡«Ñ,  »«½«ª¿Γѽ∞¡«Ñ  ¿½¿  ºá¡∩Γ«Ñ ß««íΘÑ¡¿Ñ
  9795.         WM_DDE_ASK.
  9796.  
  9797.              Å«ß½Ñ Γ«ú«,  ¬á¬  »α¿¬½áñ¡á∩  »α«úαἼᠠ»«ß½á½á ß««íΘÑ¡¿Ñ
  9798.         WM_DDE_TERMINATE ßó«Ñ¼π »áαΓ¡Ñαπ  »«  ñ¿á½«úπ,  «¡á  ¡Ñ  ñ«½ª¡á
  9799.         «ΓóÑτáΓ∞ ¡¿ ¡á ¬á¬¿Ñ Ñú« ß««íΘÑ¡¿∩,  Γ.¬.  «¬¡«, ¬«Γ«α«¼π íπñÑΓ
  9800.         »«ßδ½áΓ∞ß∩ «ΓóÑΓ, πªÑ ¼«ªÑΓ íδΓ∞ αáºαπΦÑ¡«.
  9801.  
  9802.              Åα¿ ºáóÑαΦÑ¡¿¿   »α¿¬½áñ¡«⌐  »α«úαá¼¼δ  «¡á  ñ«½ª¡á  »ÑαÑñ
  9803.         «¬«¡τ᡿Ѽ  «íαáí«Γ¬¿  ß««íΘÑ¡¿∩   WM_DESTROY   ºáóÑαΦ¿Γ∞   óßÑ
  9804.         á¬Γ¿ó¡δÑ    ñ¿á½«ú¿.    éáΦá    »α¿¬½áñ¡á∩   »α«úαἼᠠ ñ«½ª¡á
  9805.         «íτÑß»Ñτ¿óáΓ∞ ºáñÑ᪬π, Γ.¬, «ñ¿¡ ¿º ÑÑ »áαΓ¡Ñα«ó, ó«º¼«ª¡«, ¡Ñ
  9806.         ß¼«ªÑΓ  «ΓóÑΓ¿Γ∞ ¡á ß««íΘÑ¡¿Ñ WM_DDE_TERMINATE.  ì¿ªÑ »α¿óÑñÑ¡á
  9807.         »α«µÑñπαá ºáóÑαΦÑ¡¿∩ ñ¿á½«úá:
  9808.  
  9809.              void TerminateConversations(hwndServerDDE)
  9810.              HWND  hwndServerDDE;
  9811.              {
  9812.                 HWND  hwndClientDDE;
  9813.                 LONG  lTimeOut;
  9814.                 MSG   msg;
  9815.  
  9816.  
  9817.                 /* ºáóÑαΦ¿Γ∞ óßÑ á¬Γ¿ó¡δÑ ñ¿á½«ú¿ */
  9818.                 hwndClientDDE = NULL;
  9819.                 while (hwndClientDDE = GetNextConv(hwndClientDDE))
  9820.                 {
  9821.                      hwndServerDDE = GetHwndServerDDE(hwndClientDDE);
  9822.                      if (IsWindow(hwndServerDDE))
  9823.                          SendTerminate(hwndClientDDE, hwndServerDDE);
  9824.                 }
  9825.  
  9826.                 /* Äª¿ñá¡¿Ñ ºáóÑαΦÑ¡¿∩ óßÑσ ñ¿á½«ú«ó ¿½¿ ºáñÑ᪬¿ */
  9827.                 lTimeOut = GetTickCount() + (LONG)nAckTimeOut;
  9828.                 while (PeekMessage(&msg, NULL, WM_DDE_FIRST,
  9829.                                           WM_DDE_LAST, PM_REMOVE))
  9830.                 {
  9831.                       DispatchMessage (&msg);
  9832.                       if (msg.message == WM_DDE_TERMINATE)
  9833.                       {
  9834.                           if (!AtLeastOneConvActive())
  9835.                               break;
  9836.                       }
  9837.                       if (GetTickCount() > lTimeOut)
  9838.                           break;
  9839.                 }
  9840.  
  9841.                 return;
  9842.              }
  9843.  
  9844.        Windows 3.0/pg/3#3                                       = 186 =
  9845.  
  9846.  
  9847.                              22.5  Åα¿¼Ñαδ »α«úαá¼¼ Client ¿ Server.           
  9848.  
  9849.              ìá ñ¿ß¬Ñ  SDK  Sample  Source  Code  Disk ó ñ¿αÑ¬Γ«α¿¿ DDE
  9850.         ß«ñÑαªáΓß∩ ñóá »α¿¼Ñαá »α«úαá¼¼, ß ¿¼Ñ¡á¼¿ Server ¿ Client. ¥Γ¿
  9851.         »α«úαá¼¼δ ¿½½εßΓα¿απεΓ     í«½∞Φ¿¡ßΓó«    «íßπªñáóΦ¿σß∩    óδΦÑ
  9852.         Γα᡺ᬵ¿⌐.
  9853.  
  9854.              Åα«úαá¼¼á Server   ß«ñÑαª¿Γ   «¬¡«   ß    ΓαѼ∩    í½«¬á¼¿
  9855.         αÑñá¬Γ¿α«óá¡¿∩, »«¼ÑτÑ¡¡δ¼¿ ¬á¬ "Item1", "Item2" ¿ "Item3". Ä¡¿
  9856.         »αÑñßΓáó½∩εΓ  ß«í«⌐  φ½Ñ¼Ñ¡Γδ  ñá¡¡δσ,  ñ½∩  ¬«Γ«αδσ ¼«ªÑΓ íδΓ∞
  9857.         πßΓá¡«ó½Ñ¡á »«ßΓ«∩¡¡á∩ ßó∩º∞.
  9858.  
  9859.              î«ª¡« ºá»πßΓ¿Γ∞  ¡Ñ߬«½∞¬«  φ¬ºÑ¼»½∩α«ó  »α«úαá¼¼δ Server.
  9860.         èáªñ«¼π φ¬ºÑ¼»½∩απ  »α¿ßóá¿óáÑΓß∩  π¡¿¬á½∞¡«Ñ   ¿¼∩   ("File1",
  9861.         "File2" ¿ Γ.ñ.),  ¬«Γ«αδÑ «»αÑñѽ∩εΓ »αÑñ¼ÑΓ, »« ¬«Γ«α«¼π íπñÑΓ
  9862.         πßΓá¡«ó½Ñ¡á ßó∩º∞.
  9863.  
  9864.              Åਪ½áñ¡á∩ »α«úαá¼¼á Client  ß«ñÑαª¿Γ  ¼Ñ¡ε  ß  ¬«¼á¡ñἿ,
  9865.         ºá»π߬áεΘ¿¼¿ ß««ΓóÑΓßΓóπεΘ¿Ñ Γα᡺ᬵ¿¿:
  9866.  
  9867.              - Initiate
  9868.  
  9869.              - Terminate
  9870.  
  9871.              - Advise
  9872.  
  9873.              - Unadvise
  9874.  
  9875.              - Request
  9876.  
  9877.              - Poke
  9878.  
  9879.              - Execute
  9880.  
  9881.              èα«¼Ñ φΓ«ú«  ¼Ñ¡ε  Edit  »α«úαá¼¼ Client ¿ Server ß«ñÑনΓ
  9882.         ¬«¼á¡ñπ PasteLink,  ¬«Γ«αá∩ ¿¡¿µ¿á½¿º¿απÑΓ  ú«α∩τπε  ßó∩º∞  ñ½∩
  9883.         óδíαá¡¡«ú« φ½Ñ¼Ñ¡Γá ñá¡¡δσ.
  9884.  
  9885.              Ä¬¡« »α«úαá¼¼δ  Client  »«¬áºδóáÑΓ  óßÑ  ΓѬπΘ¿Ñ  ñ¿á½«ú¿,
  9886.         «Γ«íαáªá∩ ñÑß¬α¿»Γ«αδ  «¬«¡  ¬½¿Ñ¡Γá   ¿   ßÑαóÑαá,   ¿   ¿¼Ñ¡á
  9887.         »α¿½«ªÑ¡¿∩ ¿ »αÑñ¼ÑΓá.  Å«ñ ¬áªñδ¼ «Γ«íαáªáÑ¼δ¼ ñ¿á½«ú«¼ ó «¬¡«
  9888.         Client óδó«ñ∩Γß∩ óßÑ ßó∩º¿ »« ñá¡¡δ¼,  ¬«Γ«αδÑ í뫨 πßΓá¡«ó½Ñ¡δ
  9889.         ß »«¼«Θ∞ε ¬«¼á¡ñ  Advise  ¿  PasteLink.  ÄΓ«íαáªÑ¡¿Ñ  ßó∩º¿  »«
  9890.         ñá¡¡δ¼ ó¬½ετáÑΓ »«¬áº ΓѬπΘÑú« º¡áτÑ¡¿∩, »«ß½á¡¡«ú« ß ßÑαóÑαá.
  9891.  
  9892.              Åਪ½áñ¡á∩ »α«úαἼᠠ Client   »«ññÑনóáÑΓ   ñ¿á½«ú¿   ß
  9893.         ¡Ñ߬«½∞¬¿¼¿ ßÑαóÑαἿ,  ¡Ñ߬«½∞¬« »αÑñ¼ÑΓ«ó ñ½∩ ¬áªñ«ú« ßÑαóÑαá
  9894.         ¿ ¡Ñ߬«½∞¬« ßó∩ºÑ⌐ »« ñá¡¡δ¼ ñ½∩ ¬áªñ«ú« »αÑñ¼ÑΓá.  Ç¡á½«ú¿τ¡«,
  9895.         »α«úαá¼¼á Server »«ññÑনóáÑΓ ßó∩º∞ ß ¡Ñ߬«½∞¬¿¼¿ ¬½¿Ñ¡ΓἿ, »«
  9896.  
  9897.        Windows 3.0/pg/3#3                                       = 187 =
  9898.  
  9899.         ¡Ñ߬«½∞¬«  »αÑñ¼ÑΓ«ó  ñ½∩ ¬áªñ«ú« ¬½¿Ñ¡Γá ¿ »« ¡Ñ߬«½∞¬« ßó∩ºÑ⌐
  9900.         »« ñá¡¡δ¼ ñ½∩ ¬áªñ«ú« »αÑñ¼ÑΓá.
  9901.  
  9902.              Åα«úαá¼¼δ Client  ¿  Server  ¿¼ÑεΓ  »áαώѽ∞¡«  ¼«ñπ½∞¡πε
  9903.         ßΓαπ¬Γπαπ. èáªñá∩ »α«úαἼᠿ¼ÑÑΓ Γα¿ ¼«ñπ½∩.  ÅÑαóδ⌐ (Client.C
  9904.         ¿ Server.C)  «íαáíáΓδóáÑΓ  óßÑ  »«½∞º«óáΓѽ∞߬¿Ñ  Γα᡺ᬵ¿¿  ¿
  9905.         »«φΓ«¼π  ó¬½ετáÑΓ  »α«µÑñπαδ  «¬«¡  ¿  »á¡Ñ½Ñ⌐ ñ¿á½«úá.  éΓ«α«⌐
  9906.         ¼«ñπ½∞ (CLIDATA.C ¿ SERVDATA.C) π»αáó½∩εΓ  óßѼ¿  ñá¡¡δ¼¿  óßÑσ
  9907.         á¬Γ¿ó¡δσ ñ¿á½«ú«ó ¿ ßó∩ºÑ⌐ »« ñá¡¡δ¼. ÆαÑΓ¿⌐ ¼«ñπ½∞ (CLIDDE.C ¿
  9908.         SERVDDE.C) ó¬½ετáÑΓ óßε ½«ú¿¬π, ß»Ñµ¿Σ¿τ¡πε ñ½∩ Γα᡺ᬵ¿⌐ DDE.
  9909.         Åα¿  Γᬫ⌐ ¼«ñπ½∞¡«⌐ ßΓαπ¬ΓπαÑ φΓ¿ ñóá »α¿¼Ñαπ ¼«úπΓ íδΓ∞ í«½ÑÑ
  9910.         πñ«í¡« »αÑ«íαẫóá¡δ ó ¡Ñ«íσ«ñ¿¼δÑ óá¼ »α¿½«ªÑ¡¿∩.
  9911.                                              22.6  çᬽετÑ¡¿Ñ.                 
  9912.  
  9913.              é ñá¡¡«⌐  ú½áóÑ   «»¿ßá¡«,   ¬á¬   ¿ß»«½∞º«óáΓ∞   »α«Γ«¬«½
  9914.         ñ¿¡á¼¿τÑ߬«ú«  «í¼Ñ¡á  ñá¡¡δ¼¿ Windows ñ½∩ «í¼Ñ¡á ñá¡¡δ¼¿ ¼Ñªñπ
  9915.         »α¿¬½áñ¡δ¼¿ »α«úαἼἿ.  é ¡Ñ⌐ »α¿ó«ñ∩Γß∩  «ß¡«ó¡δÑ  ¬«¡µÑ»µ¿¿
  9916.         DDE ¿  «»¿ßδóáÑΓß∩,  ¬á¬  »α¿¬½áñ¡δÑ  »α«úαá¼¼δ  ¿¡¿µ¿á½¿º¿απεΓ
  9917.         ñ¿á½«ú,  ΓαÑíπεΓ ñá¡¡δÑ ¿½¿ «ΓóÑτáεΓ ¡á ºá»α«ß ñá¡¡δσ  ¿  ºáΓѼ
  9918.         ºáóÑαΦáεΓ ñ¿á½«ú.  é ñá¡¡«⌐ ú½áóÑ ΓᬪѠ«»¿ßá¡«, ¬á¬ πßΓá¡«ó¿Γ∞
  9919.         "ú«α∩τπε"  ¿½¿  "ΓÑ»½πε"  ßó∩º∞  »«  ñá¡¡δ¼  ¼Ñªñπ  »α¿¬½áñ¡δ¼¿
  9920.         »α«úαἼἿ ¿   ¬á¬   «ñ¡á  »α«úαἼᠠ¼«ªÑΓ  ºá»α«ß¿Γ∞  ñαπúπε
  9921.         óδ»«½¡¿Γ∞ ¬«¼á¡ñδ.
  9922.  
  9923.              ä«»«½¡¿Γѽ∞¡πε ¿¡Σ«α¼áµ¿ε «Γ¡«ß¿Γѽ∞¡« «í¼Ñ¡á  ñá¡¡δ¼¿  óδ
  9924.         ¡á⌐ñÑΓÑ ó:
  9925.  
  9926.         Éáºñѽ               Éπ¬«ó«ñßΓó«
  9927.         ───────────────────────────────────────────────────────────────
  9928.         Äí¼Ñ¡ ñá¡¡δ¼¿ ß      Éπ¬«ó«ñßΓó« »α«úαá¼¼¿ßΓá: ú½áóá 13, "æ¿ß-
  9929.         »«¼«Θ∞ε ß¿ßΓѼ¡«ú«   ΓѼ¡δ⌐ íπΣÑα".
  9930.         íπΣÑαá
  9931.  
  9932.         éδñѽѡ¿Ñ ¿ ¿ß»«½∞-  Éπ¬«ó«ñßΓó« »α«úαá¼¼¿ßΓá: ú½áóá 15, "ô»αáó-
  9933.         º«óá¡¿Ñ í½«¬«ó »á¼∩- ½Ñ¡¿Ñ »á¼∩Γ∞ε", ¿ ú½áóá 16, "àΘÑ «í π»αáó-
  9934.         Γ¿ ñ½∩ «í¼Ñ¡á ñá¡¡δ- ½Ñ¡¿¿ »á¼∩Γ∞ε".
  9935.         ¼¿ ó DDE
  9936.  
  9937.         Å«ß佬á ß««íΘÑ¡¿⌐    æ»αáó«τ¡«Ñ απ¬«ó«ñßΓó«, Γ«¼ 1: ú½áóá 1,
  9938.         ñαπú«⌐ »α«úαἼѠ    "öπ¡¬µ¿¿ ß¿ßΓѼδ π»αáó½Ñ¡¿∩ «¬¡á¼¿" ¿
  9939.                              ú½áóá 4, "滿߫¬ Σπ¡¬µ¿⌐".
  9940.  
  9941.         Å«½¡«Ñ «»¿ßá¡¿Ñ      æ»αáó«τ¡«Ñ απ¬«ó«ñßΓó«, Γ«¼ 2: ú½áóá 15,
  9942.         »α«Γ«¬«½á DDE        "Ä»αÑñѽѡ¿∩ »α«Γ«¬«½á Windows DDE".
  9943.  
  9944.