Hex Artifact Content Вы: nobody
Вход

Artifact 7d0c281c031d0bb9fe46f7b48bb5f9606059b46c:


0000: ef bb bf 24 65 6e 67 69 6e 65 20 4a 53 63 72 69  ...$engine JScri
0010: 70 74 0d 0a 24 75 6e 61 6d 65 20 43 6c 69 70 62  pt..$uname Clipb
0020: 6f 61 72 64 0d 0a 24 64 6e 61 6d 65 20 d0 91 d1  oard..$dname ...
0030: 83 d1 84 d0 b5 d1 80 20 d0 be d0 b1 d0 bc d0 b5  ....... ........
0040: d0 bd d0 b0 0d 0a 24 61 64 64 69 6e 20 67 6c 6f  ......$addin glo
0050: 62 61 6c 0d 0a 0d 0a 67 6c 6f 62 61 6c 2e 63 6f  bal....global.co
0060: 6e 6e 65 63 74 47 6c 6f 62 61 6c 73 28 53 65 6c  nnectGlobals(Sel
0070: 66 53 63 72 69 70 74 29 0d 0a 0d 0a 2f 2a 20 d0  fScript)..../* .
0080: a1 d0 ba d1 80 d0 b8 d0 bf d1 82 20 d0 b4 d0 bb  ........... ....
0090: d1 8f 20 d1 83 d0 b4 d0 be d0 b1 d0 bd d0 be d0  .. .............
00a0: b9 20 d1 80 d0 b0 d0 b1 d0 be d1 82 d1 8b 20 d1  . ............ .
00b0: 87 d0 b5 d1 80 d0 b5 d0 b7 20 d0 b1 d1 83 d1 84  ......... ......
00c0: d0 b5 d1 80 20 d0 be d0 b1 d0 bc d0 b5 d0 bd d0  .... ...........
00d0: b0 2c 20 d0 bf d0 b5 d1 80 d0 b5 d1 85 d0 b2 d0  ., .............
00e0: b0 d1 82 d0 b0 20 d0 be d1 82 d0 ba d1 80 d1 8b  ..... ..........
00f0: d1 82 d0 b8 d1 8f 20 d1 84 d0 b0 d0 b9 d0 bb d0  ...... .........
0100: be d0 b2 20 d0 b4 d0 bb d1 8f 20 d0 a1 d0 bd d0  ... ...... .....
0110: b5 d0 b3 d0 be d0 bf d0 b0 d1 82 d0 b0 20 d0 b8  ............. ..
0120: 20 d0 bd d0 b5 d0 bc d0 b5 d0 b4 d0 bb d0 b5 d0   ...............
0130: bd d0 bd d0 be d0 b3 d0 be 20 d0 be d1 82 d0 ba  ......... ......
0140: d1 80 d1 8b d1 82 d0 b8 d1 8f 20 d1 84 d0 b0 d0  .......... .....
0150: b9 d0 bb d0 be d0 b2 2c 20 d0 b5 d1 81 d0 bb d0  ......., .......
0160: b8 20 d0 b8 d0 bc d1 8f 20 d1 84 d0 b0 d0 b9 d0  . ...... .......
0170: bb d0 b0 20 d0 b5 d1 81 d1 82 d1 8c 20 d0 b2 20  ... ........ .. 
0180: d0 b1 d1 83 d1 84 d0 b5 d1 80 d0 b5 20 d0 be d0  ............ ...
0190: b1 d0 bc d0 b5 d0 bd d0 b0 0d 0a 20 2a 20 d0 90  ........... * ..
01a0: d0 b2 d1 82 d0 be d1 80 09 09 3a 20 d0 90 d1 80  ..........: ....
01b0: d1 82 d1 83 d1 80 20 d0 90 d1 8e d1 85 d0 b0 d0  ...... .........
01c0: bd d0 be d0 b2 20 61 6b 61 20 61 72 74 62 65 61  ..... aka artbea
01d0: 72 20 61 61 72 74 62 65 61 72 40 67 6d 61 69 6c  r aartbear@gmail
01e0: 2e 63 6f 6d 0d 0a 20 2a 20 d0 a1 d1 82 d1 80 d0  .com.. * .......
01f0: b0 d0 bd d0 b8 d1 86 d0 b0 20 d1 81 d0 ba d1 80  ......... ......
0200: d0 b8 d0 bf d1 82 d0 b0 3a 20 68 74 74 70 3a 2f  ........: http:/
0210: 2f 73 6e 65 67 6f 70 61 74 2e 72 75 2f 73 63 72  /snegopat.ru/scr
0220: 69 70 74 73 2f 77 69 6b 69 3f 6e 61 6d 65 3d 43  ipts/wiki?name=C
0230: 6c 69 70 62 6f 61 72 64 2e 6a 73 0d 0a 20 2a 20  lipboard.js.. * 
0240: d0 94 d0 b0 d1 82 d0 b0 20 d1 81 d0 be d0 b7 d0  ........ .......
0250: b4 d0 b0 d0 bd d0 b8 d1 8f 3a 20 31 39 2e 31 30  .........: 19.10
0260: 2e 32 30 31 31 0d 0a 20 2a 20 d0 9e d0 bf d0 b8  .2011.. * ......
0270: d1 81 d0 b0 d0 bd d0 b8 d0 b5 09 09 3a 20 d0 b0  ............: ..
0280: d0 bd d0 b0 d0 bb d0 be d0 b3 20 d0 bc d0 be d0  .......... .....
0290: b5 d0 b3 d0 be 20 d1 81 d0 ba d1 80 d0 b8 d0 bf  ..... ..........
02a0: d1 82 d0 b0 20 d0 b4 d0 bb d1 8f 20 d0 9e d0 bf  .... ...... ....
02b0: d0 b5 d0 bd d0 ba d0 be d0 bd d1 84 d0 b0 20 d0  .............. .
02c0: b2 20 31 d0 a1 20 37 2e 37 20 2d 20 d0 b2 d1 85  . 1.. 7.7 - ....
02d0: d0 be d0 b4 d0 b8 d1 82 20 d0 b2 20 d1 81 d0 be  ........ .. ....
02e0: d1 81 d1 82 d0 b0 d0 b2 20 d1 81 d0 ba d1 80 d0  ........ .......
02f0: b8 d0 bf d1 82 d0 b0 20 d0 9d d0 b0 d0 b2 d0 b8  ....... ........
0300: d0 b3 d0 b0 d1 86 d0 b8 d1 8f 0d 0a 20 20 20 20  ............    
0310: d0 a1 d0 ba d1 80 d0 b8 d0 bf d1 82 20 22 d0 91  ............ "..
0320: d1 83 d1 84 d0 b5 d1 80 20 d0 be d0 b1 d0 bc d0  ........ .......
0330: b5 d0 bd d0 b0 22 0d 0a 20 20 20 20 31 2e 20 d0  ....."..    1. .
0340: af 20 d1 87 d0 b0 d1 81 d1 82 d0 be 20 d1 80 d0  . .......... ...
0350: b0 d0 b1 d0 be d1 82 d0 b0 d1 8e 20 d1 81 20 d1  ........... .. .
0360: 84 d0 b0 d0 b9 d0 bb d0 b0 d0 bc d0 b8 20 d1 81  ............. ..
0370: 20 d0 bf d0 be d0 bc d0 be d1 89 d1 8c d1 8e 20   .............. 
0380: 46 41 52 2d d0 b0 20 d1 81 d0 bb d0 b5 d0 b4 d1  FAR-.. .........
0390: 83 d1 8e d1 89 d0 b8 d0 bc 20 d0 be d0 b1 d1 80  ......... ......
03a0: d0 b0 d0 b7 d0 be d0 bc 3a 0d 0a 20 20 20 20 20  ........:..     
03b0: 20 20 20 d0 9d d0 b0 d1 85 d0 be d0 b6 d1 83 20     ............ 
03c0: d0 bd d1 83 d0 b6 d0 bd d1 8b d0 b9 20 d1 84 d0  ............ ...
03d0: b0 d0 b9 d0 bb 20 d0 b2 20 d0 a4 d0 90 d0 a0 d0  ..... .. .......
03e0: b5 2c 20 d0 ba d0 be d0 bf d0 b8 d1 80 d1 83 d1  ., .............
03f0: 8e 20 d0 bf d0 be d0 bb d0 bd d1 8b d0 b9 20 d0  . ............ .
0400: bf d1 83 d1 82 d1 8c 20 d0 ba 20 d1 84 d0 b0 d0  ....... .. .....
0410: b9 d0 bb d1 83 20 d0 b2 20 d0 b1 d1 83 d1 84 d0  ..... .. .......
0420: b5 d1 80 20 d0 be d0 b1 d0 bc d0 b5 d0 bd d0 b0  ... ............
0430: 2c 20 d0 b4 d0 b0 d0 bb d0 b5 d0 b5 20 d0 bf d0  , .......... ...
0440: b5 d1 80 d0 b5 d0 ba d0 bb d1 8e d1 87 d0 b0 d1  ................
0450: 8e d1 81 d1 8c 20 d0 b2 20 d0 9a d0 be d0 bd d1  ..... .. .......
0460: 84 d0 b8 d0 b3 d1 83 d1 80 d0 b0 d1 82 d0 be d1  ................
0470: 80 2c 20 0d 0a 20 20 20 20 20 20 20 20 d0 92 d1  ., ..        ...
0480: 8b d0 bf d0 be d0 bb d0 bd d1 8f d1 8e 20 d0 b4  ............. ..
0490: d0 b5 d0 b9 d1 81 d1 82 d0 b2 d0 b8 d0 b5 20 22  .............. "
04a0: d0 9e d1 82 d0 ba d1 80 d1 8b d1 82 d1 8c 20 d1  .............. .
04b0: 84 d0 b0 d0 b9 d0 bb 22 2c 20 d0 b2 d1 81 d1 82  .......", ......
04c0: d0 b0 d0 b2 d0 bb d1 8f d1 8e 20 d0 bf d1 83 d1  .......... .....
04d0: 82 d1 8c 20 d1 84 d0 b0 d0 b9 d0 bb d0 b0 20 d0  ... .......... .
04e0: b8 d0 b7 20 d0 b1 d1 83 d1 84 d0 b5 d1 80 d0 b0  ... ............
04f0: 20 d0 be d0 b1 d0 bc d0 b5 d0 bd d0 b0 2c 20 d0   ............, .
0500: b8 20 d0 bd d0 b0 d0 b6 d0 b8 d0 bc d0 b0 d1 8e  . ..............
0510: 20 d0 9e d1 82 d0 ba d1 80 d1 8b d1 82 d1 8c 20   .............. 
0520: d0 b4 d0 bb d1 8f 20 d0 be d1 82 d0 ba d1 80 d1  ...... .........
0530: 8b d1 82 d0 b8 d1 8f 20 d0 bd d1 83 d0 b6 d0 bd  ....... ........
0540: d0 be d0 b3 d0 be 20 d1 84 d0 b0 d0 b9 d0 bb d0  ...... .........
0550: b0 20 d0 b2 20 d0 9a d0 be d0 bd d1 84 d0 b8 d0  . .. ...........
0560: b3 d1 83 d1 80 d0 b0 d1 82 d0 be d1 80 d0 b5 2e  ................
0570: 0d 0a 20 20 20 20 20 20 20 20 d0 a3 d0 b2 d0 b5  ..        ......
0580: d1 80 d0 b5 d0 bd 2c 20 d1 87 d1 82 d0 be 20 d0  ......, ...... .
0590: bf d0 be 20 d1 82 d0 b0 d0 ba d0 be d0 b9 20 d1  ... .......... .
05a0: 81 d1 85 d0 b5 d0 bc d0 b5 20 d1 80 d0 b0 d0 b1  ......... ......
05b0: d0 be d1 82 d0 b0 d1 8e 20 d0 bd d0 b5 20 d1 8f  ........ .... ..
05c0: 20 d0 be d0 b4 d0 b8 d0 bd 2e 0d 0a 20 20 20 20   ...........    
05d0: d0 98 20 d0 b2 d0 be d1 82 20 d1 83 20 d0 bc d0  .. ...... .. ...
05e0: b5 d0 bd d1 8f 20 d1 80 d0 be d0 b4 d0 b8 d0 bb  ..... ..........
05f0: d0 b0 d1 81 d1 8c 20 d0 bc d1 8b d1 81 d0 bb d1  ...... .........
0600: 8c 20 d0 bd d0 b5 d0 bc d0 bd d0 be d0 b3 d0 be  . ..............
0610: 20 d0 b0 d0 b2 d1 82 d0 be d0 bc d0 b0 d1 82 d0   ...............
0620: b8 d0 b7 d0 b8 d1 80 d0 be d0 b2 d0 b0 d1 82 d1  ................
0630: 8c 20 d1 8d d1 82 d0 be d1 82 20 d0 bf d1 80 d0  . ........ .....
0640: be d1 86 d0 b5 d1 81 d1 81 3a 0d 0a 20 20 20 20  .........:..    
0650: 20 20 20 20 d1 80 d0 b0 d0 b7 d1 80 d0 b0 d0 b1      ............
0660: d0 be d1 82 d1 87 d0 b8 d0 ba 20 d0 ba d0 be d0  .......... .....
0670: bf d0 b8 d1 80 d1 83 d0 b5 d1 82 20 d0 bf d0 be  ........... ....
0680: d0 bb d0 bd d1 8b d0 b9 20 d0 bf d1 83 d1 82 d1  ........ .......
0690: 8c 20 d1 84 d0 b0 d0 b9 d0 bb d0 b0 20 d0 b2 20  . .......... .. 
06a0: d0 b1 d1 83 d1 84 d0 b5 d1 80 20 d0 be d0 b1 d0  .......... .....
06b0: bc d0 b5 d0 bd d0 b0 28 d1 82 d1 83 d1 82 20 d0  .......(...... .
06c0: ba d0 b0 d0 ba 20 d0 be d0 b1 d1 8b d1 87 d0 bd  ..... ..........
06d0: d0 be 29 2c 20 d0 bf d0 b5 d1 80 d0 b5 d0 ba d0  ..), ...........
06e0: bb d1 8e d1 87 d0 b0 d0 b5 d1 82 d1 81 d1 8f 20  ............... 
06f0: d0 b2 20 d0 9a d0 be d0 bd d1 84 d0 b8 d0 b3 d1  .. .............
0700: 83 d1 80 d0 b0 d1 82 d0 be d1 80 2c 20 d0 b2 d1  ..........., ...
0710: 8b d0 b1 d0 b8 d1 80 d0 b0 d0 b5 d1 82 20 22 d0  ............. ".
0720: 9e d1 82 d0 ba d1 80 d1 8b d1 82 d1 8c 20 d1 84  ............. ..
0730: d0 b0 d0 b9 d0 bb d0 b0 22 2c 0d 0a 20 20 20 20  ........",..    
0740: 20 20 20 20 d0 b0 20 d0 b4 d0 b0 d0 bb d1 8c d1      .. .........
0750: 88 d0 b5 20 d0 b2 d1 81 d1 82 d1 83 d0 bf d0 b0  ... ............
0760: d0 b5 d1 82 20 d1 81 d0 ba d1 80 d0 b8 d0 bf d1  .... ...........
0770: 82 3a 20 d0 bf d0 b5 d1 80 d0 b5 d1 85 d0 b2 d0  .: .............
0780: b0 d1 82 d1 8b d0 b2 d0 b0 d0 b5 d1 82 20 d0 be  ............. ..
0790: d1 82 d0 ba d1 80 d1 8b d1 82 d0 b8 d0 b5 20 d1  .............. .
07a0: 84 d0 b0 d0 b9 d0 bb d0 b0 2c 20 d0 bf d1 80 d0  ........., .....
07b0: be d0 b2 d0 b5 d1 80 d1 8f d0 b5 d1 82 20 d0 b1  ............. ..
07c0: d1 83 d1 84 d0 b5 d1 80 20 d0 be d0 b1 d0 bc d0  ........ .......
07d0: b5 d0 bd d0 b0 2c 20 d0 b5 d1 81 d0 bb d0 b8 20  ....., ........ 
07e0: d0 b2 20 d0 b1 d1 83 d1 84 d0 b5 d1 80 d0 b5 20  .. ............ 
07f0: d0 b8 d0 bc d1 8f 20 d1 81 d1 83 d1 89 d0 b5 d1  ...... .........
0800: 81 d1 82 d0 b2 d1 83 d1 8e d1 89 d0 b5 d0 b3 d0  ................
0810: be 20 d1 84 d0 b0 d0 b9 d0 bb d0 b0 2c 20 d0 bf  . .........., ..
0820: d1 80 d0 be d0 b2 d0 b5 d1 80 d1 8f d0 b5 d1 82  ................
0830: 20 d1 80 d0 b0 d1 81 d1 88 d0 b8 d1 80 d0 b5 d0   ...............
0840: bd d0 b8 d0 b5 20 d1 8d d1 82 d0 be d0 b3 d0 be  ..... ..........
0850: 20 d1 84 d0 b0 d0 b9 d0 bb d0 b0 2c 0d 0a 20 20   ..........,..  
0860: 20 20 20 20 20 20 d0 b5 d1 81 d0 bb d0 b8 20 d1        ........ .
0870: 8d d1 82 d0 be 20 d1 84 d0 b0 d0 b9 d0 bb 20 d1  ..... ........ .
0880: 81 20 d1 80 d0 b0 d0 b7 d1 80 d0 b5 d1 88 d0 b5  . ..............
0890: d0 bd d0 bd d1 8b d0 bc 20 d1 80 d0 b0 d0 b7 d1  ........ .......
08a0: 80 d0 b5 d1 88 d0 b5 d0 bd d0 b8 d0 b5 d0 bc 20  ............... 
08b0: d0 b4 d0 bb d1 8f 20 31 d0 a1 2c 20 d1 82 d0 be  ...... 1.., ....
08c0: 20 d1 81 d0 ba d1 80 d0 b8 d0 bf d1 82 20 d0 bd   ............ ..
08d0: d0 b5 d0 bc d0 b5 d0 b4 d0 bb d0 b5 d0 bd d0 bd  ................
08e0: d0 be 20 d0 be d1 82 d0 ba d1 80 d1 8b d0 b2 d0  .. .............
08f0: b0 d0 b5 d1 82 20 d1 8d d1 82 d0 be d1 82 20 d1  ..... ........ .
0900: 84 d0 b0 d0 b9 d0 bb 20 d0 b2 20 d0 9a d0 be d0  ....... .. .....
0910: bd d1 84 d0 b8 d0 b3 d1 83 d1 80 d0 b0 d1 82 d0  ................
0920: be d1 80 d0 b5 2e 0d 0a 20 20 20 20 32 2e 20 d0  ........    2. .
0930: 90 d0 bd d0 b0 d0 bb d0 be d0 b3 d0 b8 d1 87 d0  ................
0940: bd d1 8b d0 bc 20 d0 be d0 b1 d1 80 d0 b0 d0 b7  ..... ..........
0950: d0 be d0 bc 20 d0 bf d0 b5 d1 80 d0 b5 d1 85 d0  .... ...........
0960: b2 d0 b0 d1 82 d1 8b d0 b2 d0 b0 d0 b5 d1 82 d1  ................
0970: 81 d1 8f 20 d0 b8 20 d0 b0 d0 b2 d1 82 d0 be d0  ... .. .........
0980: bc d0 b0 d1 82 d0 b8 d0 b7 d0 b8 d1 80 d1 83 d0  ................
0990: b5 d1 82 d1 81 d1 8f 20 d0 b4 d0 b5 d0 b9 d1 81  ....... ........
09a0: d1 82 d0 b2 d0 b8 d0 b5 20 22 d0 a1 d1 80 d0 b0  ........ "......
09b0: d0 b2 d0 bd d0 b8 d1 82 d1 8c 2c 20 d0 be d0 b1  .........., ....
09c0: d1 8a d0 b5 d0 b4 d0 b8 d0 bd d0 b8 d1 82 d1 8c  ................
09d0: 20 d1 81 20 d0 ba d0 be d0 bd d1 84 d0 b8 d0 b3   .. ............
09e0: d1 83 d1 80 d0 b0 d1 86 d0 b8 d0 b5 d0 b9 20 d0  .............. .
09f0: b8 d0 b7 20 d1 84 d0 b0 d0 b9 d0 bb d0 b0 22 20  ... .........." 
0a00: d0 b4 d0 bb d1 8f 20 d1 84 d0 b0 d0 b9 d0 bb d0  ...... .........
0a10: be d0 b2 20 d0 ba d0 be d0 bd d1 84 d0 b8 d0 b3  ... ............
0a20: d1 83 d1 80 d0 b0 d1 86 d0 b8 d0 b9 0d 0a 0d 0a  ................
0a30: 20 20 20 20 d0 9f d0 bb d0 b0 d0 bd d1 8b 3a 20      ..........: 
0a40: d0 92 20 d0 bd d0 b0 d1 81 d1 82 d1 80 d0 be d0  .. .............
0a50: b9 d0 ba d0 b0 d1 85 20 d1 81 d0 ba d1 80 d0 b8  ....... ........
0a60: d0 bf d1 82 d0 b0 20 d0 bc d0 be d0 b6 d0 bd d0  ...... .........
0a70: be 20 d0 b1 d1 83 d0 b4 d0 b5 d1 82 20 d1 83 d0  . .......... ...
0a80: ba d0 b0 d0 b7 d0 b0 d1 82 d1 8c 3a 0d 0a 20 20  ...........:..  
0a90: 20 20 20 20 20 20 2d 20 d0 bf d0 be d0 bb d1 8c        - ........
0aa0: d0 b7 d0 be d0 b2 d0 b0 d1 82 d0 b5 d0 bb d1 8c  ................
0ab0: d1 81 d0 ba d0 b0 d1 8f 20 d0 bd d0 b0 d1 81 d1  ........ .......
0ac0: 82 d1 80 d0 be d0 b9 d0 ba d0 b0 20 d1 80 d0 b0  ........... ....
0ad0: d0 b7 d1 80 d0 b5 d1 88 d0 b5 d0 bd d0 bd d1 8b  ................
0ae0: d1 85 20 d1 80 d0 b0 d1 81 d1 88 d0 b8 d1 80 d0  .. .............
0af0: b5 d0 bd d0 b8 d0 b9 20 d0 be d1 82 d0 ba d1 80  ....... ........
0b00: d1 8b d0 b2 d0 b0 d0 b5 d0 bc d1 8b d1 85 20 d1  .............. .
0b10: 84 d0 b0 d0 b9 d0 bb d0 be d0 b2 20 2d 20 d0 bf  ........... - ..
0b20: d0 be 20 d1 83 d0 bc d0 be d0 bb d1 87 d0 b0 d0  .. .............
0b30: bd d0 b8 d1 8e 20 65 72 66 2c 20 65 70 66 2c 20  ..... erf, epf, 
0b40: 74 78 74 2c 20 6d 78 6c 2c 20 68 74 6d 6c 2c 20  txt, mxl, html, 
0b50: 73 74 2c 20 70 66 66 0d 0a 20 20 20 20 20 20 20  st, pff..       
0b60: 20 2d 20 d0 bd d0 b5 d0 bc d0 b5 d0 b4 d0 bb d0   - .............
0b70: b5 d0 bd d0 bd d0 be d0 b5 20 d0 be d1 82 d0 ba  ......... ......
0b80: d1 80 d1 8b d1 82 d0 b8 d0 b5 20 d1 84 d0 b0 d0  .......... .....
0b90: b9 d0 bb d0 b0 20 d0 bf d1 80 d0 b8 20 d0 b4 d0  ..... ...... ...
0ba0: b2 d0 be d0 b9 d0 bd d0 be d0 bc 20 d0 bd d0 b0  ........... ....
0bb0: d0 b6 d0 b0 d1 82 d0 b8 d0 b8 20 d0 bd d0 b0 20  .......... .... 
0bc0: d1 84 d0 b0 d0 b9 d0 bb 20 d0 b2 20 d0 a4 d0 90  ........ .. ....
0bd0: d0 a0 2d d0 b5 20 d0 b8 d0 bb d0 b8 20 d0 9f d1  ..-.. ...... ...
0be0: 80 d0 be d0 b2 d0 be d0 b4 d0 bd d0 b8 d0 ba d0  ................
0bf0: b5 20 d0 b8 20 d1 82 2e d0 bf 2e 0d 0a 0d 0a 20  . .. .......... 
0c00: 20 20 20 d0 a1 d0 b4 d0 b5 d0 bb d0 b0 d0 bd d0     .............
0c10: be 20 d0 bd d0 b0 20 d0 b1 d0 b0 d0 b7 d0 b5 20  . .... ........ 
0c20: 68 74 74 70 3a 2f 2f 77 77 77 2e 66 6f 72 75 6d  http://www.forum
0c30: 2e 73 63 72 69 70 74 2d 63 6f 64 69 6e 67 2e 63  .script-coding.c
0c40: 6f 6d 2f 76 69 65 77 74 6f 70 69 63 2e 70 68 70  om/viewtopic.php
0c50: 3f 69 64 3d 34 34 32 0d 0a 0d 0a 2a 20 d0 a2 d1  ?id=442....* ...
0c60: 80 d0 b5 d0 b1 d0 be d0 b2 d0 b0 d0 bd d0 b8 d1  ................
0c70: 8f 3a 20 d0 9d d0 b5 d0 be d0 b1 d1 85 d0 be d0  .: .............
0c80: b4 d0 b8 d0 bc d0 b0 20 d0 b1 d0 b8 d0 b1 d0 bb  ....... ........
0c90: d0 b8 d0 be d1 82 d0 b5 d0 ba d0 b0 20 64 79 6e  ............ dyn
0ca0: 77 72 61 70 78 2e 64 6c 6c 2c 20 d0 b5 d0 b5 20  wrapx.dll, .... 
0cb0: d0 bd d1 83 d0 b6 d0 bd d0 be 20 d0 b7 d0 b0 d1  .......... .....
0cc0: 80 d0 b5 d0 b3 d0 b8 d1 81 d1 82 d1 80 d0 b8 d1  ................
0cd0: 80 d0 be d0 b2 d0 b0 d1 82 d1 8c 0d 0a 20 20 20  .............   
0ce0: 20 d1 81 d0 ba d0 b0 d1 87 d0 b0 d1 82 d1 8c 20   .............. 
0cf0: d0 b8 d0 b7 20 d0 b2 d0 b5 d1 82 d0 ba d0 b8 20  .... .......... 
0d00: 68 74 74 70 3a 2f 2f 66 6f 72 75 6d 2e 73 63 72  http://forum.scr
0d10: 69 70 74 2d 63 6f 64 69 6e 67 2e 63 6f 6d 2f 76  ipt-coding.com/v
0d20: 69 65 77 74 6f 70 69 63 2e 70 68 70 3f 69 64 3d  iewtopic.php?id=
0d30: 35 33 34 31 20 28 d1 81 d0 bc 2e 20 d0 bf d0 be  5341 (..... ....
0d40: d1 81 d0 bb d0 b5 d0 b4 d0 bd d0 b8 d0 b9 20 d0  .............. .
0d50: bf d0 be d1 81 d1 82 29 0d 0a 0d 0a 2d 2d 2d 2d  .......)....----
0d60: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0d70: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0d80: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0d90: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0da0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 2a 2f 0d 0a  ----------- */..
0db0: 0d 0a 76 61 72 20 5f d0 b2 d0 b5 d1 80 d1 81 d0  ..var _.........
0dc0: b8 d1 8f d0 a1 d0 ba d1 80 d0 b8 d0 bf d1 82 d0  ................
0dd0: b0 20 3d 20 30 2e 33 0d 0a 0d 0a 2f 2f d0 a4 d0  . = 0.3....//...
0de0: be d1 80 d0 bc d0 b0 d1 82 d1 8b 20 d0 b1 d1 83  ........... ....
0df0: d1 84 d0 b5 d1 80 d0 b0 20 d0 be d0 b1 d0 bc d0  ........ .......
0e00: b5 d0 bd d0 b0 0d 0a 76 61 72 20 43 46 5f 54 45  .......var CF_TE
0e10: 58 54 20 20 20 3d 31 0d 0a 76 61 72 20 43 46 5f  XT   =1..var CF_
0e20: 55 4e 49 43 4f 44 45 54 45 58 54 20 3d 20 31 33  UNICODETEXT = 13
0e30: 3b 0d 0a 0d 0a 49 6e 69 74 28 29 3b 0d 0a 20 20  ;....Init();..  
0e40: 20 20 2f 2f 54 65 73 74 28 29 3b 0d 0a 0d 0a 0d    //Test();.....
0e50: 0a 66 75 6e 63 74 69 6f 6e 20 54 65 73 74 28 29  .function Test()
0e60: 0d 0a 7b 0d 0a 20 20 20 20 2f 2f 57 53 63 72 69  ..{..    //WScri
0e70: 70 74 2e 45 63 68 6f 28 22 20 20 20 43 6f 70 79  pt.Echo("   Copy
0e80: 54 6f 43 6c 69 70 62 6f 61 72 64 22 29 0d 0a 74  ToClipboard")..t
0e90: 65 73 74 53 74 72 69 6e 67 31 20 3d 20 22 d1 82  estString1 = "..
0ea0: d0 b5 d1 81 d1 82 20 d0 90 d1 80 d1 82 d1 83 d1  ...... .........
0eb0: 80 20 34 22 0d 0a 43 6f 70 79 54 6f 43 6c 69 70  . 4"..CopyToClip
0ec0: 62 6f 61 72 64 28 74 65 73 74 53 74 72 69 6e 67  board(testString
0ed0: 31 29 0d 0a 0d 0a 20 20 20 20 2f 2f 57 53 63 72  1)....    //WScr
0ee0: 69 70 74 2e 45 63 68 6f 28 22 20 20 20 47 65 74  ipt.Echo("   Get
0ef0: 46 72 6f 6d 43 6c 69 70 62 6f 61 72 64 22 29 0d  FromClipboard").
0f00: 0a 6e 65 77 54 65 73 74 53 74 72 69 6e 67 20 3d  .newTestString =
0f10: 20 47 65 74 46 72 6f 6d 43 6c 69 70 62 6f 61 72   GetFromClipboar
0f20: 64 28 29 0d 0a 57 53 63 72 69 70 74 2e 45 63 68  d()..WScript.Ech
0f30: 6f 28 6e 65 77 54 65 73 74 53 74 72 69 6e 67 29  o(newTestString)
0f40: 0d 0a 0d 0a 74 65 73 74 53 74 72 69 6e 67 31 20  ....testString1 
0f50: 3d 20 22 5c 22 43 3a 5c 5c 43 6d 64 5c 5c 64 79  = "\"C:\\Cmd\\dy
0f60: 6e 77 72 61 70 78 2e 64 6c 6c 5c 22 22 0d 0a 43  nwrapx.dll\""..C
0f70: 6f 70 79 54 6f 43 6c 69 70 62 6f 61 72 64 28 74  opyToClipboard(t
0f80: 65 73 74 53 74 72 69 6e 67 31 29 0d 0a 6e 65 77  estString1)..new
0f90: 54 65 73 74 53 74 72 69 6e 67 20 3d 20 47 65 74  TestString = Get
0fa0: 46 69 6c 65 4e 61 6d 65 46 72 6f 6d 43 6c 69 70  FileNameFromClip
0fb0: 62 6f 61 72 64 28 29 0d 0a 57 53 63 72 69 70 74  board()..WScript
0fc0: 2e 45 63 68 6f 28 6e 65 77 54 65 73 74 53 74 72  .Echo(newTestStr
0fd0: 69 6e 67 29 0d 0a 7d 0d 0a 0d 0a 2f 2f 20 d0 9f  ing)..}....// ..
0fe0: d0 b5 d1 80 d0 b5 d1 85 d0 b2 d0 b0 d1 82 20 d0  .............. .
0ff0: ba d0 be d0 bc d0 b0 d0 bd d0 b4 d1 8b 2e 20 d0  .............. .
1000: 9c d0 b5 d1 82 d0 be d0 b4 20 d0 b2 d1 8b d0 b7  ......... ......
1010: d1 8b d0 b2 d0 b0 d0 b5 d1 82 d1 81 d1 8f 20 d1  .............. .
1020: 81 d0 bd d0 b0 d1 87 d0 b0 d0 bb d0 b0 20 d0 bf  ............. ..
1030: d0 b5 d1 80 d0 b5 d0 b4 20 d0 b2 d1 8b d0 bf d0  ........ .......
1040: be d0 bb d0 bd d0 b5 d0 bd d0 b8 d0 b5 d0 bc 20  ............... 
1050: d0 ba d0 be d0 bc d0 b0 d0 bd d0 b4 d1 8b 2c 20  .............., 
1060: d0 bf d0 be d1 82 d0 be d0 bc 20 d0 bf d0 be d1  .......... .....
1070: 81 d0 bb d0 b5 20 d0 b2 d1 8b d0 bf d0 be d0 bb  ..... ..........
1080: d0 bd d0 b5 d0 bd d0 b8 d1 8f 20 28 d0 b5 d1 81  .......... (....
1090: d0 bb d0 b8 20 d0 bd d0 b5 20 d0 be d1 82 d0 bc  .... .... ......
10a0: d0 b5 d0 bd d0 b8 d0 bb d0 b8 29 0d 0a 66 75 6e  ..........)..fun
10b0: 63 74 69 6f 6e 20 68 6f 6f 6b 46 69 6c 65 4f 70  ction hookFileOp
10c0: 65 6e 43 6f 6d 6d 61 6e 64 28 63 6d 64 29 0d 0a  enCommand(cmd)..
10d0: 7b 0d 0a 20 20 20 20 69 66 28 63 6d 64 2e 69 73  {..    if(cmd.is
10e0: 42 65 66 6f 72 65 29 0d 0a 20 20 20 20 7b 0d 0a  Before)..    {..
10f0: 20 20 20 20 20 20 20 20 65 6e 61 62 6c 65 4f 70          enableOp
1100: 65 6e 20 3d 20 66 61 6c 73 65 3b 0d 0a 20 20 20  en = false;..   
1110: 20 20 20 20 20 73 65 6c 65 63 74 65 64 46 69 6c       selectedFil
1120: 65 4e 61 6d 65 20 3d 20 47 65 74 46 69 6c 65 4e  eName = GetFileN
1130: 61 6d 65 46 72 6f 6d 43 6c 69 70 62 6f 61 72 64  ameFromClipboard
1140: 28 29 0d 0a 20 20 20 20 20 20 20 20 69 66 20 28  ()..        if (
1150: 73 65 6c 65 63 74 65 64 46 69 6c 65 4e 61 6d 65  selectedFileName
1160: 2e 6c 65 6e 67 74 68 29 7b 0d 0a 20 20 20 20 20  .length){..     
1170: 20 20 20 20 20 20 20 76 61 72 20 66 69 6c 65 20         var file 
1180: 3d 20 76 38 4e 65 77 28 22 d0 a4 d0 b0 d0 b9 d0  = v8New(".......
1190: bb 22 2c 20 73 65 6c 65 63 74 65 64 46 69 6c 65  .", selectedFile
11a0: 4e 61 6d 65 29 0d 0a 20 20 20 20 20 20 20 20 20  Name)..         
11b0: 20 20 20 65 6e 61 62 6c 65 64 46 69 6c 65 45 78     enabledFileEx
11c0: 74 20 3d 20 d0 bc d0 b0 d1 81 d1 81 d0 b8 d0 b2  t = ............
11d0: d0 a0 d0 b0 d1 81 d1 88 d0 b8 d1 80 d0 b5 d0 bd  ................
11e0: d0 b8 d0 b9 2e d0 9d d0 b0 d0 b9 d1 82 d0 b8 28  ...............(
11f0: 66 69 6c 65 2e d0 a0 d0 b0 d1 81 d1 88 d0 b8 d1  file............
1200: 80 d0 b5 d0 bd d0 b8 d0 b5 29 20 21 3d 20 75 6e  .........) != un
1210: 64 65 66 69 6e 65 64 3b 0d 0a 20 20 20 20 20 20  defined;..      
1220: 20 20 20 20 20 20 69 66 28 21 65 6e 61 62 6c 65        if(!enable
1230: 64 46 69 6c 65 45 78 74 29 20 72 65 74 75 72 6e  dFileExt) return
1240: 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 0d  ;..            .
1250: 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6e 61  .            ena
1260: 62 6c 65 4f 70 65 6e 20 3d 20 74 72 75 65 3b 0d  bleOpen = true;.
1270: 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 65  ...            e
1280: 76 65 6e 74 73 2e 63 6f 6e 6e 65 63 74 28 44 65  vents.connect(De
1290: 73 69 67 6e 65 72 2c 20 22 6f 6e 53 65 6c 65 63  signer, "onSelec
12a0: 74 46 69 6c 65 22 2c 20 53 65 6c 66 53 63 72 69  tFile", SelfScri
12b0: 70 74 2e 73 65 6c 66 29 0d 0a 20 20 20 20 20 20  pt.self)..      
12c0: 20 20 20 20 20 20 68 61 76 65 48 6f 6f 6b 4f 6e        haveHookOn
12d0: 53 65 6c 65 63 74 46 69 6c 65 20 3d 20 74 72 75  SelectFile = tru
12e0: 65 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 20  e;..        }.. 
12f0: 20 20 20 7d 0d 0a 20 20 20 20 65 6c 73 65 20 69     }..    else i
1300: 66 28 68 61 76 65 48 6f 6f 6b 4f 6e 53 65 6c 65  f(haveHookOnSele
1310: 63 74 46 69 6c 65 29 0d 0a 20 20 20 20 7b 0d 0a  ctFile)..    {..
1320: 20 20 20 20 20 20 20 20 65 76 65 6e 74 73 2e 64          events.d
1330: 69 73 63 6f 6e 6e 65 63 74 28 44 65 73 69 67 6e  isconnect(Design
1340: 65 72 2c 20 22 6f 6e 53 65 6c 65 63 74 46 69 6c  er, "onSelectFil
1350: 65 22 2c 20 53 65 6c 66 53 63 72 69 70 74 2e 73  e", SelfScript.s
1360: 65 6c 66 29 0d 0a 20 20 20 20 20 20 20 20 68 61  elf)..        ha
1370: 76 65 48 6f 6f 6b 4f 6e 53 65 6c 65 63 74 46 69  veHookOnSelectFi
1380: 6c 65 20 3d 20 66 61 6c 73 65 0d 0a 20 20 20 20  le = false..    
1390: 7d 0d 0a 7d 0d 0a 76 61 72 20 d0 bc d0 b0 d1 81  }..}..var ......
13a0: d1 81 d0 b8 d0 b2 d0 a0 d0 b0 d1 81 d1 88 d0 b8  ................
13b0: d1 80 d0 b5 d0 bd d0 b8 d0 b9 3b 20 2f 2f 20 54  ..........; // T
13c0: 4f 44 4f 20 d0 b5 d1 81 d0 bb d0 b8 20 d0 b8 d0  ODO ........ ...
13d0: bd d0 b8 d1 86 d0 b8 d0 b0 d0 bb d0 b8 d0 b7 d0  ................
13e0: b8 d1 80 d0 be d0 b2 d0 b0 d1 82 d1 8c 20 d1 87  ............. ..
13f0: d0 b5 d1 80 d0 b5 d0 b7 20 76 38 4e 65 77 28 22  ........ v8New("
1400: d0 9c d0 b0 d1 81 d1 81 d0 b8 d0 b2 22 29 2c 20  ............"), 
1410: d1 82 d0 be 20 d0 b4 d0 b0 d0 bb d0 b5 d0 b5 20  .... .......... 
1420: d0 bf d1 80 d0 b8 20 d0 b8 d1 81 d0 bf d0 be d0  ...... .........
1430: bb d1 8c d0 b7 d0 be d0 b2 d0 b0 d0 bd d0 b8 d0  ................
1440: b8 20 d0 b1 d1 83 d0 b4 d0 b5 d1 82 20 d0 be d1  . .......... ...
1450: 88 d0 b8 d0 b1 d0 ba d0 b0 20 3a 28 0d 0a 0d 0a  ......... :(....
1460: 76 61 72 20 65 6e 61 62 6c 65 4f 70 65 6e 20 3d  var enableOpen =
1470: 20 66 61 6c 73 65 3b 0d 0a 76 61 72 20 73 65 6c   false;..var sel
1480: 65 63 74 65 64 46 69 6c 65 4e 61 6d 65 20 3d 20  ectedFileName = 
1490: 22 22 3b 0d 0a 76 61 72 20 68 61 76 65 48 6f 6f  "";..var haveHoo
14a0: 6b 4f 6e 53 65 6c 65 63 74 46 69 6c 65 20 3d 20  kOnSelectFile = 
14b0: 66 61 6c 73 65 3b 0d 0a 0d 0a 66 75 6e 63 74 69  false;....functi
14c0: 6f 6e 20 61 73 73 65 72 74 28 70 31 2c 20 70 32  on assert(p1, p2
14d0: 29 0d 0a 7b 0d 0a 20 20 20 20 69 66 20 28 70 31  )..{..    if (p1
14e0: 20 21 3d 20 70 32 29 20 0d 0a 20 20 20 20 20 20   != p2) ..      
14f0: 20 20 74 68 72 6f 77 20 22 d0 97 d0 bd d0 b0 d1    throw ".......
1500: 87 d0 b5 d0 bd d0 b8 d0 b5 20 3c 22 2b 70 31 2b  ......... <"+p1+
1510: 22 3e 20 d0 bd d0 b5 20 d1 80 d0 b0 d0 b2 d0 bd  "> .... ........
1520: d0 be 20 3c 22 2b 70 32 2b 22 3e 2c 20 d0 b0 20  .. <"+p2+">, .. 
1530: d0 be d0 b6 d0 b8 d0 b4 d0 b0 d0 bb d0 b8 20 d1  .............. .
1540: 80 d0 b0 d0 b2 d0 b5 d0 bd d1 81 d1 82 d0 b2 d0  ................
1550: be 22 3b 0d 0a 7d 0d 0a 66 75 6e 63 74 69 6f 6e  .";..}..function
1560: 20 61 73 73 65 72 74 4e 6f 74 28 70 31 2c 20 70   assertNot(p1, p
1570: 32 29 0d 0a 7b 0d 0a 20 20 20 20 69 66 20 28 70  2)..{..    if (p
1580: 31 20 3d 3d 20 70 32 29 20 0d 0a 20 20 20 20 20  1 == p2) ..     
1590: 20 20 20 74 68 72 6f 77 20 22 d0 97 d0 bd d0 b0     throw "......
15a0: d1 87 d0 b5 d0 bd d0 b8 d0 b5 20 3c 22 2b 70 31  .......... <"+p1
15b0: 2b 22 3e 20 d1 80 d0 b0 d0 b2 d0 bd d0 be 20 3c  +"> .......... <
15c0: 22 2b 70 32 2b 22 3e 2c 20 d0 b0 20 d0 be d0 b6  "+p2+">, .. ....
15d0: d0 b8 d0 b4 d0 b0 d0 bb d0 b8 20 d0 bd d0 b5 d1  .......... .....
15e0: 80 d0 b0 d0 b2 d0 b5 d0 bd d1 81 d1 82 d0 b2 d0  ................
15f0: be 22 3b 0d 0a 7d 0d 0a 0d 0a 2f 2f 20 d0 9f d0  .";..}....// ...
1600: b5 d1 80 d0 b5 d1 85 d0 b2 d0 b0 d1 82 20 d0 ba  ............. ..
1610: d0 be d0 bc d0 b0 d0 bd d0 b4 d1 8b 2e 20 d0 9c  ............. ..
1620: d0 b5 d1 82 d0 be d0 b4 20 d0 b2 d1 8b d0 b7 d1  ........ .......
1630: 8b d0 b2 d0 b0 d0 b5 d1 82 d1 81 d1 8f 20 d1 81  ............. ..
1640: d0 bd d0 b0 d1 87 d0 b0 d0 bb d0 b0 20 d0 bf d0  ............ ...
1650: b5 d1 80 d0 b5 d0 b4 20 d0 b2 d1 8b d0 bf d0 be  ....... ........
1660: d0 bb d0 bd d0 b5 d0 bd d0 b8 d0 b5 d0 bc 20 d0  .............. .
1670: ba d0 be d0 bc d0 b0 d0 bd d0 b4 d1 8b 2c 20 d0  ............., .
1680: bf d0 be d1 82 d0 be d0 bc 20 d0 bf d0 be d1 81  ......... ......
1690: d0 bb d0 b5 20 d0 b2 d1 8b d0 bf d0 be d0 bb d0  .... ...........
16a0: bd d0 b5 d0 bd d0 b8 d1 8f 20 28 d0 b5 d1 81 d0  ......... (.....
16b0: bb d0 b8 20 d0 bd d0 b5 20 d0 be d1 82 d0 bc d0  ... .... .......
16c0: b5 d0 bd d0 b8 d0 bb d0 b8 29 0d 0a 66 75 6e 63  .........)..func
16d0: 74 69 6f 6e 20 68 6f 6f 6b 43 6f 6d 70 61 72 65  tion hookCompare
16e0: 41 6e 64 4c 6f 61 64 43 6f 6e 66 69 67 46 72 6f  AndLoadConfigFro
16f0: 6d 46 69 6c 65 43 6f 6d 6d 61 6e 64 28 63 6d 64  mFileCommand(cmd
1700: 29 0d 0a 7b 0d 0a 20 20 20 20 69 66 28 63 6d 64  )..{..    if(cmd
1710: 2e 69 73 42 65 66 6f 72 65 29 0d 0a 20 20 20 20  .isBefore)..    
1720: 7b 0d 0a 20 20 20 20 20 20 20 20 65 6e 61 62 6c  {..        enabl
1730: 65 4f 70 65 6e 20 3d 20 66 61 6c 73 65 3b 0d 0a  eOpen = false;..
1740: 20 20 20 20 20 20 20 20 73 65 6c 65 63 74 65 64          selected
1750: 46 69 6c 65 4e 61 6d 65 20 3d 20 47 65 74 46 69  FileName = GetFi
1760: 6c 65 4e 61 6d 65 46 72 6f 6d 43 6c 69 70 62 6f  leNameFromClipbo
1770: 61 72 64 28 29 0d 0a 20 20 20 20 20 20 20 20 69  ard()..        i
1780: 66 20 28 21 73 65 6c 65 63 74 65 64 46 69 6c 65  f (!selectedFile
1790: 4e 61 6d 65 2e 6c 65 6e 67 74 68 29 20 72 65 74  Name.length) ret
17a0: 75 72 6e 0d 0a 20 20 20 20 0d 0a 20 20 20 20 20  urn..    ..     
17b0: 20 20 20 76 61 72 20 66 69 6c 65 20 3d 20 76 38     var file = v8
17c0: 4e 65 77 28 22 d0 a4 d0 b0 d0 b9 d0 bb 22 2c 20  New("........", 
17d0: 73 65 6c 65 63 74 65 64 46 69 6c 65 4e 61 6d 65  selectedFileName
17e0: 29 0d 0a 20 20 20 20 20 20 20 20 69 66 20 28 66  )..        if (f
17f0: 69 6c 65 2e d0 a0 d0 b0 d1 81 d1 88 d0 b8 d1 80  ile.............
1800: d0 b5 d0 bd d0 b8 d0 b5 20 3d 3d 20 22 2e 63 66  ........ == ".cf
1810: 22 29 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20  "){..           
1820: 20 d0 a2 d0 b5 d0 ba d1 81 d1 82 20 3d 20 22 d0   .......... = ".
1830: 98 d1 81 d0 bf d0 be d0 bb d1 8c d0 b7 d0 be d0  ................
1840: b2 d0 b0 d1 82 d1 8c 20 d1 84 d0 b0 d0 b9 d0 bb  ....... ........
1850: 20 3c 22 2b 73 65 6c 65 63 74 65 64 46 69 6c 65   <"+selectedFile
1860: 4e 61 6d 65 2b 22 3e 20 3f 22 3b 0d 0a 20 20 20  Name+"> ?";..   
1870: 20 20 20 20 20 20 20 20 20 d0 9e d1 82 d0 b2 d0           .......
1880: b5 d1 82 20 3d 20 d0 92 d0 be d0 bf d1 80 d0 be  ... = ..........
1890: d1 81 28 d0 a2 d0 b5 d0 ba d1 81 d1 82 2c 20 d0  ..(.........., .
18a0: a0 d0 b5 d0 b6 d0 b8 d0 bc d0 94 d0 b8 d0 b0 d0  ................
18b0: bb d0 be d0 b3 d0 b0 d0 92 d0 be d0 bf d1 80 d0  ................
18c0: be d1 81 2e d0 94 d0 b0 d0 9d d0 b5 d1 82 2c 20  .............., 
18d0: 30 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20  0);..           
18e0: 20 69 66 28 20 d0 9e d1 82 d0 b2 d0 b5 d1 82 20   if( .......... 
18f0: 21 3d 20 d0 9a d0 be d0 b4 d0 92 d0 be d0 b7 d0  != .............
1900: b2 d1 80 d0 b0 d1 82 d0 b0 d0 94 d0 b8 d0 b0 d0  ................
1910: bb d0 be d0 b3 d0 b0 2e d0 9d d0 b5 d1 82 29 20  ..............) 
1920: 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  {..             
1930: 20 20 20 65 6e 61 62 6c 65 4f 70 65 6e 20 3d 20     enableOpen = 
1940: 74 72 75 65 3b 20 0d 0a 20 20 20 20 20 20 20 20  true; ..        
1950: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
1960: 20 20 65 76 65 6e 74 73 2e 63 6f 6e 6e 65 63 74    events.connect
1970: 28 44 65 73 69 67 6e 65 72 2c 20 22 6f 6e 53 65  (Designer, "onSe
1980: 6c 65 63 74 46 69 6c 65 22 2c 20 53 65 6c 66 53  lectFile", SelfS
1990: 63 72 69 70 74 2e 73 65 6c 66 29 0d 0a 20 20 20  cript.self)..   
19a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 68 61 76               hav
19b0: 65 48 6f 6f 6b 4f 6e 53 65 6c 65 63 74 46 69 6c  eHookOnSelectFil
19c0: 65 20 3d 20 74 72 75 65 3b 0d 0a 20 20 20 20 20  e = true;..     
19d0: 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20         }..      
19e0: 20 20 7d 0d 0a 20 20 20 20 7d 0d 0a 20 20 20 20    }..    }..    
19f0: 65 6c 73 65 20 69 66 28 68 61 76 65 48 6f 6f 6b  else if(haveHook
1a00: 4f 6e 53 65 6c 65 63 74 46 69 6c 65 29 0d 0a 20  OnSelectFile).. 
1a10: 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 65 76     {..        ev
1a20: 65 6e 74 73 2e 64 69 73 63 6f 6e 6e 65 63 74 28  ents.disconnect(
1a30: 44 65 73 69 67 6e 65 72 2c 20 22 6f 6e 53 65 6c  Designer, "onSel
1a40: 65 63 74 46 69 6c 65 22 2c 20 53 65 6c 66 53 63  ectFile", SelfSc
1a50: 72 69 70 74 2e 73 65 6c 66 29 0d 0a 20 20 20 20  ript.self)..    
1a60: 20 20 20 20 68 61 76 65 48 6f 6f 6b 4f 6e 53 65      haveHookOnSe
1a70: 6c 65 63 74 46 69 6c 65 20 3d 20 66 61 6c 73 65  lectFile = false
1a80: 0d 0a 20 20 20 20 7d 0d 0a 7d 0d 0a 0d 0a 2f 2f  ..    }..}....//
1a90: 20 d0 9e d0 b1 d1 80 d0 b0 d0 b1 d0 be d1 82 d1   ...............
1aa0: 87 d0 b8 d0 ba 2c 20 d0 b2 d1 8b d0 b7 d1 8b d0  ....., .........
1ab0: b2 d0 b0 d0 b5 d1 82 d1 81 d1 8f 20 d0 ba d0 be  ........... ....
1ac0: d0 b3 d0 b4 d0 b0 20 31 d0 a1 20 d0 b8 d1 81 d0  ...... 1.. .....
1ad0: bf d0 be d0 bb d1 8c d0 b7 d1 83 d0 b5 d1 82 20  ............... 
1ae0: d0 b4 d0 b8 d0 b0 d0 bb d0 be d0 b3 20 d0 b4 d0  ............ ...
1af0: bb d1 8f 20 d0 b7 d0 b0 d0 bf d1 80 d0 be d1 81  ... ............
1b00: d0 b0 20 d0 b8 d0 bc d0 b5 d0 bd d0 b8 20 d1 84  .. .......... ..
1b10: d0 b0 d0 b9 d0 bb d0 b0 2e 0d 0a 66 75 6e 63 74  ...........funct
1b20: 69 6f 6e 20 6f 6e 53 65 6c 65 63 74 46 69 6c 65  ion onSelectFile
1b30: 28 73 65 6c 65 63 74 46 69 6c 65 44 61 74 61 29  (selectFileData)
1b40: 20 2f 2f 41 73 20 49 53 65 6c 65 63 74 46 69 6c   //As ISelectFil
1b50: 65 44 61 74 61 0d 0a 7b 0d 0a 20 20 20 20 69 66  eData..{..    if
1b60: 28 73 65 6c 65 63 74 46 69 6c 65 44 61 74 61 2e  (selectFileData.
1b70: 6d 6f 64 65 20 21 3d 20 73 66 4f 70 65 6e 29 20  mode != sfOpen) 
1b80: 72 65 74 75 72 6e 3b 0d 0a 20 20 20 20 0d 0a 20  return;..    .. 
1b90: 20 20 20 69 66 28 21 65 6e 61 62 6c 65 4f 70 65     if(!enableOpe
1ba0: 6e 20 7c 7c 20 21 73 65 6c 65 63 74 65 64 46 69  n || !selectedFi
1bb0: 6c 65 4e 61 6d 65 2e 6c 65 6e 67 74 68 29 20 72  leName.length) r
1bc0: 65 74 75 72 6e 3b 0d 0a 0d 0a 20 20 20 20 73 65  eturn;....    se
1bd0: 6c 65 63 74 46 69 6c 65 44 61 74 61 2e 61 64 64  lectFileData.add
1be0: 53 65 6c 65 63 74 65 64 46 69 6c 65 28 73 65 6c  SelectedFile(sel
1bf0: 65 63 74 65 64 46 69 6c 65 4e 61 6d 65 29 0d 0a  ectedFileName)..
1c00: 20 20 20 20 73 65 6c 65 63 74 46 69 6c 65 44 61      selectFileDa
1c10: 74 61 2e 72 65 73 75 6c 74 20 3d 20 73 66 72 53  ta.result = sfrS
1c20: 65 6c 65 63 74 65 64 0d 0a 7d 0d 0a 0d 0a 2f 2f  elected..}....//
1c30: 20 d0 b5 d1 81 d0 bb d0 b8 20 d0 b2 20 d0 b1 d1   ........ .. ...
1c40: 83 d1 84 d0 b5 d1 80 d0 b5 20 d0 be d0 b1 d0 bc  ......... ......
1c50: d0 b5 d0 bd d0 b0 20 d0 bf d1 83 d1 82 d1 8c 20  ...... ........ 
1c60: d0 ba 20 d1 81 d1 83 d1 89 d0 b5 d1 81 d1 82 d0  .. .............
1c70: b2 d1 83 d1 8e d1 89 d0 b5 d0 bc d1 83 20 d1 84  ............. ..
1c80: d0 b0 d0 b9 d0 bb d1 83 2c 20 d0 b2 d0 be d0 b7  ........, ......
1c90: d0 b2 d1 80 d0 b0 d1 89 d0 b0 d0 b5 d1 82 d1 81  ................
1ca0: d1 8f 20 d1 8d d1 82 d0 be d1 82 20 d0 bf d1 83  .. ........ ....
1cb0: d1 82 d1 8c 0d 0a 2f 2f 20 d0 b5 d1 81 d0 bb d0  ......// .......
1cc0: b8 20 d0 bf d1 83 d1 82 d1 8c 20 d0 be d0 b1 d1  . ........ .....
1cd0: 80 d0 b0 d0 bc d0 bb d0 b5 d0 bd 20 d0 ba d0 b0  ........... ....
1ce0: d0 b2 d1 8b d1 87 d0 ba d0 b0 d0 bc d0 b8 2c 20  .............., 
1cf0: d1 82 d0 be 20 d0 ba d0 b0 d0 b2 d1 8b d1 87 d0  .... ...........
1d00: ba d0 b8 20 d0 be d1 82 d0 b1 d1 80 d0 b0 d1 81  ... ............
1d10: d1 8b d0 b2 d0 b0 d1 8e d1 82 d1 81 d1 8f 0d 0a  ................
1d20: 66 75 6e 63 74 69 6f 6e 20 47 65 74 46 69 6c 65  function GetFile
1d30: 4e 61 6d 65 46 72 6f 6d 43 6c 69 70 62 6f 61 72  NameFromClipboar
1d40: 64 28 29 0d 0a 7b 0d 0a 20 20 20 20 76 61 72 20  d()..{..    var 
1d50: 73 74 72 54 65 78 74 20 3d 20 47 65 74 46 72 6f  strText = GetFro
1d60: 6d 43 6c 69 70 62 6f 61 72 64 28 29 0d 0a 20 20  mClipboard()..  
1d70: 20 20 76 61 72 20 73 74 72 54 65 78 74 20 3d 20    var strText = 
1d80: 73 74 72 54 65 78 74 2e 72 65 70 6c 61 63 65 28  strText.replace(
1d90: 2f 28 5e 5c 73 2a 29 7c 28 5c 73 2a 24 29 2f 67  /(^\s*)|(\s*$)/g
1da0: 2c 20 22 22 29 3b 20 2f 2f 74 72 69 6d 0d 0a 20  , ""); //trim.. 
1db0: 20 20 20 69 66 28 21 73 74 72 54 65 78 74 2e 6c     if(!strText.l
1dc0: 65 6e 67 74 68 29 20 72 65 74 75 72 6e 20 22 22  ength) return ""
1dd0: 0d 0a 20 20 20 20 0d 0a 20 20 20 20 69 66 28 20  ..    ..    if( 
1de0: 73 74 72 54 65 78 74 2e 73 75 62 73 74 72 28 30  strText.substr(0
1df0: 2c 31 29 20 3d 3d 20 22 5c 22 22 29 20 2f 2f 49  ,1) == "\"") //I
1e00: 6e 53 74 72 28 73 74 72 54 65 78 74 2c 20 43 68  nStr(strText, Ch
1e10: 72 28 33 34 29 29 20 3d 3d 20 31 29 0d 0a 20 20  r(34)) == 1)..  
1e20: 20 20 20 20 20 20 73 74 72 54 65 78 74 20 3d 20        strText = 
1e30: 73 74 72 54 65 78 74 2e 73 75 62 73 74 72 28 31  strText.substr(1
1e40: 29 20 20 2f 2f 4d 69 64 28 73 74 72 54 65 78 74  )  //Mid(strText
1e50: 2c 20 32 29 0d 0a 20 20 20 20 69 66 28 73 74 72  , 2)..    if(str
1e60: 54 65 78 74 2e 73 75 62 73 74 72 28 73 74 72 54  Text.substr(strT
1e70: 65 78 74 2e 6c 65 6e 67 74 68 2d 31 2c 20 31 29  ext.length-1, 1)
1e80: 20 3d 3d 20 22 5c 22 22 29 20 2f 2f 49 6e 53 74   == "\"") //InSt
1e90: 72 52 65 76 28 73 74 72 54 65 78 74 2c 20 43 68  rRev(strText, Ch
1ea0: 72 28 33 34 29 29 20 3d 3d 20 73 74 72 54 65 78  r(34)) == strTex
1eb0: 74 2e 6c 65 6e 67 74 68 29 0d 0a 20 20 20 20 20  t.length)..     
1ec0: 20 20 20 73 74 72 54 65 78 74 20 3d 20 73 74 72     strText = str
1ed0: 54 65 78 74 2e 73 75 62 73 74 72 28 30 2c 20 73  Text.substr(0, s
1ee0: 74 72 54 65 78 74 2e 6c 65 6e 67 74 68 2d 31 29  trText.length-1)
1ef0: 20 2f 2f 4d 69 64 28 73 74 72 54 65 78 74 2c 20   //Mid(strText, 
1f00: 31 2c 20 73 74 72 54 65 78 74 2e 6c 65 6e 67 74  1, strText.lengt
1f10: 68 20 2d 20 31 29 0d 0a 20 20 20 20 0d 0a 20 20  h - 1)..    ..  
1f20: 20 20 76 61 72 20 66 69 6c 65 20 3d 20 76 38 4e    var file = v8N
1f30: 65 77 28 22 d0 a4 d0 b0 d0 b9 d0 bb 22 2c 20 73  ew("........", s
1f40: 74 72 54 65 78 74 29 0d 0a 20 20 20 20 69 66 28  trText)..    if(
1f50: 66 69 6c 65 2e d0 a1 d1 83 d1 89 d0 b5 d1 81 d1  file............
1f60: 82 d0 b2 d1 83 d0 b5 d1 82 28 29 29 20 0d 0a 20  .........()) .. 
1f70: 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 66 73             // fs
1f80: 6f 20 3d 20 6e 65 77 20 41 63 74 69 76 65 58 4f  o = new ActiveXO
1f90: 62 6a 65 63 74 28 22 53 63 72 69 70 74 69 6e 67  bject("Scripting
1fa0: 2e 46 69 6c 65 53 79 73 74 65 6d 4f 62 6a 65 63  .FileSystemObjec
1fb0: 74 22 29 20 20 20 20 0d 0a 20 20 20 20 20 20 20  t")    ..       
1fc0: 20 20 20 20 20 2f 2f 20 69 66 20 28 66 73 6f 2e       // if (fso.
1fd0: 46 69 6c 65 45 78 69 73 74 73 28 73 74 72 54 65  FileExists(strTe
1fe0: 78 74 29 29 0d 0a 20 20 20 20 20 20 20 20 72 65  xt))..        re
1ff0: 74 75 72 6e 20 73 74 72 54 65 78 74 0d 0a 20 20  turn strText..  
2000: 20 20 72 65 74 75 72 6e 20 22 22 0d 0a 7d 0d 0a    return ""..}..
2010: 0d 0a 76 61 72 20 64 77 78 3b 0d 0a 0d 0a 66 75  ..var dwx;....fu
2020: 6e 63 74 69 6f 6e 20 49 6e 69 74 28 29 0d 0a 7b  nction Init()..{
2030: 0d 0a 20 20 20 20 64 77 78 20 3d 20 6e 65 77 20  ..    dwx = new 
2040: 41 63 74 69 76 65 58 4f 62 6a 65 63 74 28 22 44  ActiveXObject("D
2050: 79 6e 61 6d 69 63 57 72 61 70 70 65 72 58 22 29  ynamicWrapperX")
2060: 0d 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 64  ..        if (!d
2070: 77 78 29 20 74 68 72 6f 77 20 22 d0 9d d0 b5 d0  wx) throw ".....
2080: b2 d0 be d0 b7 d0 bc d0 be d0 b6 d0 bd d0 be 20  ............... 
2090: d1 81 d0 be d0 b7 d0 b4 d0 b0 d1 82 d1 8c 20 d0  .............. .
20a0: be d0 b1 d1 8a d0 b5 d0 ba d1 82 20 44 79 6e 61  ........... Dyna
20b0: 6d 69 63 57 72 61 70 70 65 72 58 22 3b 0d 0a 20  micWrapperX";.. 
20c0: 20 20 20 64 77 78 2e 52 65 67 69 73 74 65 72 20     dwx.Register 
20d0: 28 22 55 53 45 52 33 32 2e 44 4c 4c 22 2c 20 22  ("USER32.DLL", "
20e0: 4f 70 65 6e 43 6c 69 70 62 6f 61 72 64 22 2c 20  OpenClipboard", 
20f0: 22 69 3d 6c 22 2c 20 22 66 3d 73 22 2c 20 22 72  "i=l", "f=s", "r
2100: 3d 6c 22 29 3b 0d 0a 20 20 20 20 64 77 78 2e 52  =l");..    dwx.R
2110: 65 67 69 73 74 65 72 20 28 22 55 53 45 52 33 32  egister ("USER32
2120: 2e 44 4c 4c 22 2c 20 22 47 65 74 43 6c 69 70 62  .DLL", "GetClipb
2130: 6f 61 72 64 44 61 74 61 22 2c 20 22 69 3d 6c 22  oardData", "i=l"
2140: 2c 20 22 66 3d 73 22 2c 20 22 72 3d 6c 22 29 3b  , "f=s", "r=l");
2150: 0d 0a 20 20 20 20 64 77 78 2e 52 65 67 69 73 74  ..    dwx.Regist
2160: 65 72 28 22 55 53 45 52 33 32 2e 44 4c 4c 22 2c  er("USER32.DLL",
2170: 20 22 53 65 74 43 6c 69 70 62 6f 61 72 64 44 61   "SetClipboardDa
2180: 74 61 22 2c 20 22 69 3d 75 68 22 2c 20 22 66 3d  ta", "i=uh", "f=
2190: 73 22 2c 20 22 72 3d 6c 22 29 0d 0a 20 20 20 20  s", "r=l")..    
21a0: 64 77 78 2e 52 65 67 69 73 74 65 72 28 22 55 53  dwx.Register("US
21b0: 45 52 33 32 2e 44 4c 4c 22 2c 20 22 45 6d 70 74  ER32.DLL", "Empt
21c0: 79 43 6c 69 70 62 6f 61 72 64 22 2c 20 22 66 3d  yClipboard", "f=
21d0: 73 22 2c 20 22 72 3d 6c 22 29 0d 0a 20 20 20 20  s", "r=l")..    
21e0: 64 77 78 2e 52 65 67 69 73 74 65 72 20 28 22 55  dwx.Register ("U
21f0: 53 45 52 33 32 2e 44 4c 4c 22 2c 20 22 43 6c 6f  SER32.DLL", "Clo
2200: 73 65 43 6c 69 70 62 6f 61 72 64 22 2c 20 22 66  seClipboard", "f
2210: 3d 73 22 2c 20 22 72 3d 6c 22 29 3b 0d 0a 20 20  =s", "r=l");..  
2220: 20 20 64 77 78 2e 52 65 67 69 73 74 65 72 20 28    dwx.Register (
2230: 22 4b 45 52 4e 45 4c 33 32 2e 44 4c 4c 22 2c 20  "KERNEL32.DLL", 
2240: 22 6c 73 74 72 63 70 79 22 2c 20 22 69 3d 68 73  "lstrcpy", "i=hs
2250: 22 2c 20 22 66 3d 73 22 2c 20 22 72 3d 6c 22 29  ", "f=s", "r=l")
2260: 3b 20 2f 2f 22 6c 73 74 72 63 70 79 22 2c 20 22  ; //"lstrcpy", "
2270: 69 3d 72 6c 22 2c 20 22 66 3d 73 22 2c 20 22 72  i=rl", "f=s", "r
2280: 3d 6c 22 29 3b 0d 0a 20 20 20 20 64 77 78 2e 52  =l");..    dwx.R
2290: 65 67 69 73 74 65 72 28 22 4b 45 52 4e 45 4c 33  egister("KERNEL3
22a0: 32 2e 44 4c 4c 22 2c 20 22 47 6c 6f 62 61 6c 41  2.DLL", "GlobalA
22b0: 6c 6c 6f 63 22 2c 20 22 69 3d 75 75 22 2c 20 22  lloc", "i=uu", "
22c0: 66 3d 73 22 2c 20 22 72 3d 6c 22 29 0d 0a 20 20  f=s", "r=l")..  
22d0: 20 20 64 77 78 2e 52 65 67 69 73 74 65 72 20 28    dwx.Register (
22e0: 22 4b 45 52 4e 45 4c 33 32 2e 44 4c 4c 22 2c 20  "KERNEL32.DLL", 
22f0: 22 47 6c 6f 62 61 6c 4c 6f 63 6b 22 2c 20 22 69  "GlobalLock", "i
2300: 3d 6c 22 2c 20 22 66 3d 73 22 2c 20 22 72 3d 6c  =l", "f=s", "r=l
2310: 22 29 3b 0d 0a 20 20 20 20 64 77 78 2e 52 65 67  ");..    dwx.Reg
2320: 69 73 74 65 72 20 28 22 4b 45 52 4e 45 4c 33 32  ister ("KERNEL32
2330: 2e 44 4c 4c 22 2c 20 22 47 6c 6f 62 61 6c 53 69  .DLL", "GlobalSi
2340: 7a 65 22 2c 20 22 69 3d 6c 22 2c 20 22 66 3d 73  ze", "i=l", "f=s
2350: 22 2c 20 22 72 3d 6c 22 29 3b 0d 0a 20 20 20 20  ", "r=l");..    
2360: 64 77 78 2e 52 65 67 69 73 74 65 72 20 28 22 4b  dwx.Register ("K
2370: 45 52 4e 45 4c 33 32 2e 44 4c 4c 22 2c 20 22 47  ERNEL32.DLL", "G
2380: 6c 6f 62 61 6c 55 6e 6c 6f 63 6b 22 2c 20 22 69  lobalUnlock", "i
2390: 3d 6c 22 2c 20 22 66 3d 73 22 2c 20 22 72 3d 6c  =l", "f=s", "r=l
23a0: 22 29 3b 0d 0a 20 20 20 20 0d 0a 20 20 20 20 2f  ");..    ..    /
23b0: 2f 20 d0 9f d0 be d0 b4 d0 bf d0 b8 d1 88 d0 b5  / ..............
23c0: d0 bc d1 81 d1 8f 20 d0 bd d0 b0 20 d0 bf d0 b5  ...... .... ....
23d0: d1 80 d0 b5 d1 85 d0 b2 d0 b0 d1 82 20 d0 ba d0  ............ ...
23e0: be d0 bc d0 b0 d0 bd d0 b4 d1 8b 20 d0 be d1 82  ........... ....
23f0: d0 ba d1 80 d1 8b d1 82 d0 b8 d1 8f 20 d1 84 d0  ............ ...
2400: b0 d0 b9 d0 bb d0 b0 0d 0a 20 20 20 20 65 76 65  .........    eve
2410: 6e 74 73 2e 61 64 64 43 6f 6d 6d 61 6e 64 48 61  nts.addCommandHa
2420: 6e 64 6c 65 72 28 22 7b 30 30 30 30 30 30 30 30  ndler("{00000000
2430: 2d 30 30 30 30 2d 30 30 30 30 2d 30 30 30 30 2d  -0000-0000-0000-
2440: 30 30 30 30 30 30 30 30 30 30 30 30 7d 22 2c 20  000000000000}", 
2450: 32 2c 20 53 65 6c 66 53 63 72 69 70 74 2e 73 65  2, SelfScript.se
2460: 6c 66 2c 20 22 68 6f 6f 6b 46 69 6c 65 4f 70 65  lf, "hookFileOpe
2470: 6e 43 6f 6d 6d 61 6e 64 22 29 0d 0a 0d 0a 20 20  nCommand")....  
2480: 20 20 2f 2f 20 d0 9f d0 be d0 b4 d0 bf d0 b8 d1    // ...........
2490: 88 d0 b5 d0 bc d1 81 d1 8f 20 d0 bd d0 b0 20 d0  ......... .... .
24a0: bf d0 b5 d1 80 d0 b5 d1 85 d0 b2 d0 b0 d1 82 20  ............... 
24b0: d0 ba d0 be d0 bc d0 b0 d0 bd d0 b4 d1 8b 20 22  .............. "
24c0: d0 a1 d1 80 d0 b0 d0 b2 d0 bd d0 b8 d1 82 d1 8c  ................
24d0: 2c 20 d0 be d0 b1 d1 8a d0 b5 d0 b4 d0 b8 d0 bd  , ..............
24e0: d0 b8 d1 82 d1 8c 20 d1 81 20 d0 ba d0 be d0 bd  ...... .. ......
24f0: d1 84 d0 b8 d0 b3 d1 83 d1 80 d0 b0 d1 86 d0 b8  ................
2500: d0 b5 d0 b9 20 d0 b8 d0 b7 20 d1 84 d0 b0 d0 b9  .... .... ......
2510: d0 bb d0 b0 22 0d 0a 20 20 20 20 65 76 65 6e 74  ...."..    event
2520: 73 2e 61 64 64 43 6f 6d 6d 61 6e 64 48 61 6e 64  s.addCommandHand
2530: 6c 65 72 28 22 7b 46 31 30 43 42 42 38 31 2d 46  ler("{F10CBB81-F
2540: 36 37 39 2d 31 31 44 34 2d 39 44 44 33 2d 30 30  679-11D4-9DD3-00
2550: 35 30 42 41 45 32 42 43 37 39 7d 22 2c 20 36 2c  50BAE2BC79}", 6,
2560: 20 53 65 6c 66 53 63 72 69 70 74 2e 73 65 6c 66   SelfScript.self
2570: 2c 20 22 68 6f 6f 6b 43 6f 6d 70 61 72 65 41 6e  , "hookCompareAn
2580: 64 4c 6f 61 64 43 6f 6e 66 69 67 46 72 6f 6d 46  dLoadConfigFromF
2590: 69 6c 65 43 6f 6d 6d 61 6e 64 22 29 0d 0a 20 20  ileCommand")..  
25a0: 20 20 0d 0a 20 20 20 20 2f 2f 20 d0 b1 d0 b5 d0    ..    // .....
25b0: b7 20 63 66 20 2d 20 d1 84 d0 b0 d0 b9 d0 bb d0  . cf - .........
25c0: b0 20 d0 ba d0 be d0 bd d1 84 d0 b8 d0 b3 d1 83  . ..............
25d0: d1 80 d0 b0 d1 86 d0 b8 d0 b9 20 21 21 0d 0a 20  .......... !!.. 
25e0: 20 20 20 d0 bc d0 b0 d1 81 d1 81 d0 b8 d0 b2 d0     .............
25f0: a0 d0 b0 d1 81 d1 88 d0 b8 d1 80 d0 b5 d0 bd d0  ................
2600: b8 d0 b9 20 3d 20 76 38 4e 65 77 28 22 d0 9c d0  ... = v8New("...
2610: b0 d1 81 d1 81 d0 b8 d0 b2 22 29 0d 0a 20 20 20  .........")..   
2620: 20 d0 bc d0 b0 d1 81 d1 81 d0 b8 d0 b2 d0 a0 d0   ...............
2630: b0 d1 81 d1 88 d0 b8 d1 80 d0 b5 d0 bd d0 b8 d0  ................
2640: b9 2e d0 94 d0 be d0 b1 d0 b0 d0 b2 d0 b8 d1 82  ................
2650: d1 8c 28 22 2e 65 70 66 22 29 3b 0d 0a 20 20 20  ..(".epf");..   
2660: 20 d0 bc d0 b0 d1 81 d1 81 d0 b8 d0 b2 d0 a0 d0   ...............
2670: b0 d1 81 d1 88 d0 b8 d1 80 d0 b5 d0 bd d0 b8 d0  ................
2680: b9 2e d0 94 d0 be d0 b1 d0 b0 d0 b2 d0 b8 d1 82  ................
2690: d1 8c 28 22 2e 65 72 66 22 29 3b 0d 0a 20 20 20  ..(".erf");..   
26a0: 20 d0 bc d0 b0 d1 81 d1 81 d0 b8 d0 b2 d0 a0 d0   ...............
26b0: b0 d1 81 d1 88 d0 b8 d1 80 d0 b5 d0 bd d0 b8 d0  ................
26c0: b9 2e d0 94 d0 be d0 b1 d0 b0 d0 b2 d0 b8 d1 82  ................
26d0: d1 8c 28 22 2e 74 78 74 22 29 3b 0d 0a 20 20 20  ..(".txt");..   
26e0: 20 d0 bc d0 b0 d1 81 d1 81 d0 b8 d0 b2 d0 a0 d0   ...............
26f0: b0 d1 81 d1 88 d0 b8 d1 80 d0 b5 d0 bd d0 b8 d0  ................
2700: b9 2e d0 94 d0 be d0 b1 d0 b0 d0 b2 d0 b8 d1 82  ................
2710: d1 8c 28 22 2e 6d 78 6c 22 29 3b 0d 0a 20 20 20  ..(".mxl");..   
2720: 20 d0 bc d0 b0 d1 81 d1 81 d0 b8 d0 b2 d0 a0 d0   ...............
2730: b0 d1 81 d1 88 d0 b8 d1 80 d0 b5 d0 bd d0 b8 d0  ................
2740: b9 2e d0 94 d0 be d0 b1 d0 b0 d0 b2 d0 b8 d1 82  ................
2750: d1 8c 28 22 2e 68 74 6d 6c 22 29 3b 0d 0a 20 20  ..(".html");..  
2760: 20 20 d0 bc d0 b0 d1 81 d1 81 d0 b8 d0 b2 d0 a0    ..............
2770: d0 b0 d1 81 d1 88 d0 b8 d1 80 d0 b5 d0 bd d0 b8  ................
2780: d0 b9 2e d0 94 d0 be d0 b1 d0 b0 d0 b2 d0 b8 d1  ................
2790: 82 d1 8c 28 22 2e 73 74 22 29 3b 0d 0a 20 20 20  ...(".st");..   
27a0: 20 d0 bc d0 b0 d1 81 d1 81 d0 b8 d0 b2 d0 a0 d0   ...............
27b0: b0 d1 81 d1 88 d0 b8 d1 80 d0 b5 d0 bd d0 b8 d0  ................
27c0: b9 2e d0 94 d0 be d0 b1 d0 b0 d0 b2 d0 b8 d1 82  ................
27d0: d1 8c 28 22 2e 70 66 66 22 29 3b 0d 0a 7d 0d 0a  ..(".pff");..}..
27e0: 0d 0a 66 75 6e 63 74 69 6f 6e 20 43 6f 70 79 54  ..function CopyT
27f0: 6f 43 6c 69 70 62 6f 61 72 64 28 74 65 73 74 53  oClipboard(testS
2800: 74 72 69 6e 67 29 0d 0a 7b 0d 0a 20 20 20 20 69  tring)..{..    i
2810: 66 20 28 21 74 65 73 74 53 74 72 69 6e 67 29 20  f (!testString) 
2820: 74 68 72 6f 77 20 22 d0 9f d0 b5 d1 80 d0 b5 d0  throw ".........
2830: b4 d0 b0 d0 bd d0 b0 20 d0 bf d1 83 d1 81 d1 82  ....... ........
2840: d0 b0 d1 8f 20 d1 81 d1 82 d1 80 d0 be d0 ba d0  .... ...........
2850: b0 22 0d 0a 20 20 20 20 0d 0a 20 20 20 20 20 20  ."..    ..      
2860: 20 20 76 61 72 20 47 4d 45 4d 5f 46 49 58 45 44    var GMEM_FIXED
2870: 3d 30 0d 0a 20 20 20 20 68 47 6c 20 3d 20 64 77  =0..    hGl = dw
2880: 78 2e 47 6c 6f 62 61 6c 41 6c 6c 6f 63 28 47 4d  x.GlobalAlloc(GM
2890: 45 4d 5f 46 49 58 45 44 2c 20 74 65 73 74 53 74  EM_FIXED, testSt
28a0: 72 69 6e 67 2e 6c 65 6e 67 74 68 2b 31 29 0d 0a  ring.length+1)..
28b0: 20 20 20 20 20 20 20 20 69 66 20 28 21 68 47 6c          if (!hGl
28c0: 29 20 20 74 68 72 6f 77 20 22 d0 9d d0 b5 d0 b2  )  throw "......
28d0: d0 be d0 b7 d0 bc d0 be d0 b6 d0 bd d0 be 20 d0  .............. .
28e0: b2 d1 8b d0 b4 d0 b5 d0 bb d0 b8 d1 82 d1 8c 20  ............... 
28f0: d0 bf d0 b0 d0 bc d1 8f d1 82 d1 8c 22 0d 0a 20  ............".. 
2900: 20 20 20 0d 0a 20 20 20 20 68 47 6c 20 3d 20 64     ..    hGl = d
2910: 77 78 2e 47 6c 6f 62 61 6c 4c 6f 63 6b 28 68 47  wx.GlobalLock(hG
2920: 6c 29 0d 0a 20 20 20 20 20 20 20 20 69 66 20 28  l)..        if (
2930: 21 68 47 6c 29 20 20 74 68 72 6f 77 20 22 d0 9d  !hGl)  throw "..
2940: d0 b5 d0 b2 d0 be d0 b7 d0 bc d0 be d0 b6 d0 bd  ................
2950: d0 be 20 d1 80 d0 b5 d0 b7 d0 b5 d1 80 d0 b2 d0  .. .............
2960: b8 d1 80 d0 be d0 b2 d0 b0 d1 82 d1 8c 20 d0 bf  ............. ..
2970: d0 b0 d0 bc d1 8f d1 82 d1 8c 22 0d 0a 0d 0a 20  ..........".... 
2980: 20 20 20 68 47 6c 20 3d 20 64 77 78 2e 6c 73 74     hGl = dwx.lst
2990: 72 63 70 79 28 68 47 6c 2c 20 74 65 73 74 53 74  rcpy(hGl, testSt
29a0: 72 69 6e 67 29 20 2f 2f 20 54 4f 44 4f 20 d0 b7  ring) // TODO ..
29b0: d0 b0 d0 bc d0 b5 d0 bd d0 b8 d1 82 d1 8c 20 d0  .............. .
29c0: bd d0 b0 20 d0 bc d0 b5 d1 82 d0 be d0 b4 20 d0  ... .......... .
29d0: b8 d0 b7 20 44 57 58 0d 0a 20 20 20 20 20 20 20  ... DWX..       
29e0: 20 69 66 20 28 21 68 47 6c 29 20 20 74 68 72 6f   if (!hGl)  thro
29f0: 77 20 22 d0 9d d0 b5 d0 b2 d0 be d0 b7 d0 bc d0  w ".............
2a00: be d0 b6 d0 bd d0 be 20 d1 81 d0 ba d0 be d0 bf  ....... ........
2a10: d0 b8 d1 80 d0 be d0 b2 d0 b0 d1 82 d1 8c 20 d0  .............. .
2a20: b4 d0 b0 d0 bd d0 bd d1 8b d0 b5 20 d0 b2 20 d0  ........... .. .
2a30: bf d0 b0 d0 bc d1 8f d1 82 d1 8c 22 0d 0a 0d 0a  ..........."....
2a40: 20 20 20 20 20 20 20 20 2f 2f 20 72 65 73 20 3d          // res =
2a50: 20 64 77 78 2e 47 6c 6f 62 61 6c 55 6e 6c 6f 63   dwx.GlobalUnloc
2a60: 6b 28 68 47 6c 29 0d 0a 20 20 20 20 20 20 20 20  k(hGl)..        
2a70: 2f 2f 20 69 66 20 28 21 72 65 73 29 20 20 74 68  // if (!res)  th
2a80: 72 6f 77 20 22 d0 9d d0 b5 d0 b2 d0 be d0 b7 d0  row "...........
2a90: bc d0 be d0 b6 d0 bd d0 be 20 d1 80 d0 b0 d0 b7  ......... ......
2aa0: d0 b1 d0 bb d0 be d0 ba d0 b8 d1 80 d0 be d0 b2  ................
2ab0: d0 b0 d1 82 d1 8c 20 d0 bf d0 b0 d0 bc d1 8f d1  ...... .........
2ac0: 82 d1 8c 22 0d 0a 0d 0a 20 20 20 20 74 72 79 7b  ..."....    try{
2ad0: 20 0d 0a 20 20 20 20 20 20 20 20 68 52 65 73 20   ..        hRes 
2ae0: 3d 20 64 77 78 2e 4f 70 65 6e 43 6c 69 70 62 6f  = dwx.OpenClipbo
2af0: 61 72 64 28 30 29 0d 0a 20 20 20 20 7d 20 63 61  ard(0)..    } ca
2b00: 74 63 68 28 65 29 0d 0a 20 20 20 20 7b 0d 0a 20  tch(e)..    {.. 
2b10: 20 20 20 20 20 20 20 74 72 79 7b 0d 0a 20 20 20         try{..   
2b20: 20 20 20 20 20 20 20 20 20 68 52 65 73 20 3d 20           hRes = 
2b30: 64 77 78 2e 4f 70 65 6e 43 6c 69 70 62 6f 61 72  dwx.OpenClipboar
2b40: 64 28 30 29 0d 0a 20 20 20 20 20 20 20 20 7d 20  d(0)..        } 
2b50: 63 61 74 63 68 28 65 29 0d 0a 20 20 20 20 20 20  catch(e)..      
2b60: 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20    {..           
2b70: 20 69 66 20 28 21 68 52 65 73 29 20 20 74 68 72   if (!hRes)  thr
2b80: 6f 77 20 22 d0 9d d0 b5 d0 b2 d0 be d0 b7 d0 bc  ow "............
2b90: d0 be d0 b6 d0 bd d0 be 20 d0 be d1 82 d0 ba d1  ........ .......
2ba0: 80 d1 8b d1 82 d1 8c 20 d0 b1 d1 83 d1 84 d0 b5  ....... ........
2bb0: d1 80 20 d0 be d0 b1 d0 bc d0 b5 d0 bd d0 b0 22  .. ............"
2bc0: 20 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 20 20   ..        }..  
2bd0: 20 20 7d 0d 0a 0d 0a 20 20 20 20 68 52 65 73 20    }....    hRes 
2be0: 3d 20 64 77 78 2e 45 6d 70 74 79 43 6c 69 70 62  = dwx.EmptyClipb
2bf0: 6f 61 72 64 28 29 0d 0a 20 20 20 20 20 20 20 20  oard()..        
2c00: 69 66 20 28 21 68 52 65 73 29 20 20 74 68 72 6f  if (!hRes)  thro
2c10: 77 20 22 d0 9d d0 b5 d0 b2 d0 be d0 b7 d0 bc d0  w ".............
2c20: be d0 b6 d0 bd d0 be 20 d0 be d1 87 d0 b8 d1 81  ....... ........
2c30: d1 82 d0 b8 d1 82 d1 8c 20 d0 b1 d1 83 d1 84 d0  ........ .......
2c40: b5 d1 80 20 d0 be d0 b1 d0 bc d0 b5 d0 bd d0 b0  ... ............
2c50: 22 0d 0a 0d 0a 20 20 20 20 68 52 65 73 20 3d 20  "....    hRes = 
2c60: 64 77 78 2e 53 65 74 43 6c 69 70 62 6f 61 72 64  dwx.SetClipboard
2c70: 44 61 74 61 28 43 46 5f 54 45 58 54 2c 20 68 47  Data(CF_TEXT, hG
2c80: 6c 29 0d 0a 20 20 20 20 20 20 20 20 69 66 20 28  l)..        if (
2c90: 21 68 52 65 73 29 20 20 74 68 72 6f 77 20 22 d0  !hRes)  throw ".
2ca0: 9d d0 b5 d0 b2 d0 be d0 b7 d0 bc d0 be d0 b6 d0  ................
2cb0: bd d0 be 20 d0 bf d0 be d0 bc d0 b5 d1 81 d1 82  ... ............
2cc0: d0 b8 d1 82 d1 8c 20 d0 b4 d0 b0 d0 bd d0 bd d1  ...... .........
2cd0: 8b d0 b5 20 d0 b2 20 d0 b1 d1 83 d1 84 d0 b5 d1  ... .. .........
2ce0: 80 20 d0 be d0 b1 d0 bc d0 b5 d0 bd d0 b0 22 0d  . ............".
2cf0: 0a 0d 0a 20 20 20 20 68 52 65 73 20 3d 20 64 77  ...    hRes = dw
2d00: 78 2e 43 6c 6f 73 65 43 6c 69 70 62 6f 61 72 64  x.CloseClipboard
2d10: 28 29 0d 0a 20 20 20 20 20 20 20 20 2f 2f 69 66  ()..        //if
2d20: 20 28 21 68 52 65 73 29 20 20 74 68 72 6f 77 20   (!hRes)  throw 
2d30: 22 d0 9d d0 b5 d0 b2 d0 be d0 b7 d0 bc d0 be d0  "...............
2d40: b6 d0 bd d0 be 20 d0 b7 d0 b0 d0 ba d1 80 d1 8b  ..... ..........
2d50: d1 82 d1 8c 20 d0 b1 d1 83 d1 84 d0 b5 d1 80 20  .... .......... 
2d60: d0 be d0 b1 d0 bc d0 b5 d0 bd d0 b0 22 0d 0a 7d  ............"..}
2d70: 0d 0a 0d 0a 0d 0a 66 75 6e 63 74 69 6f 6e 20 47  ......function G
2d80: 65 74 46 72 6f 6d 43 6c 69 70 62 6f 61 72 64 28  etFromClipboard(
2d90: 29 0d 0a 7b 0d 0a 20 20 20 20 68 52 65 73 20 3d  )..{..    hRes =
2da0: 20 64 77 78 2e 4f 70 65 6e 43 6c 69 70 62 6f 61   dwx.OpenClipboa
2db0: 72 64 28 30 29 0d 0a 20 20 20 20 69 66 20 28 21  rd(0)..    if (!
2dc0: 68 52 65 73 29 20 20 74 68 72 6f 77 20 22 d0 9d  hRes)  throw "..
2dd0: d0 b5 d0 b2 d0 be d0 b7 d0 bc d0 be d0 b6 d0 bd  ................
2de0: d0 be 20 d0 be d1 82 d0 ba d1 80 d1 8b d1 82 d1  .. .............
2df0: 8c 20 d0 b1 d1 83 d1 84 d0 b5 d1 80 20 d0 be d0  . .......... ...
2e00: b1 d0 bc d0 b5 d0 bd d0 b0 22 0d 0a 0d 0a 20 20  ........."....  
2e10: 20 20 76 61 72 20 68 43 6c 69 70 54 65 78 74 20    var hClipText 
2e20: 3d 20 64 77 78 2e 47 65 74 43 6c 69 70 62 6f 61  = dwx.GetClipboa
2e30: 72 64 44 61 74 61 28 43 46 5f 54 45 58 54 29 3b  rdData(CF_TEXT);
2e40: 20 2f 2f d0 9f d0 be d0 bb d1 83 d1 87 d0 b5 d0   //.............
2e50: bd d0 b8 d0 b5 20 d1 85 d1 8d d0 bd d0 b4 d0 bb  ..... ..........
2e60: d0 b0 20 d0 b4 d0 b0 d0 bd d0 bd d1 8b d1 85 2e  .. .............
2e70: 0d 0a 20 20 20 20 69 66 20 28 21 68 43 6c 69 70  ..    if (!hClip
2e80: 54 65 78 74 29 20 20 72 65 74 75 72 6e 20 22 22  Text)  return ""
2e90: 3b 20 2f 2f 74 68 72 6f 77 20 22 d0 9d d0 b5 d0  ; //throw ".....
2ea0: b2 d0 be d0 b7 d0 bc d0 be d0 b6 d0 bd d0 be 20  ............... 
2eb0: 47 65 74 43 6c 69 70 62 6f 61 72 64 44 61 74 61  GetClipboardData
2ec0: 22 20 2f 2f 20 54 4f 44 4f 20 0d 0a 0d 0a 20 20  " // TODO ....  
2ed0: 20 20 70 74 72 54 65 78 74 20 3d 20 64 77 78 2e    ptrText = dwx.
2ee0: 47 6c 6f 62 61 6c 4c 6f 63 6b 28 68 43 6c 69 70  GlobalLock(hClip
2ef0: 54 65 78 74 29 3b 20 2f 2f d0 9a d0 be d0 bd d0  Text); //.......
2f00: b2 d0 b5 d1 80 d1 82 d0 b0 d1 86 d0 b8 d1 8f 20  ............... 
2f10: d1 85 d1 8d d0 bd d0 b4 d0 bb d0 b0 20 d0 b2 20  ............ .. 
2f20: d1 83 d0 ba d0 b0 d0 b7 d0 b0 d1 82 d0 b5 d0 bb  ................
2f30: d1 8c 2e 0d 0a 20 20 20 20 20 20 20 20 69 66 20  .....        if 
2f40: 28 21 70 74 72 54 65 78 74 29 20 20 74 68 72 6f  (!ptrText)  thro
2f50: 77 20 22 d0 9d d0 b5 d0 b2 d0 be d0 b7 d0 bc d0  w ".............
2f60: be d0 b6 d0 bd d0 be 20 d1 80 d0 b5 d0 b7 d0 b5  ....... ........
2f70: d1 80 d0 b2 d0 b8 d1 80 d0 be d0 b2 d0 b0 d1 82  ................
2f80: d1 8c 20 d0 bf d0 b0 d0 bc d1 8f d1 82 d1 8c 22  .. ............"
2f90: 3b 0d 0a 20 20 20 20 0d 0a 20 20 20 20 72 65 73  ;..    ..    res
2fa0: 53 74 72 20 3d 20 64 77 78 2e 53 74 72 47 65 74  Str = dwx.StrGet
2fb0: 28 70 74 72 54 65 78 74 2c 20 22 73 22 29 3b 0d  (ptrText, "s");.
2fc0: 0a 0d 0a 20 20 20 20 68 52 65 73 20 3d 20 64 77  ...    hRes = dw
2fd0: 78 2e 47 6c 6f 62 61 6c 55 6e 6c 6f 63 6b 28 68  x.GlobalUnlock(h
2fe0: 43 6c 69 70 54 65 78 74 29 0d 0a 20 20 20 20 20  ClipText)..     
2ff0: 20 20 20 2f 2f 69 66 20 28 21 68 52 65 73 29 20     //if (!hRes) 
3000: 20 74 68 72 6f 77 20 22 d0 9d d0 b5 d0 b2 d0 be   throw "........
3010: d0 b7 d0 bc d0 be d0 b6 d0 bd d0 be 20 d1 80 d0  ............ ...
3020: b0 d0 b7 d0 b1 d0 bb d0 be d0 ba d0 b8 d1 80 d0  ................
3030: be d0 b2 d0 b0 d1 82 d1 8c 20 d0 bf d0 b0 d0 bc  ......... ......
3040: d1 8f d1 82 d1 8c 22 0d 0a 0d 0a 20 20 20 20 68  ......"....    h
3050: 52 65 73 20 3d 20 64 77 78 2e 43 6c 6f 73 65 43  Res = dwx.CloseC
3060: 6c 69 70 62 6f 61 72 64 28 29 3b 20 0d 0a 20 20  lipboard(); ..  
3070: 20 20 20 20 20 20 2f 2f 69 66 20 28 21 68 52 65        //if (!hRe
3080: 73 29 20 20 74 68 72 6f 77 20 22 d0 9d d0 b5 d0  s)  throw ".....
3090: b2 d0 be d0 b7 d0 bc d0 be d0 b6 d0 bd d0 be 20  ............... 
30a0: d0 b7 d0 b0 d0 ba d1 80 d1 8b d1 82 d1 8c 20 d0  .............. .
30b0: b1 d1 83 d1 84 d0 b5 d1 80 20 d0 be d0 b1 d0 bc  ......... ......
30c0: d0 b5 d0 bd d0 b0 22 0d 0a 20 20 20 20 72 65 74  ......"..    ret
30d0: 75 72 6e 20 72 65 73 53 74 72 3b 0d 0a 7d 0d 0a  urn resStr;..}..
30e0: 0d 0a 66 75 6e 63 74 69 6f 6e 20 5f 47 65 74 46  ..function _GetF
30f0: 72 6f 6d 43 6c 69 70 62 6f 61 72 64 5f 55 4e 49  romClipboard_UNI
3100: 43 4f 44 45 54 45 58 54 28 29 0d 0a 7b 0d 0a 20  CODETEXT()..{.. 
3110: 20 20 20 68 52 65 73 20 3d 20 64 77 78 2e 4f 70     hRes = dwx.Op
3120: 65 6e 43 6c 69 70 62 6f 61 72 64 28 30 29 0d 0a  enClipboard(0)..
3130: 20 20 20 20 69 66 20 28 21 68 52 65 73 29 20 20      if (!hRes)  
3140: 74 68 72 6f 77 20 22 d0 9d d0 b5 d0 b2 d0 be d0  throw ".........
3150: b7 d0 bc d0 be d0 b6 d0 bd d0 be 20 d0 be d1 82  ........... ....
3160: d0 ba d1 80 d1 8b d1 82 d1 8c 20 d0 b1 d1 83 d1  .......... .....
3170: 84 d0 b5 d1 80 20 d0 be d0 b1 d0 bc d0 b5 d0 bd  ..... ..........
3180: d0 b0 22 0d 0a 0d 0a 20 20 20 20 20 20 20 20 2f  .."....        /
3190: 2f 76 61 72 20 66 6f 72 6d 61 74 20 3d 20 30 3b  /var format = 0;
31a0: 0d 0a 20 20 20 20 20 20 20 20 2f 2f 64 77 78 2e  ..        //dwx.
31b0: 52 65 67 69 73 74 65 72 28 22 55 53 45 52 33 32  Register("USER32
31c0: 2e 44 4c 4c 22 2c 20 22 45 6e 75 6d 43 6c 69 70  .DLL", "EnumClip
31d0: 62 6f 61 72 64 46 6f 72 6d 61 74 73 22 2c 20 22  boardFormats", "
31e0: 69 3d 6c 22 2c 20 22 66 3d 73 22 2c 20 22 72 3d  i=l", "f=s", "r=
31f0: 6c 22 29 0d 0a 20 20 20 20 20 20 20 20 2f 2f 20  l")..        // 
3200: 64 6f 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20  do{..           
3210: 20 2f 2f 20 66 6f 72 6d 61 74 20 3d 20 64 77 78   // format = dwx
3220: 2e 45 6e 75 6d 43 6c 69 70 62 6f 61 72 64 46 6f  .EnumClipboardFo
3230: 72 6d 61 74 73 28 30 29 0d 0a 20 20 20 20 20 20  rmats(0)..      
3240: 20 20 20 20 20 20 2f 2f 20 2f 2f 69 66 20 28 21        // //if (!
3250: 72 65 73 29 20 20 74 68 72 6f 77 20 22 d0 9d d0  res)  throw "...
3260: b5 d0 b2 d0 be d0 b7 d0 bc d0 be d0 b6 d0 bd d0  ................
3270: be 20 45 6e 75 6d 43 6c 69 70 62 6f 61 72 64 46  . EnumClipboardF
3280: 6f 72 6d 61 74 73 22 0d 0a 20 20 20 20 20 20 20  ormats"..       
3290: 20 2f 2f 20 7d 20 77 68 69 6c 65 28 66 6f 72 6d   // } while(form
32a0: 61 74 20 21 3d 20 30 20 26 26 20 66 6f 72 6d 61  at != 0 && forma
32b0: 74 20 21 3d 20 43 46 5f 54 45 58 54 20 26 26 20  t != CF_TEXT && 
32c0: 66 6f 72 6d 61 74 20 21 3d 20 43 46 5f 55 4e 49  format != CF_UNI
32d0: 43 4f 44 45 54 45 58 54 29 0d 0a 20 20 20 20 20  CODETEXT)..     
32e0: 20 20 20 0d 0a 20 20 20 20 20 20 20 20 2f 2f 20     ..        // 
32f0: 69 66 28 21 66 6f 72 6d 61 74 29 7b 0d 0a 20 20  if(!format){..  
3300: 20 20 20 20 20 20 20 20 20 20 2f 2f 20 72 65 73            // res
3310: 20 3d 20 64 77 78 2e 43 6c 6f 73 65 43 6c 69 70   = dwx.CloseClip
3320: 62 6f 61 72 64 28 29 0d 0a 20 20 20 20 20 20 20  board()..       
3330: 20 20 20 20 20 20 20 20 20 2f 2f 2f 2f 20 69 66           //// if
3340: 20 28 21 72 65 73 29 20 20 74 68 72 6f 77 20 22   (!res)  throw "
3350: d0 9d d0 b5 d0 b2 d0 be d0 b7 d0 bc d0 be d0 b6  ................
3360: d0 bd d0 be 20 d0 b7 d0 b0 d0 ba d1 80 d1 8b d1  .... ...........
3370: 82 d1 8c 20 d0 b1 d1 83 d1 84 d0 b5 d1 80 20 d0  ... .......... .
3380: be d0 b1 d0 bc d0 b5 d0 bd d0 b0 22 0d 0a 20 20  ..........."..  
3390: 20 20 20 20 20 20 20 20 20 20 2f 2f 20 72 65 74            // ret
33a0: 75 72 6e 20 22 22 3b 0d 0a 20 20 20 20 20 20 20  urn "";..       
33b0: 20 2f 2f 20 7d 0d 0a 20 20 20 20 76 61 72 20 72   // }..    var r
33c0: 65 73 53 74 72 20 3d 20 22 22 3b 0d 0a 0d 0a 20  esStr = "";.... 
33d0: 20 20 20 69 66 28 74 72 75 65 29 20 2f 2f 66 6f     if(true) //fo
33e0: 72 6d 61 74 20 3d 3d 20 43 46 5f 54 45 58 54 29  rmat == CF_TEXT)
33f0: 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20  ..    {..       
3400: 20 76 61 72 20 68 43 6c 69 70 54 65 78 74 20 3d   var hClipText =
3410: 20 64 77 78 2e 47 65 74 43 6c 69 70 62 6f 61 72   dwx.GetClipboar
3420: 64 44 61 74 61 28 43 46 5f 54 45 58 54 29 3b 20  dData(CF_TEXT); 
3430: 2f 2f d0 9f d0 be d0 bb d1 83 d1 87 d0 b5 d0 bd  //..............
3440: d0 b8 d0 b5 20 d1 85 d1 8d d0 bd d0 b4 d0 bb d0  .... ...........
3450: b0 20 d0 b4 d0 b0 d0 bd d0 bd d1 8b d1 85 2e 0d  . ..............
3460: 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20  .            if 
3470: 28 21 68 43 6c 69 70 54 65 78 74 29 20 20 72 65  (!hClipText)  re
3480: 74 75 72 6e 20 22 22 3b 20 2f 2f 74 68 72 6f 77  turn ""; //throw
3490: 20 22 d0 9d d0 b5 d0 b2 d0 be d0 b7 d0 bc d0 be   "..............
34a0: d0 b6 d0 bd d0 be 20 47 65 74 43 6c 69 70 62 6f  ...... GetClipbo
34b0: 61 72 64 44 61 74 61 22 20 2f 2f 20 54 4f 44 4f  ardData" // TODO
34c0: 20 0d 0a 0d 0a 20 20 20 20 20 20 20 20 70 74 72   ....        ptr
34d0: 54 65 78 74 20 3d 20 64 77 78 2e 47 6c 6f 62 61  Text = dwx.Globa
34e0: 6c 4c 6f 63 6b 28 68 43 6c 69 70 54 65 78 74 29  lLock(hClipText)
34f0: 3b 20 2f 2f d0 9a d0 be d0 bd d0 b2 d0 b5 d1 80  ; //............
3500: d1 82 d0 b0 d1 86 d0 b8 d1 8f 20 d1 85 d1 8d d0  .......... .....
3510: bd d0 b4 d0 bb d0 b0 20 d0 b2 20 d1 83 d0 ba d0  ....... .. .....
3520: b0 d0 b7 d0 b0 d1 82 d0 b5 d0 bb d1 8c 2e 0d 0a  ................
3530: 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28              if (
3540: 21 70 74 72 54 65 78 74 29 20 20 74 68 72 6f 77  !ptrText)  throw
3550: 20 22 d0 9d d0 b5 d0 b2 d0 be d0 b7 d0 bc d0 be   "..............
3560: d0 b6 d0 bd d0 be 20 d1 80 d0 b5 d0 b7 d0 b5 d1  ...... .........
3570: 80 d0 b2 d0 b8 d1 80 d0 be d0 b2 d0 b0 d1 82 d1  ................
3580: 8c 20 d0 bf d0 b0 d0 bc d1 8f d1 82 d1 8c 22 3b  . ............";
3590: 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20  ..        ..    
35a0: 20 20 20 20 72 65 73 53 74 72 20 3d 20 64 77 78      resStr = dwx
35b0: 2e 53 74 72 47 65 74 28 70 74 72 54 65 78 74 2c  .StrGet(ptrText,
35c0: 20 22 73 22 29 3b 20 2f 2f 20 44 6c 6c 43 61 6c   "s"); // DllCal
35d0: 6c 28 22 6d 73 76 63 72 74 5c 6d 65 6d 63 70 79  l("msvcrt\memcpy
35e0: 22 2c 20 22 53 74 72 22 2c 20 72 65 73 53 74 72  ", "Str", resStr
35f0: 2c 20 22 55 49 6e 74 22 2c 20 50 74 72 54 65 78  , "UInt", PtrTex
3600: 74 2c 20 22 55 49 6e 74 22 2c 20 54 65 78 74 4c  t, "UInt", TextL
3610: 65 6e 2b 31 2c 20 22 43 64 65 63 6c 22 29 20 3b  en+1, "Cdecl") ;
3620: 20 d0 a2 d0 b5 d0 ba d1 81 d1 82 20 d0 b2 20 d0   .......... .. .
3630: bf d0 b5 d1 80 d0 b5 d0 bc d0 b5 d0 bd d0 bd d1  ................
3640: 83 d1 8e 2e 0d 0a 0d 0a 20 20 20 20 20 20 20 20  ........        
3650: 68 52 65 73 20 3d 20 64 77 78 2e 47 6c 6f 62 61  hRes = dwx.Globa
3660: 6c 55 6e 6c 6f 63 6b 28 68 43 6c 69 70 54 65 78  lUnlock(hClipTex
3670: 74 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  t)..            
3680: 2f 2f 69 66 20 28 21 68 52 65 73 29 20 20 74 68  //if (!hRes)  th
3690: 72 6f 77 20 22 d0 9d d0 b5 d0 b2 d0 be d0 b7 d0  row "...........
36a0: bc d0 be d0 b6 d0 bd d0 be 20 d1 80 d0 b0 d0 b7  ......... ......
36b0: d0 b1 d0 bb d0 be d0 ba d0 b8 d1 80 d0 be d0 b2  ................
36c0: d0 b0 d1 82 d1 8c 20 d0 bf d0 b0 d0 bc d1 8f d1  ...... .........
36d0: 82 d1 8c 22 0d 0a 20 20 20 20 7d 0d 0a 20 20 20  ..."..    }..   
36e0: 20 20 20 20 20 2f 2f 20 65 6c 73 65 20 69 66 28       // else if(
36f0: 66 6f 72 6d 61 74 20 3d 3d 20 43 46 5f 55 4e 49  format == CF_UNI
3700: 43 4f 44 45 54 45 58 54 29 0d 0a 20 20 20 20 20  CODETEXT)..     
3710: 20 20 20 2f 2f 20 7b 0d 0a 20 20 20 20 20 20 20     // {..       
3720: 20 20 20 20 20 2f 2f 20 76 61 72 20 68 43 6c 69       // var hCli
3730: 70 54 65 78 74 20 3d 20 64 77 78 2e 47 65 74 43  pText = dwx.GetC
3740: 6c 69 70 62 6f 61 72 64 44 61 74 61 28 43 46 5f  lipboardData(CF_
3750: 55 4e 49 43 4f 44 45 54 45 58 54 29 3b 20 2f 2f  UNICODETEXT); //
3760: d0 9f d0 be d0 bb d1 83 d1 87 d0 b5 d0 bd d0 b8  ................
3770: d0 b5 20 d1 85 d1 8d d0 bd d0 b4 d0 bb d0 b0 20  .. ............ 
3780: d0 b4 d0 b0 d0 bd d0 bd d1 8b d1 85 2e 0d 0a 20  ............... 
3790: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f                 /
37a0: 2f 20 69 66 20 28 21 68 43 6c 69 70 54 65 78 74  / if (!hClipText
37b0: 29 20 20 74 68 72 6f 77 20 22 d0 9d d0 b5 d0 b2  )  throw "......
37c0: d0 be d0 b7 d0 bc d0 be d0 b6 d0 bd d0 be 20 47  .............. G
37d0: 65 74 43 6c 69 70 62 6f 61 72 64 44 61 74 61 22  etClipboardData"
37e0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
37f0: 20 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20    ..            
3800: 20 20 20 20 2f 2f 20 2f 2f 20 50 74 72 54 65 78      // // PtrTex
3810: 74 57 20 3a 3d 44 6c 6c 43 61 6c 6c 28 22 47 6c  tW :=DllCall("Gl
3820: 6f 62 61 6c 4c 6f 63 6b 22 2c 20 20 20 20 20 20  obalLock",      
3830: 20 22 55 49 6e 74 22 2c 20 48 6d 65 6d 54 65 78   "UInt", HmemTex
3840: 74 57 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20  tW)..           
3850: 20 20 20 20 20 2f 2f 20 2f 2f 20 54 65 78 74 4c       // // TextL
3860: 65 6e 20 20 3a 3d 44 6c 6c 43 61 6c 6c 28 22 6d  en  :=DllCall("m
3870: 73 76 63 72 74 5c 77 63 73 6c 65 6e 22 2c 20 20  svcrt\wcslen",  
3880: 20 20 22 55 49 6e 74 22 2c 20 50 74 72 54 65 78    "UInt", PtrTex
3890: 74 57 2c 20 22 43 64 65 63 6c 22 29 0d 0a 20 20  tW, "Cdecl")..  
38a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f                //
38b0: 20 2f 2f 20 56 61 72 53 65 74 43 61 70 61 63 69   // VarSetCapaci
38c0: 74 79 28 72 65 73 53 74 72 2c 20 54 65 78 74 4c  ty(resStr, TextL
38d0: 65 6e 2b 31 29 0d 0a 20 20 20 20 20 20 20 20 20  en+1)..         
38e0: 20 20 20 20 20 20 20 2f 2f 20 2f 2f 20 44 6c 6c         // // Dll
38f0: 43 61 6c 6c 28 22 57 69 64 65 43 68 61 72 54 6f  Call("WideCharTo
3900: 4d 75 6c 74 69 42 79 74 65 22 2c 20 22 55 49 6e  MultiByte", "UIn
3910: 74 22 2c 20 43 6f 64 65 50 61 67 65 2c 20 22 55  t", CodePage, "U
3920: 49 6e 74 22 2c 20 30 2c 20 22 55 49 6e 74 22 2c  Int", 0, "UInt",
3930: 20 50 74 72 54 65 78 74 57 20 0d 0a 20 20 20 20   PtrTextW ..    
3940: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3950: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3960: 20 20 20 20 20 20 20 20 20 2f 2f 20 2f 2f 20 2c           // // ,
3970: 20 22 49 6e 74 22 2c 20 54 65 78 74 4c 65 6e 2b   "Int", TextLen+
3980: 31 2c 20 22 53 74 72 22 2c 20 72 65 73 53 74 72  1, "Str", resStr
3990: 2c 20 22 49 6e 74 22 2c 20 54 65 78 74 4c 65 6e  , "Int", TextLen
39a0: 2b 31 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  +1..            
39b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
39c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
39d0: 20 2f 2f 20 2f 2f 20 2c 20 22 55 49 6e 74 22 2c   // // , "UInt",
39e0: 20 30 2c 20 22 49 6e 74 22 2c 20 30 29 20 20 3b   0, "Int", 0)  ;
39f0: 20 d0 9a d0 be d0 bd d0 b2 d0 b5 d1 80 d1 82 d0   ...............
3a00: b0 d1 86 d0 b8 d1 8f 20 d0 b8 d0 b7 20 55 6e 69  ....... .... Uni
3a10: 63 6f 64 65 20 d0 b2 20 41 4e 53 49 2e 0d 0a 20  code .. ANSI... 
3a20: 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 68 52             // hR
3a30: 65 73 20 3d 20 64 77 78 2e 47 6c 6f 62 61 6c 55  es = dwx.GlobalU
3a40: 6e 6c 6f 63 6b 28 68 43 6c 69 70 54 65 78 74 29  nlock(hClipText)
3a50: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f  ..            //
3a60: 20 69 66 20 28 21 68 52 65 73 29 20 20 74 68 72   if (!hRes)  thr
3a70: 6f 77 20 22 d0 9d d0 b5 d0 b2 d0 be d0 b7 d0 bc  ow "............
3a80: d0 be d0 b6 d0 bd d0 be 20 d1 80 d0 b0 d0 b7 d0  ........ .......
3a90: b1 d0 bb d0 be d0 ba d0 b8 d1 80 d0 be d0 b2 d0  ................
3aa0: b0 d1 82 d1 8c 20 d0 bf d0 b0 d0 bc d1 8f d1 82  ..... ..........
3ab0: d1 8c 22 0d 0a 20 20 20 20 20 20 20 20 2f 2f 20  .."..        // 
3ac0: 7d 0d 0a 0d 0a 20 20 20 20 68 52 65 73 20 3d 20  }....    hRes = 
3ad0: 64 77 78 2e 43 6c 6f 73 65 43 6c 69 70 62 6f 61  dwx.CloseClipboa
3ae0: 72 64 28 29 3b 20 0d 0a 20 20 20 20 20 20 20 20  rd(); ..        
3af0: 2f 2f 69 66 20 28 21 68 52 65 73 29 20 20 74 68  //if (!hRes)  th
3b00: 72 6f 77 20 22 d0 9d d0 b5 d0 b2 d0 be d0 b7 d0  row "...........
3b10: bc d0 be d0 b6 d0 bd d0 be 20 d0 b7 d0 b0 d0 ba  ......... ......
3b20: d1 80 d1 8b d1 82 d1 8c 20 d0 b1 d1 83 d1 84 d0  ........ .......
3b30: b5 d1 80 20 d0 be d0 b1 d0 bc d0 b5 d0 bd d0 b0  ... ............
3b40: 22 0d 0a 20 20 20 20 72 65 74 75 72 6e 20 72 65  "..    return re
3b50: 73 53 74 72 3b 0d 0a 7d 0d 0a 0d 0a 66 75 6e 63  sStr;..}....func
3b60: 74 69 6f 6e 20 5f 47 65 74 46 72 6f 6d 43 6c 69  tion _GetFromCli
3b70: 70 62 6f 61 72 64 31 28 29 0d 0a 7b 0d 0a 20 20  pboard1()..{..  
3b80: 20 20 68 52 65 73 20 3d 20 64 77 78 2e 4f 70 65    hRes = dwx.Ope
3b90: 6e 43 6c 69 70 62 6f 61 72 64 28 30 29 3b 20 0d  nClipboard(0); .
3ba0: 0a 0d 0a 20 20 20 20 68 43 6c 69 70 4d 65 6d 6f  ...    hClipMemo
3bb0: 72 79 20 3d 20 20 64 77 78 2e 47 65 74 43 6c 69  ry =  dwx.GetCli
3bc0: 70 62 6f 61 72 64 44 61 74 61 28 43 46 5f 54 45  pboardData(CF_TE
3bd0: 58 54 29 3b 0d 0a 20 20 20 20 6c 53 69 7a 65 20  XT);..    lSize 
3be0: 3d 20 64 77 78 2e 47 6c 6f 62 61 6c 53 69 7a 65  = dwx.GlobalSize
3bf0: 28 68 43 6c 69 70 4d 65 6d 6f 72 79 29 3b 0d 0a  (hClipMemory);..
3c00: 0d 0a 20 20 20 20 6c 70 43 6c 69 70 4d 65 6d 6f  ..    lpClipMemo
3c10: 72 79 20 3d 20 64 77 78 2e 47 6c 6f 62 61 6c 4c  ry = dwx.GlobalL
3c20: 6f 63 6b 28 68 43 6c 69 70 4d 65 6d 6f 72 79 29  ock(hClipMemory)
3c30: 3b 0d 0a 20 20 20 20 76 61 72 20 4d 79 53 74 72  ;..    var MyStr
3c40: 69 6e 67 20 3d 20 64 77 78 2e 53 70 61 63 65 28  ing = dwx.Space(
3c50: 6c 53 69 7a 65 2c 20 22 22 29 3b 20 2f 2f 6c 53  lSize, ""); //lS
3c60: 69 7a 65 29 3b 0d 0a 20 20 20 20 0d 0a 20 20 20  ize);..    ..   
3c70: 20 68 52 65 73 20 3d 20 64 77 78 2e 6c 73 74 72   hRes = dwx.lstr
3c80: 63 70 79 28 4d 79 53 74 72 69 6e 67 2c 20 68 43  cpy(MyString, hC
3c90: 6c 69 70 4d 65 6d 6f 72 79 29 3b 0d 0a 0d 0a 20  lipMemory);.... 
3ca0: 20 20 20 68 52 65 73 20 3d 20 64 77 78 2e 47 6c     hRes = dwx.Gl
3cb0: 6f 62 61 6c 55 6e 6c 6f 63 6b 28 68 43 6c 69 70  obalUnlock(hClip
3cc0: 4d 65 6d 6f 72 79 29 3b 0d 0a 20 20 20 20 68 52  Memory);..    hR
3cd0: 65 73 20 3d 20 64 77 78 2e 43 6c 6f 73 65 43 6c  es = dwx.CloseCl
3ce0: 69 70 62 6f 61 72 64 28 29 3b 0d 0a 20 20 20 20  ipboard();..    
3cf0: 72 65 74 75 72 6e 20 4d 79 53 74 72 69 6e 67 3b  return MyString;
3d00: 0d 0a 7d 0d 0a                                   ..}..