用Win32编写发送消息至Notepad++的程序

这次利用Win32编程写一个发送"Win32 Assembly,My First SendMessage Program !"

每个程序要发送消息至另一个程序的时候,通常使用SendMessage函数或PostMessage函数

两个函数的原型如下:

函数原型:LRESULT SendMessage(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM IParam);
参数:
hWnd:其窗口程序将接收消息的窗口的句柄。如果此参数为HWND_BROADCAST,则消息将被发送到系统中所有顶层窗口,包括无效或不可见的非自身拥有的窗口、被覆盖的窗口和弹出式窗口,但消息不被发送到子窗口。
Msg:指定被发送的消息。
wParam:指定附加的消息指定信息。
IParam:指定附加的消息指定信息。
返回值:返回值指定消息处理的结果,依赖于所发送的消息。

函数原型:PostMessage(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam);
参数:
hWnd:其窗口程序将接收消息的窗口的句柄。
Msg:指定被发送的消息。
wParam:指定附加的消息指定信息。
IParam:指定附加的消息指定信息。
返回值:如果函数调用成功,返回非零,否则函数调用返回值为零。

观看原型就会发现,程序发送时,需要指定函数的参数HWND hWnd。

也就是获取发送窗口的句柄(这里的句柄是指接受程序的窗口的句柄)。

利用spy++获取程序句柄

spy++是一款非常好用的工具,可以帮助程序员查看获取各种窗口的句柄以及类等。

aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAABAEAAAINCAIAAADA8/EOAAAgAElEQVR4nO3dP8gsR5rn+zKuIVNGGzLaWIGMFYzRDe0I1tGBMUbQxgjamIY2lmaMQVxjacYYxDiHZI1BjHERbVxEe32NBa0xoPV6HcEZ40KvMfCuMdBrrCGzTZl1jXf6vXUyIp58MutfVOTny5eiTlRmZETUe+D5VdSfw9O//J4kSZLkfjw8/cvvjwAAAAD2wfR6+rcMcPcsQpIkSfIGygAkSZLkvpxngHc++IwkSZLkkK7LAF/+37//7Bdff/Kj6ZM/+/zuQydJkiS5wWwG+PI3333xj3/47G+ePv3zbz76sy8/+uCzH//w07uPniRJkuzTVR/PffXxq7XHb7vK81mpDPDlb757+pfvf/8//jj9w5tPf/bFRz/59P0ffvjeuz/+6Ie/vPvisuXzM333YZAkSe7TY/qjttPr6TkDrDp+21Wez8pmgOPx+PS//vDVb77++S8+//GPfvneu798/93PPvvZdPfF5YuZ8Jc58u4TIUmSHMDNGeDQ5nYZ4MvffPeH777/3T8ff/7XT+9/8M277/72vXe//PAHn//yZ83ZtmrKu5eYmyvd86vk6omXXZCX3spyv9W4bTx3fx5JkiT79/YZ4PSYsmVdBvj819//9p/++MlfvXn3h199+Gdf/Pxn0+d//dkXf/Xez//io9Zs+3xdeXMVnqmer3f1zReqVv/xdfOr0c/TSpIk2afnZIDqYZl9gNOifxYJVr8X6J0PPvvs//x8+tvPvnz9q6//8y+/+fuPPv/Lj9794dc//tkfv/h/vi9nO3AGuP3VL3i5xUftA5AkSV7Ku2SA2TbC9vcCff3Pf/z5Pzx9+h+/ePrnr7//329+/1+mr//uox9/8KvDu0+fvf7u6//x/Zf/9MfZbKsZoBUJZkcGESJo2XZk9dzWU7i2w4B4msH6LA518bqnh7VOz/xBZw4jSZLcs8c7ZYDqm4JWZ4Av/ssfvv7nP370s99Of/fFH7797dd//+n0sw8//PdfvfvB73/7377/+v89/va/pzLAO7XacVYTz3pIHlkud3nk4sHJJ7LaYXVIF7/6qhHGV5cBSJIkr+29MsBl9gHe+eCzz3/99OoX3/z8b7756vWvvnn96e/+6+/e/eHvPvrp7z//9R8///X84G0ZIN9Y7XOxNF91rfi5jMv96sQvdfXk8FosXjc5nosPmyRJcjyPD/15gE/++usP/8Pnr3729dP//OOX//D5d//7D1//1+8O7/z2k188vffBZz/+0fyXwlaVnvnKuFXZl6e0jtxchVc7X7zQ5pme+ad2evVVS5EfjwxAkiS56LH4xp74FfrzM8Alvxfo/Y9/+9HHn3/6i29+9Z+++eSnn3zzT19/+Ge//fBH30y//v69Dz7/8V9+9ctffzebbTUDlC3V9tZh79Rq6+qFVh1ZPbh13aDP8vh7/anNlrE6pGNI5hJ3nCNJkuRDeDwjA2z7btDMbsPzWQsZ4Jevf//eT7589eeff/Y333z6068+f/35r/7TV4f/Y/rkZ3/4+X/8+r0fTa/+4Y+//Z/Hz//xD3df5bs8r9U6+O4ZYJYEyiF1OHKSJMnBXFudb6vmr5IBfvyXv3v/J1+8/8NPPv3pl5/+9MvP/uazj37y+bvvfvXhj75679+9ev8vvnr1j8cv/tv3v/y7yteJjm28M9DDqNa+wE+SJMkLejwep9dT0ucMsOr4bVd5PmtpH+Bv33z0F1+9+86HH/3kV5/++fTJX3z6/g9+9d4Pvnj3Bz9/5533P/yrbz56/f2v/q/vPvv7p7uvMkmSJNmPrz5+dVW3XeX5rOXPA3z+n3/3/g9//NFPfv7pn//qox998uEPp/f/3Wfv/uC99//9R5/8/Xev/va7n//d05e/+e5Si0WSJEnyqi5nAJIkSZIjWc8AJEmSJMdWBiBJkiT3pQxAkiRJ7ksZgCRJktyX6zLAy0+Ulb9j3Ppl436Mf3QtnsjNZlf+yHP+4NsPL7/IrdW+72jv6Nqx9TwXkiT5cKYyQFn6x4Vypuxb2x67ueg8MwNcdhblCr/cttb2xuu8+CyfdnultY3HFnP3NaxeMR5h5loXf5ZJkuTYbs8AQRETF4JBP8EpsckaKFP2zWa0OItWb9vKr9kCZgaQ6e0iI8w8y9VnNpjF6QhPT9w8wvLE5GIuPsvls7P5Wc6PMLMUl11DkiS5B7dkgEw5EhwcF2rVfy66qqprHVCtWavVc2tNzpnFoeCpKO/KYzIjbK35hnVefJbLejR59QuOcLGAzv+1XPxZLp/EarfV9bzxs0ySJAd2dQZo1RlPuYKpPCy+YtLFsjisnCsFa7W0DUZYHfDm+rVVxVYLvsyQFp+LtSPMLFRrbYMRJhd21TjzD237k942wnju1T/g268hSZIc1Y2fCW79syyV4rpzViO2el47sHPaO8kAQUop13BxjtVONo8weJarA87P4vwRVpeuHE/yr+Lia1gdVflnlrkTjDA4hiRJ8umC3w16WtBUq8PTIze0LF59sT15P65xW1esDmBD7ZWpVlul7eLcL1VhB89yuZjJRbvgCJPXyjxf1xhhdWyt531tBlg8hiRJ8in/XqAWLwc8FSXIqprpzKplcYSzgc1K2GAWL8dvGPCqWcxGFU+kOvK1B2wY4eKzvGqc5T+Tfy2ZQc6WbttqBH8eZ45wsc/Z895a4eq8Mn+cJElyz571meDFciSuTfPV4aJrq7rF4a0qbRdnumEirf6r8SAfEs6vDuNneTbOVYt2kTXMlM53zADB0xc/XzIASZK8oHfIAKePVuvXMwvToH2xonoZ1eJhs0cvMovqGuZnl1nnTCm8doRBn4tXzD+6dnjBpTNVeOtZuOzfanw/+aydHlzOfduzTJIkx/YqGSAum6rnLrbHLlZ1ixVhPIC1o91ceMU1dLzONx5h9VkOnojFIvsiI2z9iS4+xRdszz/Frao9/nO9wbNMkiTHdjkD5Ku6Wfl1evq1p7GqBoqHVK25b1NLvVxotraz+9VR3azai5/leBi3+UtY/EPtx8yoWs84SZLkZi/2vUAkSZIkH0IZgCRJktyXMgBJkiS5L2UAkiRJcl/OM8D0eiJJkiQ5pPUMcAQAAAAwKPUMQJIkSXJsZQCSJElyX+4iA0yvp2tM8LG67cfhJ0iSJNm5t8sAd/y51m1F5+F4OByj0Va7PRym2CuNdvPKlJ8RuXYP8QRP/06qv/UbL2PwO8F+ZJckSfLZW2SAw+EwvZ5ebm9fjW2oqqfX00sAaA34XhmgXMNtq/pctb98QGT2UfH4xMUeNk/wZRbV6RwOh8UM0PoEjBhAkiT5bJQB4pdUky+vPpf+M8+sxtaWvI1ifQWrug0+iJ0ZcyYDzLoqW/LLcnqtlzo+HsPpq/6zHjJxKxlynpoxYF0GOByml8XfsEokSZLjuZgBFl7VPhymuKiqvja8OQYcNm0ptDNAanYbMsAsQlw8A8xGtTYUBRdalQGqp2/LAGXoasWADRngOQYshjqSJMmdeN0McFpvvdTuT1tr1sPWLYUzM0Dr/S35fYCXJPBS1wZjTr5d/rRW3lbdlvHsdGEzGaB6+uYMcBqTWjHg5VkL1mdW/b+4KomRJEkO7EIGaLylZV7gtno/LaBfitTNnw34U4n5POB/u83EgA1v2snMLrkPcPEMcNp/tWXV0z+r40/nHpxYHnb62YDFiwbrVt5/ejs0JjPAyVuA3goAMgBJkuTVM8Ch2AfY9tmAP5XRh6e3txReqt94kjfOAGUnF8kAhxzJJ/70Df1nfi/Q8/1kP4vZabb4h8rnH9ZlgPxzSpIkuQevmwGe3q4RN7+Q/3SypfBcKL7cvnR7TrF+OB6e69fnO8+Tej5rQ7cBp7sfrZ5bGeA0SLycXjYmY8DsfTvJt/FcpJ9Vkezw9nuEFi0zwElX06quSJIkR/XqGeDwp9f+/1Stbnkh/+ma+wDPpf/hOY28hIGT2npVt9VhB+S7vWAGmL2hv/X+/sxfTzUDxP1s25ZZmwFqpb8MQJIk+funG2SAp7e/zOdp0wv5L2OtbiMsnpvJAMc/7Qa8ZIDF2SUzwNPbSaD8Z7LbVrm/NgOUdf/zFdfGgGo/T4kYkHkvUHWCmVHN/mhPPwwgA5AkST57iwzw0tvhjH2Ap5MthbXvI0pmgBd6zgBlrd9qj4cdZIDFSVX7eb6f6edm+wC+F4gkSbLq7TLA0xkv5J8OaSq+Vmjzh1CrHwO4eAaIyXd7CL//J360fBYC8xlgWz/32geQAUiSJJ9dyABJkhc7bH0hvzWw/CQrReefPgDw/9/WAkZwlVUZ4DSonPaf7/aCGeD4p1frX8riWWN+VTf0c6/PA8gAJEmSz0YZ4BpW6+z8e9A3T7KaAf5t/idvT3p6+31KG7ot5/tym2kPuo1zVz6VVcv08zNAvp/mtswSmVEtZgkZgCRJ8tYZ4NlVVd1FJtnKAG8txPof2MrvA+RXIF+Fb16N8u06Z74XaFU/V51gJkvIACRJcufeJwPcfpLXmOBjdXvq6YviceM1+rnBBEmSJBkoA+yl234cfoIkSZKdu4sMQJIkSfJFGYAkSZLcl/MMsPil7yRJkiQf0dOaf54BXn38iiRJkuRIzmr+Sga4+/YESZIkH91XH7+6+yvffPEpkwEWf2gJAAAAaPFcVd698OWL2Qxw9+xIkiTJB3WSATrzSQYgSZLkVZ1kgM58WpUB3vngM5IkSTKpDNCnMgBJkiSvpQzQpzIASZLkY7vq47mvPn619vhtV3k+Swbo040Z4JAm/mO9+/8ZkiTJR/eY/ujmc3W39vhtV3k+Swbo03MywJTwcPrXuUjmyLv/NyNJkuzKzRkgeBlXBhjbW2eAd97eAYgby7/vTAYQFUiS5K68fQY4PaZsmWSA7t2eATKv65fvBSqL/rJkPycD2C4gSZJ785wMUD0ssw9wWvTPIsEkA3TvrTPAy99QUKbbByBJksx7lwww20bwXqDH8qYZID54dlj171sGIEmSnHmvDFDuAMgAj+IdMsA7RZkuA5AkSW72XhnAPsDjah+AJEnysb1LBvB5gIf2bhngnfS2wGL7tsNIkiTH8LQ6b33Dz2UzgO8FenTv+V6gl0q9mgFaLP4fSB5JkiQ5hudkgBaZ9wLFuw3PZ8kAfbo9AySZ/YGeFujlndPDqn/fKnuSJMmZa6vzbdW8DDCSGzPA5j/QzS/wkyRJsurxeMwXf88ZYNXx267yfJYM0Kc3zQAkSZK8uK8+fnVVt13l+SwZoE9lAJIkSV5LGaBPZQCSJEleSxmgT9dlAJIkSXKtkwzQmU+rMsDdh0uSJMlHcVZV3n08fHF1Brj2h05IkiQ5gGUNeffCly9uyQDxV3xelcPh8P2/ful2sNs7/kUBAIAkq978IwN07oNlgO//9cu7f7SFl/X7f/3yjn9RAAAgyXNNmKFVQ9698OWLd8sA+V8anp1VFpFHvy92Jy+y8vYBAAB4CJ7S3xPTqiHvXvjyxftmgCnhWwXi8z7AYucvFWp8QFnRzh7NtJSl8EXOer5T3lbvZC4aL1E81FbFH/fZYtabfQAAAB4CGWAkL5YBgmtUj9+WAZ73AY6NIjgokRdfvS67SrY8s7af+KzTE1udxOvQ6nztBPOL1jI45vkh+wAAADwEMsBIXjIDrGpPVn7VfYBk0X9sVJ/V9mOudg+OX1uOZ+5XxzljcXatZYmPDM5qsTYkPD9qHwAAgIdABhjJB8sA5ecBjksvMw+WAeIi/jYZYHFV4+d0dop9AAAAHoJqBjgcDjLAI/pgGeBlHyA4ZbcZYDb9uJSfrWHcOLtofuWDOy/37QMAAPAQlBng5RtcZICH88IZoPxKn+f28vbMfYBj4v0/x0YxXW0vT8y0dJUBMl3lL9pa2Myqnh78Qusw+wAAADwEswwwq/pkgMfygfcBZiXmMSy4h8kA5RLlE8KxUdavzQAtgjFUR3W0DwAAwONwWhNWv89dBnggHywDnO4DPLNYYg6WAZKF9eIcVw012WEcGFoXtQ8AAMBD4DPBI/lgGWC2D/BSZbbq2hatyrXsbbGlWi5f5Kx8BihPr8637Dw51NOQELOYUo7Fk2UfAACAh0AGGMlLZoCW1ePP/J3g49uvW5d3Mq9SM291YavL/s5SVJj1Yx8AAICHQAYYyYtlgNuw6nuBeFnLFT4WGwhle9nJ7I59AAAAHgIZYCQfLAOUvw/AR9c+AAAAD8FzKZhUBujcB8sA3//rl4fDwe1gt3f8iwIAAEleffxqlTJAz/aVAabGhwcAAABwXzLvAnpRBujcvjIAAAAA+uS5JszQqiHvXvjyxb4ywJTYB3jz7Zuki115JzoAAEASnwkeyb4yQIY3377JTKyaAZLfQ7p4QKvbVS3H2i+gxWfFoz3t8+V2cXbxjF6OaR0ZkD9lQ+etfuJ5nTOMTJ/xsmd6m632Yj/baA0m81yfuQ4AgMdFBhjJvjLAlNsHyEyslQFmd6qNcX0WNJYlVNAyK4zW9lM9q3pYsvqMj7lqQX/BDHC9Yaxdt/ivJXh0bWzYwM0ywPYhAgD6QwYYyb4yQIbMm3ziwxaL/htkgMz9TAbYMGwZYEMPyd7OzABBb5clzgDHC62DDAAAgyEDjGRfGWDK7QNkulo8LChQes4AwTsrbpMBqjsYpy2z7YjTkZenBMVi2e2qfjIjjCdevZ8ZRnl6eWKwnq0eypEkn4jqQ60+L7gO5fjjIZ2eGMwLAHAvZICR7CsDZDgzAxzanB7TOjduLEufVkvmfr6fYMzVIxeLqvKYxQGUx5T1XGZerfEn+4mntni5xWcnvybVJ2jDei5OYbFlccHLIy+yDq2/onhGq5YIAHBLZICR7CsDTK+nxdvzM8DsTvnPuIIMGtfW7vH9fIGYqaGTB8eXC8rBl1JvVcUfFOWtblf1vNhVa+7lbbXbxUdbB5dVcvwUBxct59iqqlunLx65bR0W/2jj0WaWCABwS2SAkewrA2S4SAYICqZjo/ZqtZ9Zm67qp3rdxcKoVfDlTwmGFLRsOKU6gG395CvgYKbbat/yfnlwfiTB8OKDe84Ai382QScAgHshA4xkXxlguv7nAWYvKAZFSfXcuPHaGWBtOVsdtgywKjUFq3fZDLBY1sfleKaqrh7cOjIzneQA4gvlM4A8AAD3RQYYyb4yQIYLvhcoqN5atPose1tsOdbqqrX9JIcX/DNzyrFYt9ZynR4c1HCzU6qzKI9Z1c9s8K2uFqcfrF5rGPGJszEsPnfVta2e2DoyPnjtZPPrUE4qGEB1gq3BAwDuggwwkn1lgOn6vxO8WHAca7VL3I7NXGpJPTUAAFwbGWAk+8oAN+DQ5t5Duw+3X4dLXevMfvwBAACwChlgJPvKAFNiHwAAAAC3RwYYyb4yAAAAAPpEBhjJvjLAZB8AAACgS2SAkewrAwAAAKBPZICR7CsDTNf/XqBTfAwUAAAgiQwwkn1lgAxvvn2TmVg1AwRfCnT6zTBrvzuofDTTclz/+wDBYA5vf8lp9ZTqRbeRvHrm3OCYzOJvwBIBALABGWAk+8oAU24fIDOxVgaY3ak2BrV+3FiWd0FLWe6v6mc2htMDWhO5eBld/vPiBe72IeZ6tkQAACSRAUayrwyQ4czfCT4miv4bZIDM/Q0ZIDPgixAXuMfcNBf7v0GBa4kAAEgiA4xkXxlgyu0DZLpaPCwonnrOAK0NhHwGOK1By65OW8r7i6kpX+CezqgcQGtS8ZBOTwzmVR15azqWCACAZ2SAkewrA2Q4MwMc2pwe0zo3bizLslZL5n6yn1YtGDeuulx8cPXITIEbTOG0Tg0K63i08eLnO8y0DLxEAAA8IwOMZF8ZYHo9Ld6enwFmd8p/dpsByutmKr/4xNP2WUF5ToE7OzKzDotXKY+JR1tWyZszQHnF/SwRAADPyAAj2VcGyHCRDBAUc8dGXdhqX1uo5e/HQ7pGgdtq6bDADQ4uC9xjG0tU7QQAgBIZYCT7ygDT9T8PMCuXg4Kpem7ceO0MEAxycWyzTlZdbluBmx/wzQrcxbLeEskDAIAWMsBI9pUBMlzwvUBBCd6i1WfZ22LLsVbzbeun7Ko6l+oKBJ0nRxJUkGsfmvUZT7N1cGamsz4tUbxEAAAcZYCx7CsDTNf/neDFYuhYq6vidgAAgOGRAUayrwxwAw5t7j00AACAfpEBRrKvDDAl9gEAAABwe2SAkewrAwAAAKBPZICR7CsDTPYBAAAAukQGGMm+MgAAAAD6RAYYyb4ywHT97wU6xeeAAQAAkjyXgkllgM7tKwNkePPtm8zEqhkg+FKg2Ze+r/ruoPLRO7YcGr9ydfpoq6tj8Y3y5Wq0Gg+1b1mdtcSLWY6kemfIqQEA0D+vPn61ShmgZ/vKAFNuHyAzsVYGmN2pNrYqs2p72dUdW1bVrHFj65hVPS8+FPQZl/4jTQ0AgIfgpSZceysDdGhfGSDDmb8TfEwU/TfIAGUPa/tpXX32aDUkZOYSP7T4inj+oouXaA111KkBANAta0v/owzQq31lgCm3D5DpavGwfFEYt8sAsxYZIH8JGQAA8EDYBxjJvjJAhjMzwKHN6TGtc+PGDRmgWg4G/VRHO2up9lPtMznx6rBnp8/uVC9aHX9wiWBUA08NAIBusQ8wjH1lgOn1tHh7fgaY3Sn/ebMMEN8/M10cw5q1OoVVhXLcSatQbvUfXGJDBkh2El+31cm1pwYAQJ/YBxjJvjJAhotkgMPbHN+uxm6TARZDyKUyQHDRzKOLo1281vUywIbD8tfNXEsGAADsCvsAw9hXBpiu/3mA2Rs2qtXYDTJAUGhu7mdb8dpqjDu/e6E88NQAAOgT+wAj2VcGyHDB9wK1CsFDm1afZW9xS7XbDf1UW6qTCqZZnUtcGWcK5epD8WJWH93b1AAA6Bb7AMPYVwaYrv87wYe3Xz6vlnetykzFBgAAdot9gJHsKwPcgEObew8NAACga+wDDGNfGWBK7AMAAADg9tgHGMm+MgAAAAC6xT7AMPaVASb7AAAAAF1iH2Ak+8oAAAAA6Bb7AMPYVwaYrv+9QKf4HDAAAEAS+wAj2VcGyPDm2zeZiVUzQPClQKdfDbT2u4Oq3/t+jZbF0b60nN7Gg59NZPGY+MjD1q/Sn415WycAAOCq2AcYxr4ywJTbB8hMrJUBZneqjYsFbqtxVsJetaU6pJeCOJ5pfnbxwXGNvvahzBOx+BwBAIArYR9gJPvKABnO/J3gY6LWvEEGKHu4SAZYHHNw/MUzwGz8+fL9Ip0AAICLYx9gGPvKAFNuHyDT1eJhG6rhHjJA9S00AUEGKLua3Q82E07HU+1fBgAAYDDsA4xkXxkgw5kZ4NDm9JjWuXHjhgywWGfnWzJjTl4ued1WnqkeVgaMxXU+pxMAAHBx7AMMY18ZYHo9Ld6enwFmd8p/3iwDxPfjIZ2fAWZldPmKe+uh4OrJ8j055nM6AQAAl8U+wEj2lQEyXCQDLFbAwblB46oMsBhCrp0BWkfmZ5TpJLizOOZzOgEAABfHPsAw9pUBput/HmD2BpKg8K2eGzfmM0BQPZ/TT6bbxcvFD8kAAADsE/sAI9lXBshwwfcCBTVxi1afZW9xS7XbDf3MugrGVq3XZ1cPznq5fyhSwazPavuxWPl4zOd3AgAALo59gGHsKwNM1/+d4FYJe2jkgfJcAACAHWIfYCT7ygA34NDm3kMDAADoGvsAw9hXBpgS+wAAAAC4PfYBRrKvDAAAAIBusQ8wjH1lgMk+AAAAQJfYBxjJvjIAAAAAusU+wDD2lQGm638v0Ck+BwwAAJDEPsBI9pUBMrz59k1mYtUMEHwpUPld+PnvDiofzbQca1+uv6GfcvDV21XE4zyHzV0llxQAAFwP+wDD2FcGmHL7AJmJtTLA7E61Maj148ay5g5ayop2Wz+nLUEAWFUrbw4PyZ7POau1FAAA4KrYBxjJvjJAhjN/J/iYKPpvkAEy98/pOTn4+OB+MkDcgwwAAMBtsA8wjH1lgCm3D5DpavGwoHAcNQOcZp7kG4pmWwqtExevW81dcVetnmUAAADugn2AkewrA2Q4MwMc2pwe0zo3brx2BjgmyvcWZRW+OOAyErROzKxY2UnQVWu0AgAAAHfEPsAw9pUBptfT4u35GWB2p/xntxkg33MwzgtmgPxFqyfO0kvwjLTaBQAAAG6GfYCR7CsDZLhIBih3AGSAsiWTAeLrLr7qH3cVL7gAAADAjbEPMIx9ZYDp+p8HaL32LAOULYsZYLEcX+x58VqZiQMAgBtgH2Ak+8oAGS74XqCgBG/R6rPsbbHlWBSy2/qJxxbMPeikWoJX12Hx0kHP5UNBz9WD83MHAADnYx9gGPvKANP1fyf48ParyOWdY/s15p3XmjufPgAAO8c+wEj2lQFuwKHNvYfWO8nX+60nAACjYh9gGPvKAFNiHwAAAAC3xz7ASPaVAQAAANAt9gGGsa8MMNkHAAAA6BL7ACPZVwYAAABAt9gHGMa+MsCU2AcIPtS79jOpPrf6wqH4ltJ7jQQAAPSJfYCR7CsDZDgcDofDlLD+e16Z2LA2V5SPZlqOF/p9gGo/p7eZucT/DPqsLggAABgS+wDD2FcGmLL7ANszwOxOtTGo9ePG00J5saUs7jf0kzk3ODh5wKzPxd5mD4kKAAAMgH2AkewrA2RIFpSratPFV8GD9svW7vl+Mg8tXuhYvKifqe9lAAAA9ol9gGHsKwNMuX2ATFeLh2WK10z7o2eAWQ+HgmRvrb2O0zun/VePBAAA3WIfYCT7ygAZzswAZY1bFrs9Z4BqDR0Pe/GwxYBRNsaLNuswkxPi8QMAgB6wDzCMfWWA6fW0eHt+Bqge8CgZINnzS0tM2VUrF8VTjseWOaY6fgAA0A/2AUayrwyQ4SIZoKx0HzcDLJbs8eyqSSCYb+sYGQAAgOGxDzCMfWWA6fqfB6i+BH5cX/tWG2+cAcrxrKraq52fnwHKWHtiPkgAAB0+SURBVCUDAAAwAPYBRrKvDJDhIvsAx6KGLsvrKq0+y94WW8pBru0nmQHii84akxmgNZ3F6n92ogwAAMADYR9gGPvKANP1fyd4sUg9JvLDY7GYAU7XJLOGAABgh9gHGMm+MsANWJsZHp3FvYJZCvLCPAAAaGEfYBj7ygBTYh8AAAAAt8c+wEj2lQEAAADQLfYBhrGvDDDZBwAAAOgS+wAj2VcGAAAAQLfYBxjGvjLAdP3vBZp1dYlRAwAAjI99gJHsKwNkOBwOh8OUsP4t+JnYsDZXlI9eqaU1mEPtq37K29YlqpNqdRhMP1iiuOdtj+aPAQAAF8E+wDDePwMEg6sefzgczskAszvVxqDYjRvLWvl6LZkxlAGgPOX8DJDvZ+1ZMgAAAP1gH2Aku8gAq9qTNV9w2GLRf4MMUPawOQNkCvTk+OMTr5EBju3FOf+JBgAAl8U+wDD2lQFO67npahlg8YCeM0DrzTxnZoCyz9OWDRlgdnrZWzDN1mHVEcoAAADcBvsAI7m7DHBokzk3btyQAcrKeFU/a184r052sSjflgFax2zIAMlTAADAVbEPMIy9ZICyHH9uL2/PzwDVA+6SAeL78ZDOrIbj7DF7Ls7MANXeyjuta52ffAAAwPnYBxjJXjLAM6f13HS1fYBju8zNnBs0rsoAiyEkmQFmE0kSZ4DWtTId5vuXAQAAeCzsAwzjHjPAabkclKrJPrdlgFadvaqfuJPMUFdd91IZoDr4YP1lAAAAesA+wEj2lQEy7RfZBzgWZWhZXldp9Vn2FrdUu13bz9oM0OqwvF8ObLHzuHCvdhgcv/jQ4pMCAAAujn2AYewiA7SsHh8U6NXCujz9+HYpObtzbBe7ys1LYSUBAHg47AOM5P0zwI1ZmxlwyvmLZqkBAHhc7AMMY18ZYGq89g8AAID7Yh9gJPvKAAAAAOgW+wDD2FcGmOwDAAAAdIl9gJHsKwMAAACgW+wDDGNfGWBK7AO8+fZN0sWufDgVAAAgiX2AkewrA2R48+2bzMSqGSD5daIbvm909mim5Vj7IvwN/ZSDr96uIh7nOWzuKrmkAADgetgHGMa+MsCU2wfITKyVAWZ3qo1BrR83ljV30FJWtNv6OW0JAsCqWnlzeEj2fM5ZraUAAABXxT7ASPaVATJk3uQTH7ZY9N8gA2Tur22JeegMEPcgAwAAcBvsAwxjXxlgyu0DZLpaPCwoHEfNAKeZJ/mGotmWQuvExetWc1fcVatnGQAAgLtgH2Ak+8oAGc7MAIc2p8e0zo0br50BjrWSuhx/PPj8gMtI0Doxs2JlJ0FXrdEKAAAA3BH7AMPYVwaYXk+Lt+dngNmd8p/dZoB8z8E4L5gB8hetnljmmfjc1vgBAMANsA8wkn1lgAwXyQDlDoAMULZkMkB83cVX/eOu4gUXAAAAuDH2AYaxrwwwXf/zAK3XnmWAsmUxAyyW44s9L14rM3EAAHAD7AOMZF8ZIMMF3wsUlOAtWn2WvS22HItCdls/8diCuQedVEvw6josXjrouXwo6Ll6cH7uAADgfOwDDGNfGWC6/u8EH95+Fbm8c2y/xrzzWnPn0wcAYOfYBxjJvjLADTi0uffQeif5er/1BABgVOwDDGNfGWBK7AMAAADg9tgHGMm+MgAAAAC6xT7AMPaVASb7AAAAAF1iH2Ak+8oAAAAA6Bb7AMPYVwaYrv+9QKf43CoAAEAS+wAj2VcGyPDm2zeZiVUzQPClQMF3zy9+1035aKbleJ3fBzgUP8W1IerE4zyHzV0llxQAAFwP+wDD2FcGmHL7AJmJtTLA7E61Maj148ay5g5ayop2Wz+nLUEAWFUrbw4PyZ7POau1FAAA4KrYBxjJvjJAhjN/J/iYKPpvkAEy98/pOTn4+OB+MkDcgwwAAMBtsA8wjH1lgCm3D5DpavGwoHAcNQOcZp7kG4pmWwqtExevW81dcVetnmUAAADugn2AkewrA2Q4MwMc2pwe0zo3brx2BjgWhfiqDLB2wGUkaJ2YWbGyk6Cr1mgFAAAA7oh9gGHsKwNMr6fF2/MzwOxO+c+eM8CqY6rjvGAGyF+0euIsfQXPSKtdAAAA4GbYBxjJvjJAhotkgHIHQAYoWzIZIL7u2mFnYkAyfgAAgItjH2AY+8oA0/U/D9B67fkhMsDanFAd5wUzwGI5vtjz4rUyEwcAADfAPsBI9pUBMlzwvUBBCd6i1WfZ22LLsShkt/UTjy2Ye9BJtQSvrsPipYOey4eCnqsH5+cOAADOxz7AMPaVAabr/07w4e1Xkcs7x/ZrzDuvNXc+fQAAdo59gJHsKwPcgEObew+td5Kv91tPAABGxT7AMPaVAabEPgAAAABuj32AkewrAwAAAKBb7AMMY18ZYLIPAAAA0CX2AUayrwwAAACAbrEPMIx9ZYDp+t8LdIrPrQIAACSxDzCSfWWADG++fZOZWDUDBF8KFHz3/OJ33ZSPZlqOF/p9gGo/1dtVxJc4h81dJVcDAABcCfsAw9hXBphy+wCZibUywOxOtTGo9ePGsuAOWspydkM/8bmzs1bVypvDQ7Lnc86KVwMAAFwD+wAj2VcGyHDm7wQfE0X/DTJA5n6yn3yx/tAZIO5BBgAA4AbYBxjGvjLAlNsHyHS1eFhQNQ6cAU7Pit9Xc7pfMftn9cTF61ajV9xVq2cZAACA22MfYCT7ygAZzswAhzanx7TOjRuvnQGO7Xo6GHa1k+SYg6RRPSC4aLWToKvWaAUAAADuhX2AYewrA0yvp8Xb8zPA7E75z24zQL7nePwXzACL1w1K9jKABU9Kq10AAADgNtgHGMm+MkCGi2SAcgfgcTNAWUm3uFIGOIaF+OKr/nFX8ZoLAAAA3BL7AMPYVwaYrv95gNYLz4+YAYKX2OPxXzADLJbjiz0vXiuzGgAA4NrYBxjJvjJAhgu+FygowVu0+ix7W2w5FlXs2n7WZoBy+sG1qiV4dSmClVnsuXwo6Ll6cPzUAACAC2IfYBj7ygDT9X8neFY9l3eO7UpaoWkFAADYLfYBRrKvDHADDm3uPbQHIPl6vyUFAGBI7AMMY18ZYErsAwAAAOD22AcYyb4yAAAAALrFPsAw9pUBJvsAAAAAXWIfYCT7ygAAAADoFvsAw9hXBpiu/71Ap/jQKgAAQBL7ACPZVwbI8ObbN5mJVTNA8KVAwRfPL37RTflopuV49u8DlEM97ba8XUU81HPY3FVyVQEAwJWwDzCMfWWAKbcPkJlYKwPM7lQbg1o/biwL7qClLGe39VMdTzUArKqVN4eHZM/nnNVaDQAAcD3sA4xkXxkgw5m/E3xMFP03yACZ+9syQMBDZ4C4BxkAAIAbYB9gGPvKAFNuHyDT1eJhQdU4cAYo30Q0e7R8Q9FsS6F14uJ1q9Er7qrVswwAAMDtsQ8wkn1lgAxnZoBDm9NjWufGjdfOAMeiCq+Ov0VZhS+OuYwErRMzi1Z2EnTVGq0AAADAvbAPMIx9ZYDp9bR4e34GmN0p/9lzBgiOWeQaGWBxDEHJXgaY4ElptQsAAADcBvsAI9lXBshwkQxQ7gDIANWWTAaIh5EZedBVvOYCAAAAt8Q+wDD2lQGm638eoPXC80NkgLhlkWtkgMVyfLHnxWtdZO4AAOBM7AOMZF8ZIMMF3wsUlOAtWn2WvS22HIsqdkM/meEF0497Pr3zcts6Mb5oq+fqdFo9nzl3AABwJvYBhrGvDDBd/3eCD2+/hFzeObZfYFZoWgEAAHaLfYCR7CsD3IBDm3sP7QFIvt5vSQEAGBL7AMPYVwaYEvsAAAAAuD32AUayrwwAAACAbrEPMIx9ZYDJPgAAAECX2AcYyb4yAAAAALrFPsAw9pUBput/L9ApPrQKAACQxD7ASPaVATK8+fZNZmLVDBB8KVDwxfOLX3RTPpppOa7/fYB4tKd9lreriMd5Dpu7Si4pAAC4HvYBhrGvDDDl9gEyE2tlgNmdamNQ68eNZc0dtJQV7eJZ5XXLmvjYCACrauXN4SHZ8zlnZRYHAABcHPsAI9lXBshw5u8EHxNF/w0yQOZ+UOYujmTto9WD+8kAcQ8yAAAAt8E+wDD2lQGm3D5ApqvFw4LCcdQM0Hr7UNlyulkx+2f1xMXrVnNX3FWrZxkAAIC7YB9gJPvKABnOzACHNqfHtM6NG2+TATYEgOPbxXdywGUkaJ2YWbGyk6Cr1mgFAAAA7oh9gGHsKwNMr6fF2/MzwOxO+c+HywCZOvgaGWDx0sFQy/QVPCOtdgEAAICbYR9gJPvKABkukgHKHYBHyQCbXwi/UgaIB7D4qn/cVbzgAgAAADfGPsAw9pUBput/HqD12vODZoB8HXyNDLBYji/2vHitzJICAIAbYB9gJPvKABku+F6goARv0eqz7G2x5VgUssl+qqcEw2vNPbhQtQSvXmjxukHP5UNBz9WDkxMHAAAXwT7AMPaVAabr/07w4e1Xkcs7x/ZrzDuvNXc+fQAAdo59gJHsKwPcgEObew+td5Kv91tPAABGxT7AMPaVAabEPgAAAABuj32AkewrAwAAAKBb7AMMY18ZYLIPAAAA0CX2AUayrwwAAACAbrEPMIx9ZYDp+t8LdIrPrQIAACSxDzCSfWWADG++fZOZWDUDBF8KFHz3/OJ33ZSPZlqOW38fIBjqabfl7SrioZ7D5q6SqwoAAK6EfYBh7CsDTLl9gMzEWhlgdqfaGNT6cWNZcActZTm7rZ/qeKoBYFWtvDk8JHs+56zWagAAgOthH2Ak+8oAGc78neBjoui/QQbI3N+WAQIeOgPEPcgAAADcAPsAw9hXBphy+wCZrhYPC6rGgTNA+Sai2aPlG4pmWwqtExevW41ecVetnmUAAABuj32AkewrA2Q4MwMc2pwe0zo3brx2BjjW6uly/C3KKnxxzGUkaJ2YWbSyk6Cr1mgFAAAA7oV9gGHsKwNMr6fF2/MzwOxO+c9uM0Cmng64RgZYHENQspcBJnhSWu0CAAAAt8E+wEj2lQEyXCQDlDsAMkC1JZMB4mEsvuofdxWvuQAAAMAtsQ8wjH1lgOn6nwdovfAsA1RbFjPAYjm+2PPitS4ydwAAcCb2AUayrwyQ4YLvBQpK8BatPsveFluORRW7oZ/M8ILpxz2f3nm5bZ0YX7TVc3U6rZ7PnDsAADgT+wDD2FcGmK7/O8GHt19CLu8c2y8wKzStAAAAu8U+wEj2lQFuwKHNvYf2ACRf77ekAAAMiX2AYewrA0yJfQAAAADcHvsAI9lXBgAAAEC32AcYxr4ywGQfAAAAoEvsA4xkXxkAAAAA3WIfYBj7ygDT9b8X6BQfWgUAAEhiH2Ak+8oAGd58+yYzsWoGCL4UKPji+cUvuikfrR5fnl5tOfPEQ+N7/atnLbI4ks1s7iq52gAA4OLYBxjGvjLAlNsHyEyslQFmd6qNQa0fN5al9ktLtUgNKuzNJ76cdWwEgFW18ubwkOz5nLNaqw0AAK6BfYCR7CsDZDjzd4KPiaL/4hkguErm4FUnLvLQGSDuQQYAAOCq2AcYxr4ywJTbB8h0tXhYUC8OnwFOw0/8vprT7YjZP6snLl63GsDirlo9ywAAANwS+wAj2VcGyHBmBji0OT2mdW7cuK2sL8vic05cJLhcq6WMBK0TM0tXdhJ01RqtAAAAwO2xDzCMfWWA6fW0eHt+BpjdKf8pA8xaFjPA4hiCkr2MYcFT02oXAAAAuDb2AUayrwyQ4SIZoNwBuH0GiGvfzScucqUMEA9j8VX/uKt45QUAAABug32AYewrA0zX/zxAq3q+ZQbYXBBnTgzGH/R2ZgZYLMcXe1681uLxAADgqtgHGMm+MkCGC74XKPlae/m6e9ln2Vt5/GIpf5ETMzVxcLk4I73ctk6ML9rquXwo6Ll6cH7uAABgM/YBhrGvDDBd/3eCD2+/eFwtr4Naf9V0RsU6AACwQ+wDjGRfGeAGHNrce2gPQ/L1fgsLAMBg2AcYxr4ywJTYBwAAAMDtsQ8wkn1lAAAAAHSLfYBh7CsDTPYBAAAAusQ+wEj2lQEAAADQLfYBhrGvDDBd/3uBTvFxVQAAgCT2AUayrwyQ4c23bzITq2aA4EuBgq+cX/yKm/LR6vHVA6rXbfWTOetQ/AJXEHXieW2g7GpxAauDXFzz1tUzT9baKSyOdtuFAAB4OOwDDGNfGWDK7QNkJtbKALM71cZV5WPZVbWlLO439FMeXwaG2UNxAIintoF4XvlhbBvbRUrzTAa41GAAAHgg7AOMZF8ZIMOZvxN8TBT9F88A8f21j7ZGvrbovEaROkAGCK6+dlMifzAAAA+BfYBh7CsDTLl9gExXi4clXyBfbB8vA1R3LU5byvuz8ZQtwVVmuxaLa1jtPNj0iE+Jj2ndr465Oq/MAKQFAMBDYB9gJPvKABnOzACHNqfHtM6NGxfr1+ow4iMz/5yNP08897LP2QSrcy8L5cxVyp7zZ8XXii8Ud9u6H0x2saty9bY9dwAA3B77AMPYVwaYXk+Lt+dngNmd8p+3yQCL/Zx/ZJ5q8d2qyIPiNV6NxcOCdBE0xsV0Ofjyqa9OuTW2i7S0egYAoFvsA4xkXxkgw0UyQFn29ZkB4sOSw86wrazvPwMsXigeoQwAAMAp9gGGsa8MMF3/8wDVl3uPiaKw1X69DLB4ueSwWyTr7GQGyBTBwaW3ZYDZQ9sCzIbn65wMEPcMAEC32AcYyb4yQIYLvhcoKPhatPoseyuPz7z2PMsn5aWrZW4wtpjWOFvTqda1reG9HFxdwFaf5VnB2MqzgjlWBx+vQ/V+9XLVZ63VedAzAAA9Yx9gGPvKANP1fye4WnEec2WZcg0AAOwW+wAj2VcGuAGHNvce2hXZ1WQBAMA1eK4Gk1ZryLsXvnyxrwwwJfYBAAAAcHuea8IMrRry7oUvX+wrAwAAAKBPTmvC2FYNeffCly/2lQEm+wAAAABdIgOMZF8ZAAAAAH0iA4xkXxlguv73Ap3io7EAAABJZICR7CsDZHjz7ZvMxKoZIPhSoOoXuie/Tqf6BfDl8eU/F8+KB9Y6pnq7injk57C5q+QiAwCAK3FaE1bLJBnggewrA0y5fYDMxFoZYHan2hjU+nFjWXO/tJT1a+as4NLVY4IAsKpW3hwekj2fc1ZmcQAAwMWZ7QO0AoAM8BD2lQEynPk7wcdE0X/xDJDpNlPxB1NY5KEzQNyDDAAAwA0o3wtUDQAywEPYVwaYcvsAma4WDwsKx1EzwOlZ5b7E7IDTU2a7GdXNh/i61dwVd9XqWQYAAOAuVD8PUAYAGeAh7CsDZDgzAxzanB7TOjdu3JABqtV8q+KvHlmOPx58ZsCz9viw1tQWrxV01RqtAAAAwL3wmeCR7CsDTK+nxdvzM8DsTvnPm2WAzJHbzgrGecEMkL9o9cRZeomTT7VdAAAA4GbIACPZVwbIcJEMUO4A3D4DZELI4sved88A8XUXX/WPu4oXXAAAAOCWyAAj2VcGmK7/eYDWa883zgCZV/cXL5cc9uzRC2aAxXJ8sefFay0eDwAAboMMMJJ9ZYAMF3wvUFCgt2j1WfZWHh9conpW65jFq7doXah66dM7L7etE+OLtnquzrfVc2ZxAADA9XguBZPKAJ3bVwaYrv87wYe3X0Wu1tatmnLntebOpw8AwM559fGrVcoAPbs6A2Q2gEiSJEkZoFufVmWA+yVPAAAAPB4yQJ+uywAkSZLkWicZoDOfZACSJEle1UkG6MynTAa4+yhJkiT50MoAXbmcAUiSJMnzvXvhyxeXM8Ddh0iSJEnygsoAJEmS5L6UAUiSJMl9KQOQJEmS+1IGIEmSJPelDECSJEnuSxmAJEmS3JcyAEmSJLkvZQCSJElyX8oAJEmS5L6UAUiSJMl9KQOQJEmS+1IGIEmSJPelDECSJEnuSxmAJEmS3JcyAEmSJLkvZQCSJElyX8oAJEmS5L6UAUiSJMl9KQOQJEmS+1IGIEmSJPelDECSJEnuSxmAJEmS3JcyAEmSJLkvZQCSJElyX8oAJEmS5L6UAUiSJMl9KQOQJEmS+1IGIEmSJPelDECSJEnuSxmAJEmS3JcyAEmSJLkvZQCSJElyX8oAJEmS5L6UAUiSJMl9KQOQJEmS+1IGIEmSJPelDECSJEnuSxmAJEmS3JcyAEmSJLkvZQCSJElyX8oAJEmS5L6UAUiSJMl9KQOQJEmS+1IGIEmSJPelDECSJEnuSxmAJEmS3JcyAEmSJLkvZQCSJElyX8oAJEmS5L6UAUiSJMl9KQOQJEmS+1IGIEmSJPelDECSJEnuSxmAJEmS3JcyAEmSJLkvZQCSJElyX8oAJEmS5L6UAUiSJMl9KQOQJEmS+1IGIEmSJPelDECSJEnuSxmAJEmS3JcyAEmSJLkvZQCSJElyX8oAJEmS5L6UAUiSJMl9KQOQJEmS+1IGIEmSJPelDECSJEnuSxmAJEmS3JcyAEmSJLkvZQCSJElyX8oAJEmS5L6UAUiSJMl9KQOQJEmS+1IGIEmSJPelDECSJEnuSxmAJEmS3JcyAEmSJLkvZQCSJElyX8oAJEmS5L6UAUiSJMl9KQOQJEmS+1IGIEmSJPelDECSJEnuSxmAJEmS3JcyAEmSJLkvZQCSJElyX8oAJEmS5L6UAUiSJMl9KQOQJEmS+1IGIEmSJPelDECSJEnuSxmAJEmS3JcyAEmSJLkvZQCSJElyX8oAJEmS5L6UAUiSJMl9KQOQJEmS+1IGIEmSJPelDECSJEnuSxmAJEmS3JcyAEmSJLkvZQCSJElyX8oAJEmS5L6UAUiSJMl9KQOQJEmS+1IGIEmSJPelDECSJEnuSxmAJEmS3JcyAEmSJLkvZQCSJElyX8oAJEmS5L6UAUiSJMl9KQOQJEmS+1IGIEmSJPelDECSJEnuSxmAJEmS3JcyAEmSJLkvZQCSJElyX8oAJEmS5L6UAUiSJMl9KQOQJEmS+1IGIEmSJPelDECSJEnuSxmAJEmS3JcyAEmSJLkvZQCSJElyX8oAJEmS5L6UAUiSJMl9KQOQJEmS+3IhAzzfIUmSJDmSzQxwBAAAADAo9QxAkiRJcmxlAJIkSXJfygAkSZJ8bC/ykdnT98n01lvQ/+YVkwFIkiT5wF7kW22OF/2OnMv2FvS/ecWiDHA4HKr3V1meeMGuLnv8qtHO2jdPiiRJkufYYdX+kBngsMRVjylHuXhiedhLy4ZFiQc/O6w8kSRJkre0w6r9ITPAiy/V8FNY4MYHLNbKs5I9yAPVEjxz5xwX55WJMeVhi/2TJEky4zWq9urrzq2XnssKsMMMcHpK6vMAyaK2ujqtTjLV/OyYcq3jfjJ1eWwwr3Iki8vVmqkMQJIkeY5XeuW+VaM+vV1tPj1CBjgej6cj2f5eoOoqzNrLh1qLWO25LI639VPtqmX5FLbOzZf+wWqsGhtJkiRLr5cBWlXuY2WA5wCwnAFOjV/VjkNCtYegsg9CRdl/UOifkwFmT2owtW0ZIJ8xSJIkmVEGiI+cBYCnVd8LFBi8Up6pp6stZbflP1tFeZwByiepNZ3MAKqzi3uWAUiSJC/oVd8LVNaoT28XddUCr5MMcBoAsp8HyBfuwWGz9SoXqFzN6lKW96v9VLNEeXo+A8RzD6YQ97zYSJIkyaQyQOuY0wCQei9QUGfHLa3SPOh2VluX/STDRlD6Lw6yNZ7kTGUAkiTJe3nHzwQ/9ZoBygCQ+kzw7E750Ms/q6Xw7NEgAywW9OU/4/uLvS3W3LNMUu1wcSmq3VY7WTyRJEmSgdf7btBW7fpy/6nLDBAHgKfM5wHiOnh2WGsc1eVrHbZ4/KxGb41hVd1fTqc8KxNLVPMkSZI3tsNf9bpjBmgFgBW/D1BWtNXXyE8frbbEXc1a8lEhsJoTklYL+mBecVQgSZLkVe2war9XBggCwLrvBiVJkiR7tsOq/S4ZIA4AMgBJkiTHscOq/fYZIB8AnmQAkiRJPrrHC9Fzb63+tykDkCRJkvtSBiBJkiT35b9lgOc3CZEkSZLcg4dXH78iSZIkuR//P4FGfIcnSXuDAAAAAElFTkSuQmCC" alt="" />

打开之后,我们点击搜索->查找窗口->拖动查找工具到目标程序的窗口上

就会返回当前窗口的属性了

aaarticlea/png;base64,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" alt="" />

我们点击确定

找到后鼠标右键点击属性

找到类

aaarticlea/png;base64,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" alt="" />

这里的类名,就是我们等会要搜索句柄的参数。

利用类名查找窗口句柄

我们已经知道了窗口的类名

现在就利用FindWindow函数查看窗口的句柄

HWND FindWindow(LPCSTR lpClassName,LPCSTR lpWindowName);

lpClassName参数指向类名,lpWindowName指向窗口名,如果有指定的类名和窗口的名字则表示成功返回一个窗口的句柄。否则返回零。 invoke FindWindow,addr szNotepad,NULL

invoke FindWindow,addr szNotepad,NULL

现在有了句柄之后,就要查看程序的窗口客户区在哪(总不能让我发送到菜单栏吧~)。

这里为了方便,使用ChildWindowFromPoint函数做定位查找

函数原型:HWND ChildWindowFromPoint (HWND hWnd, LONG xPoint, LONG yPoint);
函数功能:返回父窗口中包含了指定点的第一个子窗口的句柄。
函数参数:hWnd 父窗口的句柄
xPoint 点的X坐标,以像素为单位
yPoint 点的Y坐标,以像素为单位
其中坐标参数指屏幕坐标
返回值:发现包含了指定点的第一个子窗口的句柄。如未发现任何窗口,则返回hWnd(父窗口的句柄)。如指定点位于父窗口外部,则返回零。

代码如下

invoke ChildWindowFromPoint,ecx,,

其中ecx为父窗口句柄

然后我们一个个字节的读入到累加器,再利用WM_CHAR消息发送。

当然,这得做个循环。

mov esi,_lpsz
@@:
lodsb
or al,al
jz @F
movzx eax,al
invoke PostMessage,@Notepad,WM_CHAR,eax,
jmp @B
@@:

lodsb指令的作用是把ESI指向的存储单元读入到AL中去

其中,jz指令是为0则跳转

由于发送的字符串是以0结尾的,所以当字符串读完的时候,or al,al正好返回0

@F是向下一个@@标号跳转,@B则向上一个@@标号跳转。

整个程序代码如下:

;>>>>>>>>>>>>>>>
.
.model flat,stdcall
option casemap:none
;>>>>>>>包含文件>>>>>>>>
include windows.inc
include gdi32.inc
includelib gdi32.lib
include user32.inc
includelib user32.lib
include kernel32.inc
includelib kernel32.lib
;>>>>>>>数据段>>>>>>>>
.data?
.const
szText db 'Win32 Assembly,My First SendMessage Program !',
szNotFound db 'Notepad Process Not Start !',
szSendOk db 'Send Message Successful !',
szNotepad db 'Notepad++',
szSendBox db 'System MessageBox',
;>>>>>>>代码段>>>>>>>>
.code
;>>>>>>>发送到记事本>>>>>>>>
_SendMessage proc _lpsz
local @Notepad pushad
xor eax,eax
invoke FindWindow,addr szNotepad,NULL
.if eax
mov ecx,eax
invoke ChildWindowFromPoint,ecx,,
.else
invoke MessageBox,NULL,offset szNotFound,offset szSendBox,MB_OK
.endif
.if eax
mov @Notepad,eax
mov esi,_lpsz
@@:
lodsb
or al,al
jz @F
movzx eax,al
invoke PostMessage,@Notepad,WM_CHAR,eax,
jmp @B
@@:
invoke MessageBox,NULL,addr szSendOk,addr szSendBox,MB_OK
.endif
popad
ret
_SendMessage endp
;>>>>>>>主函数>>>>>>>>
start:
invoke _SendMessage,addr szText
invoke ExitProcess,NULL
;>>>>>>>程序结束>>>>>>>>
end start

代码中调用了MessageBox函数以验证是否发送成功。

用Win32编写发送消息至Notepad++的程序

上一篇:BBED的安装及简单的使用方法


下一篇:Apache Kafka简介与安装(二)