aview-app 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of aview-app might be problematic. Click here for more details.

Files changed (1127) hide show
  1. package/README.md +18 -0
  2. package/aardio/aardio.exe +0 -0
  3. package/aardio/config/CFG.BIN +0 -0
  4. package/aardio/config/RECENT.PROJECT.TABLE +8 -0
  5. package/aardio/config/SYS.CFG +1 -0
  6. package/aardio/config/SYS.THEME +124 -0
  7. package/aardio/config/USR.CFG +16 -0
  8. package/aardio/config/USR.THEME +124 -0
  9. package/aardio/config/intellisense/kernel.txt +634 -0
  10. package/aardio/config/intellisense/unimportant.txt +108 -0
  11. package/aardio/config/intellisense/web.layout.behavior.txt +81 -0
  12. package/aardio/config/intellisense/web.sciter.behavior.txt +94 -0
  13. package/aardio/config/intellisense/winform.txt +215 -0
  14. package/aardio/config/lang/lib.txt +210 -0
  15. package/aardio/config/themes/dark.xml +124 -0
  16. package/aardio/config/themes/light.xml +124 -0
  17. package/aardio/extensions/extlibver.table +13 -0
  18. package/aardio/extensions/ide.aardio +386 -0
  19. package/aardio/extensions/plugin/view/bbx.aardio +52 -0
  20. package/aardio/extensions/plugin/view/config.aardio +52 -0
  21. package/aardio/extensions/plugin/view/dsktip.aardio +84 -0
  22. package/aardio/extensions/plugin/view/res/content/getting-started.htm +15 -0
  23. package/aardio/extensions/plugin/view/res/images/body-back.png +0 -0
  24. package/aardio/extensions/plugin/view/res/images/loading.png +0 -0
  25. package/aardio/extensions/plugin/view/res/images/panel-back.png +0 -0
  26. package/aardio/extensions/plugin/view/res/images/panel-caption-back.png +0 -0
  27. package/aardio/extensions/plugin/view/res/start-page.htm +216 -0
  28. package/aardio/extensions/plugin/view/startPage.aardio +329 -0
  29. package/aardio/extensions/plugin/view/startPage.aardio.plugin +329 -0
  30. package/aardio/extensions/res/app.ico +0 -0
  31. package/aardio/extensions/trigger/before-publish.aardio +57 -0
  32. package/aardio/extensions/trigger/copyCodeAsHtml.aardio +26 -0
  33. package/aardio/extensions/trigger/default.aproj +10 -0
  34. package/aardio/extensions/trigger/edit-default.aardio +71 -0
  35. package/aardio/extensions/trigger/edit.aardio +83 -0
  36. package/aardio/extensions/trigger/gotoFile.aardio +1 -0
  37. package/aardio/extensions/trigger/init.aardio +17 -0
  38. package/aardio/extensions/trigger/lib/config.aardio +8 -0
  39. package/aardio/extensions/trigger/openProject.aardio +39 -0
  40. package/aardio/extensions/trigger/publish-website.aardio +168 -0
  41. package/aardio/extensions/trigger/publish.aardio +386 -0
  42. package/aardio/extensions/trigger/res/config/publish.table +5 -0
  43. package/aardio/extensions/wizard/files/console.aardio +5 -0
  44. package/aardio/extensions/wizard/files/default.main.aardio +8 -0
  45. package/aardio/extensions/wizard/files/layout-blank.aardio +231 -0
  46. package/aardio/extensions/wizard/files/layout.aardio +15 -0
  47. package/aardio/extensions/wizard/files/webform-blank.aardio +84 -0
  48. package/aardio/extensions/wizard/files/webform.aardio +17 -0
  49. package/aardio/extensions/wizard/files/website.main.aardio +14 -0
  50. package/aardio/extensions/wizard/files/winform.aardio +9 -0
  51. package/aardio/extensions/wizard/project/win/default.aproj +4 -0
  52. package/aardio/extensions/wizard/project2/.build//351/253/230/347/272/247/351/200/211/351/241/271/345/215/241.Manifest.xml +60 -0
  53. package/aardio/extensions/wizard/project2/.build//351/253/230/347/272/247/351/200/211/351/241/271/345/215/241.init.aardio +2 -0
  54. package/aardio/extensions/wizard/project2/.build//351/253/230/347/272/247/351/200/211/351/241/271/345/215/241.main.aardio +6 -0
  55. package/aardio/extensions/wizard/project2/forms/console/console.aardio +16 -0
  56. package/aardio/extensions/wizard/project2/forms/console/service.aardio +41 -0
  57. package/aardio/extensions/wizard/project2/forms/console.aardio +90 -0
  58. package/aardio/extensions/wizard/project2/forms/fastcgi.aardio +168 -0
  59. package/aardio/extensions/wizard/project2/forms/images/console.jpg +0 -0
  60. package/aardio/extensions/wizard/project2/forms/images/electron.jpg +0 -0
  61. package/aardio/extensions/wizard/project2/forms/images/htmlayout.jpg +0 -0
  62. package/aardio/extensions/wizard/project2/forms/images/winform.jpg +0 -0
  63. package/aardio/extensions/wizard/project2/forms/plus/first.aardio +17 -0
  64. package/aardio/extensions/wizard/project2/forms/plus/icon.aardio +122 -0
  65. package/aardio/extensions/wizard/project2/forms/plus/images/1.jpg +0 -0
  66. package/aardio/extensions/wizard/project2/forms/plus/tabs.aardio +119 -0
  67. package/aardio/extensions/wizard/project2/forms/plus.aardio +94 -0
  68. package/aardio/extensions/wizard/project2/forms/web/chromeApp.aardio +62 -0
  69. package/aardio/extensions/wizard/project2/forms/web/electron.aardio +19 -0
  70. package/aardio/extensions/wizard/project2/forms/web/htmlayout.aardio +16 -0
  71. package/aardio/extensions/wizard/project2/forms/web/sciter.aardio +16 -0
  72. package/aardio/extensions/wizard/project2/forms/web/view.aardio +67 -0
  73. package/aardio/extensions/wizard/project2/forms/web/webform.aardio +60 -0
  74. package/aardio/extensions/wizard/project2/forms/web/webkit.aardio +49 -0
  75. package/aardio/extensions/wizard/project2/forms/web.aardio +105 -0
  76. package/aardio/extensions/wizard/project2/forms/website.aardio +175 -0
  77. package/aardio/extensions/wizard/project2/forms/winform/bat.aardio +46 -0
  78. package/aardio/extensions/wizard/project2/forms/winform/blank.aardio +20 -0
  79. package/aardio/extensions/wizard/project2/forms/winform/demo.aardio +20 -0
  80. package/aardio/extensions/wizard/project2/forms/winform/images/paint.png +0 -0
  81. package/aardio/extensions/wizard/project2/forms/winform/java.aardio +67 -0
  82. package/aardio/extensions/wizard/project2/forms/winform/paint.aardio +21 -0
  83. package/aardio/extensions/wizard/project2/forms/winform/python.aardio +101 -0
  84. package/aardio/extensions/wizard/project2/forms/winform.aardio +82 -0
  85. package/aardio/extensions/wizard/project2/lib/style/_.aardio +4 -0
  86. package/aardio/extensions/wizard/project2/lib/style/main.aardio +47 -0
  87. package/aardio/extensions/wizard/project2/main.aardio +248 -0
  88. package/aardio/extensions/wizard/project2/res/icons/console.png +0 -0
  89. package/aardio/extensions/wizard/project2/res/icons/fastcgi.png +0 -0
  90. package/aardio/extensions/wizard/project2/res/icons/plus.png +0 -0
  91. package/aardio/extensions/wizard/project2/res/icons/web.png +0 -0
  92. package/aardio/extensions/wizard/project2/res/icons/website.png +0 -0
  93. package/aardio/extensions/wizard/project2/res/icons/winform.png +0 -0
  94. package/aardio/extensions/wizard/project2/res/images/bg.gif +0 -0
  95. package/aardio/extensions/wizard/project2/res/images/check-active1.png +0 -0
  96. package/aardio/extensions/wizard/project2/res/images/check-disabled1.png +0 -0
  97. package/aardio/extensions/wizard/project2/res/images/check-hover1.png +0 -0
  98. package/aardio/extensions/wizard/project2/res/images/check1.png +0 -0
  99. package/aardio/extensions/wizard/project2/res/images/main-nav-bg-active.png +0 -0
  100. package/aardio/extensions/wizard/project2/res/images/main-nav-bg-hover.png +0 -0
  101. package/aardio/extensions/wizard/project2/res/images/main-nav-bg.png +0 -0
  102. package/aardio/extensions/wizard/project2/res/images/uncheck-active1.png +0 -0
  103. package/aardio/extensions/wizard/project2/res/images/uncheck-disabled1.png +0 -0
  104. package/aardio/extensions/wizard/project2/res/images/uncheck-hover1.png +0 -0
  105. package/aardio/extensions/wizard/project2/res/images/uncheck1.png +0 -0
  106. package/aardio/extensions/wizard/project2/template/bat/bat/bat.aardio +33 -0
  107. package/aardio/extensions/wizard/project2/template/bat/bat/bat2.aardio +17 -0
  108. package/aardio/extensions/wizard/project2/template/bat/default.aproj +9 -0
  109. package/aardio/extensions/wizard/project2/template/bat/lib/config.aardio +17 -0
  110. package/aardio/extensions/wizard/project2/template/bat/lib/style.aardio +72 -0
  111. package/aardio/extensions/wizard/project2/template/bat/main.aardio +52 -0
  112. package/aardio/extensions/wizard/project2/template/console/default.aproj +5 -0
  113. package/aardio/extensions/wizard/project2/template/console/lib/config.aardio +17 -0
  114. package/aardio/extensions/wizard/project2/template/console/main.aardio +23 -0
  115. package/aardio/extensions/wizard/project2/template/fastcgi/.build/default.Manifest.xml +60 -0
  116. package/aardio/extensions/wizard/project2/template/fastcgi/.build/default.init.aardio +4 -0
  117. package/aardio/extensions/wizard/project2/template/fastcgi/.build/default.main.aardio +6 -0
  118. package/aardio/extensions/wizard/project2/template/fastcgi/default.aproj +5 -0
  119. package/aardio/extensions/wizard/project2/template/fastcgi/lib/config.aardio +17 -0
  120. package/aardio/extensions/wizard/project2/template/fastcgi/main.aardio +77 -0
  121. package/aardio/extensions/wizard/project2/template/java/default/default.aproj +14 -0
  122. package/aardio/extensions/wizard/project2/template/java/default/java/aardio/sample/HelloworldApp.class +0 -0
  123. package/aardio/extensions/wizard/project2/template/java/default/java/aardio/sample/HelloworldApp.java +33 -0
  124. package/aardio/extensions/wizard/project2/template/java/default/lib/config.aardio +17 -0
  125. package/aardio/extensions/wizard/project2/template/java/default/main.aardio +33 -0
  126. package/aardio/extensions/wizard/project2/template/java/default/res/py.aardio +12 -0
  127. package/aardio/extensions/wizard/project2/template/paint/default.aproj +6 -0
  128. package/aardio/extensions/wizard/project2/template/paint/lib/config.aardio +17 -0
  129. package/aardio/extensions/wizard/project2/template/paint/lib/fonts/.res/painttest.ttf +0 -0
  130. package/aardio/extensions/wizard/project2/template/paint/lib/fonts/painttest.aardio +10 -0
  131. package/aardio/extensions/wizard/project2/template/paint/lib/style.aardio +46 -0
  132. package/aardio/extensions/wizard/project2/template/paint/main.aardio +125 -0
  133. package/aardio/extensions/wizard/project2/template/plus/1/default.aproj +20 -0
  134. package/aardio/extensions/wizard/project2/template/plus/1/forms/page1.aardio +89 -0
  135. package/aardio/extensions/wizard/project2/template/plus/1/forms/page2.aardio +70 -0
  136. package/aardio/extensions/wizard/project2/template/plus/1/forms/page3.aardio +21 -0
  137. package/aardio/extensions/wizard/project2/template/plus/1/include/images/bg.gif +0 -0
  138. package/aardio/extensions/wizard/project2/template/plus/1/include//350/257/264/346/230/216.txt +1 -0
  139. package/aardio/extensions/wizard/project2/template/plus/1/main.aardio +69 -0
  140. package/aardio/extensions/wizard/project2/template/plus/1/res/images/bg.png +0 -0
  141. package/aardio/extensions/wizard/project2/template/plus/1/res/images/excel.png +0 -0
  142. package/aardio/extensions/wizard/project2/template/plus/1/res/images/feed.png +0 -0
  143. package/aardio/extensions/wizard/project2/template/plus/1/res/images/main-nav-bg-active.png +0 -0
  144. package/aardio/extensions/wizard/project2/template/plus/1/res/images/main-nav-bg-hover.png +0 -0
  145. package/aardio/extensions/wizard/project2/template/plus/1/res/images/main-nav-bg.png +0 -0
  146. package/aardio/extensions/wizard/project2/template/plus/1/res/images/ppt.png +0 -0
  147. package/aardio/extensions/wizard/project2/template/plus/1/res/images/rss.png +0 -0
  148. package/aardio/extensions/wizard/project2/template/plus/icon/default.aproj +12 -0
  149. package/aardio/extensions/wizard/project2/template/plus/icon/forms/main/frmPage1.aardio +11 -0
  150. package/aardio/extensions/wizard/project2/template/plus/icon/forms/main/frmPage2.aardio +9 -0
  151. package/aardio/extensions/wizard/project2/template/plus/icon/forms/main/frmPage3.aardio +9 -0
  152. package/aardio/extensions/wizard/project2/template/plus/icon/lib/config.aardio +17 -0
  153. package/aardio/extensions/wizard/project2/template/plus/icon/main.aardio +52 -0
  154. package/aardio/extensions/wizard/project2/template/plus/tabs/default.aproj +11 -0
  155. package/aardio/extensions/wizard/project2/template/plus/tabs/dlg/first.aardio +20 -0
  156. package/aardio/extensions/wizard/project2/template/plus/tabs/dlg/help.aardio +25 -0
  157. package/aardio/extensions/wizard/project2/template/plus/tabs/dlg/hotkey.aardio +20 -0
  158. package/aardio/extensions/wizard/project2/template/plus/tabs/dlg/setting.aardio +20 -0
  159. package/aardio/extensions/wizard/project2/template/plus/tabs/lib/config.aardio +17 -0
  160. package/aardio/extensions/wizard/project2/template/plus/tabs/lib/style.aardio +72 -0
  161. package/aardio/extensions/wizard/project2/template/plus/tabs/main.aardio +50 -0
  162. package/aardio/extensions/wizard/project2/template/python/process/default.aproj +14 -0
  163. package/aardio/extensions/wizard/project2/template/python/process/lib/config.aardio +17 -0
  164. package/aardio/extensions/wizard/project2/template/python/process/lib/py3/export/aardio.aardio +17 -0
  165. package/aardio/extensions/wizard/project2/template/python/process/main.aardio +36 -0
  166. package/aardio/extensions/wizard/project2/template/python/process/py/pyMain.py +17 -0
  167. package/aardio/extensions/wizard/project2/template/python/process/res/py.aardio +12 -0
  168. package/aardio/extensions/wizard/project2/template/python/process/tools/pip.aardio +15 -0
  169. package/aardio/extensions/wizard/project2/template/python/py2/default.aproj +9 -0
  170. package/aardio/extensions/wizard/project2/template/python/py2/lib/config.aardio +17 -0
  171. package/aardio/extensions/wizard/project2/template/python/py2/lib/py2/export/aardio.aardio +16 -0
  172. package/aardio/extensions/wizard/project2/template/python/py2/main.aardio +19 -0
  173. package/aardio/extensions/wizard/project2/template/python/py2/py/pyMain.py +14 -0
  174. package/aardio/extensions/wizard/project2/template/python/py3/default.aproj +12 -0
  175. package/aardio/extensions/wizard/project2/template/python/py3/lib/config.aardio +17 -0
  176. package/aardio/extensions/wizard/project2/template/python/py3/lib/py3/export/aardio.aardio +17 -0
  177. package/aardio/extensions/wizard/project2/template/python/py3/main.aardio +20 -0
  178. package/aardio/extensions/wizard/project2/template/python/py3/py/pyMain.py +15 -0
  179. package/aardio/extensions/wizard/project2/template/python/py3/tools/pip.aardio +28 -0
  180. package/aardio/extensions/wizard/project2/template/service/.build/default.init.aardio +4 -0
  181. package/aardio/extensions/wizard/project2/template/service/default.aproj +5 -0
  182. package/aardio/extensions/wizard/project2/template/service/lib/config.aardio +17 -0
  183. package/aardio/extensions/wizard/project2/template/service/lib/service/threads/_.aardio +35 -0
  184. package/aardio/extensions/wizard/project2/template/service/main.aardio +68 -0
  185. package/aardio/extensions/wizard/project2/template/web/chrome-app/default.aproj +10 -0
  186. package/aardio/extensions/wizard/project2/template/web/chrome-app/lib/config.aardio +17 -0
  187. package/aardio/extensions/wizard/project2/template/web/chrome-app/main.aardio +22 -0
  188. package/aardio/extensions/wizard/project2/template/web/chrome-app/web/index.html +15 -0
  189. package/aardio/extensions/wizard/project2/template/web/chrome-app/web.src/.yarnrc +1 -0
  190. package/aardio/extensions/wizard/project2/template/web/chrome-app/web.src/package.json +45 -0
  191. package/aardio/extensions/wizard/project2/template/web/chrome-app/web.src/public/favicon.ico +0 -0
  192. package/aardio/extensions/wizard/project2/template/web/chrome-app/web.src/public/index.html +33 -0
  193. package/aardio/extensions/wizard/project2/template/web/chrome-app/web.src/src/App.css +20 -0
  194. package/aardio/extensions/wizard/project2/template/web/chrome-app/web.src/src/App.test.tsx +9 -0
  195. package/aardio/extensions/wizard/project2/template/web/chrome-app/web.src/src/App.tsx +37 -0
  196. package/aardio/extensions/wizard/project2/template/web/chrome-app/web.src/src/Counter.tsx +40 -0
  197. package/aardio/extensions/wizard/project2/template/web/chrome-app/web.src/src/index.css +11 -0
  198. package/aardio/extensions/wizard/project2/template/web/chrome-app/web.src/src/index.tsx +26 -0
  199. package/aardio/extensions/wizard/project2/template/web/chrome-app/web.src/src/react-app-env.d.ts +1 -0
  200. package/aardio/extensions/wizard/project2/template/web/chrome-app/web.src/src/reportWebVitals.ts +15 -0
  201. package/aardio/extensions/wizard/project2/template/web/chrome-app/web.src/src/setupTests.ts +5 -0
  202. package/aardio/extensions/wizard/project2/template/web/chrome-app/web.src/src/store/index.ts +11 -0
  203. package/aardio/extensions/wizard/project2/template/web/chrome-app/web.src/src/store/useCounterController.ts +39 -0
  204. package/aardio/extensions/wizard/project2/template/web/chrome-app/web.src/src/store/useUserController.ts +24 -0
  205. package/aardio/extensions/wizard/project2/template/web/chrome-app/web.src/tsconfig.json +26 -0
  206. package/aardio/extensions/wizard/project2/template/web/chrome-htmx/default.aproj +16 -0
  207. package/aardio/extensions/wizard/project2/template/web/chrome-htmx/lib/config.aardio +17 -0
  208. package/aardio/extensions/wizard/project2/template/web/chrome-htmx/main.aardio +12 -0
  209. package/aardio/extensions/wizard/project2/template/web/chrome-htmx/web/api/index.aardio +20 -0
  210. package/aardio/extensions/wizard/project2/template/web/chrome-htmx/web/htmx.js +1 -0
  211. package/aardio/extensions/wizard/project2/template/web/chrome-htmx/web/images/loading.gif +0 -0
  212. package/aardio/extensions/wizard/project2/template/web/chrome-htmx/web/index.css +34 -0
  213. package/aardio/extensions/wizard/project2/template/web/chrome-htmx/web/index.html +65 -0
  214. package/aardio/extensions/wizard/project2/template/web/chrome-vue/default.aproj +10 -0
  215. package/aardio/extensions/wizard/project2/template/web/chrome-vue/lib/config.aardio +17 -0
  216. package/aardio/extensions/wizard/project2/template/web/chrome-vue/main.aardio +21 -0
  217. package/aardio/extensions/wizard/project2/template/web/chrome-vue/web/index.html +15 -0
  218. package/aardio/extensions/wizard/project2/template/web/chrome-vue/web.src/.vscode/extensions.json +3 -0
  219. package/aardio/extensions/wizard/project2/template/web/chrome-vue/web.src/README.md +40 -0
  220. package/aardio/extensions/wizard/project2/template/web/chrome-vue/web.src/env.d.ts +1 -0
  221. package/aardio/extensions/wizard/project2/template/web/chrome-vue/web.src/index.html +13 -0
  222. package/aardio/extensions/wizard/project2/template/web/chrome-vue/web.src/package.json +25 -0
  223. package/aardio/extensions/wizard/project2/template/web/chrome-vue/web.src/public/favicon.ico +0 -0
  224. package/aardio/extensions/wizard/project2/template/web/chrome-vue/web.src/src/App.vue +58 -0
  225. package/aardio/extensions/wizard/project2/template/web/chrome-vue/web.src/src/assets/base.css +74 -0
  226. package/aardio/extensions/wizard/project2/template/web/chrome-vue/web.src/src/assets/logo.svg +1 -0
  227. package/aardio/extensions/wizard/project2/template/web/chrome-vue/web.src/src/assets/main.css +35 -0
  228. package/aardio/extensions/wizard/project2/template/web/chrome-vue/web.src/src/components/HelloWorld.vue +40 -0
  229. package/aardio/extensions/wizard/project2/template/web/chrome-vue/web.src/src/components/TheWelcome.vue +86 -0
  230. package/aardio/extensions/wizard/project2/template/web/chrome-vue/web.src/src/components/WelcomeItem.vue +86 -0
  231. package/aardio/extensions/wizard/project2/template/web/chrome-vue/web.src/src/components/icons/IconCommunity.vue +7 -0
  232. package/aardio/extensions/wizard/project2/template/web/chrome-vue/web.src/src/components/icons/IconDocumentation.vue +7 -0
  233. package/aardio/extensions/wizard/project2/template/web/chrome-vue/web.src/src/components/icons/IconEcosystem.vue +7 -0
  234. package/aardio/extensions/wizard/project2/template/web/chrome-vue/web.src/src/components/icons/IconSupport.vue +7 -0
  235. package/aardio/extensions/wizard/project2/template/web/chrome-vue/web.src/src/components/icons/IconTooling.vue +19 -0
  236. package/aardio/extensions/wizard/project2/template/web/chrome-vue/web.src/src/main.ts +6 -0
  237. package/aardio/extensions/wizard/project2/template/web/chrome-vue/web.src/tsconfig.config.json +8 -0
  238. package/aardio/extensions/wizard/project2/template/web/chrome-vue/web.src/tsconfig.json +16 -0
  239. package/aardio/extensions/wizard/project2/template/web/chrome-vue/web.src/vite.config.ts +20 -0
  240. package/aardio/extensions/wizard/project2/template/web/electron/default.aproj +8 -0
  241. package/aardio/extensions/wizard/project2/template/web/electron/electron.app/.aardio-ignore +6 -0
  242. package/aardio/extensions/wizard/project2/template/web/electron/electron.app/.yarnrc +1 -0
  243. package/aardio/extensions/wizard/project2/template/web/electron/electron.app/app.ico +0 -0
  244. package/aardio/extensions/wizard/project2/template/web/electron/forms/remoteDebugging.aardio +122 -0
  245. package/aardio/extensions/wizard/project2/template/web/electron/lib/config.aardio +22 -0
  246. package/aardio/extensions/wizard/project2/template/web/electron/main.aardio +80 -0
  247. package/aardio/extensions/wizard/project2/template/web/electron/res/.vscode/settings.json +3 -0
  248. package/aardio/extensions/wizard/project2/template/web/electron/res/index.aardio +78 -0
  249. package/aardio/extensions/wizard/project2/template/web/layoutUi/default.aproj +20 -0
  250. package/aardio/extensions/wizard/project2/template/web/layoutUi/layout/images/begin.png +0 -0
  251. package/aardio/extensions/wizard/project2/template/web/layoutUi/layout/images/document.png +0 -0
  252. package/aardio/extensions/wizard/project2/template/web/layoutUi/layout/images/download.png +0 -0
  253. package/aardio/extensions/wizard/project2/template/web/layoutUi/layout/images/home.png +0 -0
  254. package/aardio/extensions/wizard/project2/template/web/layoutUi/layout/images/logo.png +0 -0
  255. package/aardio/extensions/wizard/project2/template/web/layoutUi/layout/tabs.css +123 -0
  256. package/aardio/extensions/wizard/project2/template/web/layoutUi/layout/ui.css +67 -0
  257. package/aardio/extensions/wizard/project2/template/web/layoutUi/layout/ui.html +49 -0
  258. package/aardio/extensions/wizard/project2/template/web/layoutUi/main.aardio +26 -0
  259. package/aardio/extensions/wizard/project2/template/web/sciter/default.aproj +21 -0
  260. package/aardio/extensions/wizard/project2/template/web/sciter/layout/hooks.js +2 -0
  261. package/aardio/extensions/wizard/project2/template/web/sciter/layout/images/begin.png +0 -0
  262. package/aardio/extensions/wizard/project2/template/web/sciter/layout/images/document.png +0 -0
  263. package/aardio/extensions/wizard/project2/template/web/sciter/layout/images/download.png +0 -0
  264. package/aardio/extensions/wizard/project2/template/web/sciter/layout/images/home.png +0 -0
  265. package/aardio/extensions/wizard/project2/template/web/sciter/layout/images/logo.png +0 -0
  266. package/aardio/extensions/wizard/project2/template/web/sciter/layout/preact.js +2 -0
  267. package/aardio/extensions/wizard/project2/template/web/sciter/layout/tabs.css +123 -0
  268. package/aardio/extensions/wizard/project2/template/web/sciter/layout/ui.css +67 -0
  269. package/aardio/extensions/wizard/project2/template/web/sciter/layout/ui.html +100 -0
  270. package/aardio/extensions/wizard/project2/template/web/sciter/main.aardio +31 -0
  271. package/aardio/extensions/wizard/project2/template/web/view/default.aproj +10 -0
  272. package/aardio/extensions/wizard/project2/template/web/view/lib/config.aardio +17 -0
  273. package/aardio/extensions/wizard/project2/template/web/view/main.aardio +30 -0
  274. package/aardio/extensions/wizard/project2/template/web/view/web/index.html +15 -0
  275. package/aardio/extensions/wizard/project2/template/web/view/web.src/.yarnrc +1 -0
  276. package/aardio/extensions/wizard/project2/template/web/view/web.src/package.json +44 -0
  277. package/aardio/extensions/wizard/project2/template/web/view/web.src/public/favicon.ico +0 -0
  278. package/aardio/extensions/wizard/project2/template/web/view/web.src/public/index.html +33 -0
  279. package/aardio/extensions/wizard/project2/template/web/view/web.src/src/App.css +20 -0
  280. package/aardio/extensions/wizard/project2/template/web/view/web.src/src/App.test.tsx +9 -0
  281. package/aardio/extensions/wizard/project2/template/web/view/web.src/src/App.tsx +37 -0
  282. package/aardio/extensions/wizard/project2/template/web/view/web.src/src/Counter.tsx +39 -0
  283. package/aardio/extensions/wizard/project2/template/web/view/web.src/src/aardio/index.d.ts +7 -0
  284. package/aardio/extensions/wizard/project2/template/web/view/web.src/src/index.css +9 -0
  285. package/aardio/extensions/wizard/project2/template/web/view/web.src/src/index.tsx +26 -0
  286. package/aardio/extensions/wizard/project2/template/web/view/web.src/src/react-app-env.d.ts +1 -0
  287. package/aardio/extensions/wizard/project2/template/web/view/web.src/src/reportWebVitals.ts +15 -0
  288. package/aardio/extensions/wizard/project2/template/web/view/web.src/src/setupTests.ts +5 -0
  289. package/aardio/extensions/wizard/project2/template/web/view/web.src/src/store/index.ts +11 -0
  290. package/aardio/extensions/wizard/project2/template/web/view/web.src/src/store/useCounterController.ts +39 -0
  291. package/aardio/extensions/wizard/project2/template/web/view/web.src/src/store/useUserController.ts +24 -0
  292. package/aardio/extensions/wizard/project2/template/web/view/web.src/tsconfig.json +26 -0
  293. package/aardio/extensions/wizard/project2/template/web/view-htmx/default.aproj +16 -0
  294. package/aardio/extensions/wizard/project2/template/web/view-htmx/lib/config.aardio +17 -0
  295. package/aardio/extensions/wizard/project2/template/web/view-htmx/main.aardio +21 -0
  296. package/aardio/extensions/wizard/project2/template/web/view-htmx/web/api/index.aardio +20 -0
  297. package/aardio/extensions/wizard/project2/template/web/view-htmx/web/htmx.js +1 -0
  298. package/aardio/extensions/wizard/project2/template/web/view-htmx/web/images/loading.gif +0 -0
  299. package/aardio/extensions/wizard/project2/template/web/view-htmx/web/index.css +34 -0
  300. package/aardio/extensions/wizard/project2/template/web/view-htmx/web/index.html +64 -0
  301. package/aardio/extensions/wizard/project2/template/web/view-vue/.build/default.Manifest.xml +60 -0
  302. package/aardio/extensions/wizard/project2/template/web/view-vue/.build/default.init.aardio +2 -0
  303. package/aardio/extensions/wizard/project2/template/web/view-vue/.build/default.main.aardio +6 -0
  304. package/aardio/extensions/wizard/project2/template/web/view-vue/default.aproj +10 -0
  305. package/aardio/extensions/wizard/project2/template/web/view-vue/lib/config.aardio +17 -0
  306. package/aardio/extensions/wizard/project2/template/web/view-vue/main.aardio +29 -0
  307. package/aardio/extensions/wizard/project2/template/web/view-vue/web/index.html +15 -0
  308. package/aardio/extensions/wizard/project2/template/web/view-vue/web.src/.vscode/extensions.json +3 -0
  309. package/aardio/extensions/wizard/project2/template/web/view-vue/web.src/README.md +40 -0
  310. package/aardio/extensions/wizard/project2/template/web/view-vue/web.src/aardio/index.d.ts +7 -0
  311. package/aardio/extensions/wizard/project2/template/web/view-vue/web.src/env.d.ts +1 -0
  312. package/aardio/extensions/wizard/project2/template/web/view-vue/web.src/index.html +13 -0
  313. package/aardio/extensions/wizard/project2/template/web/view-vue/web.src/package.json +24 -0
  314. package/aardio/extensions/wizard/project2/template/web/view-vue/web.src/public/favicon.ico +0 -0
  315. package/aardio/extensions/wizard/project2/template/web/view-vue/web.src/src/App.vue +57 -0
  316. package/aardio/extensions/wizard/project2/template/web/view-vue/web.src/src/assets/base.css +74 -0
  317. package/aardio/extensions/wizard/project2/template/web/view-vue/web.src/src/assets/logo.svg +1 -0
  318. package/aardio/extensions/wizard/project2/template/web/view-vue/web.src/src/assets/main.css +35 -0
  319. package/aardio/extensions/wizard/project2/template/web/view-vue/web.src/src/components/HelloWorld.vue +40 -0
  320. package/aardio/extensions/wizard/project2/template/web/view-vue/web.src/src/components/TheWelcome.vue +86 -0
  321. package/aardio/extensions/wizard/project2/template/web/view-vue/web.src/src/components/WelcomeItem.vue +86 -0
  322. package/aardio/extensions/wizard/project2/template/web/view-vue/web.src/src/components/icons/IconCommunity.vue +7 -0
  323. package/aardio/extensions/wizard/project2/template/web/view-vue/web.src/src/components/icons/IconDocumentation.vue +7 -0
  324. package/aardio/extensions/wizard/project2/template/web/view-vue/web.src/src/components/icons/IconEcosystem.vue +7 -0
  325. package/aardio/extensions/wizard/project2/template/web/view-vue/web.src/src/components/icons/IconSupport.vue +7 -0
  326. package/aardio/extensions/wizard/project2/template/web/view-vue/web.src/src/components/icons/IconTooling.vue +19 -0
  327. package/aardio/extensions/wizard/project2/template/web/view-vue/web.src/src/main.ts +6 -0
  328. package/aardio/extensions/wizard/project2/template/web/view-vue/web.src/tsconfig.config.json +8 -0
  329. package/aardio/extensions/wizard/project2/template/web/view-vue/web.src/tsconfig.json +16 -0
  330. package/aardio/extensions/wizard/project2/template/web/view-vue/web.src/vite.config.ts +20 -0
  331. package/aardio/extensions/wizard/project2/template/web/webform/default.aproj +19 -0
  332. package/aardio/extensions/wizard/project2/template/web/webform/forms/main/frmPage2.aardio +9 -0
  333. package/aardio/extensions/wizard/project2/template/web/webform/forms/main/frmPage3.aardio +9 -0
  334. package/aardio/extensions/wizard/project2/template/web/webform/forms/main/webPage.aardio +32 -0
  335. package/aardio/extensions/wizard/project2/template/web/webform/lib/config.aardio +17 -0
  336. package/aardio/extensions/wizard/project2/template/web/webform/main.aardio +52 -0
  337. package/aardio/extensions/wizard/project2/template/web/webform/web/api/index.aardio +21 -0
  338. package/aardio/extensions/wizard/project2/template/web/webform/web/htmx.js +1 -0
  339. package/aardio/extensions/wizard/project2/template/web/webform/web/images/loading.gif +0 -0
  340. package/aardio/extensions/wizard/project2/template/web/webform/web/index.css +34 -0
  341. package/aardio/extensions/wizard/project2/template/web/webform/web/index.html +65 -0
  342. package/aardio/extensions/wizard/project2/template/web/webkit/default.aproj +16 -0
  343. package/aardio/extensions/wizard/project2/template/web/webkit/forms/main/frmPage2.aardio +9 -0
  344. package/aardio/extensions/wizard/project2/template/web/webkit/forms/main/frmPage3.aardio +9 -0
  345. package/aardio/extensions/wizard/project2/template/web/webkit/forms/main/webPage.aardio +28 -0
  346. package/aardio/extensions/wizard/project2/template/web/webkit/lib/config.aardio +17 -0
  347. package/aardio/extensions/wizard/project2/template/web/webkit/main.aardio +52 -0
  348. package/aardio/extensions/wizard/project2/template/web/webkit/web/index.html +11 -0
  349. package/aardio/extensions/wizard/project2/template/web/webkit/web/index.js +173 -0
  350. package/aardio/extensions/wizard/project2/template/web/webkit/web.src/.babelrc +20 -0
  351. package/aardio/extensions/wizard/project2/template/web/webkit/web.src/package.json +25 -0
  352. package/aardio/extensions/wizard/project2/template/web/webkit/web.src/src/App.css +27 -0
  353. package/aardio/extensions/wizard/project2/template/web/webkit/web.src/src/App.jsx +49 -0
  354. package/aardio/extensions/wizard/project2/template/web/webkit/web.src/src/index.js +7 -0
  355. package/aardio/extensions/wizard/project2/template/web/webkit/web.src/webpack.config.js +43 -0
  356. package/aardio/extensions/wizard/project2/template/web-server/default.aproj +18 -0
  357. package/aardio/extensions/wizard/project2/template/web-server/lib/config.aardio +17 -0
  358. package/aardio/extensions/wizard/project2/template/web-server/main.aardio +343 -0
  359. package/aardio/extensions/wizard/project2/template/website/.build/default.main.aardio +9 -0
  360. package/aardio/extensions/wizard/project2/template/website/default.aproj +8 -0
  361. package/aardio/extensions/wizard/project2/template/website/help/main.aardio +58 -0
  362. package/aardio/extensions/wizard/project2/template/website/lib/config.aardio +17 -0
  363. package/aardio/extensions/wizard/project2/template/website/main.aardio +59 -0
  364. package/aardio/extensions/wizard/project2/template/winform/default.aproj +18 -0
  365. package/aardio/extensions/wizard/project2/template/winform/dlg/login/loading.aardio +17 -0
  366. package/aardio/extensions/wizard/project2/template/winform/dlg/login/login.aardio +51 -0
  367. package/aardio/extensions/wizard/project2/template/winform/dlg/login/reg.aardio +20 -0
  368. package/aardio/extensions/wizard/project2/template/winform/dlg/main/tabs1.aardio +52 -0
  369. package/aardio/extensions/wizard/project2/template/winform/dlg/main/tabs2.aardio +51 -0
  370. package/aardio/extensions/wizard/project2/template/winform/dlg/main/tabs3.aardio +55 -0
  371. package/aardio/extensions/wizard/project2/template/winform/dlg/main/userInfo.aardio +40 -0
  372. package/aardio/extensions/wizard/project2/template/winform/lib/config.aardio +17 -0
  373. package/aardio/extensions/wizard/project2/template/winform/main.aardio +18 -0
  374. package/aardio/extensions/wizard/project2/template/winform-blank/default.aproj +6 -0
  375. package/aardio/extensions/wizard/project2/template/winform-blank/lib/config.aardio +17 -0
  376. package/aardio/extensions/wizard/project2/template/winform-blank/main.aardio +8 -0
  377. package/aardio/extensions/wizard/project2//345/267/245/347/250/213/345/220/221/345/257/274.aproj +71 -0
  378. package/aardio/lib/System/Array.aardio +7 -0
  379. package/aardio/lib/System/Collections/_.aardio +6 -0
  380. package/aardio/lib/System/Console.aardio +7 -0
  381. package/aardio/lib/System/Data/_.aardio +7 -0
  382. package/aardio/lib/System/Delegate.aardio +7 -0
  383. package/aardio/lib/System/Drawing/_.aardio +6 -0
  384. package/aardio/lib/System/IO/Compression/ZipFile.aardio +11 -0
  385. package/aardio/lib/System/IO/_.aardio +6 -0
  386. package/aardio/lib/System/Text/_.aardio +6 -0
  387. package/aardio/lib/System/Type.aardio +9 -0
  388. package/aardio/lib/System/ValueTuple.aardio +33 -0
  389. package/aardio/lib/System/Windows/Automation/_.aardio +74 -0
  390. package/aardio/lib/System/Windows/Forms/_.aardio +26 -0
  391. package/aardio/lib/System/Windows/_.aardio +6 -0
  392. package/aardio/lib/System/_.aardio +6 -0
  393. package/aardio/lib/access/_.aardio +713 -0
  394. package/aardio/lib/access/oleDb12.aardio +26 -0
  395. package/aardio/lib/access/query.aardio +19 -0
  396. package/aardio/lib/bencoding/_.aardio +2 -0
  397. package/aardio/lib/bencoding/decoder.aardio +131 -0
  398. package/aardio/lib/bencoding/encoder.aardio +61 -0
  399. package/aardio/lib/bencoding/magnet.aardio +24 -0
  400. package/aardio/lib/chrome/app.aardio +581 -0
  401. package/aardio/lib/chrome/dev.aardio +152 -0
  402. package/aardio/lib/chrome/driver.aardio +743 -0
  403. package/aardio/lib/chrome/edge.aardio +35 -0
  404. package/aardio/lib/chrome/edge.history.aardio +57 -0
  405. package/aardio/lib/chrome/extensions.aardio +33 -0
  406. package/aardio/lib/chrome/history.aardio +70 -0
  407. package/aardio/lib/chrome/path.aardio +140 -0
  408. package/aardio/lib/chrome/remote.aardio +75 -0
  409. package/aardio/lib/chrome/time.aardio +17 -0
  410. package/aardio/lib/color/_.aardio +210 -0
  411. package/aardio/lib/color/table.aardio +374 -0
  412. package/aardio/lib/color/view.aardio +244 -0
  413. package/aardio/lib/color/viewForm.aardio +342 -0
  414. package/aardio/lib/com/activeX.aardio +275 -0
  415. package/aardio/lib/com/cad/_.aardio +403 -0
  416. package/aardio/lib/com/excel.aardio +180 -0
  417. package/aardio/lib/com/interface/IApplicationActivationManager.aardio +31 -0
  418. package/aardio/lib/com/interface/IApplicationAssociationRegistration.aardio +359 -0
  419. package/aardio/lib/com/interface/IAudioMeterInformation.aardio +17 -0
  420. package/aardio/lib/com/interface/IClassFactory.aardio +26 -0
  421. package/aardio/lib/com/interface/IClassFactory2.aardio +47 -0
  422. package/aardio/lib/com/interface/IComThreadingInfo.aardio +37 -0
  423. package/aardio/lib/com/interface/IDirect3D9.aardio +188 -0
  424. package/aardio/lib/com/interface/IEnumCodePage.aardio +14 -0
  425. package/aardio/lib/com/interface/IEnumGUID.aardio +26 -0
  426. package/aardio/lib/com/interface/IEnumShellItems.aardio +29 -0
  427. package/aardio/lib/com/interface/IFileDialog.aardio +101 -0
  428. package/aardio/lib/com/interface/IFileOpenDialog.aardio +97 -0
  429. package/aardio/lib/com/interface/IFileSaveDialog.aardio +22 -0
  430. package/aardio/lib/com/interface/IKsPropertySet.aardio +17 -0
  431. package/aardio/lib/com/interface/IModalWindow.aardio +13 -0
  432. package/aardio/lib/com/interface/IMultiLanguage2.aardio +285 -0
  433. package/aardio/lib/com/interface/IOleControl.aardio +41 -0
  434. package/aardio/lib/com/interface/IOleWindow.aardio +29 -0
  435. package/aardio/lib/com/interface/IPersist.aardio +12 -0
  436. package/aardio/lib/com/interface/IPersistFile.aardio +18 -0
  437. package/aardio/lib/com/interface/IPersistStreamInit.aardio +56 -0
  438. package/aardio/lib/com/interface/IPicture.aardio +187 -0
  439. package/aardio/lib/com/interface/IServiceProvider.aardio +16 -0
  440. package/aardio/lib/com/interface/IShellItem.aardio +48 -0
  441. package/aardio/lib/com/interface/IShellItemArray.aardio +20 -0
  442. package/aardio/lib/com/interface/IShellLink.aardio +35 -0
  443. package/aardio/lib/com/interface/IStream.aardio +26 -0
  444. package/aardio/lib/com/interface/ITaskbarList3.aardio +62 -0
  445. package/aardio/lib/com/interface/ITfInputProcessorProfileMgr.aardio +75 -0
  446. package/aardio/lib/com/interface/ITfInputProcessorProfiles.aardio +125 -0
  447. package/aardio/lib/com/interface/IUniformResourceLocator.aardio +18 -0
  448. package/aardio/lib/com/interface/IViewObject2.aardio +38 -0
  449. package/aardio/lib/com/interface/_.aardio +231 -0
  450. package/aardio/lib/com/lite.aardio +183 -0
  451. package/aardio/lib/com/oleDb.aardio +57 -0
  452. package/aardio/lib/com/picture.aardio +235 -0
  453. package/aardio/lib/com/sapi/voice.aardio +178 -0
  454. package/aardio/lib/com/shell.aardio +69 -0
  455. package/aardio/lib/com/smtp.aardio +286 -0
  456. package/aardio/lib/com/tlbDoc.aardio +145 -0
  457. package/aardio/lib/com/typeAttrs.aardio +35 -0
  458. package/aardio/lib/com/wmi.aardio +208 -0
  459. package/aardio/lib/console/_.aardio +917 -0
  460. package/aardio/lib/console/int.aardio +55 -0
  461. package/aardio/lib/console/progress.aardio +141 -0
  462. package/aardio/lib/console/wine.aardio +393 -0
  463. package/aardio/lib/coroutine/_.aardio +46 -0
  464. package/aardio/lib/crypt/_.aardio +919 -0
  465. package/aardio/lib/crypt/aes.aardio +58 -0
  466. package/aardio/lib/crypt/bin.aardio +68 -0
  467. package/aardio/lib/crypt/des.aardio +55 -0
  468. package/aardio/lib/crypt/hash.aardio +110 -0
  469. package/aardio/lib/crypt/hmac.aardio +64 -0
  470. package/aardio/lib/crypt/jwt.aardio +78 -0
  471. package/aardio/lib/crypt/protectData.aardio +51 -0
  472. package/aardio/lib/crypt/provParam.aardio +32 -0
  473. package/aardio/lib/crypt/rc4.aardio +32 -0
  474. package/aardio/lib/crypt/rsa.aardio +244 -0
  475. package/aardio/lib/debug/_.aardio +172 -0
  476. package/aardio/lib/debug/log.aardio +144 -0
  477. package/aardio/lib/dotNet/.res/Aardio.InteropServices/CCodeCompiler.cs +202 -0
  478. package/aardio/lib/dotNet/.res/Aardio.InteropServices/DispatchableDelegate.cs +362 -0
  479. package/aardio/lib/dotNet/.res/Aardio.InteropServices/Utility.cs +1469 -0
  480. package/aardio/lib/dotNet/.res/Aardio.InteropServices.csproj +51 -0
  481. package/aardio/lib/dotNet/.res/Aardio.PS/Aardio.PS.DynObject.cs +194 -0
  482. package/aardio/lib/dotNet/.res/Aardio.PS/Aardio.PS.cs +446 -0
  483. package/aardio/lib/dotNet/.res/Properties/AssemblyInfo.cs +20 -0
  484. package/aardio/lib/dotNet/.res/bin/Release/Aardio.InteropServices.dll +0 -0
  485. package/aardio/lib/dotNet/_.aardio +258 -0
  486. package/aardio/lib/dotNet/appDomain.aardio +967 -0
  487. package/aardio/lib/dotNet/audio/.res/Audio.dll +0 -0
  488. package/aardio/lib/dotNet/audio/.res/NAudio.dll +0 -0
  489. package/aardio/lib/dotNet/audio/.res/build.aardio +206 -0
  490. package/aardio/lib/dotNet/audio/_.aardio +94 -0
  491. package/aardio/lib/dotNet/clr.aardio +210 -0
  492. package/aardio/lib/dotNet/interface/IAppDomainSetup.aardio +31 -0
  493. package/aardio/lib/dotNet/interface/ICLRMetaHost.aardio +17 -0
  494. package/aardio/lib/dotNet/interface/ICLRRuntimeHost.aardio +35 -0
  495. package/aardio/lib/dotNet/interface/ICLRRuntimeInfo.aardio +23 -0
  496. package/aardio/lib/dotNet/interface/ICorRuntimeHost.aardio +30 -0
  497. package/aardio/lib/dotNet/nuget.aardio +67 -0
  498. package/aardio/lib/dotNet/ocr/.res/ocr.dll +0 -0
  499. package/aardio/lib/dotNet/ocr/_.aardio +275 -0
  500. package/aardio/lib/dotNet/ps.aardio +177 -0
  501. package/aardio/lib/dotNet/uwpCompiler.aardio +61 -0
  502. package/aardio/lib/dotNet/v2.aardio +19 -0
  503. package/aardio/lib/dotNet/v4.aardio +57 -0
  504. package/aardio/lib/dotNet/version.aardio +74 -0
  505. package/aardio/lib/electron/app/.build/aardio/index.d.ts +173 -0
  506. package/aardio/lib/electron/app/.build/aardio/index.js +636 -0
  507. package/aardio/lib/electron/app/.build/main.aardio +298 -0
  508. package/aardio/lib/electron/app/.build/ws.asar +0 -0
  509. package/aardio/lib/electron/app/_.aardio +731 -0
  510. package/aardio/lib/electron/runtime/_.aardio +50 -0
  511. package/aardio/lib/fastcgi/_.aardio +2 -0
  512. package/aardio/lib/fastcgi/client/_.aardio +807 -0
  513. package/aardio/lib/fastcgi/iisInstall.aardio +124 -0
  514. package/aardio/lib/fastcgi/nameValuePairs.aardio +93 -0
  515. package/aardio/lib/fastcgi/stream.aardio +100 -0
  516. package/aardio/lib/fonts/.res/FontAwesome.ttf +0 -0
  517. package/aardio/lib/fonts/.res/FontAwesomeDlg.ttf +0 -0
  518. package/aardio/lib/fonts/_.aardio +71 -0
  519. package/aardio/lib/fonts/fontAwesome.aardio +14 -0
  520. package/aardio/lib/fonts/fontAwesomeDlg.aardio +10 -0
  521. package/aardio/lib/fonts/httpFamily.aardio +21 -0
  522. package/aardio/lib/fsys/_.aardio +538 -0
  523. package/aardio/lib/fsys/acl.aardio +116 -0
  524. package/aardio/lib/fsys/asar/reader.aardio +346 -0
  525. package/aardio/lib/fsys/asar/writer.aardio +241 -0
  526. package/aardio/lib/fsys/batch.aardio +99 -0
  527. package/aardio/lib/fsys/cab/_.aardio +123 -0
  528. package/aardio/lib/fsys/cab/maker.aardio +105 -0
  529. package/aardio/lib/fsys/codepage.aardio +141 -0
  530. package/aardio/lib/fsys/config.aardio +69 -0
  531. package/aardio/lib/fsys/cookies.aardio +214 -0
  532. package/aardio/lib/fsys/dirWatcher.aardio +135 -0
  533. package/aardio/lib/fsys/dlg.aardio +214 -0
  534. package/aardio/lib/fsys/dlg.dir.aardio +24 -0
  535. package/aardio/lib/fsys/drives.aardio +58 -0
  536. package/aardio/lib/fsys/environment.aardio +58 -0
  537. package/aardio/lib/fsys/file.aardio +490 -0
  538. package/aardio/lib/fsys/fileInfo.aardio +68 -0
  539. package/aardio/lib/fsys/hardlink.aardio +26 -0
  540. package/aardio/lib/fsys/hosts.aardio +80 -0
  541. package/aardio/lib/fsys/info.aardio +40 -0
  542. package/aardio/lib/fsys/ini.aardio +176 -0
  543. package/aardio/lib/fsys/knownFolder.aardio +30 -0
  544. package/aardio/lib/fsys/lnk.aardio +404 -0
  545. package/aardio/lib/fsys/localfile.aardio +77 -0
  546. package/aardio/lib/fsys/log.aardio +150 -0
  547. package/aardio/lib/fsys/media.aardio +199 -0
  548. package/aardio/lib/fsys/mime.aardio +115 -0
  549. package/aardio/lib/fsys/mmap/_.aardio +233 -0
  550. package/aardio/lib/fsys/multipartFormData.aardio +188 -0
  551. package/aardio/lib/fsys/namedPipe.aardio +95 -0
  552. package/aardio/lib/fsys/partFile.aardio +186 -0
  553. package/aardio/lib/fsys/path.aardio +179 -0
  554. package/aardio/lib/fsys/remove.aardio +31 -0
  555. package/aardio/lib/fsys/res.aardio +149 -0
  556. package/aardio/lib/fsys/safepath.aardio +36 -0
  557. package/aardio/lib/fsys/shortcut.aardio +55 -0
  558. package/aardio/lib/fsys/size.aardio +39 -0
  559. package/aardio/lib/fsys/stream.aardio +276 -0
  560. package/aardio/lib/fsys/streamInfo.aardio +47 -0
  561. package/aardio/lib/fsys/table.aardio +102 -0
  562. package/aardio/lib/fsys/tar.aardio +181 -0
  563. package/aardio/lib/fsys/time.aardio +149 -0
  564. package/aardio/lib/fsys/untar.aardio +190 -0
  565. package/aardio/lib/fsys/update/app.aardio +171 -0
  566. package/aardio/lib/fsys/update/dlMgr.aardio +402 -0
  567. package/aardio/lib/fsys/update/maker.aardio +168 -0
  568. package/aardio/lib/fsys/update/simpleMain.aardio +292 -0
  569. package/aardio/lib/fsys/url.aardio +71 -0
  570. package/aardio/lib/fsys/version.aardio +157 -0
  571. package/aardio/lib/fsys/watch.aardio +76 -0
  572. package/aardio/lib/fsys/wow64.aardio +43 -0
  573. package/aardio/lib/gdi/_.aardio +846 -0
  574. package/aardio/lib/gdip/.res/feather.dll +0 -0
  575. package/aardio/lib/gdip/.res//347/274/226/350/257/221.aardio +14 -0
  576. package/aardio/lib/gdip/_.aardio +1004 -0
  577. package/aardio/lib/gdip/bitmap.aardio +497 -0
  578. package/aardio/lib/gdip/core.aardio +137 -0
  579. package/aardio/lib/gdip/exifTags.aardio +192 -0
  580. package/aardio/lib/gdip/family.aardio +91 -0
  581. package/aardio/lib/gdip/feather.aardio +74 -0
  582. package/aardio/lib/gdip/font.aardio +130 -0
  583. package/aardio/lib/gdip/graphics.aardio +739 -0
  584. package/aardio/lib/gdip/image.aardio +610 -0
  585. package/aardio/lib/gdip/imageAttributes.aardio +143 -0
  586. package/aardio/lib/gdip/installedFontCollection.aardio +19 -0
  587. package/aardio/lib/gdip/lineBrush.aardio +114 -0
  588. package/aardio/lib/gdip/path.aardio +171 -0
  589. package/aardio/lib/gdip/pathGradientBrush.aardio +93 -0
  590. package/aardio/lib/gdip/pen.aardio +206 -0
  591. package/aardio/lib/gdip/privateFontCollection.aardio +178 -0
  592. package/aardio/lib/gdip/snap.aardio +99 -0
  593. package/aardio/lib/gdip/solidBrush.aardio +63 -0
  594. package/aardio/lib/gdip/stringformat.aardio +112 -0
  595. package/aardio/lib/gdip/textureBrush.aardio +93 -0
  596. package/aardio/lib/godking/elistbar/_.aardio +552 -0
  597. package/aardio/lib/godking/elistbar/elistbar.dll +0 -0
  598. package/aardio/lib/golang/.res/aardio/aardio.go +44 -0
  599. package/aardio/lib/golang/.res/aardio/jsonrpc/jsonrpc.go +27 -0
  600. package/aardio/lib/golang/.res/aardio/jsonrpc/tcp/tcp.go +28 -0
  601. package/aardio/lib/golang/_.aardio +234 -0
  602. package/aardio/lib/golang/string.aardio +22 -0
  603. package/aardio/lib/ide/command.aardio +226 -0
  604. package/aardio/lib/ide/customCtrl.aardio +9 -0
  605. package/aardio/lib/ide/debug.aardio +61 -0
  606. package/aardio/lib/ide/doc/_.aardio +361 -0
  607. package/aardio/lib/ide/doc/markdown.aardio +164 -0
  608. package/aardio/lib/inet/_.aardio +446 -0
  609. package/aardio/lib/inet/adapter.aardio +175 -0
  610. package/aardio/lib/inet/adapterInfo.aardio +180 -0
  611. package/aardio/lib/inet/conn.aardio +80 -0
  612. package/aardio/lib/inet/connView.aardio +22 -0
  613. package/aardio/lib/inet/downBox.aardio +247 -0
  614. package/aardio/lib/inet/errorMessage.aardio +106 -0
  615. package/aardio/lib/inet/file.aardio +62 -0
  616. package/aardio/lib/inet/ftp.aardio +315 -0
  617. package/aardio/lib/inet/http.aardio +885 -0
  618. package/aardio/lib/inet/httpFile.aardio +312 -0
  619. package/aardio/lib/inet/httpStatusCode.aardio +143 -0
  620. package/aardio/lib/inet/installer.aardio +76 -0
  621. package/aardio/lib/inet/mac.aardio +49 -0
  622. package/aardio/lib/inet/ras.aardio +433 -0
  623. package/aardio/lib/inet/stat.aardio +78 -0
  624. package/aardio/lib/inet/tls.aardio +28 -0
  625. package/aardio/lib/inet/url.aardio +334 -0
  626. package/aardio/lib/inet/urlpart.aardio +41 -0
  627. package/aardio/lib/inet/util.aardio +54 -0
  628. package/aardio/lib/inet/whttp.aardio +988 -0
  629. package/aardio/lib/java/.build/main.aardio +10 -0
  630. package/aardio/lib/java/.interopServices/build.aardio +372 -0
  631. package/aardio/lib/java/.interopServices/utility.class +0 -0
  632. package/aardio/lib/java/.interopServices/utility.java +354 -0
  633. package/aardio/lib/java/_.aardio +1006 -0
  634. package/aardio/lib/java/class.aardio +295 -0
  635. package/aardio/lib/java/jdk/v6ora.aardio +23 -0
  636. package/aardio/lib/java/jdk/v8.aardio +53 -0
  637. package/aardio/lib/java/jdk/v8ora.aardio +23 -0
  638. package/aardio/lib/java/jre/v8.aardio +53 -0
  639. package/aardio/lib/java/jre/v8ora.aardio +37 -0
  640. package/aardio/lib/java/object.aardio +218 -0
  641. package/aardio/lib/java/path.aardio +451 -0
  642. package/aardio/lib/key/VK.aardio +641 -0
  643. package/aardio/lib/key/_.aardio +303 -0
  644. package/aardio/lib/key/hook.aardio +76 -0
  645. package/aardio/lib/key/hotkey/_.aardio +540 -0
  646. package/aardio/lib/key/ime.aardio +221 -0
  647. package/aardio/lib/key/ime.stateBar.aardio +346 -0
  648. package/aardio/lib/mouse/_.aardio +359 -0
  649. package/aardio/lib/mouse/cursor.aardio +43 -0
  650. package/aardio/lib/mouse/draw.aardio +314 -0
  651. package/aardio/lib/mouse/highlighter.aardio +193 -0
  652. package/aardio/lib/mouse/hook.aardio +79 -0
  653. package/aardio/lib/mouse/screenArea.aardio +102 -0
  654. package/aardio/lib/nodeJs/_.aardio +593 -0
  655. package/aardio/lib/preload/_.aardio +253 -0
  656. package/aardio/lib/preload/com.aardio +319 -0
  657. package/aardio/lib/preload/io.aardio +107 -0
  658. package/aardio/lib/preload/math.aardio +91 -0
  659. package/aardio/lib/preload/raw.aardio +105 -0
  660. package/aardio/lib/preload/string.aardio +224 -0
  661. package/aardio/lib/preload/struct.aardio +194 -0
  662. package/aardio/lib/preload/table.aardio +388 -0
  663. package/aardio/lib/preload/thread.aardio +341 -0
  664. package/aardio/lib/process/_.aardio +1510 -0
  665. package/aardio/lib/process/admin.aardio +110 -0
  666. package/aardio/lib/process/apiHook/_.aardio +141 -0
  667. package/aardio/lib/process/atom.aardio +32 -0
  668. package/aardio/lib/process/batch.aardio +89 -0
  669. package/aardio/lib/process/cache.aardio +95 -0
  670. package/aardio/lib/process/chm.aardio +14 -0
  671. package/aardio/lib/process/cmdline.aardio +42 -0
  672. package/aardio/lib/process/code.aardio +128 -0
  673. package/aardio/lib/process/command.aardio +226 -0
  674. package/aardio/lib/process/control.aardio +29 -0
  675. package/aardio/lib/process/curl/_.aardio +91 -0
  676. package/aardio/lib/process/ffmpeg.aardio +63 -0
  677. package/aardio/lib/process/file.aardio +118 -0
  678. package/aardio/lib/process/gcc/_.aardio +236 -0
  679. package/aardio/lib/process/gfortran/_.aardio +71 -0
  680. package/aardio/lib/process/heap.aardio +59 -0
  681. package/aardio/lib/process/imageView.aardio +13 -0
  682. package/aardio/lib/process/job/limitKill.aardio +107 -0
  683. package/aardio/lib/process/mutex.aardio +105 -0
  684. package/aardio/lib/process/php/5.2.aardio +7 -0
  685. package/aardio/lib/process/php/5.6.aardio +10 -0
  686. package/aardio/lib/process/php/_.aardio +119 -0
  687. package/aardio/lib/process/php/cgi.aardio +82 -0
  688. package/aardio/lib/process/popen.aardio +562 -0
  689. package/aardio/lib/process/python/.py/jsonrpyc.py +405 -0
  690. package/aardio/lib/process/python/_.aardio +380 -0
  691. package/aardio/lib/process/python/pip.aardio +143 -0
  692. package/aardio/lib/process/rpc/jsonClient.aardio +285 -0
  693. package/aardio/lib/process/rpc/jsonServer.aardio +293 -0
  694. package/aardio/lib/process/rpc/tcpJsonClient.aardio +36 -0
  695. package/aardio/lib/process/ruby/_.aardio +196 -0
  696. package/aardio/lib/process/ruby/cgi.aardio +76 -0
  697. package/aardio/lib/process/ruby/simpleHttpServer.aardio +44 -0
  698. package/aardio/lib/process/rundll.aardio +44 -0
  699. package/aardio/lib/process/rust/_.aardio +176 -0
  700. package/aardio/lib/process/temp.aardio +116 -0
  701. package/aardio/lib/process/token.aardio +122 -0
  702. package/aardio/lib/process/usage.aardio +74 -0
  703. package/aardio/lib/process/vswhere.aardio +63 -0
  704. package/aardio/lib/process/wmi.aardio +65 -0
  705. package/aardio/lib/process/wow64.aardio +34 -0
  706. package/aardio/lib/protobuf/message.aardio +348 -0
  707. package/aardio/lib/protobuf/parser/_.aardio +362 -0
  708. package/aardio/lib/protobuf/parser/lex.aardio +221 -0
  709. package/aardio/lib/protobuf/parser/message.aardio +315 -0
  710. package/aardio/lib/protobuf/parser/template.aardio +159 -0
  711. package/aardio/lib/protobuf/reader/inputString.aardio +58 -0
  712. package/aardio/lib/protobuf/type/bool.aardio +29 -0
  713. package/aardio/lib/protobuf/type/bytes.aardio +28 -0
  714. package/aardio/lib/protobuf/type/double.aardio +24 -0
  715. package/aardio/lib/protobuf/type/enum.aardio +29 -0
  716. package/aardio/lib/protobuf/type/fixed32.aardio +23 -0
  717. package/aardio/lib/protobuf/type/fixed64.aardio +24 -0
  718. package/aardio/lib/protobuf/type/float.aardio +25 -0
  719. package/aardio/lib/protobuf/type/int32.aardio +29 -0
  720. package/aardio/lib/protobuf/type/int64.aardio +30 -0
  721. package/aardio/lib/protobuf/type/map.aardio +84 -0
  722. package/aardio/lib/protobuf/type/scalar.aardio +12 -0
  723. package/aardio/lib/protobuf/type/sfixed32.aardio +22 -0
  724. package/aardio/lib/protobuf/type/sfixed64.aardio +22 -0
  725. package/aardio/lib/protobuf/type/sint32.aardio +41 -0
  726. package/aardio/lib/protobuf/type/sint64.aardio +41 -0
  727. package/aardio/lib/protobuf/type/string.aardio +28 -0
  728. package/aardio/lib/protobuf/type/uint32.aardio +28 -0
  729. package/aardio/lib/protobuf/type/uint64.aardio +28 -0
  730. package/aardio/lib/raw/apiHook.aardio +122 -0
  731. package/aardio/lib/raw/argsPointer/.res/argsPointer.def +4 -0
  732. package/aardio/lib/raw/argsPointer/.res/argsPointer.dll +0 -0
  733. package/aardio/lib/raw/argsPointer/.res/build.aardio +15 -0
  734. package/aardio/lib/raw/argsPointer/_.aardio +144 -0
  735. package/aardio/lib/raw/asm/opCode.aardio +101 -0
  736. package/aardio/lib/raw/cdeclParameter.aardio +121 -0
  737. package/aardio/lib/raw/fasm/.res/FASM.DLL +0 -0
  738. package/aardio/lib/raw/fasm/.res/LICENSE.TXT +37 -0
  739. package/aardio/lib/raw/fasm/_.aardio +138 -0
  740. package/aardio/lib/raw/functions.aardio +78 -0
  741. package/aardio/lib/raw/interface.aardio +83 -0
  742. package/aardio/lib/raw/jsonCall.aardio +18 -0
  743. package/aardio/lib/raw/memory.aardio +86 -0
  744. package/aardio/lib/raw/pefile.aardio +479 -0
  745. package/aardio/lib/raw/struct.aardio +116 -0
  746. package/aardio/lib/service/_.aardio +742 -0
  747. package/aardio/lib/service/simpleTool.aardio +73 -0
  748. package/aardio/lib/sessionHandler/default.aardio +106 -0
  749. package/aardio/lib/sevenZip/lzma/.res/LzmaUtil.dll +0 -0
  750. package/aardio/lib/sevenZip/lzma/_.aardio +139 -0
  751. package/aardio/lib/sevenZip/lzma/httpFile.aardio +157 -0
  752. package/aardio/lib/sevenZip/lzma/tar.aardio +25 -0
  753. package/aardio/lib/sqlServer/_.aardio +632 -0
  754. package/aardio/lib/sqlite/.res/sqlite3.dll +0 -0
  755. package/aardio/lib/sqlite/_.aardio +6 -0
  756. package/aardio/lib/sqlite/backup.aardio +88 -0
  757. package/aardio/lib/sqlite/base.aardio +967 -0
  758. package/aardio/lib/string/aasdl.aardio +35 -0
  759. package/aardio/lib/string/builder.aardio +212 -0
  760. package/aardio/lib/string/chineseNumber.aardio +216 -0
  761. package/aardio/lib/string/cmdline.aardio +154 -0
  762. package/aardio/lib/string/conv/.res/data.txt +405 -0
  763. package/aardio/lib/string/conv/_.aardio +89 -0
  764. package/aardio/lib/string/conv/pinyin.aardio +65 -0
  765. package/aardio/lib/string/database.aardio +182 -0
  766. package/aardio/lib/string/encoding.aardio +54 -0
  767. package/aardio/lib/string/fontRanges.aardio +117 -0
  768. package/aardio/lib/string/fuzzyMatching.aardio +98 -0
  769. package/aardio/lib/string/glob.aardio +79 -0
  770. package/aardio/lib/string/html.aardio +145 -0
  771. package/aardio/lib/string/intSegments.aardio +52 -0
  772. package/aardio/lib/string/keywords/.res/keywords.dll +0 -0
  773. package/aardio/lib/string/keywords/_.aardio +74 -0
  774. package/aardio/lib/string/list.aardio +266 -0
  775. package/aardio/lib/string/lrc.aardio +209 -0
  776. package/aardio/lib/string/markdown/.res/autolink.c +297 -0
  777. package/aardio/lib/string/markdown/.res/autolink.h +51 -0
  778. package/aardio/lib/string/markdown/.res/buffer.c +234 -0
  779. package/aardio/lib/string/markdown/.res/buffer.h +96 -0
  780. package/aardio/lib/string/markdown/.res/houdini.h +37 -0
  781. package/aardio/lib/string/markdown/.res/houdini_href_e.c +108 -0
  782. package/aardio/lib/string/markdown/.res/houdini_html_e.c +84 -0
  783. package/aardio/lib/string/markdown/.res/html.c +635 -0
  784. package/aardio/lib/string/markdown/.res/html.h +77 -0
  785. package/aardio/lib/string/markdown/.res/html_blocks.h +206 -0
  786. package/aardio/lib/string/markdown/.res/html_smartypants.c +389 -0
  787. package/aardio/lib/string/markdown/.res/markdown.c +2556 -0
  788. package/aardio/lib/string/markdown/.res/markdown.h +138 -0
  789. package/aardio/lib/string/markdown/.res/stack.c +81 -0
  790. package/aardio/lib/string/markdown/.res/stack.h +29 -0
  791. package/aardio/lib/string/markdown/.res/sundown.dll +0 -0
  792. package/aardio/lib/string/markdown/.res//347/224/237/346/210/220DLL.aardio +19 -0
  793. package/aardio/lib/string/markdown/_.aardio +231 -0
  794. package/aardio/lib/string/padding.aardio +54 -0
  795. package/aardio/lib/string/regex.aardio +43 -0
  796. package/aardio/lib/string/res.aardio +20 -0
  797. package/aardio/lib/string/stream.aardio +89 -0
  798. package/aardio/lib/string/template.aardio +21 -0
  799. package/aardio/lib/string/xml.aardio +573 -0
  800. package/aardio/lib/string/xxtea.aardio +103 -0
  801. package/aardio/lib/sys/_.aardio +71 -0
  802. package/aardio/lib/sys/acl.aardio +232 -0
  803. package/aardio/lib/sys/audioVolume/.res/Release/volumeCtrl2.dll +0 -0
  804. package/aardio/lib/sys/audioVolume/.res/stdafx.cpp +8 -0
  805. package/aardio/lib/sys/audioVolume/.res/stdafx.h +16 -0
  806. package/aardio/lib/sys/audioVolume/.res/targetver.h +8 -0
  807. package/aardio/lib/sys/audioVolume/.res/volumeCtrl2.cpp +446 -0
  808. package/aardio/lib/sys/audioVolume/.res/volumeCtrl2.h +52 -0
  809. package/aardio/lib/sys/audioVolume/.res/volumeCtrl2.vcxproj +93 -0
  810. package/aardio/lib/sys/audioVolume/_.aardio +102 -0
  811. package/aardio/lib/sys/baseBoard.aardio +78 -0
  812. package/aardio/lib/sys/comPort.aardio +56 -0
  813. package/aardio/lib/sys/cp210x.aardio +54 -0
  814. package/aardio/lib/sys/cpu.aardio +151 -0
  815. package/aardio/lib/sys/ddcci.aardio +198 -0
  816. package/aardio/lib/sys/device.aardio +217 -0
  817. package/aardio/lib/sys/display.aardio +49 -0
  818. package/aardio/lib/sys/displaySwitch.aardio +27 -0
  819. package/aardio/lib/sys/hd.aardio +152 -0
  820. package/aardio/lib/sys/info.aardio +40 -0
  821. package/aardio/lib/sys/input.aardio +92 -0
  822. package/aardio/lib/sys/installed.aardio +107 -0
  823. package/aardio/lib/sys/locale/_.aardio +103 -0
  824. package/aardio/lib/sys/locale/abbrevNames.aardio +148 -0
  825. package/aardio/lib/sys/mem.aardio +64 -0
  826. package/aardio/lib/sys/midiOut.aardio +415 -0
  827. package/aardio/lib/sys/monitor.aardio +216 -0
  828. package/aardio/lib/sys/mpPreference.aardio +159 -0
  829. package/aardio/lib/sys/networkCards.aardio +84 -0
  830. package/aardio/lib/sys/networkIsolation.aardio +160 -0
  831. package/aardio/lib/sys/power/_.aardio +180 -0
  832. package/aardio/lib/sys/power/notification.aardio +91 -0
  833. package/aardio/lib/sys/printer.aardio +271 -0
  834. package/aardio/lib/sys/qfe.aardio +14 -0
  835. package/aardio/lib/sys/reg.aardio +40 -0
  836. package/aardio/lib/sys/run.aardio +32 -0
  837. package/aardio/lib/sys/runAsTask.aardio +87 -0
  838. package/aardio/lib/sys/soundDevice.aardio +46 -0
  839. package/aardio/lib/sys/storage.aardio +173 -0
  840. package/aardio/lib/sys/upnp/nat.aardio +126 -0
  841. package/aardio/lib/sys/vc11.aardio +14 -0
  842. package/aardio/lib/sys/vc14.aardio +98 -0
  843. package/aardio/lib/sys/volume.aardio +134 -0
  844. package/aardio/lib/sys/wallpaper.aardio +45 -0
  845. package/aardio/lib/sys/wsa.aardio +98 -0
  846. package/aardio/lib/table/product.aardio +79 -0
  847. package/aardio/lib/table/zip.aardio +40 -0
  848. package/aardio/lib/tcc/.dll/RELICENSING +60 -0
  849. package/aardio/lib/tcc/.dll/libtcc.dll +0 -0
  850. package/aardio/lib/tcc/.dll/libtcc.h +100 -0
  851. package/aardio/lib/tcc/.res.tar.lzma +0 -0
  852. package/aardio/lib/tcc/_.aardio +311 -0
  853. package/aardio/lib/thread/apiHook.aardio +109 -0
  854. package/aardio/lib/thread/atom.aardio +27 -0
  855. package/aardio/lib/thread/cmdline.aardio +18 -0
  856. package/aardio/lib/thread/command.aardio +315 -0
  857. package/aardio/lib/thread/dlManager.aardio +211 -0
  858. package/aardio/lib/thread/event.aardio +97 -0
  859. package/aardio/lib/thread/manage.aardio +166 -0
  860. package/aardio/lib/thread/semaphore.aardio +86 -0
  861. package/aardio/lib/thread/shareHandle.aardio +49 -0
  862. package/aardio/lib/thread/table.aardio +193 -0
  863. package/aardio/lib/thread/token.aardio +58 -0
  864. package/aardio/lib/thread/works.aardio +198 -0
  865. package/aardio/lib/time/ntp.aardio +160 -0
  866. package/aardio/lib/time/ole.aardio +179 -0
  867. package/aardio/lib/time/performance.aardio +28 -0
  868. package/aardio/lib/time/timer.aardio +32 -0
  869. package/aardio/lib/time/zone.aardio +97 -0
  870. package/aardio/lib/ustring/_.aardio +305 -0
  871. package/aardio/lib/util/_.aardio +157 -0
  872. package/aardio/lib/util/metaProperty.aardio +100 -0
  873. package/aardio/lib/util/registry.aardio +46 -0
  874. package/aardio/lib/util/table.aardio +118 -0
  875. package/aardio/lib/web/_.aardio +50 -0
  876. package/aardio/lib/web/asynServer.aardio +12 -0
  877. package/aardio/lib/web/form/_.aardio +1572 -0
  878. package/aardio/lib/web/form/menu.aardio +63 -0
  879. package/aardio/lib/web/form/query.aardio +77 -0
  880. package/aardio/lib/web/form/snap.aardio +63 -0
  881. package/aardio/lib/web/form/sockpuppet.aardio +75 -0
  882. package/aardio/lib/web/form/util.aardio +194 -0
  883. package/aardio/lib/web/json.aardio +489 -0
  884. package/aardio/lib/web/layout/.res/HTMLayout.dll +0 -0
  885. package/aardio/lib/web/layout/.res/master.css +9 -0
  886. package/aardio/lib/web/layout/_.aardio +704 -0
  887. package/aardio/lib/web/layout/behavior/_.aardio +34 -0
  888. package/aardio/lib/web/layout/behavior/collapsibleByIcon.aardio +22 -0
  889. package/aardio/lib/web/layout/behavior/collapsibleList.aardio +37 -0
  890. package/aardio/lib/web/layout/behavior/dragable.aardio +71 -0
  891. package/aardio/lib/web/layout/behavior/dropdown.aardio +15 -0
  892. package/aardio/lib/web/layout/behavior/expandableList.aardio +97 -0
  893. package/aardio/lib/web/layout/behavior/grid.aardio +288 -0
  894. package/aardio/lib/web/layout/behavior/gripper.aardio +12 -0
  895. package/aardio/lib/web/layout/behavior/lightBoxDialog.aardio +76 -0
  896. package/aardio/lib/web/layout/behavior/path.aardio +14 -0
  897. package/aardio/lib/web/layout/behavior/popup.aardio +44 -0
  898. package/aardio/lib/web/layout/behavior/scroller.aardio +32 -0
  899. package/aardio/lib/web/layout/behavior/selectionBox.aardio +60 -0
  900. package/aardio/lib/web/layout/behavior/shellIcon.aardio +37 -0
  901. package/aardio/lib/web/layout/behavior/sizer.aardio +52 -0
  902. package/aardio/lib/web/layout/behavior/sortableGrid.aardio +63 -0
  903. package/aardio/lib/web/layout/behavior/splitter.aardio +134 -0
  904. package/aardio/lib/web/layout/behavior/tabs.aardio +438 -0
  905. package/aardio/lib/web/layout/behavior/windowCommand.aardio +163 -0
  906. package/aardio/lib/web/layout/behavior/windowSizer.aardio +117 -0
  907. package/aardio/lib/web/layout/debug.aardio +54 -0
  908. package/aardio/lib/web/layout/element/_.aardio +1388 -0
  909. package/aardio/lib/web/layout/element/state.aardio +133 -0
  910. package/aardio/lib/web/layout/element/style.aardio +46 -0
  911. package/aardio/lib/web/layout/event/_.aardio +1047 -0
  912. package/aardio/lib/web/layout/valueObject.aardio +402 -0
  913. package/aardio/lib/web/mshtml.aardio +233 -0
  914. package/aardio/lib/web/msxml.aardio +198 -0
  915. package/aardio/lib/web/multipartFormData.aardio +134 -0
  916. package/aardio/lib/web/nativeMessaging/_.aardio +101 -0
  917. package/aardio/lib/web/nativeMessaging/install.aardio +33 -0
  918. package/aardio/lib/web/npm/_.aardio +45 -0
  919. package/aardio/lib/web/parser.aardio +122 -0
  920. package/aardio/lib/web/rest/client.aardio +606 -0
  921. package/aardio/lib/web/rest/github.aardio +90 -0
  922. package/aardio/lib/web/rest/htmlClient.aardio +52 -0
  923. package/aardio/lib/web/rest/jsonClient.aardio +67 -0
  924. package/aardio/lib/web/rest/jsonLiteClient.aardio +67 -0
  925. package/aardio/lib/web/rest/qywx.aardio +85 -0
  926. package/aardio/lib/web/rest/smsActivate/_.aardio +266 -0
  927. package/aardio/lib/web/rest/smsActivate/countryList.aardio +206 -0
  928. package/aardio/lib/web/rest/smsActivate/serviceList.aardio +548 -0
  929. package/aardio/lib/web/rest/xmlClient.aardio +28 -0
  930. package/aardio/lib/web/rpc/externalServer.aardio +257 -0
  931. package/aardio/lib/web/rpc/jsonClient.aardio +234 -0
  932. package/aardio/lib/web/rpc/jsonServer.aardio +244 -0
  933. package/aardio/lib/web/script/_.aardio +201 -0
  934. package/aardio/lib/web/script/es5.aardio +2259 -0
  935. package/aardio/lib/web/script/json.aardio +56 -0
  936. package/aardio/lib/web/simpleServer.aardio +20 -0
  937. package/aardio/lib/web/soapClient/_.aardio +241 -0
  938. package/aardio/lib/web/soapClient/parameters.aardio +87 -0
  939. package/aardio/lib/web/socket/chrome.aardio +122 -0
  940. package/aardio/lib/web/socket/client.aardio +515 -0
  941. package/aardio/lib/web/socket/jsonClient.aardio +274 -0
  942. package/aardio/lib/web/socket/jsonServer.aardio +322 -0
  943. package/aardio/lib/web/socket/server.aardio +533 -0
  944. package/aardio/lib/web/ui/_.aardio +291 -0
  945. package/aardio/lib/web/uploadData.aardio +34 -0
  946. package/aardio/lib/web/view/.res/webview.dll +0 -0
  947. package/aardio/lib/web/view/_.aardio +635 -0
  948. package/aardio/lib/web/view/dev.aardio +146 -0
  949. package/aardio/lib/win/#DEFINE.aardio +7002 -0
  950. package/aardio/lib/win/_.aardio +1027 -0
  951. package/aardio/lib/win/animate.aardio +81 -0
  952. package/aardio/lib/win/api.aardio +57 -0
  953. package/aardio/lib/win/appBar.aardio +136 -0
  954. package/aardio/lib/win/clip/_.aardio +83 -0
  955. package/aardio/lib/win/clip/file.aardio +94 -0
  956. package/aardio/lib/win/clip/gif.aardio +30 -0
  957. package/aardio/lib/win/clip/html.aardio +128 -0
  958. package/aardio/lib/win/clip/png.aardio +47 -0
  959. package/aardio/lib/win/clip/viewer.aardio +44 -0
  960. package/aardio/lib/win/cur.aardio +58 -0
  961. package/aardio/lib/win/debounce.aardio +20 -0
  962. package/aardio/lib/win/dlg/_.aardio +7 -0
  963. package/aardio/lib/win/dlg/chineseNumber.aardio +220 -0
  964. package/aardio/lib/win/dlg/color.aardio +35 -0
  965. package/aardio/lib/win/dlg/ctrlColor.aardio +49 -0
  966. package/aardio/lib/win/dlg/findReplace.aardio +117 -0
  967. package/aardio/lib/win/dlg/font.aardio +53 -0
  968. package/aardio/lib/win/dlg/message.aardio +305 -0
  969. package/aardio/lib/win/dlg/print.aardio +99 -0
  970. package/aardio/lib/win/font.aardio +174 -0
  971. package/aardio/lib/win/guid.aardio +137 -0
  972. package/aardio/lib/win/image.aardio +204 -0
  973. package/aardio/lib/win/imageList.aardio +145 -0
  974. package/aardio/lib/win/inputBox.aardio +66 -0
  975. package/aardio/lib/win/messageFilter.aardio +44 -0
  976. package/aardio/lib/win/ole/_.aardio +25 -0
  977. package/aardio/lib/win/path.aardio +85 -0
  978. package/aardio/lib/win/property.aardio +21 -0
  979. package/aardio/lib/win/reg.aardio +530 -0
  980. package/aardio/lib/win/region/_.aardio +33 -0
  981. package/aardio/lib/win/region/bitmap/.res/build.aardio +257 -0
  982. package/aardio/lib/win/region/bitmap/.res/c.dll +0 -0
  983. package/aardio/lib/win/region/bitmap/_.aardio +108 -0
  984. package/aardio/lib/win/region/hole.aardio +56 -0
  985. package/aardio/lib/win/region/png/.res/build.aardio +41 -0
  986. package/aardio/lib/win/region/png/.res/c.dll +0 -0
  987. package/aardio/lib/win/region/png/_.aardio +108 -0
  988. package/aardio/lib/win/region/round.aardio +69 -0
  989. package/aardio/lib/win/region/transparent.aardio +38 -0
  990. package/aardio/lib/win/rt/bcp47.aardio +102 -0
  991. package/aardio/lib/win/rt/hString.aardio +105 -0
  992. package/aardio/lib/win/subclass.aardio +38 -0
  993. package/aardio/lib/win/taskScheduler.aardio +194 -0
  994. package/aardio/lib/win/timer.aardio +86 -0
  995. package/aardio/lib/win/ts/_.aardio +155 -0
  996. package/aardio/lib/win/ts/changeNotification.aardio +56 -0
  997. package/aardio/lib/win/ui/_.aardio +1897 -0
  998. package/aardio/lib/win/ui/accelerator.aardio +87 -0
  999. package/aardio/lib/win/ui/atom.aardio +57 -0
  1000. package/aardio/lib/win/ui/background.aardio +204 -0
  1001. package/aardio/lib/win/ui/ctrl/_.aardio +193 -0
  1002. package/aardio/lib/win/ui/ctrl/atlax.aardio +125 -0
  1003. package/aardio/lib/win/ui/ctrl/bk.aardio +191 -0
  1004. package/aardio/lib/win/ui/ctrl/bkplus.aardio +306 -0
  1005. package/aardio/lib/win/ui/ctrl/button.aardio +348 -0
  1006. package/aardio/lib/win/ui/ctrl/calendar.aardio +135 -0
  1007. package/aardio/lib/win/ui/ctrl/checklist.aardio +33 -0
  1008. package/aardio/lib/win/ui/ctrl/close.aardio +62 -0
  1009. package/aardio/lib/win/ui/ctrl/combobox.aardio +343 -0
  1010. package/aardio/lib/win/ui/ctrl/custom.aardio +159 -0
  1011. package/aardio/lib/win/ui/ctrl/datetimepick.aardio +185 -0
  1012. package/aardio/lib/win/ui/ctrl/edit.aardio +671 -0
  1013. package/aardio/lib/win/ui/ctrl/hotkey.aardio +126 -0
  1014. package/aardio/lib/win/ui/ctrl/ipaddress.aardio +134 -0
  1015. package/aardio/lib/win/ui/ctrl/listbox.aardio +323 -0
  1016. package/aardio/lib/win/ui/ctrl/listview.aardio +1642 -0
  1017. package/aardio/lib/win/ui/ctrl/metaProperty/_.aardio +1220 -0
  1018. package/aardio/lib/win/ui/ctrl/pick/.res/color.cur +0 -0
  1019. package/aardio/lib/win/ui/ctrl/pick/.res/color.png +0 -0
  1020. package/aardio/lib/win/ui/ctrl/pick/_.aardio +1010 -0
  1021. package/aardio/lib/win/ui/ctrl/picturebox.aardio +183 -0
  1022. package/aardio/lib/win/ui/ctrl/plus.aardio +2086 -0
  1023. package/aardio/lib/win/ui/ctrl/progress.aardio +149 -0
  1024. package/aardio/lib/win/ui/ctrl/richedit.aardio +916 -0
  1025. package/aardio/lib/win/ui/ctrl/scrollbar.aardio +153 -0
  1026. package/aardio/lib/win/ui/ctrl/spin.aardio +216 -0
  1027. package/aardio/lib/win/ui/ctrl/splitter.aardio +261 -0
  1028. package/aardio/lib/win/ui/ctrl/static.aardio +167 -0
  1029. package/aardio/lib/win/ui/ctrl/syslink.aardio +132 -0
  1030. package/aardio/lib/win/ui/ctrl/tab.aardio +312 -0
  1031. package/aardio/lib/win/ui/ctrl/thread.aardio +86 -0
  1032. package/aardio/lib/win/ui/ctrl/trackbar.aardio +274 -0
  1033. package/aardio/lib/win/ui/ctrl/treeview.aardio +1051 -0
  1034. package/aardio/lib/win/ui/ctrl/vlistview.aardio +17 -0
  1035. package/aardio/lib/win/ui/explorer.aardio +243 -0
  1036. package/aardio/lib/win/ui/fade.aardio +65 -0
  1037. package/aardio/lib/win/ui/grid.aardio +224 -0
  1038. package/aardio/lib/win/ui/layered.aardio +189 -0
  1039. package/aardio/lib/win/ui/layeredRound.aardio +18 -0
  1040. package/aardio/lib/win/ui/listEdit.aardio +93 -0
  1041. package/aardio/lib/win/ui/listPopup.aardio +130 -0
  1042. package/aardio/lib/win/ui/localization.aardio +18 -0
  1043. package/aardio/lib/win/ui/mask.aardio +51 -0
  1044. package/aardio/lib/win/ui/menu.aardio +646 -0
  1045. package/aardio/lib/win/ui/minmax.aardio +133 -0
  1046. package/aardio/lib/win/ui/orphanPlus.aardio +62 -0
  1047. package/aardio/lib/win/ui/resizeBorder.aardio +75 -0
  1048. package/aardio/lib/win/ui/scrollbar.aardio +121 -0
  1049. package/aardio/lib/win/ui/shadow.aardio +274 -0
  1050. package/aardio/lib/win/ui/simpleWindow.aardio +124 -0
  1051. package/aardio/lib/win/ui/simpleWindow2.aardio +84 -0
  1052. package/aardio/lib/win/ui/simpleWindow3.aardio +45 -0
  1053. package/aardio/lib/win/ui/statusbar.aardio +185 -0
  1054. package/aardio/lib/win/ui/tabs.aardio +1312 -0
  1055. package/aardio/lib/win/ui/toolbar.aardio +415 -0
  1056. package/aardio/lib/win/ui/tooltip.aardio +490 -0
  1057. package/aardio/lib/win/ui/tracker.aardio +289 -0
  1058. package/aardio/lib/win/util/autoComplete.aardio +34 -0
  1059. package/aardio/lib/win/util/changeNotification.aardio +196 -0
  1060. package/aardio/lib/win/util/desktop.aardio +123 -0
  1061. package/aardio/lib/win/util/deviceNotification.aardio +217 -0
  1062. package/aardio/lib/win/util/lyric.aardio +111 -0
  1063. package/aardio/lib/win/util/popup.aardio +98 -0
  1064. package/aardio/lib/win/util/round.aardio +8 -0
  1065. package/aardio/lib/win/util/savePosition.aardio +51 -0
  1066. package/aardio/lib/win/util/shellhook.aardio +43 -0
  1067. package/aardio/lib/win/util/tray.aardio +197 -0
  1068. package/aardio/lib/win/version.aardio +177 -0
  1069. package/aardio/lib/win/versionEx.aardio +70 -0
  1070. package/aardio/lib/winex/_.aardio +740 -0
  1071. package/aardio/lib/winex/accObject/_.aardio +287 -0
  1072. package/aardio/lib/winex/accObject/element.aardio +235 -0
  1073. package/aardio/lib/winex/caret.aardio +73 -0
  1074. package/aardio/lib/winex/ctrl/_.aardio +4 -0
  1075. package/aardio/lib/winex/ctrl/edit.aardio +44 -0
  1076. package/aardio/lib/winex/ctrl/listview.aardio +383 -0
  1077. package/aardio/lib/winex/desktop.aardio +22 -0
  1078. package/aardio/lib/winex/key.aardio +102 -0
  1079. package/aardio/lib/winex/mouse.aardio +137 -0
  1080. package/aardio/lib/winex/selection.aardio +113 -0
  1081. package/aardio/lib/winex/tooltip.aardio +88 -0
  1082. package/aardio/lib/wsock/_.aardio +794 -0
  1083. package/aardio/lib/wsock/addrInfo.aardio +74 -0
  1084. package/aardio/lib/wsock/err.aardio +115 -0
  1085. package/aardio/lib/wsock/networkChange.aardio +69 -0
  1086. package/aardio/lib/wsock/tcp/asynClient.aardio +320 -0
  1087. package/aardio/lib/wsock/tcp/asynHttpServer.aardio +898 -0
  1088. package/aardio/lib/wsock/tcp/asynServer.aardio +323 -0
  1089. package/aardio/lib/wsock/tcp/client.aardio +722 -0
  1090. package/aardio/lib/wsock/tcp/jsonClient.aardio +243 -0
  1091. package/aardio/lib/wsock/tcp/server.aardio +153 -0
  1092. package/aardio/lib/wsock/tcp/simpleHttpServer.aardio +903 -0
  1093. package/aardio/lib/wsock/tcp/socks5Client.aardio +129 -0
  1094. package/aardio/lib/wsock/udp/asynClient.aardio +62 -0
  1095. package/aardio/lib/wsock/udp/client.aardio +210 -0
  1096. package/aardio/lib/wsock/udp/ssdpClient.aardio +71 -0
  1097. package/aardio/lib/zlib/.res/zlibwapi.dll +0 -0
  1098. package/aardio/lib/zlib/_.aardio +404 -0
  1099. package/aardio/lib/zlib/httpFile.aardio +160 -0
  1100. package/aardio/lib/zlib/installer.aardio +66 -0
  1101. package/aardio/lib/zlib/unzip.aardio +261 -0
  1102. package/aardio/lib/zlib/zip.aardio +185 -0
  1103. package/aardio/project/aview/.build/default.Manifest.xml +61 -0
  1104. package/aardio/project/aview/.build/default.init.aardio +2 -0
  1105. package/aardio/project/aview/.build/default.main.aardio +6 -0
  1106. package/aardio/project/aview/.build/mp.lock +1 -0
  1107. package/aardio/project/aview/.build/update-maker.table +6 -0
  1108. package/aardio/project/aview/default.aproj +8 -0
  1109. package/aardio/project/aview/lib/aview/_.aardio +339 -0
  1110. package/aardio/project/aview/lib/aview/patch.aardio +411 -0
  1111. package/aardio/project/aview/lib/com/lite2.aardio +27 -0
  1112. package/aardio/project/aview/lib/fsys/file2.aardio +80 -0
  1113. package/aardio/project/aview/lib/fsys/update/simpleMain2.aardio +291 -0
  1114. package/aardio/project/aview/lib/key/hotkey2/_.aardio +552 -0
  1115. package/aardio/project/aview/lib/process/default.aardio +17 -0
  1116. package/aardio/project/aview/lib/process/popen2.aardio +75 -0
  1117. package/aardio/project/aview/lib/web/view2/_.aardio +706 -0
  1118. package/aardio/project/aview/lib/win/ui/menu2.aardio +154 -0
  1119. package/aardio/project/aview/main.aardio +124 -0
  1120. package/aardio/project/aview/res/env.d.ts +23 -0
  1121. package/aardio/project/aview/res/index.js +641 -0
  1122. package/aardio/project/aview/res/index.ts +1116 -0
  1123. package/aardio/project/aview/res/tsconfig.json +103 -0
  1124. package/bin/aview.js +2 -0
  1125. package/dist/node/cli.js +1 -0
  1126. package/index.js +1 -0
  1127. package/package.json +19 -0
@@ -0,0 +1,1510 @@
1
+ var __process__ = ..process;
2
+
3
+ class process {
4
+ ctor( pid , parameters, startInfo,... )begin
5
+ var t = type(pid);
6
+ if( t == type.number ){
7
+ var access = type(parameters)==type.number?parameters: 0x1F0FFF/*_PROCESS_ALL_ACCESS*/
8
+ if( ( access & 0xF000 ) && !(::Kernel32.QueryFullProcessImageName) ){
9
+ access = access &~0xF000;
10
+ }
11
+ this.handle = OpenProcess( access,false ,pid);
12
+ if(!this.handle){
13
+ if(parameters===null){
14
+ this.handle = OpenProcess( 0x100000/*_SYNCHRONIZE*/,false ,pid);
15
+ }
16
+ }
17
+ if(!this.handle) return null;
18
+ this.id = pid;
19
+
20
+ ..table.gc(this,"free");
21
+ }
22
+ elseif( t == type.pointer ){
23
+ this.id = ::Kernel32.GetProcessId(pid);
24
+ this.handle = pid;
25
+
26
+ if(parameters!==false){
27
+ ..table.gc(this,"free");
28
+ }
29
+ };
30
+ elseif( pid || #parameters ){
31
+ if(parameters===null) parameters = "";
32
+ if( type(startInfo) == type.string ){
33
+ parameters = {parameters;startInfo;...};
34
+ startInfo = null;
35
+ }
36
+
37
+ if( type(parameters) == type.table ){ parameters = joinArguments(parameters); }
38
+ var sa = ..table.assign(STARTUPINFO(),startInfo);
39
+ if( sa.suspended ) sa.creationFlag |= 4/*_CREATE_SUSPENDED*/;
40
+ if(!sa.workDir) sa.workDir = sa.workdir;
41
+
42
+ var pfile = ..io.exist(pid);
43
+ if(pfile){
44
+
45
+ if(!sa.workDir) sa.workDir = ..io.splitpath(pfile).dir ;
46
+
47
+ var exe,shellpath = findExe(pfile);
48
+ if(!exe){
49
+ return null,"未找到关联应用程序";
50
+ };
51
+
52
+ if( #shellpath ) {
53
+ parameters = ..string.concat('"' + exe + '" ',escapeArgument(shellpath), " ", parameters )
54
+ pfile = exe;
55
+ }
56
+ else{
57
+ var p0 = '"' + pfile + '"';
58
+ if( #parameters ) parameters = p0 + " " + parameters;
59
+ else parameters = p0;
60
+ }
61
+ }
62
+ elseif(#pid) {
63
+ parameters = ..string.concat(pid," ",parameters);
64
+ pid = null;
65
+ }
66
+ elseif( !#parameters ) {
67
+ error("路径参数错误",2);
68
+ }
69
+
70
+ if(!sa.workDir) sa.workDir = self.workDir;
71
+ var pf = PROCESS_INFORMATION();
72
+ var ret;
73
+
74
+ var environment = sa.environment;
75
+ if( type(environment) = type.table ){
76
+ var env = {};
77
+ for(k,v in environment){
78
+ if( type(k) == type.string ){
79
+ ..table.push(env,k + "=" + tostring(v) + '\0');
80
+ }
81
+ }
82
+ environment = ..string.join(env);
83
+ }
84
+
85
+ if(#environment){
86
+ if(sa.inheritEnvironment!==false) {
87
+ if( #environment && (environment[#environment]!=0) ){
88
+ environment = environment + '\0';
89
+ }
90
+ environment = ..string.concat(environment,self.environment(),'\0');
91
+ }
92
+ environment = environment + '\0\0\0\0'
93
+ }
94
+ else {
95
+ environment = null;
96
+ }
97
+
98
+ sa.creationFlag = (sa.creationFlag : 0) | 0x400/*_CREATE_UNICODE_ENVIRONMENT*/;
99
+ if(sa.createNoWindow){
100
+ sa.creationFlag = sa.creationFlag | 0x8000000/*_CREATE_NO_WINDOW*/;
101
+ }
102
+
103
+
104
+ if( !sa.username ){
105
+ ret = CreateProcess(pfile ,parameters
106
+ , sa.processAttributes
107
+ , sa.threadAttributes
108
+ , sa.inheritHandles
109
+ , sa.creationFlag
110
+ , environment
111
+ , ..io.fullpath(sa.workDir)
112
+ , sa
113
+ , pf)
114
+ }
115
+ else {
116
+ if( sa.logonFlags == null ) sa.logonFlags = 1/*_LOGON_WITH_PROFILE*/;
117
+
118
+ ret = CreateProcessWithLogonW( ..string.toUnicode(sa.username)
119
+ , sa.domain
120
+ , sa.password
121
+ , sa.logonFlags
122
+ , pfile
123
+ , parameters
124
+ , sa.creationFlag
125
+ , environment
126
+ , ..io.fullpath(sa.workDir)
127
+ , sa
128
+ , pf
129
+ )
130
+ }
131
+
132
+ if( ! ret ) {
133
+ return null,..lasterr()
134
+ }
135
+ else{
136
+ if(!sa.suspended) {
137
+ if( ( sa.waitInputTimeout ) === null || ( sa.waitInputTimeout ) ){
138
+ WaitForInputIdle(pf.hProcess, sa.waitInputTimeout or 0xFFFFFFFF);
139
+ }
140
+ }
141
+
142
+ this.handle = pf.hProcess;
143
+ this.id = pf.dwProcessId;
144
+ this.tid = pf.dwThreadId;
145
+ this.thandle = pf.hThread;
146
+ };
147
+
148
+ ..table.gc(this,"free");
149
+ }
150
+ else{
151
+ this.id = getId();
152
+ this.handle = getHandle();
153
+ //Calling the closehandle function with a pseudo handle has no effect
154
+ }
155
+
156
+ this._memory = {};
157
+
158
+ if(this.handle){
159
+ var ok,p64 = IsWow64Process( this.handle );
160
+ this.__isWow64 = ok && p64;
161
+ this.__isX64 = _WIN_64 && !this.__isWow64;
162
+
163
+ if( this.__isX64 && ReadProcessMemory64 ){
164
+ this.ReadProcessMemoryByString = ReadProcessMemoryByString64;
165
+ this.ReadProcessMemory = ReadProcessMemory64;
166
+ this.WriteProcessMemoryByString = WriteProcessMemoryByString64;
167
+ this.WriteProcessMemory = WriteProcessMemory64;
168
+ }
169
+ else{
170
+ this.ReadProcessMemoryByString = ReadProcessMemoryByString;
171
+ this.ReadProcessMemory = ReadProcessMemory;
172
+ this.WriteProcessMemoryByString = WriteProcessMemoryByString;
173
+ this.WriteProcessMemory = WriteProcessMemory;
174
+ }
175
+ }
176
+ end;
177
+ suspend = function(){
178
+ if(this.handle){
179
+ ::Ntdll.NtSuspendProcess( this.handle )
180
+ }
181
+ };
182
+ resume = function(){
183
+ if(this.handle){
184
+ ::Ntdll.NtResumeProcess( this.handle )
185
+ }
186
+ };
187
+ terminate = function(exitcode=0){
188
+ if(this.handle){
189
+ TerminateProcess( this.handle,exitcode);
190
+ this.free();
191
+ }
192
+ };
193
+ kill = function(){
194
+ this.suspend();
195
+ this.terminate();
196
+ };
197
+ ctrlEvent = function(event){
198
+ if( _WIN_64 && !this.isWow64() ){
199
+ ::Kernel32.FreeConsole();
200
+ if (::Kernel32.AttachConsole(this.id)){
201
+ ::Kernel32.SetConsoleCtrlHandler(null, true);
202
+ ::Kernel32.GenerateConsoleCtrlEvent(event, 0);
203
+ ::Kernel32.FreeConsole();
204
+
205
+ this.waitOne();
206
+ ::Kernel32.SetConsoleCtrlHandler(null, false);
207
+ return true;
208
+ }
209
+ }
210
+ else {
211
+ var GenerateConsoleCtrlEvent = this.remoteApi("bool(INT,INT)","Kernel32.dll","GenerateConsoleCtrlEvent");
212
+ return GenerateConsoleCtrlEvent(event:0,0);
213
+ }
214
+ }
215
+ getExitCode = function(){
216
+ var ok,code = GetExitCodeProcess( this.handle , 0);
217
+ if(ok){
218
+ return code,code!=0x103/*_STILL_ACTIVE*/;
219
+ }
220
+ };
221
+ stillActive = function(){
222
+ var ok,code = GetExitCodeProcess( this.handle , 0);
223
+ return ok && code == 0x103/*_STILL_ACTIVE*/;
224
+ };
225
+ getInfo = function(cls,struct){
226
+ return self.getInfo(this.handle,cls,struct);
227
+ };
228
+ setInfo = function(cls,struct){
229
+ var set = ::Kernel32.SetProcessInformationB;
230
+ if(set && struct[["_struct"]]){
231
+ return set(this.handle,cls,struct,..raw.sizeof(struct));
232
+ }
233
+ };
234
+ getParentId = function(){
235
+ return self.getInfo(this.handle)[["prarentId"]];
236
+ };
237
+ free = function(){
238
+ if(this.handle){
239
+ for(p,v in this._memory){
240
+ this.mfree(p);
241
+ this._memory[p] = null;
242
+ }
243
+
244
+ ..raw.closehandle(this.handle);
245
+ if(this.thandle) ..raw.closehandle(this.thandle);
246
+ this.handle = null;
247
+ this.thandle = null;
248
+ this.id = null;
249
+ this.tid = null;
250
+ }
251
+ };
252
+ wait = function(timeout){
253
+ var ret = ..thread.wait(this.handle,timeout)
254
+ sleep(10);
255
+
256
+ var exitcode;
257
+ if( ret ){
258
+ exitcode = this.thandle ? ..thread.getExitCode(this.thandle )
259
+ }
260
+ return ret,exitcode;
261
+ };
262
+ waitOne = function(timeout){
263
+ var ret = ..thread.waitOne(this.handle,timeout)
264
+ sleep(10);
265
+
266
+ var exitcode;
267
+ if( ret ){
268
+ exitcode = this.thandle ? ..thread.getExitCode(this.thandle )
269
+ }
270
+ return ret,exitcode;
271
+ };
272
+ getUiInfo = function(){
273
+ if(!this.tid) return;
274
+ var ok,info = ::User32.GetGUIThreadInfo(tid,{
275
+ INT cbSize = 48;
276
+ INT flags;
277
+ addr hwndActive;
278
+ addr hwndFocus;
279
+ addr hwndCapture;
280
+ addr hwndMenuOwner;
281
+ addr hwndMoveSize;
282
+ addr hwndCaret;
283
+ struct rcCaret = ::RECT();
284
+ } );
285
+ if( ok ) return info;
286
+ };
287
+ remoteApi = function(proto,addr,func,cal){
288
+ if( type(addr) == type.string ) addr = ..io.localpath(addr) : addr;
289
+ if( this.id == getId() ){
290
+ if( type(addr) == type.number ){
291
+ cal = func;
292
+ return ..raw.module(cal).api(addr,proto,cal);
293
+ }
294
+
295
+ var dll = ..raw.loadDll(addr,,cal);
296
+ if(dll) return dll.api(func,proto,call);
297
+ return;
298
+ }
299
+
300
+ return ..raw.remoteApi(this.handle,proto,addr,func,cal);
301
+ };
302
+ readNumber = function(baseAddr,datatype = "int" ){
303
+ var struct = { _struct = datatype + " result" }
304
+ this.readStruct(baseAddr,struct);
305
+ return struct.result;
306
+ };
307
+ readString = function(baseAddr,len = 1){
308
+ var result,buf,readNum = this.ReadProcessMemoryByString(this.handle,baseAddr,len,len,0)
309
+ return buf,readNum;
310
+ };
311
+
312
+
313
+ readStringUtf16= function(baseAddr,len = 1){
314
+ var buf,readNum = this.readString(baseAddr,len * 2 );
315
+ return ..string.fromUnicode(buf),readNum;
316
+ };
317
+ readStruct = function(baseAddr,struct){
318
+ assert(this.handle,"进程控制对象已关闭!")
319
+ var result,lpStruct,readNum = this.ReadProcessMemory(this.handle,baseAddr,struct,..raw.sizeof(struct),0)
320
+ return lpStruct,readNum
321
+ };
322
+ writeNumber = function(baseAddr,v,datatype = "int"){
323
+ var struct = { _struct = datatype + " num"; num = v}
324
+ return this.writeStruct(baseAddr,struct);
325
+ };
326
+ writeString = function(baseAddr,str,len){
327
+ if(len===null)len=#str
328
+ if( ! baseAddr ) baseAddr = this.malloc(len);
329
+ var result,writeNum = this.WriteProcessMemoryByString(this.handle,baseAddr,str,len,0)
330
+ return baseAddr,writeNum ;
331
+ };
332
+ writeStringUtf16 = function(baseAddr,str){
333
+ str = ..string.toUnicode(str);
334
+ return this.writeString(baseAddr,str,#str+2);
335
+ };
336
+ writeStruct = function(baseAddr,struct){
337
+ var len = ..raw.sizeof(struct);
338
+ if( ! baseAddr ) baseAddr = this.malloc(len);
339
+ var result,writeNum = this.WriteProcessMemory(this.handle,baseAddr,struct,len,0)
340
+ return baseAddr,writeNum;
341
+ };
342
+ write = function(baseAddr,d,...){
343
+ if(!baseAddr)return;
344
+
345
+ var writeNum = 0;
346
+ var t = type( d );
347
+ if( t == "string" ){
348
+ baseAddr,writeNum = this.writeString(baseAddr,d)
349
+ }
350
+ elseif( t =="table" && d._struct ){
351
+ baseAddr,writeNum = this.writeStruct(baseAddr,d)
352
+ }
353
+ elseif( t == "number" && t = "pointer" ){
354
+ baseAddr,writeNum = this.writeStruct(baseAddr,{int n = tonumber(d)});
355
+ }
356
+ else{
357
+ return null;
358
+ }
359
+
360
+ if(!...) return baseAddr+writeNum;
361
+ return this.write(baseAddr+writeNum,...)
362
+ }
363
+ protect = function( baseAddr,newProtect,size=1){
364
+ var ok,oldProtect = VirtualProtectEx( this.handle, baseAddr,size,newProtect,0);
365
+ return ok ? oldProtect;
366
+ };
367
+ eachQuery = function(addrBegin,addrEnd,pattern,sProtect=4/*_PAGE_READWRITE*/,sType=0){
368
+ if(!this.handle) error("进程控制对象已关闭",2);
369
+
370
+ if( !(addrBegin && addrEnd) ){
371
+ if(!_systemInfo){
372
+ _systemInfo = ..sys.info()
373
+ }
374
+ addrBegin := _systemInfo.lpMinimumApplicationAddress;
375
+ addrEnd := _systemInfo.lpMaximumApplicationAddress;
376
+ }
377
+
378
+ var mi = MEMORY_BASIC_INFORMATION();
379
+ var ret = 0;
380
+ var cbSize = ..raw.sizeof(mi);
381
+ var handle = this.handle;
382
+ var readString = this.readString;
383
+ var find = ..string.find;
384
+ var str,i,j;
385
+ var VirtualQueryEx = VirtualQueryEx;
386
+
387
+ if( pattern && pattern[["_struct"]] ){
388
+ pattern = "@" + ..raw.tostring(pattern);
389
+ }
390
+
391
+ var address,miSize,miProtect,miType;
392
+ return function(){
393
+ while ( addrBegin < addrEnd ){
394
+ if( cbSize != VirtualQueryEx(handle, addrBegin, mi, cbSize) )
395
+ break;
396
+
397
+ address = mi.BaseAddress;
398
+ miSize = mi.RegionSize;
399
+ addrBegin = address + miSize ;
400
+
401
+ if (mi.State == 0x1000/*_MEM_COMMIT*/) {
402
+ miProtect = mi.Protect;
403
+ miType = mi.Type;
404
+
405
+ if( sProtect && (sProtect != (sProtect & miProtect))){
406
+
407
+ }
408
+ elseif( sType && (sType != (sType & miType) )){
409
+
410
+ }
411
+ elseif( pattern ){
412
+ str = readString(address,miSize );
413
+ if( str ){
414
+ i,j = find(str,pattern);
415
+ if(i)
416
+ return address,miSize,str,i,j,pattern,miProtect&~(0x100/*_PAGE_GUARD*/|0x200/*_PAGE_NOCACHE*/),miType;
417
+ }
418
+ }
419
+ else{
420
+ return address,miSize, , , , ,miProtect&~(0x100/*_PAGE_GUARD*/|0x200/*_PAGE_NOCACHE*/),miType
421
+ }
422
+ }
423
+ }
424
+ }
425
+ }
426
+ query = function( addrBegin,addrEnd,pattern,sProtect,sType ){
427
+ if(!this.handle) error("进程控制对象已关闭",2);
428
+ return this.eachQuery(addrBegin,addrEnd,pattern,sProtect,sType)();
429
+ };
430
+ setAffinity = function( cpu =1 ){
431
+ SetProcessAffinityMask( this.handle,cpu );
432
+ };
433
+ malloc = function(size,protect=0x40,alloctype=0x1000){
434
+ var ptr = VirtualAllocEx(this.handle,0,size,alloctype,protect)
435
+ this._memory[ptr] = 1;
436
+ return ptr;
437
+ };
438
+ mfree = function(ptr,size=0,freetype=0x8000){
439
+ this._memory[ptr] = null;
440
+ VirtualFreeEx( this.handle,ptr,size,freetype)
441
+ };
442
+ eachModule = function(){
443
+ return self.eachModule(this.id)
444
+ };
445
+ eachThread = function(){
446
+ return self.eachThread(this.id)
447
+ };
448
+ getPath = function(hModule){
449
+ if( hModule ? ( type(hModule) != type.pointer) )
450
+ error("参数不是有效的模块句柄!",2)
451
+
452
+ var len,path = GetModuleFileNameEx( this.handle,hModule,0x208/*_MAX_PATH_U16*/,0x104/*_MAX_PATH*/);
453
+ if(len) return path;
454
+
455
+ var m = ..raw.buffer(0x208/*_MAX_PATH_U16*/)
456
+ if( ::Kernel32.QueryFullProcessImageName ){
457
+ if( ::Kernel32.QueryFullProcessImageName( this.handle,0,m, { INT len = 0x104/*_MAX_PATH*/}) ){
458
+ return ..string.fromUnicode(m,,-1);
459
+ }
460
+ }
461
+
462
+ if( ::Psapi.GetProcessImageFileName(this.handle,m,0x104/*_MAX_PATH*/) ){
463
+ import ..sys.volume;
464
+ return ..sys.volume.getPathName(..string.fromUnicode(m,,-1));
465
+ }
466
+ };
467
+ sendMessage = function(hwnd,message,wParam,lParam){
468
+ if(lParam[["_struct"]]){
469
+ var p = this.writeStruct(,lParam);
470
+ if( !p ) return 0;
471
+
472
+ var ret = ::User32.SendMessageW(hwnd,message,wParam,p);
473
+ this.readStruct( p,lParam)
474
+ this.mfree( p );
475
+ return ret;
476
+ }
477
+ else {
478
+ return ::User32.SendMessageW(hwnd,message,wParam,lParam);
479
+ }
480
+ };
481
+ getMainWindow = function(cls){
482
+ var hMain;
483
+ var pid = {INT value};
484
+ var getClassName = ::User32.api( "GetClassName", "int( addr hwnd,ustring &lpClassName,int nMaxCount )" )
485
+ var callback = ..raw.tostdcall(function(hwnd){
486
+ if(::User32.GetWindowThreadProcessId(hwnd,pid)){
487
+ if(pid.value===this.id){
488
+ if(cls || !::User32.GetWindow(hwnd,4/*_GW_OWNER*/) ){
489
+ if(cls){
490
+ var re,clsName = getClassName(hwnd,0x64,0x64/*_MAX_CLASS*/);
491
+ if(!..string.cmpMatch(clsName,cls)) return true;
492
+ }
493
+ elseif(!::User32.IsWindowVisible(hwnd)) return true;
494
+
495
+ hMain = hwnd;
496
+ return false;
497
+ }
498
+ }
499
+ }
500
+
501
+ return true;
502
+ },"bool(int,int)");
503
+ ::User32.EnumWindows(callback,0);
504
+ ..raw._release(getClassName);
505
+
506
+ return hMain;
507
+ };
508
+ waitMainWindow = function(waitCls,waitHwnd){
509
+ var hwnd;
510
+ do {
511
+ hwnd = this.getMainWindow(waitCls);
512
+ } while ((!hwnd) && (!waitHwnd || ::User32.IsWindow(waitHwnd)) && ..thread.delay(10) );
513
+
514
+ return hwnd;
515
+ };
516
+ closeMainWindow = function(){
517
+ var hwnd = this.getMainWindow();
518
+ if(hwnd && !(::User32.GetWindowLong(hwnd,-16/*_GWL_STYLE*/)& 0x8000000)){
519
+ ::User32.PostMessage(hwnd,0x10/*_WM_CLOSE*/,0,0);
520
+ }
521
+ };
522
+ getModuleBaseAddress = function(name){
523
+ if(!name){
524
+ name = ..io.splitpath(this.getPath()).file
525
+ }
526
+
527
+ var addr;
528
+ for moduleEntry in this.eachModule() {
529
+ if( ..string.cmp(name, moduleEntry.szModule) == 0 ){
530
+ addr = moduleEntry.modBaseAddr;
531
+ break;
532
+ }
533
+ }
534
+
535
+ return addr;
536
+ };
537
+ getPriorityClass = function(){
538
+ return GetPriorityClass( this.handle );
539
+ };
540
+ setPriorityClass = function(p){
541
+ return SetPriorityClass( this.handle,p );
542
+ };
543
+ assignToJobObject = function(job){
544
+ return ::Kernel32.AssignProcessToJobObjectB(job,this.handle);
545
+ };
546
+ isX64 = function(){
547
+ return this.__isX64 ;
548
+ };
549
+ isWow64 = function(){
550
+ return this.__isWow64 ;
551
+ };
552
+ asm = function( bin,proto = "void()",k = "cdecl" ){
553
+ var pfun;
554
+ var size = 0;
555
+ for(k,v in bin){
556
+ var t = type(v);
557
+ if( t == "string" ) {
558
+ size = size + #v;
559
+ }
560
+ elseif( t == "table" && v._struct ){
561
+ size = size + ..raw.sizeof(v);
562
+ }
563
+ elseif( t == "number" && t = "pointer" ) {
564
+ size = size + 4;
565
+ }
566
+ else {
567
+ return null,"机器码参数@" + k + "类型错误";
568
+ }
569
+ }
570
+
571
+ if( this.freeMemorySize && this.freeMemorySize > size ){
572
+ this.freeMemorySize = this.freeMemorySize - size;
573
+ this.freeMemory = this.freeMemory + size;
574
+ pfun = this.freeMemory;
575
+ }
576
+ else {
577
+ if(!_systemInfo){
578
+ _systemInfo = ..sys.info()
579
+ }
580
+ this.freeMemorySize = size + ( _systemInfo.dwPageSize - ( size % _systemInfo.dwPageSize ) )
581
+ pfun = this.malloc( this.freeMemorySize )
582
+ this.freeMemorySize = this.freeMemorySize - size;
583
+ this.freeMemory = pfun + size;
584
+ }
585
+
586
+ if(!pfun)
587
+ return null,"分配内存失败";
588
+
589
+ this.write(pfun,..table.unpack(bin) )
590
+ return this.remoteApi(proto,pfun,k )
591
+ };
592
+ asmStdcall = function( proto,... ){
593
+ return this.asm( {...} ,proto,"stdcall")
594
+ };
595
+ asmCdecl = function( proto,... ){
596
+ return this.asm( {...} ,proto,"cdecl")
597
+ };
598
+ asmThiscall = function( proto,... ){
599
+ return this.asm( {...} ,proto,"thiscall")
600
+ };
601
+ emptyWorkingSet = function(){
602
+ if(this.handle) return !!::Psapi.EmptyWorkingSet(this.handle)
603
+ };
604
+ @_meta;
605
+ }
606
+
607
+ if( __process__ ) ..table.mix( process,__process__);
608
+
609
+ import sys.info;
610
+ namespace process{
611
+
612
+ _meta = {
613
+ _topointer = lambda() owner.handle;
614
+ _get = function(k){
615
+ if(k=="tid") return firstThreadId(owner.id);
616
+ }
617
+ }
618
+ is = lambda(v) v@ ==_meta;
619
+
620
+ ::Psapi := ..raw.loadDll("Psapi.dll");
621
+
622
+ /*intellisense(process)*/
623
+ GetModuleFileNameEx = Psapi.api("GetModuleFileNameEx","INT(pointer hProcess,pointer hModule,ustring& lpFilename,INT size)" )
624
+
625
+ PROCESS_INFORMATION = class {
626
+ pointer hProcess;
627
+ pointer hThread;
628
+ INT dwProcessId;
629
+ INT dwThreadId;
630
+ }
631
+ STARTUPINFO = class {
632
+ INT cb = 68;
633
+ ustring reserved;
634
+ ustring desktop;
635
+ ustring title;
636
+ INT x;
637
+ INT y;
638
+ INT xSize;
639
+ INT ySize;
640
+ INT xCountChars;
641
+ INT yCountChars;
642
+ INT fillAttribute;
643
+ INT flags;
644
+ WORD showWindow;
645
+ WORD cbReserved2;
646
+ ustring lpReserved2;
647
+ pointer stdInput;
648
+ pointer stdOutput;
649
+ pointer stdError;
650
+ creationFlag = 0;
651
+ inheritHandles;
652
+ };
653
+ CreateProcess = ::Kernel32.api("CreateProcess","int(ustring app, ustring &cmd, pointer processAttributes,pointer threadAttributes, bool inheritHandles, INT creationFlags,ustring environment, ustring lpCurrentDirectory, struct lpStartupInfo, struct& lpProcessInformation )");
654
+
655
+ ::Advapi32 := ..raw.loadDll("Advapi32.dll")
656
+ CreateProcessWithLogonW = ::Advapi32.api("CreateProcessWithLogonW","int(ustring user,ustring domain,ustring pwd,INT flags,ustring app, ustring &cmd, INT creationFlags,ustring environment, ustring lpCurrentDirectory, struct lpStartupInfo, struct& lpProcessInformation )");
657
+
658
+ OpenProcess = ::Kernel32.api("OpenProcess","pointer(INT desiredAccess,bool inherit,INT pid)")
659
+ TerminateProcess = ::Kernel32.api("TerminateProcess","int(pointer hProcess,INT exitCode)")
660
+ WaitForInputIdle = ::User32.api("WaitForInputIdle","INT(pointer hProcess,INT dwMilliseconds)");
661
+ GetExitCodeProcess = ::Kernel32.api("GetExitCodeProcess","bool(POINTER hProcess,INT &code)");
662
+ IsWow64Process = ::Kernel32.api( "IsWow64Process", "bool(pointer hProcess,bool &Wow64Process)");
663
+
664
+ SetProcessAffinityMask = ::Kernel32.api("SetProcessAffinityMask","INT(pointer hProcess,INT dwProcessAffinityMask)" )
665
+ SetPriorityClass = ::Kernel32.api("SetPriorityClass","bool(POINTER hProcess,INT priorityClass)");
666
+ GetPriorityClass = ::Kernel32.api("GetPriorityClass","INT(POINTER hProcess");
667
+
668
+ VirtualAllocEx = ::Kernel32.api("VirtualAllocEx","addr(POINTER hProcess ,addr addr,int dwSize,int flAllocationType,int flProtect)")
669
+ VirtualFreeEx = ::Kernel32.api("VirtualFreeEx","int(POINTER hProcess,addr addr,int dwSize,int dwFreeType)")
670
+
671
+ VirtualProtectEx = ::Kernel32.api("VirtualProtectEx","bool(POINTER hProcess,addr addr, INT dwSize, INT flNewProtect, INT &lpflOldProtect )");
672
+ ReadProcessMemory = ::Kernel32.api("ReadProcessMemory","int(POINTER hProcess,addr base,struct &buf,INT size,INT & retSize)" )
673
+ ReadProcessMemoryByString = ::Kernel32.api("ReadProcessMemory","int(POINTER hProcess,addr base,string &buf,INT size,INT & retSize)" )
674
+
675
+ WriteProcessMemory = ::Kernel32.api("WriteProcessMemory","int(POINTER hProcess,addr base,struct buf,INT size,INT & retSize)" )
676
+ WriteProcessMemoryByString = ::Kernel32.api("WriteProcessMemory","int(POINTER hProcess,addr base,string buf,INT size,INT & retSize)" )
677
+
678
+ try{
679
+ ReadProcessMemory64 = ::Ntdll.api("NtWow64ReadVirtualMemory64","int(POINTER hProcess,LONG base,struct &buf,long size,long & retSize)" )
680
+ ReadProcessMemoryByString64 = ::Ntdll.api("NtWow64ReadVirtualMemory64","int(POINTER hProcess,LONG base,string &buf,long size,long & retSize)" )
681
+
682
+ WriteProcessMemory64 = ::Ntdll.api("NtWow64WriteVirtualMemory64","int(POINTER hProcess,LONG base,struct buf,long size,long & retSize)" )
683
+ WriteProcessMemoryByString64 = ::Ntdll.api("NtWow64WriteVirtualMemory64","int(POINTER hProcess,LONG base,string buf,long size,long & retSize)" )
684
+ }
685
+
686
+ MEMORY_BASIC_INFORMATION = class {
687
+ addr BaseAddress;
688
+ int AllocationBase;
689
+ INT AllocationProtect;
690
+ INT RegionSize;
691
+ INT State;
692
+ INT Protect;
693
+ INT Type;
694
+ }
695
+ VirtualQueryEx = ::Kernel32.api("VirtualQueryEx","INT(pointer hProcess,addr addr,struct& buf,INT dwLength)" )
696
+ FindExecutable = ::Shell32.api("FindExecutable","int(ustring file,ustring directory,ustring &result)")
697
+ /*end intellisense*/
698
+
699
+ isExe = function(path){
700
+ if(!..io.exist(path)) return;
701
+
702
+ var format,subsystem;
703
+ var f = ..io.open(path,"r");
704
+ if( !f ) return;
705
+ if( (f.read(2) == '\x4d\x5a' ) && (f.seek("set",60)==60 ) ){
706
+ var s = { INT n }
707
+ var pe = ( f.read(s) && s.n
708
+ && ( f.seek("set",s.n)==s.n )
709
+ && f.read(s) && ( s.n == 0x4550 )
710
+ )
711
+ if(pe){
712
+ if( f.seek("cur",20) ){
713
+ var magic = f.read({ WORD n })[["n"]]
714
+ var lst = { [0x10B] = "PE32";[0x20B]="PE64";[0x107]="ROM"}
715
+ format = magic ? lst[magic];
716
+ if( format && f.seek("cur",66) ){
717
+ subsystem = f.read({ WORD n })[["n"]]
718
+ }
719
+ }
720
+ }
721
+ }
722
+ f.close();
723
+ return format,subsystem;
724
+ };
725
+
726
+ findExe = function(path){
727
+ path = ..io.fullpath(path);
728
+ if( ..string.endWith(path,".exe",true) || isExe(path) ){
729
+ return path;
730
+ }
731
+
732
+ var ret,exe = FindExecutable(path, ,0x208/*_MAX_PATH_U16*/);
733
+ if(ret>32){
734
+ if(..string.match(exe,"\.\w+$") == ..string.match(path,"\.\w+$") ){
735
+ return exe;//*.cmd,*.bat 等
736
+ }
737
+
738
+ return exe,path
739
+ }
740
+ }
741
+
742
+
743
+ getId = Kernel32.api("GetCurrentProcessId","INT()")
744
+ getHandle = Kernel32.api("GetCurrentProcess","pointer()")
745
+ emptyWorkingSet = function(){
746
+ collectgarbage("collect");
747
+ return !!::Psapi.EmptyWorkingSet(getHandle())
748
+ }
749
+
750
+ getInfo = function(handle,cls,struct){
751
+ if(cls!==null && struct[["_struct"]]){
752
+ var get = ::Kernel32.GetProcessInformation;
753
+ if(!get) return;
754
+
755
+ return get(handle,cls,struct,..raw.sizeof(struct)) ? struct : null;
756
+ }
757
+
758
+ var ok,p64 = IsWow64Process(handle);
759
+ if( _WIN_64 && !(ok && p64 ) && ::Ntdll.NtWow64QueryInformationProcess64){
760
+ var info = {
761
+ INT exitStatus;
762
+ INT r1;
763
+ LONG pebBaseAddress;
764
+ INT affinityMask;
765
+ INT r2;
766
+ INT basePriority;
767
+ INT r3;
768
+ INT id;
769
+ INT r4;
770
+ INT prarentId;
771
+ INT r5;
772
+ }
773
+
774
+ if(!::Ntdll.NtWow64QueryInformationProcess64( handle,0,info,..raw.sizeof(info),null))
775
+ return info;
776
+ }
777
+ else {
778
+ var info = {
779
+ INT exitStatus;
780
+ INT pebBaseAddress;
781
+ INT affinityMask;
782
+ INT basePriority;
783
+ ADDR id;
784
+ ADDR prarentId;
785
+ }
786
+ if(!::Ntdll.NtQueryInformationProcess( handle,0,info,..raw.sizeof(info),null)){
787
+ return info;
788
+ }
789
+ }
790
+ }
791
+
792
+ getParentId = function(){
793
+ return getInfo(getHandle())[["prarentId"]];
794
+ }
795
+
796
+ getParent = function(...){
797
+ var pid = getParentId();
798
+ if(pid) return ..process(pid,...);
799
+ }
800
+
801
+ dup = function(h,src,dst,inherit=true,opt=3/*_DUPLICATE_CLOSE_SOURCE | _DUPLICATE_SAME_ACCESS*/,access){
802
+ var t = {ptr v}
803
+ if( ::Kernel32.DuplicateHandle(src:-1,h,dst :-1,t,access,inherit,opt) ) return t.v;
804
+ }
805
+
806
+ kill = function(exefile,restart){
807
+ if( type(exefile) == type.string ){
808
+ var path;
809
+ var prcs = find(exefile);
810
+ while(prcs){
811
+ path = prcs.getPath();
812
+ prcs.kill()
813
+ prcs = find(exefile);
814
+ }
815
+ if(restart && path){
816
+ ..process.execute(path)
817
+ }
818
+
819
+ return path;
820
+ }
821
+ else if( type(exefile) == type.number ){
822
+ var prcs = ..process(exefile);
823
+ if(prcs)prcs.kill();
824
+ }
825
+ }
826
+
827
+ class SHELLEXECUTEINFO {
828
+ INT cbSize = 60;
829
+ INT fMask;
830
+ int hwnd;
831
+ ustring lpVerb;
832
+ ustring lpFile;
833
+ ustring lpParameters;
834
+ ustring lpDirectory;
835
+ int nShow;
836
+ int hInstApp;
837
+ pointer lpIDList;
838
+ ustring lpClass = "";
839
+ int hkeyClass;
840
+ INT dwHotKey;
841
+ union DUMMY={
842
+ pointer hIcon;
843
+ pointer hMonitor;
844
+ };
845
+ pointer hProcess;
846
+ }
847
+
848
+ shell = function(file,parameters,operation,showCmd,workDir,hwnd,fMask ){
849
+ if(fMask===null)fMask=0x400/*_SEE_MASK_FLAG_NO_UI*/
850
+ var shInfo,errMsg,errCode = executeEx(file,parameters,operation,showCmd,workDir,hwnd,fMask|0x40/*_SEE_MASK_NOCLOSEPROCESS*/);
851
+
852
+ if(!shInfo) return null,errMsg,errCode;
853
+ if(!shInfo.hProcess ){
854
+ return null;
855
+ }
856
+
857
+ return ..process(shInfo.hProcess);
858
+ }
859
+
860
+ shellAs = function(file,parameters,showCmd,workDir,hwnd,fMask ){
861
+ return shell(file,parameters,"runas",showCmd,workDir,hwnd,fMask)
862
+ }
863
+
864
+ executeEx = function( file,parameters,operation,showCmd,workDir,hwnd,fMask ){
865
+ if( parameters === null ) parameters = "";
866
+ if( operation === null ) operation = "open";
867
+ if( showCmd === null ) showCmd = 5;
868
+ if( hwnd === null ) hwnd = 0;
869
+ if( type(parameters) == type.table ){ parameters = joinArguments(parameters); }
870
+
871
+ var shInfo = SHELLEXECUTEINFO();
872
+ shInfo.fMask = fMask === null ? ( 0x440 /*SEE_MASK_NOCLOSEPROCESS|SEE_MASK_FLAG_NO_UI*/ ) : fMask;
873
+
874
+ var tfile = type(file);
875
+ if(tfile=="string"){
876
+ file = ..io.localpath(file) : file;
877
+ if( (! #workDir ) ){
878
+ var fullPath = ..io.exist(file);
879
+ if(fullPath){
880
+ workDir = ..io.splitpath(fullPath).dir ;
881
+ file = fullPath;
882
+ }
883
+ else {
884
+ workDir = self.workDir;
885
+ }
886
+ }
887
+
888
+ shInfo.lpFile = file;
889
+ }
890
+ elseif(tfile=="pointer") {
891
+ shInfo.lpIDList = file;
892
+ shInfo.fMask = shInfo.fMask | 4/*_SEE_MASK_IDLIST*/;
893
+ }
894
+ else {
895
+ error("无效的文件路径",2);
896
+ }
897
+
898
+ shInfo.hwnd = hwnd;
899
+ shInfo.lpVerb = operation;
900
+ shInfo.lpParameters = parameters;
901
+ shInfo.lpDirectory = workDir;
902
+ shInfo.nShow = showCmd;
903
+ shInfo.hInstApp = 0;
904
+ shInfo.lpClass ="";
905
+
906
+ var ret = ::Shell32.ShellExecuteExW(shInfo);
907
+ if(!ret) return null,..lasterr();
908
+ return shInfo;
909
+ }
910
+
911
+ self.execute = function( file,parameters,operation,showCmd,workDir,hwnd,wait,waitTimeout){
912
+ if( waitTimeout === null ) waitTimeout = 0xFFFFFFFF;
913
+
914
+ var tfile = type(file);
915
+ if( (tfile!="string") && (tfile!="pointer") ) error("无效的文件路径",2);
916
+
917
+ var shInfo,errMsg,errCode = executeEx(file,parameters,operation,showCmd,workDir,hwnd,0x440);
918
+
919
+ if(!shInfo) return null,errMsg,errCode;
920
+ if(!shInfo.hProcess ){
921
+ return !wait;
922
+ }
923
+
924
+ if( wait == "close" ){
925
+ var w,err = ..thread.waitOne(shInfo.hProcess,waitTimeout);
926
+ if(!w) {
927
+ ..raw.closehandle( shInfo.hProcess ) ;
928
+ return null,err;
929
+ }
930
+ }
931
+ elseif( wait == "input" ){
932
+ var w = WaitForInputIdle(shInfo.hProcess,waitTimeout);
933
+ if( w ) {
934
+ ..raw.closehandle( shInfo.hProcess ) ;
935
+ return null,( w == 0x102/*_WAIT_TIMEOUT*/ ? "timeout" : "failed" );
936
+ }
937
+ }
938
+
939
+ var pid = shInfo.hProcess ? ::Kernel32.GetProcessId(shInfo.hProcess);
940
+ ..raw.closehandle( shInfo.hProcess );
941
+
942
+ return pid;
943
+ };
944
+
945
+ executeWait = function( file, parameters="",operation="open",showCmd,workDir="",hwnd=0){
946
+ return ..process.execute(file,parameters,operation,showCmd,workDir,hwnd,"close")
947
+ }
948
+ execute_wait = executeWait;
949
+
950
+ executeWaitInput = function( file, parameters="",operation="open",showCmd,workDir="",hwnd=0){
951
+ return ..process.execute(file,parameters,operation,showCmd,workDir,hwnd,"input")
952
+ }
953
+ execute_waitInput = executeWaitInput;
954
+
955
+ exploreSelect = function(file){
956
+ return ..process.execute( "Explorer.exe"," /select," + ..io.fullpath(file) )
957
+ }
958
+ explore_select = exploreSelect;
959
+
960
+ explore = function(file){
961
+ return ..process.execute( "Explorer.exe", ..io.localpath(file):file )
962
+ }
963
+
964
+ executeInvoke = function(...){
965
+ ..thread.invoke(
966
+ function(...){
967
+ import process;
968
+ process.execute(...);
969
+ },...
970
+ )
971
+ }
972
+
973
+ class openUrl{
974
+ ctor(...){
975
+ ..thread.invoke(
976
+ function(...){
977
+ import process;
978
+ process.execute(...);
979
+ },...
980
+ )
981
+ }
982
+ }
983
+
984
+ regAs = function(cmdline){
985
+ return executeWait("reg",cmdline,"runas",0/*_SW_HIDE*/)
986
+ }
987
+
988
+ CreateToolhelp32Snapshot = Kernel32.api("CreateToolhelp32Snapshot","pointer(INT,INT)");
989
+ eachSnap = function(pid,snapCs,firstEntry,entryFirst,entryNext) {
990
+ firstEntry.dwSize = ..raw.sizeof(firstEntry);
991
+ var hsnap= CreateToolhelp32Snapshot (snapCs,pid )
992
+ if( hsnap==_INVALID_HANDLE_VALUE ){
993
+ return function(){ }
994
+ }
995
+
996
+ var freeItor = function(){
997
+ if(hsnap){
998
+ ..raw.closehandle(hsnap);
999
+ hsnap = null;
1000
+ }
1001
+ }
1002
+
1003
+ var gcSnap = ..gcdata(
1004
+ _gc = freeItor;
1005
+ _topointer = hsnap
1006
+ )
1007
+
1008
+ return function( entry ) { //接收for循环传递的参数得到迭代器控制变量
1009
+ var next;
1010
+
1011
+ if(entry)
1012
+ next = entryNext(gcSnap, entry);
1013
+ else
1014
+ next,entry = entryFirst(gcSnap, firstEntry)
1015
+
1016
+ if(next){
1017
+ return entry;
1018
+ }
1019
+ } , freeItor ;
1020
+
1021
+ }
1022
+
1023
+ class MODULEENTRY32{
1024
+ INT dwSize = 548;
1025
+ INT th32ModuleID;
1026
+ INT th32ProcessID;
1027
+ INT GlblcntUsage;
1028
+ INT ProccntUsage;
1029
+ addr modBaseAddr;
1030
+ INT modBaseSize;
1031
+ pointer hModule;
1032
+ WORD szModule[256];
1033
+ WORD szExePath[0x104/*_MAX_PATH*/];
1034
+ }
1035
+
1036
+ Module32First = ::Kernel32.api("Module32FirstW","int(pointer hsnap,struct& lppe)")
1037
+ Module32Next = ::Kernel32.api("Module32NextW","int(pointer hsnap,struct& lppe)")
1038
+ eachModule = function(pid) {
1039
+ var each,freeItor = eachSnap( pid:getId(),8/*_TH32CS_SNAPMODULE*/,MODULEENTRY32(),Module32First,Module32Next)
1040
+ return function(...){
1041
+ var moduleEntry = each(...)
1042
+ if(moduleEntry){
1043
+ moduleEntry.szExePath = ..string.fromto(moduleEntry.szExePath,0,65001);
1044
+ moduleEntry.szModule = ..string.fromto(moduleEntry.szModule,0,65001);
1045
+ return moduleEntry;
1046
+ }
1047
+ },freeItor
1048
+ }
1049
+
1050
+ /*intellisense(process)*/
1051
+ THREADENTRY32 = class {
1052
+ INT dwSize;
1053
+ INT cntUsage;
1054
+ INT th32ThreadID; // this thread
1055
+ INT th32OwnerProcessID; // Process this thread is associated with
1056
+ int tpBasePri;
1057
+ int tpDeltaPri;
1058
+ INT dwFlags;
1059
+ }
1060
+ Thread32First = ::Kernel32.api("Thread32First","int(pointer hsnap,struct& lppe)")
1061
+ Thread32Next = ::Kernel32.api("Thread32Next","int(pointer hsnap,struct& lppe)")
1062
+ /*end intellisense*/
1063
+
1064
+ eachThread = function(pid) {
1065
+
1066
+ var nextSnap,freeItor = eachSnap( pid:getId(),4/*_TH32CS_SNAPTHREAD*/,THREADENTRY32(),Thread32First,Thread32Next)
1067
+
1068
+ return function( entry ) { //接收for循环传递的参数得到迭代器控制变量
1069
+ entry = nextSnap( entry )
1070
+ while(entry){
1071
+ if(!pid || pid==entry.th32OwnerProcessID)
1072
+ return entry;
1073
+
1074
+ entry = nextSnap(entry) ;
1075
+ }
1076
+
1077
+ },freeItor
1078
+ }
1079
+
1080
+ firstThreadId = function(pid){
1081
+ var id;
1082
+ for t in eachThread(pid){
1083
+ id = t.th32ThreadID;
1084
+ break;
1085
+ }
1086
+
1087
+ return id;
1088
+ }
1089
+
1090
+ class PROCESSENTRY32 {
1091
+ INT dwSize = 556;
1092
+ INT cntUsage = 0;
1093
+ INT th32ProcessID = 0; // this process
1094
+ INT th32DefaultHeapID = 0;
1095
+ INT th32ModuleID = 0; // associated exe
1096
+ INT cntThreads = 0;
1097
+ INT th32ParentProcessID = 0; // this process's parent process
1098
+ INT pcPriClassBase = 0; // Base priority of process's threads
1099
+ INT dwFlags = 0;
1100
+ WORD szExeFile[260] = "path"; // Path
1101
+ }
1102
+ Process32First = Kernel32.api("Process32FirstW","int(pointer hsnap,struct & lppe)");
1103
+ Process32Next = Kernel32.api("Process32NextW","int(pointer hsnap,struct & lppe)");
1104
+
1105
+ each = function(exename) {
1106
+ var nextSnap,freeItor = eachSnap( 0,2/*_TH32CS_SNAPPROCESS*/,PROCESSENTRY32(),Process32First,Process32Next)
1107
+
1108
+ return function( entry ) { //接收for循环传递的参数得到迭代器控制变量
1109
+ entry = nextSnap( entry )
1110
+
1111
+ while(entry){
1112
+ if(!exename) return entry;
1113
+
1114
+ if( ..string.cmpMatch(entry.szExeFile,exename) )
1115
+ return entry;
1116
+
1117
+ entry = nextSnap(entry) ;
1118
+ }
1119
+
1120
+ },freeItor ;
1121
+
1122
+ }
1123
+
1124
+ findId = function(exename){
1125
+ for entry in each(exename) return entry.th32ProcessID;
1126
+ }
1127
+
1128
+ find = function(exename){
1129
+ var pid = findId(exename);
1130
+ if(pid) return ..process(pid);
1131
+ }
1132
+
1133
+ getPath = function(pid){
1134
+ assert(type(pid) == "number");
1135
+ var prcs = ..process(pid,0x400/*_PROCESS_QUERY_INFORMATION*/ | 0x1000/*_PROCESS_QUERY_LIMITED_INFORMATION*/)
1136
+ if( prcs ) {
1137
+ var p = prcs.getPath();
1138
+ prcs.free();
1139
+ return p;
1140
+ }
1141
+ }
1142
+
1143
+ escapeArgument = function(s){
1144
+ var b = ""
1145
+ var o = "";
1146
+ var q,e;
1147
+ for c in ..string.gmatch(s ,".") {
1148
+ if( c == "\"){
1149
+ b = b + "\"
1150
+ }
1151
+ elseif( c == '"' ) {
1152
+ o = o ++ b ++ b ++ '\\"'; b = "";
1153
+ e = true;
1154
+ }
1155
+ else {
1156
+ if( c == ' ' || c = '\t' || c = "\r" || c == '\n' || c == '^' || c == '|' || c == '&') q = true;
1157
+ o = o ++ b ++ c; b = "";
1158
+ }
1159
+ }
1160
+
1161
+ if( #b ) o = o ++ b;
1162
+ if( !q ) return e ? o : s;
1163
+ if( #b ) o = o ++ b;
1164
+
1165
+ return '"' + o + '"';
1166
+ }
1167
+
1168
+ joinArguments = function(parameters,...){
1169
+ if( ... !== null ) parameters = { parameters; ... }
1170
+ if( type(parameters) == type.table ){
1171
+ var out = {}
1172
+ for k,v in ..table.eachName(parameters){
1173
+ if(k[1]=='-'# || k[1]=='/'#){
1174
+ ..table.push(out,k,v!==""?tostring(v):null);
1175
+ }
1176
+ }
1177
+
1178
+ ..table.append(out,parameters);
1179
+ parameters = out;
1180
+
1181
+ for(i=1;#parameters){
1182
+ if(parameters[i]===null) {
1183
+ parameters[i] = "";
1184
+ continue;
1185
+ }
1186
+ v = ..string.trim(tostring(parameters[i]));
1187
+
1188
+ if( v[1] != '"'# || v[#v] != '"'# ){
1189
+ if( ! ..string.find(v,`^[^"\\]+"[^"]+"\s*$`) ){
1190
+ v = escapeArgument(v)
1191
+ }
1192
+ }
1193
+ parameters[i] = v;
1194
+ }
1195
+
1196
+ var e = parameters[0];
1197
+ parameters = ..string.join(parameters," ");
1198
+ if( e ) {
1199
+ e = tostring(e);
1200
+ if(..string.find(e,"\s")) e = '"' + e + '"';
1201
+ parameters = e + ' ' + parameters;
1202
+ }
1203
+ }
1204
+ return parameters;
1205
+ }
1206
+
1207
+ environment = function(){
1208
+ var getEnvironmentStrings = ::Kernel32.api("GetEnvironmentStringsW","ptr()" )
1209
+ var e = getEnvironmentStrings()
1210
+ if(e){
1211
+ var l = ..raw.indexOf(e,0xFFFFFFFF,'\0\0\0\0');
1212
+ var s = ..raw.tostring(e,1,l);
1213
+ ::Kernel32.FreeEnvironmentStrings(e);
1214
+ return..string.fromUnicode(s);
1215
+ }
1216
+ }
1217
+
1218
+ workDir = ..io.fullpath("/")
1219
+ }
1220
+
1221
+ /**details(相关范例)
1222
+ 范例程序 > 进程
1223
+ end details**/
1224
+
1225
+ /**intellisense()
1226
+ process.joinArguments(.(参数表) = 参数可以是一个数组或多个非 null 参数,\n调用 tostring 转换参数项为字符串,合并为单个命令行参数并返回,\n不在双引号内、且包含空白字符或 ^ | && 等字符 的参数转义处理后首尾添加双引号\n\n如果参数是一个表,\n则表中以键名以 - 或 / 开头的键值对自动合并为命令行参数,\n键值对参数总是置于数组参数之前
1227
+ process.escapeArgument(.("命令行参数") = 转义命令行参数\n关于命令行参数转义规则,请参考 string.cmdline 的说明
1228
+ process.STARTUPINFO() = 创建进程启动参数\n!startinfo.
1229
+ process( = 运行执行文件或关联文档。\n如果省略所有参数则打开当前进程\n失败则返回 null,错误信息,错误代码\n成功返回进程对象
1230
+ process(.(进程ID,权限) = 打开指定ID的进程,\n参数@2可选用一个数值指定请求的权限,\n不指定权限时默认尝试 _PROCESS_ALL_ACCESS 权限,\n如果失败则尝试以 _SYNCHRONIZE 权限打开进程,\n_SYNCHRONIZE权限打开时只能使用 wait,waitOne函数,\n非管理权限进程创建管理权限进程时只能以_SYNCHRONIZE权限打开进程
1231
+ process(.(进程句柄,负责释放进程句柄) = 使用指定的进程句柄创建进程对象,\n参数@2为可选参数,默认为true
1232
+ process(.( ,系统命令行) = 如果省略第一个参数,并仅指定命令行,则作为系统命令行启动运行
1233
+ process(.(执行文件,命令行参数,更多命令行参数,->->->) = 命令行参数可以是一个数组、一个或多个字符串参数,\n\n数组或多个命令行参数调用 process.joinArguments 合并,\n不在双引号内、且包含空白或需要转义的参数转义处理后首尾添加双引号,\n命令参数最大长度为 32765 个字符
1234
+ process(.(执行文件,命令行参数,STARTUPINFO) = 命令行参数可以是字符串或由多个字符串组成的数组,\n数组参数调用 process.joinArguments 合并,\n不在双引号内、且包含空白或需要转义的参数转义处理后首尾添加双引号,\n命令参数最大长度为 32765 个字符。\nSTARTUPINFO参数为process.STARTUPINFO 结构体,可选参数\n如果该参数是普通table对象.将自动创建为STARTUPINFO结构体
1235
+ process() = !process.
1236
+ process.find() = !process.
1237
+ process.shell() = !process.
1238
+ process.shellAs() = !process.
1239
+ process.is(__) = 传入参数是否 process 对象
1240
+ !process.stillActive() = 进程是否仍在运行
1241
+ !process.getInfo( = 获取进程信息
1242
+ !process.getInfo(.() = 获取进程信息
1243
+ !process.getInfo(.(infoClass,infoStruct) = 如果参数 infoClass 指定非 null 数值,\n并且 infoStruct 指定结构体。\n在 Win8 以及之后系统获取信息到该结构体。\n成功返回原结构体。\n\n此用法内部调用 ::Kernel32.GetProcessInformation\n细节请参考该 API 文档
1244
+ !process.getInfo() = !stdProcessInfo.
1245
+ !process.setInfo(.(infoClass,infoStruct) = 设置进程信息,成功返回 true。\ninfoClass 指定数值,infoStruct 指定结构体。\n此函数内部调用 ::Kernel32.SetProcessInformation 。\n详细用法请参考 API 文档。\n在低于 Win8 的系统不执行操作
1246
+ !process.getExitCode() = 该函数调用成功有两个返回值:进程退出代码,进程是否已退出
1247
+ !process.free() = 释放进程对象。\n不是关闭进程,仅仅是释放对进程的控制句柄。
1248
+ !process.waitOne() = 等待进程关闭,不阻塞UI消息循环,\n可选使用一个毫秒值参数设定超时\n超时或失败返回 false,\n进程已退出则返回值1为true,返回值2为退出代码
1249
+ !process.wait() = 等待进程关闭,\n可选使用一个毫秒值参数设定超时\n超时或失败返回 false,\n进程已退出则返回值1为true,返回值2为退出代码
1250
+ !process.query(.(开始地址,结束地址,搜索数据,保护类型,访问类型) = 查找下一个有效内存地址,所有参数可选,\n搜索数据可以是字符串或结构体\n返回值: addr,len,str,i,j,pattern,protect,mtype
1251
+ !process.eachQuery(开始地址,结束地址,搜索数据,保护类型,访问类型) = @for( addr,len,str,i,j,pattern,protect,mtype\n in ??.eachQuery( , ,"__/*搜索模式*/" ) ){\n \n}
1252
+ !process.malloc(.(长度) = 在目标进程分配内存空间
1253
+ !process.malloc(.(长度,访问类型) = 在目标进程分配内存空间
1254
+ !process.malloc(.(长度,访问类型,分配类型) = 在目标进程分配内存空间
1255
+ !process.mfree(.(指针) = 释放malloc成员函数分配的内存指针
1256
+ !process.mfree(.(指针,释放长度,0x4000) = 释放malloc成员函数分配的内存指针\n不建议手工指定长度
1257
+ !process.sendMessage(.(hwnd,message,wParam,lParam) = 向外部进程窗口发送消息\nlParam如果是结构体则复制到目标进程内存,\n结构体如果包含指针应当自行调用 process.malloc 分配内存并复制\n发送消息涉及的用法太多,尤其是涉及到访问外部进程内存,\n所涉及的知识量不能通过看几句函数说明获得,\n普通用户请不要学习或使用此函数
1258
+ !process.setAffinity(1) = 指定进程运行的CPU内核
1259
+ !process.readNumber(__/*内存地址*/) = 读取一个int整数,32位\n打开进程需要指定 _PROCESS_VM_READ 权限
1260
+ !process.readNumber(__/*内存地址*/,"long") = 读取一个long类型整数,64位\n打开进程需要指定 _PROCESS_VM_READ 权限
1261
+ !process.readNumber(__/*内存地址*/,"word") = 读取一个word类型整数,16位\n打开进程需要指定 _PROCESS_VM_READ 权限
1262
+ !process.readNumber(__/*内存地址*/,"byte") = 读取一个字节,8位\n打开进程需要指定 _PROCESS_VM_READ 权限
1263
+ !process.readNumber(__/*内存地址*/,"INT") = 读取一个int整数,32位无符号\n打开进程需要指定 _PROCESS_VM_READ 权限
1264
+ !process.readNumber(__/*内存地址*/,"LONG") = 读取一个long类型整数,64位无符号\n打开进程需要指定 _PROCESS_VM_READ 权限
1265
+ !process.readNumber(__/*内存地址*/,"WORD") = 读取一个word类型整数,16位无符号\n打开进程需要指定 _PROCESS_VM_READ 权限
1266
+ !process.readNumber(__/*内存地址*/,"BYTE") = 读取一个字节,8位无符号\n打开进程需要指定 _PROCESS_VM_READ 权限
1267
+ !process.write(.(内存地址,任意个字符串或结构体参数) = 写入数据,成功返回写入尾部内存地址,\n失败返回空
1268
+ !process.readString(.(内存地址,长度) = 读取定长字符串\n打开进程需要指定 _PROCESS_VM_READ 权限
1269
+ !process.readStringUtf16(.(内存地址,长度) = 读取定长Unicode字符串\n转换为UTF8编码\n注意长度以字符为单位\n打开进程需要指定 _PROCESS_VM_READ 权限
1270
+ !process.readStruct(.(内存地址,结构体) = 读取定义的结构体\n打开进程需要指定 _PROCESS_VM_READ 权限
1271
+ !process.writeStruct(.(内存地址,结构体) = 写入定义的结构体,\n省略内存地址参数则自动分配内存,\n该函数返回写入内存地址,写入长度
1272
+ !process.writeString(.(内存地址,字符串,长度) = 写入字符串,长度为可选参数,\n省略内存地址参数则自动分配内存,\n该函数返回写入内存地址,写入长度
1273
+ !process.writeStringUtf16(.(内存地址,字符串) = 写入Unicode字符串\n参数可以为默认的UTF8编码文本
1274
+ !process.writeNumber(__/*内存地址*/,0) = 写入一个int整数,32位
1275
+ !process.writeNumber(__/*内存地址*/,0,"long") = 写入一个long类型整数,64位
1276
+ !process.writeNumber(__/*内存地址*/,0,"word") = 写入一个word类型整数,16位
1277
+ !process.writeNumber(__/*内存地址*/,0,"byte") = 写入一个字节,8位
1278
+ !process.writeNumber(__/*内存地址*/,0,"INT") = 写入一个int整数,32位无符号
1279
+ !process.writeNumber(__/*内存地址*/,0,"LONG") = 写入一个long类型整数,64位无符号
1280
+ !process.writeNumber(__/*内存地址*/,0,"WORD") = 写入一个word类型整数,16位无符号
1281
+ !process.writeNumber(__/*内存地址*/,0,"BYTE") = 写入一个字节,8位无符号
1282
+ !process.protect(__/*内存地址*/,4/*_PAGE_READWRITE*/,1) = 修改内存保护属性,返回原来的保护属性,\n第三个参数指定内存长度
1283
+ !process.getPriorityClass() = 返回进程优先级
1284
+ !process.setPriorityClass(0x80/*_HIGH_PRIORITY_CLASS*/) = 设置进程优先级
1285
+ !process.handle = 进程句柄
1286
+ !process.getParentId() = 获取父进程 ID
1287
+ !process.id = 进程 ID
1288
+ !process.tid = 返回进程的主线程 ID
1289
+ !process.remoteApi( = 在外部进程内创建远程调用函数
1290
+ !process.remoteApi(.("void()",CALL地址,调用约定) =参数(函数原型,CALL地址,调用约定) \n不指定调用约定在数时默认使用stdcall调用约定
1291
+ !process.remoteApi(.("void()","dll名","函数名") = 参数(函数原型,加载DLL模块名,函数名,调用约定) \n不指定调用约定时默认使用stdcall调用约定\n不会在API函数名字后面自动添加或移除"A","W"编码声明后缀,\n并且要注意搜索DLL时默认搜索路径包含目标EXE所在目录,而非当前EXE目录
1292
+ !process.remoteApi(.("void()","dll名","函数名","cdecl,borland") = 参数(函数原型,加载DLL模块名,函数名,调用约定) \n不会在API函数名字后面自动添加或移除"A","W"编码声明后缀,\n并且要注意搜索DLL时默认搜索路径包含目标EXE所在目录,而非当前EXE目录
1293
+ !process.remoteApi(.("void(INT thisAddr)","dll名","函数名","thiscall") = 参数(函数原型,加载DLL模块名,函数名,调用约定)\nthiscall使用第一个参数指定this指针地址\n不会在API函数名字后面自动添加或移除"A","W"编码声明后缀,\n并且要注意搜索DLL时默认搜索路径包含目标EXE所在目录,而非当前EXE目录
1294
+ !process.resume() = 恢复运行
1295
+ !process.suspend() = 暂停进程
1296
+ !process.terminate() = 强行终止进程\n可在参数中指定退出代码
1297
+ !process.kill() = 杀除进程
1298
+ !process.eachModule = @for moduleEntry in ??.eachModule() { \n__//io.print( moduleEntry.szExePath )\n \n}
1299
+ !process.eachThread = @for threadEntry in ??.eachThread() { \n__//io.print( threadEntry.th32ThreadID )\n \n}
1300
+ !process.getPath() = 返回执行程序文件完整路径。\n如果该进程以管理权限运行,\n则调用函数的进程也必须以管理权限运行\n才能获取到路径
1301
+ !process.asm(.(机器码数组,函数原型,调用约定) = 使用table数组指定任意个机器码参数,使用分号隔开,\n机器码可以是字符串,结构体,数值或指针,\n函数原型可省略,调用约定默认为"cdecl"
1302
+ !process.asmCdecl(.(函数原型,任意多个机器码参数) = 写入机器码返回函数对象\n请参考:aardio工具->其他编译器->INTEL汇编语言->汇编转机器码
1303
+ !process.asmStdcall(.(函数原型,任意多个机器码参数) = 写入机器码返回函数对象\n请参考:aardio工具->其他编译器->INTEL汇编语言->汇编转机器码
1304
+ !process.asmThiscall(.(函数原型,任意多个机器码参数) = 写入机器码返回函数对象\n请参考:aardio工具->其他编译器->INTEL汇编语言->汇编转机器码
1305
+ !process.getModuleBaseAddress(.(模块名) = 返回模块基址,\n模块名忽略大小写,\n不指定模块名则返回应用程序基址
1306
+ !process.isWow64() = 进程是否在64位系统上运行的32进程
1307
+ !process.isX64() = 是否64位进程
1308
+ !process.getUiInfo() = 获取UI线程窗口焦点,光标等信息\n!guithreadinfo.
1309
+ !process.getMainWindow(.() = 返回进程的主窗口,忽略隐藏窗口
1310
+ !process.getMainWindow(.(类名) = 返回进程的指定类名的主窗口,\n类名参数支持模式匹配语法
1311
+ !process.waitMainWindow( = 等待并返回进程主窗口
1312
+ !process.waitMainWindow(.(类名,等待窗口句柄) = 等待并返回进程主窗口,所有参数可选,\n可选指定要等待的类名,类名参数支持模式匹配语法,\n不指定类名时忽略隐藏窗口,\n可选指定等待窗口句柄,该窗口关闭时些函数不再等待并直接返回结果
1313
+ !process.closeMainWindow() = 关闭进程的主窗口,忽略隐藏窗口
1314
+ !process.assignToJobObject(.(process->job->limitKill) = 绑定到作业对象,成功返回true\n作业对象示例请参考标准库 process.job.limitKill 的源码。
1315
+ !process.ctrlEvent(0)=发送Ctrl+C(SIGINT信号)\n信号将传递到与目标进程控制台连接的所有非分离控制台进程\n64位目标进程会导致当前控制台暂时关闭
1316
+ !process.ctrlEvent(1)=发送Ctrl+Break(SIGBREAK信号)\n信号将传递到与目标进程控制台连接的所有非分离控制台进程\n64位目标进程会导致当前控制台暂时关闭
1317
+ !process.emptyWorkingSet() = 将工作集中的内存尽可能移动到页面文件中,\n应发在最小化或程序空闲内存确实暂不需要使用时调用,\n不应频繁调用此函数
1318
+ ?process = !process.
1319
+ ?process.each = !processEntry.
1320
+ end intellisense**/
1321
+
1322
+ /**intellisense(process)
1323
+ workDir = 创建进程默认工作目录,\n默认值为"/",也即应用程序根目录。\n\n启动程序路径可直接访问时默认工作目录为应用程序所在目录,\n反之启动程序路径传入 io.exist 返回 false 则默认工作目录为 process.workDir,\n一般不建议改变默认工作目录,\n更好的选择是在创建进程的选项参数中指定 workDir
1324
+ getInfo( = 获取进程信息
1325
+ getInfo(.(handle) = 获取进程信息,参数 @1 指定进程句柄
1326
+ getInfo(.(handle,infoClass,infoStruct) = 参数 @1 指定进程句柄。\n如果参数 infoClass 指定非 null 数值,\n并且 infoStruct 指定结构体。\n在 Win8 以及之后系统获取信息到该结构体。\n成功返回原结构体
1327
+ getInfo() = !stdProcessInfo.
1328
+ shellAs( = 以管理权限运行exe应用程序,返回进程对象
1329
+ shellAs(.("__", parameters="",showCmd,workDir,hwnd,fmask) = 参数@1指定要运行的执行程序路径,\n参数@2可用一个字符串或字符串数组指定启动参数,\n其他参数详细用法请参考本函数源码以及WINAPI中ShellExecuteEx函数用法\n除参数@1以外所有参数可选
1330
+ shell( = 运行exe应用程序,返回进程对象
1331
+ shell(.("__", parameters="",operation="open",showCmd,workDir,hwnd,fmask) = 参数@1指定要运行的执行程序路径,\n参数@2可用一个字符串或字符串数组指定启动参数,\n其他参数详细用法请参考本函数源码以及WINAPI中ShellExecuteEx函数用法\n除参数@1以外所有参数可选
1332
+ executeEx(.("__", parameters="",operation="open",showCmd,workDir,hwnd,fmask) = 运行exe应用程序,返回SHELLEXECUTEINFO结构体,\n参数@1指定要运行的执行程序路径,\n参数@2可用一个字符串或字符串数组指定启动参数,\n其他参数详细用法请参考本函数源码以及WINAPI中ShellExecuteEx函数用法\n除参数@1以外所有参数可选
1333
+ execute( = 运行exe应用程序,成功返回进程ID,\n参数详细用法请参考本函数源码以及 WINAPI 中 ShellExecuteEx 函数用法\n运行 UWP 应用请使用 com.shell.activateApp 函数\n\nraw.execute 提供了与本函数类似的功能
1334
+ execute(.("__", parameters="",operation="open",showCmd,workDir,hwnd) = 参数@1为程序路径或系统命 令\n参数@parameters 可以是字符串或字符串数组,用于指定启动参数,\n参数@operation 为启动模式\n参数@showCmd使用_SW_前缀常量与win.show参数用法相同\n参数@workdir为工作目录\n参数@hwnd 为父窗口句柄
1335
+ executeWait(.("__", parameters="",operation="open",showCmd,workDir=",hwnd=0) = 运行exe应用程序\n并等待应用程序关闭\n除参数@1以外所有参数可选
1336
+ executeWaitInput(.("__", parameters="",operation="open",showCmd,workDir=",hwnd=0) = 运行exe应用程序\n并等待进程初始化完成并接受输入\n除参数@1以外所有参数可选
1337
+ executeInvoke(.(path, parameters,operation,showCmd,workDir,hwnd) = 创建临时的后台线程运行应用程序\n在打开网址前退出主线程可能无法执行操作,\n参数与process.execute函数用法一样,除指定参数@1或参数@2,其他所有参数可选
1338
+ openUrl(__) = 调用默认浏览器打开网址,用于窗口程序,\n如果不用这个方法创建线程去打开网址,可能会出现界面卡顿不流畅的现象,\n在打开网址前退出主线程可能无法执行操作\n控制台程序应调用 process.execute 以避免后台线程不能阻止控制台关闭
1339
+ exploreSelect("__/*文件路径*/") = 打开资源管理器,选定该文件
1340
+ explore("__/*目录路径*/") = 使用资源管理器打开目录\n打开WIN10应用这样写:process.explore("shell:appsFolder\appPath")\n使用 com.shell.eachApp 可列出WIN10所有appPath
1341
+ regAs(`__/*命令参数*/`) = 以管理权限执行 reg 命令
1342
+ findExe("__/*文件路径*/") = 查找文件关联的可执行程序
1343
+ isExe("__/*文件路径*/") = 检测目标文件是否可执行文件\n如果是可执行文件返回"PE32"或"PE64"\n第二个返回值为子系统,GUI为2,CUI为3\n失败或参数为 null 返回 null
1344
+ find("__/*exe 文件名*/") = 查找进程并返回进程对象,\n参数@1指定要查找的进程启动文件名,注意应指定文件名而非文件路径,\n文件名参数支持模式匹配语法,忽略大小写,
1345
+ findId("__/*exe 文件名*/") = 查找进程并返回进程 ID,\n参数@1指定要查找的进程启动文件名,注意应指定文件名而非文件路径,\n文件名参数支持模式匹配语法,忽略大小写
1346
+ kill( = 查找并关闭进程,\n注意有些进程需要管理权限才能找到,\n例如资源管理器进程 "explorer.exe" 无管理权限有时会失败,\n在代码第一行添加//RUNAS//可申请管理权限
1347
+ kill(.(exePath,restart) = 查找所有同名 exe 文件的进程,并关闭进程。\n参数 @exePath 支持模式匹配语法,忽略大小写。\n返回进程的完整路径。\n\n如果 @restart 参数为 true,\n则杀进程成功后立即重新启动该进程
1348
+ kill(.(pid) = 使用参数@pid指定进程ID,关闭该进程
1349
+ each = @for processEntry in process.each( ".*.exe" ) { \n//遍历所有进程\n __//io.print( processEntry.szExeFile )\n \n}
1350
+ eachModule = @for moduleEntry in process.eachModule(__/*进程ID*/) { \n//io.print( moduleEntry.szExePath )\n \n}
1351
+ eachThread = @for threadEntry in process.eachThread(__/*进程ID*/) { \n//io.print( threadEntry.th32ThreadID )\n \n}
1352
+ firstThreadId(__/*进程ID*/) = 返回进程的首个线程 ID
1353
+ getPath(__/*进程ID*/) = 返回执行程序文件完整路径
1354
+ getId() = 获取当前进程 ID
1355
+ getParentId() = 获取父进程 ID
1356
+ getParent() = 获取父进程对象\n!process.
1357
+ getHandle() = 获取当前进程伪句柄
1358
+ dup(.(句柄,源进程句柄,目标进程句柄) = 进程句柄参数省略则为当前进程句柄\n函数支持更多可选参数如下:\n(句柄,源进程,目标进程,是否可继承,选项,安全访问级别)\n默认可继承,选项默认为_DUPLICATE_CLOSE_SOURCE | _DUPLICATE_SAME_ACCESS\n如果不指定最后一个参数
1359
+ dup(.(句柄,源进程句柄) = 从指定进程复制句柄到当前进程
1360
+ dup(.(句柄,,目标进程句柄) = 复制句柄到目标进程句柄
1361
+ environment() = 返回当前进程的所有环境变量组成的字符串\n键与值之间使用等号分隔,每个键值对中间以'\0'分隔\n尾部没有'\0'
1362
+ emptyWorkingSet() = 将工作集中的内存尽可能移动到页面文件中,\n应发在最小化或程序空闲内存确实暂不需要使用时调用,\n不应频繁调用此函数
1363
+ end intellisense**/
1364
+
1365
+ /**intellisense(!startinfo)
1366
+ desktop = 标识启动应用程序所在的桌面的名字
1367
+ title = 控制台标题
1368
+ x = x坐标(子进程使用默认坐标时、或控制台窗口支持)
1369
+ y = y坐标(子进程使用默认坐标时、或控制台窗口支持)
1370
+ xSize = 窗口宽(子进程使用默认坐标时、或控制台窗口支持)
1371
+ ySize = 窗口高(子进程使用默认坐标时、或控制台窗口支持)
1372
+ xCountChars = 控制台宽度(字符单位)
1373
+ yCountChars = 控制台高度(字符单位)
1374
+ fillAttribute = 控制台窗口使用的文本和背景颜色
1375
+ flags = @.flags = _STARTF_USE__ //指定结构体中哪些成员生效\n
1376
+ showWindow = 显示参数\n支持以_SW_前缀的常量\n_SW_HIDE表示隐藏窗口(默认值)
1377
+ stdInput = 标准输入(可用于创建管道)
1378
+ stdOutput = 标准输出(可用于创建管道)
1379
+ stdError = 标准错误输出(可用于创建管道)
1380
+ waitInputTimeout = 进程启动后等待初始化完成的最大超时\n默认为0xFFFFFFFF(无限等待),设为0则不等待
1381
+ creationFlag = @.creationFlag = CREATE__ //创建进程的参数,参考API CreateProcess的说明
1382
+ inheritHandles = 默认值为真,所有有可被继承属性的内核对象都会被复制到子进程(实际上是内核对象引用计数加一)
1383
+ environment = 新进程的环境变量\n以键值对组成的字符串,多个键值对间请以'\0'分隔\n键与值之间以=号分隔\n也可以传入包含键值对的表对象
1384
+ inheritEnvironment = 如果此属性的值恒等于false,且同时指定了environment的值,\n那么创建的子进程不会继承父进程的环境变量\n此属性不指定值时默认值为true
1385
+ processAttributes = SECURITY_ATTRIBUTES结构体指针,一般不建议设置\n如需设置请使用raw.malloc将结构体转换为指针
1386
+ threadAttributess = SECURITY_ATTRIBUTES结构体指针,一般不建议设置\n如需设置请使用raw.malloc将结构体转换为指针
1387
+ workDir = 进程工作目录,\n默认值为 process.workDir
1388
+ suspended = 是否休眠创建进程的主线程\n如果为真自动添加_CREATE_SUSPENDED参数
1389
+ username = 登录用户名
1390
+ password = 登录密码
1391
+ domain = 域名
1392
+ logonFlags = 登录选项,默认为 _LOGON_WITH_PROFILE
1393
+ createNoWindow = 不为应用程序创建控制台窗口
1394
+ end intellisense**/
1395
+
1396
+ /*intellisense(!processEntry)
1397
+ dwSize = 结构体长度,以字节为单位
1398
+ th32ProcessID = 进程ID,INT数据类型
1399
+ cntThreads = 此进程开启的线程计数
1400
+ th32ParentProcessID = 父进程的 ID
1401
+ pcPriClassBase = 进程优先级,INT数据类型
1402
+ szExeFile = 进程启动文件名,不是文件完整路径
1403
+ end intellisense*/
1404
+
1405
+ /*intellisense(moduleEntry)
1406
+ dwSize = 结构体大小
1407
+ th32ModuleID = 模块ID;
1408
+ th32ProcessID = 进程ID,INT数据类型
1409
+ GlblcntUsage =
1410
+ ProccntUsage =
1411
+ modBaseAddr = 模块基址;
1412
+ modBaseSize =
1413
+ hModule = 模块句柄
1414
+ szModule = 0;
1415
+ szExePath =
1416
+ end intellisense*/
1417
+
1418
+ /*intellisense(threadEntry)
1419
+ dwSize = 结构体大小
1420
+ cntUsage = 引用计数
1421
+ th32ThreadID = 线程ID
1422
+ th32OwnerProcessID = Process this thread is associated with
1423
+ tpBasePri =
1424
+ tpDeltaPri =
1425
+ dwFlags =
1426
+ th32OwnerProcessID = 进程ID
1427
+ end intellisense*/
1428
+
1429
+ /*intellisense(heapEntry)
1430
+ dwSize = 结构体大小;
1431
+ hHandle = Handle of this heap block
1432
+ dwAddress = Linear address of start of block
1433
+ dwBlockSize = Size of block in bytes
1434
+ dwFlags =
1435
+ dwLockCount =
1436
+ dwResvd =
1437
+ th32ProcessID = owning process
1438
+ th32HeapID = heap block is in
1439
+ end intellisense*/
1440
+
1441
+ /*intellisense(heapList)
1442
+ dwSize = 结构体大小;
1443
+ th32ProcessID = owning process
1444
+ th32HeapID = heap (in owning process's context!)
1445
+ dwFlags =
1446
+ end intellisense*/
1447
+
1448
+ /**intellisense(!stdProcessInfo)
1449
+ exitStatus = 进程退出代码
1450
+ prarentId = 父进程ID
1451
+ pebBaseAddress = PEB 地址,\n注意 64 位进程这里返回 math.size64 对象,\n32 位进程返回数值
1452
+ end intellisense**/
1453
+
1454
+ /**intellisense()
1455
+ _PAGE_NOACCESS=@1/*_PAGE_NOACCESS*/
1456
+ _PAGE_READONLY=@2/*_PAGE_READONLY*/
1457
+ _PAGE_READWRITE=@4/*_PAGE_READWRITE*/
1458
+ _PAGE_WRITECOPY=@8/*_PAGE_WRITECOPY*/
1459
+ _PAGE_EXECUTE=@0x10/*_PAGE_EXECUTE*/
1460
+ _PAGE_EXECUTE_READ=@0x20/*_PAGE_EXECUTE_READ*/
1461
+ _PAGE_EXECUTE_READWRITE=@0x40/*_PAGE_EXECUTE_READWRITE*/
1462
+ _PAGE_EXECUTE_WRITECOPY=@0x80/*_PAGE_EXECUTE_WRITECOPY*/
1463
+ _PAGE_GUARD=@0x100/*_PAGE_GUARD*/
1464
+ _PAGE_NOCACHE=@0x200/*_PAGE_NOCACHE*/
1465
+ _PAGE_WRITECOMBINE=@0x400/*_PAGE_WRITECOMBINE*/
1466
+ _MEM_COMMIT=@0x1000/*_MEM_COMMIT*/
1467
+ _MEM_RESERVE=@0x2000/*_MEM_RESERVE*/
1468
+ _MEM_DECOMMIT=@0x4000/*_MEM_DECOMMIT*/
1469
+ _MEM_RELEASE=@0x8000/*_MEM_RELEASE*/
1470
+ _MEM_FREE=@0x10000/*_MEM_FREE*/
1471
+ _MEM_PRIVATE=@0x20000/*_MEM_PRIVATE*/
1472
+ _MEM_MAPPED=@0x40000/*_MEM_MAPPED*/
1473
+ _MEM_RESET=@0x80000/*_MEM_RESET*/
1474
+ _MEM_TOP_DOWN=@0x100000/*_MEM_TOP_DOWN*/
1475
+ _MEM_WRITE_WATCH=@0x200000/*_MEM_WRITE_WATCH*/
1476
+ _MEM_PHYSICAL=@0x400000/*_MEM_PHYSICAL*/
1477
+ _MEM_ROTATE=@0x800000/*_MEM_ROTATE*/
1478
+ _MEM_LARGE_PAGES=@0x20000000/*_MEM_LARGE_PAGES*/
1479
+ _MEM_4MB_PAGES=@0x80000000/*_MEM_4MB_PAGES*/
1480
+ _TH32CS_SNAPHEAPLIST=@1/*_TH32CS_SNAPHEAPLIST*/
1481
+ _TH32CS_SNAPPROCESS=@2/*_TH32CS_SNAPPROCESS*/
1482
+ _TH32CS_SNAPTHREAD=@4/*_TH32CS_SNAPTHREAD*/
1483
+ _TH32CS_SNAPMODULE=@8/*_TH32CS_SNAPMODULE*/
1484
+ _TH32CS_SNAPMODULE32=@0x10/*_TH32CS_SNAPMODULE32*/
1485
+ _TH32CS_SNAPALL=@0xF/*_TH32CS_SNAPALL*/
1486
+ _TH32CS_INHERIT=@0x80000000/*_TH32CS_INHERIT*/
1487
+
1488
+ _STANDARD_RIGHTS_REQUIRED=@0xF0000/*_STANDARD_RIGHTS_REQUIRED*/
1489
+ _SYNCHRONIZE=@0x100000/*_SYNCHRONIZE*/
1490
+ _PROCESS_TERMINATE=@1/*_PROCESS_TERMINATE*/
1491
+ _PROCESS_CREATE_THREAD=@2/*_PROCESS_CREATE_THREAD*/
1492
+ _PROCESS_SET_SESSIONID=@4/*_PROCESS_SET_SESSIONID*/
1493
+ _PROCESS_VM_OPERATION=@8/*_PROCESS_VM_OPERATION*/
1494
+ _PROCESS_VM_READ=@0x10/*_PROCESS_VM_READ*/
1495
+ _PROCESS_VM_WRITE=@0x20/*_PROCESS_VM_WRITE*/
1496
+ _PROCESS_DUP_HANDLE=@0x40/*_PROCESS_DUP_HANDLE*/
1497
+ _PROCESS_CREATE_PROCESS=@0x80/*_PROCESS_CREATE_PROCESS*/
1498
+ _PROCESS_SET_QUOTA=@0x100/*_PROCESS_SET_QUOTA*/
1499
+ _PROCESS_SET_INFORMATION=@0x200/*_PROCESS_SET_INFORMATION*/
1500
+ _PROCESS_QUERY_INFORMATION=@0x400/*_PROCESS_QUERY_INFORMATION*/
1501
+ _PROCESS_SUSPEND_RESUME=@0x800/*_PROCESS_SUSPEND_RESUME*/
1502
+ _PROCESS_QUERY_LIMITED_INFORMATION=@0x1000/*_PROCESS_QUERY_LIMITED_INFORMATION*/
1503
+ _PROCESS_ALL_ACCESS=@0x1FFFFF/*_PROCESS_ALL_ACCESS*/
1504
+
1505
+ _CREATE_NEW_CONSOLE=@0x10/*_CREATE_NEW_CONSOLE*/
1506
+ _CREATE_NEW_PROCESS_GROUP=@0x200/*_CREATE_NEW_PROCESS_GROUP*/
1507
+ _CREATE_NO_WINDOW=@0x8000000/*_CREATE_NO_WINDOW*/
1508
+ _CREATE_PROCESS_DEBUG_EVENT=@3/*_CREATE_PROCESS_DEBUG_EVENT*/
1509
+ _CREATE_SUSPENDED=@4/*_CREATE_SUSPENDED*/
1510
+ end intellisense**/