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.
- package/README.md +18 -0
- package/aardio/aardio.exe +0 -0
- package/aardio/config/CFG.BIN +0 -0
- package/aardio/config/RECENT.PROJECT.TABLE +8 -0
- package/aardio/config/SYS.CFG +1 -0
- package/aardio/config/SYS.THEME +124 -0
- package/aardio/config/USR.CFG +16 -0
- package/aardio/config/USR.THEME +124 -0
- package/aardio/config/intellisense/kernel.txt +634 -0
- package/aardio/config/intellisense/unimportant.txt +108 -0
- package/aardio/config/intellisense/web.layout.behavior.txt +81 -0
- package/aardio/config/intellisense/web.sciter.behavior.txt +94 -0
- package/aardio/config/intellisense/winform.txt +215 -0
- package/aardio/config/lang/lib.txt +210 -0
- package/aardio/config/themes/dark.xml +124 -0
- package/aardio/config/themes/light.xml +124 -0
- package/aardio/extensions/extlibver.table +13 -0
- package/aardio/extensions/ide.aardio +386 -0
- package/aardio/extensions/plugin/view/bbx.aardio +52 -0
- package/aardio/extensions/plugin/view/config.aardio +52 -0
- package/aardio/extensions/plugin/view/dsktip.aardio +84 -0
- package/aardio/extensions/plugin/view/res/content/getting-started.htm +15 -0
- package/aardio/extensions/plugin/view/res/images/body-back.png +0 -0
- package/aardio/extensions/plugin/view/res/images/loading.png +0 -0
- package/aardio/extensions/plugin/view/res/images/panel-back.png +0 -0
- package/aardio/extensions/plugin/view/res/images/panel-caption-back.png +0 -0
- package/aardio/extensions/plugin/view/res/start-page.htm +216 -0
- package/aardio/extensions/plugin/view/startPage.aardio +329 -0
- package/aardio/extensions/plugin/view/startPage.aardio.plugin +329 -0
- package/aardio/extensions/res/app.ico +0 -0
- package/aardio/extensions/trigger/before-publish.aardio +57 -0
- package/aardio/extensions/trigger/copyCodeAsHtml.aardio +26 -0
- package/aardio/extensions/trigger/default.aproj +10 -0
- package/aardio/extensions/trigger/edit-default.aardio +71 -0
- package/aardio/extensions/trigger/edit.aardio +83 -0
- package/aardio/extensions/trigger/gotoFile.aardio +1 -0
- package/aardio/extensions/trigger/init.aardio +17 -0
- package/aardio/extensions/trigger/lib/config.aardio +8 -0
- package/aardio/extensions/trigger/openProject.aardio +39 -0
- package/aardio/extensions/trigger/publish-website.aardio +168 -0
- package/aardio/extensions/trigger/publish.aardio +386 -0
- package/aardio/extensions/trigger/res/config/publish.table +5 -0
- package/aardio/extensions/wizard/files/console.aardio +5 -0
- package/aardio/extensions/wizard/files/default.main.aardio +8 -0
- package/aardio/extensions/wizard/files/layout-blank.aardio +231 -0
- package/aardio/extensions/wizard/files/layout.aardio +15 -0
- package/aardio/extensions/wizard/files/webform-blank.aardio +84 -0
- package/aardio/extensions/wizard/files/webform.aardio +17 -0
- package/aardio/extensions/wizard/files/website.main.aardio +14 -0
- package/aardio/extensions/wizard/files/winform.aardio +9 -0
- package/aardio/extensions/wizard/project/win/default.aproj +4 -0
- 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
- 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
- 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
- package/aardio/extensions/wizard/project2/forms/console/console.aardio +16 -0
- package/aardio/extensions/wizard/project2/forms/console/service.aardio +41 -0
- package/aardio/extensions/wizard/project2/forms/console.aardio +90 -0
- package/aardio/extensions/wizard/project2/forms/fastcgi.aardio +168 -0
- package/aardio/extensions/wizard/project2/forms/images/console.jpg +0 -0
- package/aardio/extensions/wizard/project2/forms/images/electron.jpg +0 -0
- package/aardio/extensions/wizard/project2/forms/images/htmlayout.jpg +0 -0
- package/aardio/extensions/wizard/project2/forms/images/winform.jpg +0 -0
- package/aardio/extensions/wizard/project2/forms/plus/first.aardio +17 -0
- package/aardio/extensions/wizard/project2/forms/plus/icon.aardio +122 -0
- package/aardio/extensions/wizard/project2/forms/plus/images/1.jpg +0 -0
- package/aardio/extensions/wizard/project2/forms/plus/tabs.aardio +119 -0
- package/aardio/extensions/wizard/project2/forms/plus.aardio +94 -0
- package/aardio/extensions/wizard/project2/forms/web/chromeApp.aardio +62 -0
- package/aardio/extensions/wizard/project2/forms/web/electron.aardio +19 -0
- package/aardio/extensions/wizard/project2/forms/web/htmlayout.aardio +16 -0
- package/aardio/extensions/wizard/project2/forms/web/sciter.aardio +16 -0
- package/aardio/extensions/wizard/project2/forms/web/view.aardio +67 -0
- package/aardio/extensions/wizard/project2/forms/web/webform.aardio +60 -0
- package/aardio/extensions/wizard/project2/forms/web/webkit.aardio +49 -0
- package/aardio/extensions/wizard/project2/forms/web.aardio +105 -0
- package/aardio/extensions/wizard/project2/forms/website.aardio +175 -0
- package/aardio/extensions/wizard/project2/forms/winform/bat.aardio +46 -0
- package/aardio/extensions/wizard/project2/forms/winform/blank.aardio +20 -0
- package/aardio/extensions/wizard/project2/forms/winform/demo.aardio +20 -0
- package/aardio/extensions/wizard/project2/forms/winform/images/paint.png +0 -0
- package/aardio/extensions/wizard/project2/forms/winform/java.aardio +67 -0
- package/aardio/extensions/wizard/project2/forms/winform/paint.aardio +21 -0
- package/aardio/extensions/wizard/project2/forms/winform/python.aardio +101 -0
- package/aardio/extensions/wizard/project2/forms/winform.aardio +82 -0
- package/aardio/extensions/wizard/project2/lib/style/_.aardio +4 -0
- package/aardio/extensions/wizard/project2/lib/style/main.aardio +47 -0
- package/aardio/extensions/wizard/project2/main.aardio +248 -0
- package/aardio/extensions/wizard/project2/res/icons/console.png +0 -0
- package/aardio/extensions/wizard/project2/res/icons/fastcgi.png +0 -0
- package/aardio/extensions/wizard/project2/res/icons/plus.png +0 -0
- package/aardio/extensions/wizard/project2/res/icons/web.png +0 -0
- package/aardio/extensions/wizard/project2/res/icons/website.png +0 -0
- package/aardio/extensions/wizard/project2/res/icons/winform.png +0 -0
- package/aardio/extensions/wizard/project2/res/images/bg.gif +0 -0
- package/aardio/extensions/wizard/project2/res/images/check-active1.png +0 -0
- package/aardio/extensions/wizard/project2/res/images/check-disabled1.png +0 -0
- package/aardio/extensions/wizard/project2/res/images/check-hover1.png +0 -0
- package/aardio/extensions/wizard/project2/res/images/check1.png +0 -0
- package/aardio/extensions/wizard/project2/res/images/main-nav-bg-active.png +0 -0
- package/aardio/extensions/wizard/project2/res/images/main-nav-bg-hover.png +0 -0
- package/aardio/extensions/wizard/project2/res/images/main-nav-bg.png +0 -0
- package/aardio/extensions/wizard/project2/res/images/uncheck-active1.png +0 -0
- package/aardio/extensions/wizard/project2/res/images/uncheck-disabled1.png +0 -0
- package/aardio/extensions/wizard/project2/res/images/uncheck-hover1.png +0 -0
- package/aardio/extensions/wizard/project2/res/images/uncheck1.png +0 -0
- package/aardio/extensions/wizard/project2/template/bat/bat/bat.aardio +33 -0
- package/aardio/extensions/wizard/project2/template/bat/bat/bat2.aardio +17 -0
- package/aardio/extensions/wizard/project2/template/bat/default.aproj +9 -0
- package/aardio/extensions/wizard/project2/template/bat/lib/config.aardio +17 -0
- package/aardio/extensions/wizard/project2/template/bat/lib/style.aardio +72 -0
- package/aardio/extensions/wizard/project2/template/bat/main.aardio +52 -0
- package/aardio/extensions/wizard/project2/template/console/default.aproj +5 -0
- package/aardio/extensions/wizard/project2/template/console/lib/config.aardio +17 -0
- package/aardio/extensions/wizard/project2/template/console/main.aardio +23 -0
- package/aardio/extensions/wizard/project2/template/fastcgi/.build/default.Manifest.xml +60 -0
- package/aardio/extensions/wizard/project2/template/fastcgi/.build/default.init.aardio +4 -0
- package/aardio/extensions/wizard/project2/template/fastcgi/.build/default.main.aardio +6 -0
- package/aardio/extensions/wizard/project2/template/fastcgi/default.aproj +5 -0
- package/aardio/extensions/wizard/project2/template/fastcgi/lib/config.aardio +17 -0
- package/aardio/extensions/wizard/project2/template/fastcgi/main.aardio +77 -0
- package/aardio/extensions/wizard/project2/template/java/default/default.aproj +14 -0
- package/aardio/extensions/wizard/project2/template/java/default/java/aardio/sample/HelloworldApp.class +0 -0
- package/aardio/extensions/wizard/project2/template/java/default/java/aardio/sample/HelloworldApp.java +33 -0
- package/aardio/extensions/wizard/project2/template/java/default/lib/config.aardio +17 -0
- package/aardio/extensions/wizard/project2/template/java/default/main.aardio +33 -0
- package/aardio/extensions/wizard/project2/template/java/default/res/py.aardio +12 -0
- package/aardio/extensions/wizard/project2/template/paint/default.aproj +6 -0
- package/aardio/extensions/wizard/project2/template/paint/lib/config.aardio +17 -0
- package/aardio/extensions/wizard/project2/template/paint/lib/fonts/.res/painttest.ttf +0 -0
- package/aardio/extensions/wizard/project2/template/paint/lib/fonts/painttest.aardio +10 -0
- package/aardio/extensions/wizard/project2/template/paint/lib/style.aardio +46 -0
- package/aardio/extensions/wizard/project2/template/paint/main.aardio +125 -0
- package/aardio/extensions/wizard/project2/template/plus/1/default.aproj +20 -0
- package/aardio/extensions/wizard/project2/template/plus/1/forms/page1.aardio +89 -0
- package/aardio/extensions/wizard/project2/template/plus/1/forms/page2.aardio +70 -0
- package/aardio/extensions/wizard/project2/template/plus/1/forms/page3.aardio +21 -0
- package/aardio/extensions/wizard/project2/template/plus/1/include/images/bg.gif +0 -0
- package/aardio/extensions/wizard/project2/template/plus/1/include//350/257/264/346/230/216.txt +1 -0
- package/aardio/extensions/wizard/project2/template/plus/1/main.aardio +69 -0
- package/aardio/extensions/wizard/project2/template/plus/1/res/images/bg.png +0 -0
- package/aardio/extensions/wizard/project2/template/plus/1/res/images/excel.png +0 -0
- package/aardio/extensions/wizard/project2/template/plus/1/res/images/feed.png +0 -0
- package/aardio/extensions/wizard/project2/template/plus/1/res/images/main-nav-bg-active.png +0 -0
- package/aardio/extensions/wizard/project2/template/plus/1/res/images/main-nav-bg-hover.png +0 -0
- package/aardio/extensions/wizard/project2/template/plus/1/res/images/main-nav-bg.png +0 -0
- package/aardio/extensions/wizard/project2/template/plus/1/res/images/ppt.png +0 -0
- package/aardio/extensions/wizard/project2/template/plus/1/res/images/rss.png +0 -0
- package/aardio/extensions/wizard/project2/template/plus/icon/default.aproj +12 -0
- package/aardio/extensions/wizard/project2/template/plus/icon/forms/main/frmPage1.aardio +11 -0
- package/aardio/extensions/wizard/project2/template/plus/icon/forms/main/frmPage2.aardio +9 -0
- package/aardio/extensions/wizard/project2/template/plus/icon/forms/main/frmPage3.aardio +9 -0
- package/aardio/extensions/wizard/project2/template/plus/icon/lib/config.aardio +17 -0
- package/aardio/extensions/wizard/project2/template/plus/icon/main.aardio +52 -0
- package/aardio/extensions/wizard/project2/template/plus/tabs/default.aproj +11 -0
- package/aardio/extensions/wizard/project2/template/plus/tabs/dlg/first.aardio +20 -0
- package/aardio/extensions/wizard/project2/template/plus/tabs/dlg/help.aardio +25 -0
- package/aardio/extensions/wizard/project2/template/plus/tabs/dlg/hotkey.aardio +20 -0
- package/aardio/extensions/wizard/project2/template/plus/tabs/dlg/setting.aardio +20 -0
- package/aardio/extensions/wizard/project2/template/plus/tabs/lib/config.aardio +17 -0
- package/aardio/extensions/wizard/project2/template/plus/tabs/lib/style.aardio +72 -0
- package/aardio/extensions/wizard/project2/template/plus/tabs/main.aardio +50 -0
- package/aardio/extensions/wizard/project2/template/python/process/default.aproj +14 -0
- package/aardio/extensions/wizard/project2/template/python/process/lib/config.aardio +17 -0
- package/aardio/extensions/wizard/project2/template/python/process/lib/py3/export/aardio.aardio +17 -0
- package/aardio/extensions/wizard/project2/template/python/process/main.aardio +36 -0
- package/aardio/extensions/wizard/project2/template/python/process/py/pyMain.py +17 -0
- package/aardio/extensions/wizard/project2/template/python/process/res/py.aardio +12 -0
- package/aardio/extensions/wizard/project2/template/python/process/tools/pip.aardio +15 -0
- package/aardio/extensions/wizard/project2/template/python/py2/default.aproj +9 -0
- package/aardio/extensions/wizard/project2/template/python/py2/lib/config.aardio +17 -0
- package/aardio/extensions/wizard/project2/template/python/py2/lib/py2/export/aardio.aardio +16 -0
- package/aardio/extensions/wizard/project2/template/python/py2/main.aardio +19 -0
- package/aardio/extensions/wizard/project2/template/python/py2/py/pyMain.py +14 -0
- package/aardio/extensions/wizard/project2/template/python/py3/default.aproj +12 -0
- package/aardio/extensions/wizard/project2/template/python/py3/lib/config.aardio +17 -0
- package/aardio/extensions/wizard/project2/template/python/py3/lib/py3/export/aardio.aardio +17 -0
- package/aardio/extensions/wizard/project2/template/python/py3/main.aardio +20 -0
- package/aardio/extensions/wizard/project2/template/python/py3/py/pyMain.py +15 -0
- package/aardio/extensions/wizard/project2/template/python/py3/tools/pip.aardio +28 -0
- package/aardio/extensions/wizard/project2/template/service/.build/default.init.aardio +4 -0
- package/aardio/extensions/wizard/project2/template/service/default.aproj +5 -0
- package/aardio/extensions/wizard/project2/template/service/lib/config.aardio +17 -0
- package/aardio/extensions/wizard/project2/template/service/lib/service/threads/_.aardio +35 -0
- package/aardio/extensions/wizard/project2/template/service/main.aardio +68 -0
- package/aardio/extensions/wizard/project2/template/web/chrome-app/default.aproj +10 -0
- package/aardio/extensions/wizard/project2/template/web/chrome-app/lib/config.aardio +17 -0
- package/aardio/extensions/wizard/project2/template/web/chrome-app/main.aardio +22 -0
- package/aardio/extensions/wizard/project2/template/web/chrome-app/web/index.html +15 -0
- package/aardio/extensions/wizard/project2/template/web/chrome-app/web.src/.yarnrc +1 -0
- package/aardio/extensions/wizard/project2/template/web/chrome-app/web.src/package.json +45 -0
- package/aardio/extensions/wizard/project2/template/web/chrome-app/web.src/public/favicon.ico +0 -0
- package/aardio/extensions/wizard/project2/template/web/chrome-app/web.src/public/index.html +33 -0
- package/aardio/extensions/wizard/project2/template/web/chrome-app/web.src/src/App.css +20 -0
- package/aardio/extensions/wizard/project2/template/web/chrome-app/web.src/src/App.test.tsx +9 -0
- package/aardio/extensions/wizard/project2/template/web/chrome-app/web.src/src/App.tsx +37 -0
- package/aardio/extensions/wizard/project2/template/web/chrome-app/web.src/src/Counter.tsx +40 -0
- package/aardio/extensions/wizard/project2/template/web/chrome-app/web.src/src/index.css +11 -0
- package/aardio/extensions/wizard/project2/template/web/chrome-app/web.src/src/index.tsx +26 -0
- package/aardio/extensions/wizard/project2/template/web/chrome-app/web.src/src/react-app-env.d.ts +1 -0
- package/aardio/extensions/wizard/project2/template/web/chrome-app/web.src/src/reportWebVitals.ts +15 -0
- package/aardio/extensions/wizard/project2/template/web/chrome-app/web.src/src/setupTests.ts +5 -0
- package/aardio/extensions/wizard/project2/template/web/chrome-app/web.src/src/store/index.ts +11 -0
- package/aardio/extensions/wizard/project2/template/web/chrome-app/web.src/src/store/useCounterController.ts +39 -0
- package/aardio/extensions/wizard/project2/template/web/chrome-app/web.src/src/store/useUserController.ts +24 -0
- package/aardio/extensions/wizard/project2/template/web/chrome-app/web.src/tsconfig.json +26 -0
- package/aardio/extensions/wizard/project2/template/web/chrome-htmx/default.aproj +16 -0
- package/aardio/extensions/wizard/project2/template/web/chrome-htmx/lib/config.aardio +17 -0
- package/aardio/extensions/wizard/project2/template/web/chrome-htmx/main.aardio +12 -0
- package/aardio/extensions/wizard/project2/template/web/chrome-htmx/web/api/index.aardio +20 -0
- package/aardio/extensions/wizard/project2/template/web/chrome-htmx/web/htmx.js +1 -0
- package/aardio/extensions/wizard/project2/template/web/chrome-htmx/web/images/loading.gif +0 -0
- package/aardio/extensions/wizard/project2/template/web/chrome-htmx/web/index.css +34 -0
- package/aardio/extensions/wizard/project2/template/web/chrome-htmx/web/index.html +65 -0
- package/aardio/extensions/wizard/project2/template/web/chrome-vue/default.aproj +10 -0
- package/aardio/extensions/wizard/project2/template/web/chrome-vue/lib/config.aardio +17 -0
- package/aardio/extensions/wizard/project2/template/web/chrome-vue/main.aardio +21 -0
- package/aardio/extensions/wizard/project2/template/web/chrome-vue/web/index.html +15 -0
- package/aardio/extensions/wizard/project2/template/web/chrome-vue/web.src/.vscode/extensions.json +3 -0
- package/aardio/extensions/wizard/project2/template/web/chrome-vue/web.src/README.md +40 -0
- package/aardio/extensions/wizard/project2/template/web/chrome-vue/web.src/env.d.ts +1 -0
- package/aardio/extensions/wizard/project2/template/web/chrome-vue/web.src/index.html +13 -0
- package/aardio/extensions/wizard/project2/template/web/chrome-vue/web.src/package.json +25 -0
- package/aardio/extensions/wizard/project2/template/web/chrome-vue/web.src/public/favicon.ico +0 -0
- package/aardio/extensions/wizard/project2/template/web/chrome-vue/web.src/src/App.vue +58 -0
- package/aardio/extensions/wizard/project2/template/web/chrome-vue/web.src/src/assets/base.css +74 -0
- package/aardio/extensions/wizard/project2/template/web/chrome-vue/web.src/src/assets/logo.svg +1 -0
- package/aardio/extensions/wizard/project2/template/web/chrome-vue/web.src/src/assets/main.css +35 -0
- package/aardio/extensions/wizard/project2/template/web/chrome-vue/web.src/src/components/HelloWorld.vue +40 -0
- package/aardio/extensions/wizard/project2/template/web/chrome-vue/web.src/src/components/TheWelcome.vue +86 -0
- package/aardio/extensions/wizard/project2/template/web/chrome-vue/web.src/src/components/WelcomeItem.vue +86 -0
- package/aardio/extensions/wizard/project2/template/web/chrome-vue/web.src/src/components/icons/IconCommunity.vue +7 -0
- package/aardio/extensions/wizard/project2/template/web/chrome-vue/web.src/src/components/icons/IconDocumentation.vue +7 -0
- package/aardio/extensions/wizard/project2/template/web/chrome-vue/web.src/src/components/icons/IconEcosystem.vue +7 -0
- package/aardio/extensions/wizard/project2/template/web/chrome-vue/web.src/src/components/icons/IconSupport.vue +7 -0
- package/aardio/extensions/wizard/project2/template/web/chrome-vue/web.src/src/components/icons/IconTooling.vue +19 -0
- package/aardio/extensions/wizard/project2/template/web/chrome-vue/web.src/src/main.ts +6 -0
- package/aardio/extensions/wizard/project2/template/web/chrome-vue/web.src/tsconfig.config.json +8 -0
- package/aardio/extensions/wizard/project2/template/web/chrome-vue/web.src/tsconfig.json +16 -0
- package/aardio/extensions/wizard/project2/template/web/chrome-vue/web.src/vite.config.ts +20 -0
- package/aardio/extensions/wizard/project2/template/web/electron/default.aproj +8 -0
- package/aardio/extensions/wizard/project2/template/web/electron/electron.app/.aardio-ignore +6 -0
- package/aardio/extensions/wizard/project2/template/web/electron/electron.app/.yarnrc +1 -0
- package/aardio/extensions/wizard/project2/template/web/electron/electron.app/app.ico +0 -0
- package/aardio/extensions/wizard/project2/template/web/electron/forms/remoteDebugging.aardio +122 -0
- package/aardio/extensions/wizard/project2/template/web/electron/lib/config.aardio +22 -0
- package/aardio/extensions/wizard/project2/template/web/electron/main.aardio +80 -0
- package/aardio/extensions/wizard/project2/template/web/electron/res/.vscode/settings.json +3 -0
- package/aardio/extensions/wizard/project2/template/web/electron/res/index.aardio +78 -0
- package/aardio/extensions/wizard/project2/template/web/layoutUi/default.aproj +20 -0
- package/aardio/extensions/wizard/project2/template/web/layoutUi/layout/images/begin.png +0 -0
- package/aardio/extensions/wizard/project2/template/web/layoutUi/layout/images/document.png +0 -0
- package/aardio/extensions/wizard/project2/template/web/layoutUi/layout/images/download.png +0 -0
- package/aardio/extensions/wizard/project2/template/web/layoutUi/layout/images/home.png +0 -0
- package/aardio/extensions/wizard/project2/template/web/layoutUi/layout/images/logo.png +0 -0
- package/aardio/extensions/wizard/project2/template/web/layoutUi/layout/tabs.css +123 -0
- package/aardio/extensions/wizard/project2/template/web/layoutUi/layout/ui.css +67 -0
- package/aardio/extensions/wizard/project2/template/web/layoutUi/layout/ui.html +49 -0
- package/aardio/extensions/wizard/project2/template/web/layoutUi/main.aardio +26 -0
- package/aardio/extensions/wizard/project2/template/web/sciter/default.aproj +21 -0
- package/aardio/extensions/wizard/project2/template/web/sciter/layout/hooks.js +2 -0
- package/aardio/extensions/wizard/project2/template/web/sciter/layout/images/begin.png +0 -0
- package/aardio/extensions/wizard/project2/template/web/sciter/layout/images/document.png +0 -0
- package/aardio/extensions/wizard/project2/template/web/sciter/layout/images/download.png +0 -0
- package/aardio/extensions/wizard/project2/template/web/sciter/layout/images/home.png +0 -0
- package/aardio/extensions/wizard/project2/template/web/sciter/layout/images/logo.png +0 -0
- package/aardio/extensions/wizard/project2/template/web/sciter/layout/preact.js +2 -0
- package/aardio/extensions/wizard/project2/template/web/sciter/layout/tabs.css +123 -0
- package/aardio/extensions/wizard/project2/template/web/sciter/layout/ui.css +67 -0
- package/aardio/extensions/wizard/project2/template/web/sciter/layout/ui.html +100 -0
- package/aardio/extensions/wizard/project2/template/web/sciter/main.aardio +31 -0
- package/aardio/extensions/wizard/project2/template/web/view/default.aproj +10 -0
- package/aardio/extensions/wizard/project2/template/web/view/lib/config.aardio +17 -0
- package/aardio/extensions/wizard/project2/template/web/view/main.aardio +30 -0
- package/aardio/extensions/wizard/project2/template/web/view/web/index.html +15 -0
- package/aardio/extensions/wizard/project2/template/web/view/web.src/.yarnrc +1 -0
- package/aardio/extensions/wizard/project2/template/web/view/web.src/package.json +44 -0
- package/aardio/extensions/wizard/project2/template/web/view/web.src/public/favicon.ico +0 -0
- package/aardio/extensions/wizard/project2/template/web/view/web.src/public/index.html +33 -0
- package/aardio/extensions/wizard/project2/template/web/view/web.src/src/App.css +20 -0
- package/aardio/extensions/wizard/project2/template/web/view/web.src/src/App.test.tsx +9 -0
- package/aardio/extensions/wizard/project2/template/web/view/web.src/src/App.tsx +37 -0
- package/aardio/extensions/wizard/project2/template/web/view/web.src/src/Counter.tsx +39 -0
- package/aardio/extensions/wizard/project2/template/web/view/web.src/src/aardio/index.d.ts +7 -0
- package/aardio/extensions/wizard/project2/template/web/view/web.src/src/index.css +9 -0
- package/aardio/extensions/wizard/project2/template/web/view/web.src/src/index.tsx +26 -0
- package/aardio/extensions/wizard/project2/template/web/view/web.src/src/react-app-env.d.ts +1 -0
- package/aardio/extensions/wizard/project2/template/web/view/web.src/src/reportWebVitals.ts +15 -0
- package/aardio/extensions/wizard/project2/template/web/view/web.src/src/setupTests.ts +5 -0
- package/aardio/extensions/wizard/project2/template/web/view/web.src/src/store/index.ts +11 -0
- package/aardio/extensions/wizard/project2/template/web/view/web.src/src/store/useCounterController.ts +39 -0
- package/aardio/extensions/wizard/project2/template/web/view/web.src/src/store/useUserController.ts +24 -0
- package/aardio/extensions/wizard/project2/template/web/view/web.src/tsconfig.json +26 -0
- package/aardio/extensions/wizard/project2/template/web/view-htmx/default.aproj +16 -0
- package/aardio/extensions/wizard/project2/template/web/view-htmx/lib/config.aardio +17 -0
- package/aardio/extensions/wizard/project2/template/web/view-htmx/main.aardio +21 -0
- package/aardio/extensions/wizard/project2/template/web/view-htmx/web/api/index.aardio +20 -0
- package/aardio/extensions/wizard/project2/template/web/view-htmx/web/htmx.js +1 -0
- package/aardio/extensions/wizard/project2/template/web/view-htmx/web/images/loading.gif +0 -0
- package/aardio/extensions/wizard/project2/template/web/view-htmx/web/index.css +34 -0
- package/aardio/extensions/wizard/project2/template/web/view-htmx/web/index.html +64 -0
- package/aardio/extensions/wizard/project2/template/web/view-vue/.build/default.Manifest.xml +60 -0
- package/aardio/extensions/wizard/project2/template/web/view-vue/.build/default.init.aardio +2 -0
- package/aardio/extensions/wizard/project2/template/web/view-vue/.build/default.main.aardio +6 -0
- package/aardio/extensions/wizard/project2/template/web/view-vue/default.aproj +10 -0
- package/aardio/extensions/wizard/project2/template/web/view-vue/lib/config.aardio +17 -0
- package/aardio/extensions/wizard/project2/template/web/view-vue/main.aardio +29 -0
- package/aardio/extensions/wizard/project2/template/web/view-vue/web/index.html +15 -0
- package/aardio/extensions/wizard/project2/template/web/view-vue/web.src/.vscode/extensions.json +3 -0
- package/aardio/extensions/wizard/project2/template/web/view-vue/web.src/README.md +40 -0
- package/aardio/extensions/wizard/project2/template/web/view-vue/web.src/aardio/index.d.ts +7 -0
- package/aardio/extensions/wizard/project2/template/web/view-vue/web.src/env.d.ts +1 -0
- package/aardio/extensions/wizard/project2/template/web/view-vue/web.src/index.html +13 -0
- package/aardio/extensions/wizard/project2/template/web/view-vue/web.src/package.json +24 -0
- package/aardio/extensions/wizard/project2/template/web/view-vue/web.src/public/favicon.ico +0 -0
- package/aardio/extensions/wizard/project2/template/web/view-vue/web.src/src/App.vue +57 -0
- package/aardio/extensions/wizard/project2/template/web/view-vue/web.src/src/assets/base.css +74 -0
- package/aardio/extensions/wizard/project2/template/web/view-vue/web.src/src/assets/logo.svg +1 -0
- package/aardio/extensions/wizard/project2/template/web/view-vue/web.src/src/assets/main.css +35 -0
- package/aardio/extensions/wizard/project2/template/web/view-vue/web.src/src/components/HelloWorld.vue +40 -0
- package/aardio/extensions/wizard/project2/template/web/view-vue/web.src/src/components/TheWelcome.vue +86 -0
- package/aardio/extensions/wizard/project2/template/web/view-vue/web.src/src/components/WelcomeItem.vue +86 -0
- package/aardio/extensions/wizard/project2/template/web/view-vue/web.src/src/components/icons/IconCommunity.vue +7 -0
- package/aardio/extensions/wizard/project2/template/web/view-vue/web.src/src/components/icons/IconDocumentation.vue +7 -0
- package/aardio/extensions/wizard/project2/template/web/view-vue/web.src/src/components/icons/IconEcosystem.vue +7 -0
- package/aardio/extensions/wizard/project2/template/web/view-vue/web.src/src/components/icons/IconSupport.vue +7 -0
- package/aardio/extensions/wizard/project2/template/web/view-vue/web.src/src/components/icons/IconTooling.vue +19 -0
- package/aardio/extensions/wizard/project2/template/web/view-vue/web.src/src/main.ts +6 -0
- package/aardio/extensions/wizard/project2/template/web/view-vue/web.src/tsconfig.config.json +8 -0
- package/aardio/extensions/wizard/project2/template/web/view-vue/web.src/tsconfig.json +16 -0
- package/aardio/extensions/wizard/project2/template/web/view-vue/web.src/vite.config.ts +20 -0
- package/aardio/extensions/wizard/project2/template/web/webform/default.aproj +19 -0
- package/aardio/extensions/wizard/project2/template/web/webform/forms/main/frmPage2.aardio +9 -0
- package/aardio/extensions/wizard/project2/template/web/webform/forms/main/frmPage3.aardio +9 -0
- package/aardio/extensions/wizard/project2/template/web/webform/forms/main/webPage.aardio +32 -0
- package/aardio/extensions/wizard/project2/template/web/webform/lib/config.aardio +17 -0
- package/aardio/extensions/wizard/project2/template/web/webform/main.aardio +52 -0
- package/aardio/extensions/wizard/project2/template/web/webform/web/api/index.aardio +21 -0
- package/aardio/extensions/wizard/project2/template/web/webform/web/htmx.js +1 -0
- package/aardio/extensions/wizard/project2/template/web/webform/web/images/loading.gif +0 -0
- package/aardio/extensions/wizard/project2/template/web/webform/web/index.css +34 -0
- package/aardio/extensions/wizard/project2/template/web/webform/web/index.html +65 -0
- package/aardio/extensions/wizard/project2/template/web/webkit/default.aproj +16 -0
- package/aardio/extensions/wizard/project2/template/web/webkit/forms/main/frmPage2.aardio +9 -0
- package/aardio/extensions/wizard/project2/template/web/webkit/forms/main/frmPage3.aardio +9 -0
- package/aardio/extensions/wizard/project2/template/web/webkit/forms/main/webPage.aardio +28 -0
- package/aardio/extensions/wizard/project2/template/web/webkit/lib/config.aardio +17 -0
- package/aardio/extensions/wizard/project2/template/web/webkit/main.aardio +52 -0
- package/aardio/extensions/wizard/project2/template/web/webkit/web/index.html +11 -0
- package/aardio/extensions/wizard/project2/template/web/webkit/web/index.js +173 -0
- package/aardio/extensions/wizard/project2/template/web/webkit/web.src/.babelrc +20 -0
- package/aardio/extensions/wizard/project2/template/web/webkit/web.src/package.json +25 -0
- package/aardio/extensions/wizard/project2/template/web/webkit/web.src/src/App.css +27 -0
- package/aardio/extensions/wizard/project2/template/web/webkit/web.src/src/App.jsx +49 -0
- package/aardio/extensions/wizard/project2/template/web/webkit/web.src/src/index.js +7 -0
- package/aardio/extensions/wizard/project2/template/web/webkit/web.src/webpack.config.js +43 -0
- package/aardio/extensions/wizard/project2/template/web-server/default.aproj +18 -0
- package/aardio/extensions/wizard/project2/template/web-server/lib/config.aardio +17 -0
- package/aardio/extensions/wizard/project2/template/web-server/main.aardio +343 -0
- package/aardio/extensions/wizard/project2/template/website/.build/default.main.aardio +9 -0
- package/aardio/extensions/wizard/project2/template/website/default.aproj +8 -0
- package/aardio/extensions/wizard/project2/template/website/help/main.aardio +58 -0
- package/aardio/extensions/wizard/project2/template/website/lib/config.aardio +17 -0
- package/aardio/extensions/wizard/project2/template/website/main.aardio +59 -0
- package/aardio/extensions/wizard/project2/template/winform/default.aproj +18 -0
- package/aardio/extensions/wizard/project2/template/winform/dlg/login/loading.aardio +17 -0
- package/aardio/extensions/wizard/project2/template/winform/dlg/login/login.aardio +51 -0
- package/aardio/extensions/wizard/project2/template/winform/dlg/login/reg.aardio +20 -0
- package/aardio/extensions/wizard/project2/template/winform/dlg/main/tabs1.aardio +52 -0
- package/aardio/extensions/wizard/project2/template/winform/dlg/main/tabs2.aardio +51 -0
- package/aardio/extensions/wizard/project2/template/winform/dlg/main/tabs3.aardio +55 -0
- package/aardio/extensions/wizard/project2/template/winform/dlg/main/userInfo.aardio +40 -0
- package/aardio/extensions/wizard/project2/template/winform/lib/config.aardio +17 -0
- package/aardio/extensions/wizard/project2/template/winform/main.aardio +18 -0
- package/aardio/extensions/wizard/project2/template/winform-blank/default.aproj +6 -0
- package/aardio/extensions/wizard/project2/template/winform-blank/lib/config.aardio +17 -0
- package/aardio/extensions/wizard/project2/template/winform-blank/main.aardio +8 -0
- package/aardio/extensions/wizard/project2//345/267/245/347/250/213/345/220/221/345/257/274.aproj +71 -0
- package/aardio/lib/System/Array.aardio +7 -0
- package/aardio/lib/System/Collections/_.aardio +6 -0
- package/aardio/lib/System/Console.aardio +7 -0
- package/aardio/lib/System/Data/_.aardio +7 -0
- package/aardio/lib/System/Delegate.aardio +7 -0
- package/aardio/lib/System/Drawing/_.aardio +6 -0
- package/aardio/lib/System/IO/Compression/ZipFile.aardio +11 -0
- package/aardio/lib/System/IO/_.aardio +6 -0
- package/aardio/lib/System/Text/_.aardio +6 -0
- package/aardio/lib/System/Type.aardio +9 -0
- package/aardio/lib/System/ValueTuple.aardio +33 -0
- package/aardio/lib/System/Windows/Automation/_.aardio +74 -0
- package/aardio/lib/System/Windows/Forms/_.aardio +26 -0
- package/aardio/lib/System/Windows/_.aardio +6 -0
- package/aardio/lib/System/_.aardio +6 -0
- package/aardio/lib/access/_.aardio +713 -0
- package/aardio/lib/access/oleDb12.aardio +26 -0
- package/aardio/lib/access/query.aardio +19 -0
- package/aardio/lib/bencoding/_.aardio +2 -0
- package/aardio/lib/bencoding/decoder.aardio +131 -0
- package/aardio/lib/bencoding/encoder.aardio +61 -0
- package/aardio/lib/bencoding/magnet.aardio +24 -0
- package/aardio/lib/chrome/app.aardio +581 -0
- package/aardio/lib/chrome/dev.aardio +152 -0
- package/aardio/lib/chrome/driver.aardio +743 -0
- package/aardio/lib/chrome/edge.aardio +35 -0
- package/aardio/lib/chrome/edge.history.aardio +57 -0
- package/aardio/lib/chrome/extensions.aardio +33 -0
- package/aardio/lib/chrome/history.aardio +70 -0
- package/aardio/lib/chrome/path.aardio +140 -0
- package/aardio/lib/chrome/remote.aardio +75 -0
- package/aardio/lib/chrome/time.aardio +17 -0
- package/aardio/lib/color/_.aardio +210 -0
- package/aardio/lib/color/table.aardio +374 -0
- package/aardio/lib/color/view.aardio +244 -0
- package/aardio/lib/color/viewForm.aardio +342 -0
- package/aardio/lib/com/activeX.aardio +275 -0
- package/aardio/lib/com/cad/_.aardio +403 -0
- package/aardio/lib/com/excel.aardio +180 -0
- package/aardio/lib/com/interface/IApplicationActivationManager.aardio +31 -0
- package/aardio/lib/com/interface/IApplicationAssociationRegistration.aardio +359 -0
- package/aardio/lib/com/interface/IAudioMeterInformation.aardio +17 -0
- package/aardio/lib/com/interface/IClassFactory.aardio +26 -0
- package/aardio/lib/com/interface/IClassFactory2.aardio +47 -0
- package/aardio/lib/com/interface/IComThreadingInfo.aardio +37 -0
- package/aardio/lib/com/interface/IDirect3D9.aardio +188 -0
- package/aardio/lib/com/interface/IEnumCodePage.aardio +14 -0
- package/aardio/lib/com/interface/IEnumGUID.aardio +26 -0
- package/aardio/lib/com/interface/IEnumShellItems.aardio +29 -0
- package/aardio/lib/com/interface/IFileDialog.aardio +101 -0
- package/aardio/lib/com/interface/IFileOpenDialog.aardio +97 -0
- package/aardio/lib/com/interface/IFileSaveDialog.aardio +22 -0
- package/aardio/lib/com/interface/IKsPropertySet.aardio +17 -0
- package/aardio/lib/com/interface/IModalWindow.aardio +13 -0
- package/aardio/lib/com/interface/IMultiLanguage2.aardio +285 -0
- package/aardio/lib/com/interface/IOleControl.aardio +41 -0
- package/aardio/lib/com/interface/IOleWindow.aardio +29 -0
- package/aardio/lib/com/interface/IPersist.aardio +12 -0
- package/aardio/lib/com/interface/IPersistFile.aardio +18 -0
- package/aardio/lib/com/interface/IPersistStreamInit.aardio +56 -0
- package/aardio/lib/com/interface/IPicture.aardio +187 -0
- package/aardio/lib/com/interface/IServiceProvider.aardio +16 -0
- package/aardio/lib/com/interface/IShellItem.aardio +48 -0
- package/aardio/lib/com/interface/IShellItemArray.aardio +20 -0
- package/aardio/lib/com/interface/IShellLink.aardio +35 -0
- package/aardio/lib/com/interface/IStream.aardio +26 -0
- package/aardio/lib/com/interface/ITaskbarList3.aardio +62 -0
- package/aardio/lib/com/interface/ITfInputProcessorProfileMgr.aardio +75 -0
- package/aardio/lib/com/interface/ITfInputProcessorProfiles.aardio +125 -0
- package/aardio/lib/com/interface/IUniformResourceLocator.aardio +18 -0
- package/aardio/lib/com/interface/IViewObject2.aardio +38 -0
- package/aardio/lib/com/interface/_.aardio +231 -0
- package/aardio/lib/com/lite.aardio +183 -0
- package/aardio/lib/com/oleDb.aardio +57 -0
- package/aardio/lib/com/picture.aardio +235 -0
- package/aardio/lib/com/sapi/voice.aardio +178 -0
- package/aardio/lib/com/shell.aardio +69 -0
- package/aardio/lib/com/smtp.aardio +286 -0
- package/aardio/lib/com/tlbDoc.aardio +145 -0
- package/aardio/lib/com/typeAttrs.aardio +35 -0
- package/aardio/lib/com/wmi.aardio +208 -0
- package/aardio/lib/console/_.aardio +917 -0
- package/aardio/lib/console/int.aardio +55 -0
- package/aardio/lib/console/progress.aardio +141 -0
- package/aardio/lib/console/wine.aardio +393 -0
- package/aardio/lib/coroutine/_.aardio +46 -0
- package/aardio/lib/crypt/_.aardio +919 -0
- package/aardio/lib/crypt/aes.aardio +58 -0
- package/aardio/lib/crypt/bin.aardio +68 -0
- package/aardio/lib/crypt/des.aardio +55 -0
- package/aardio/lib/crypt/hash.aardio +110 -0
- package/aardio/lib/crypt/hmac.aardio +64 -0
- package/aardio/lib/crypt/jwt.aardio +78 -0
- package/aardio/lib/crypt/protectData.aardio +51 -0
- package/aardio/lib/crypt/provParam.aardio +32 -0
- package/aardio/lib/crypt/rc4.aardio +32 -0
- package/aardio/lib/crypt/rsa.aardio +244 -0
- package/aardio/lib/debug/_.aardio +172 -0
- package/aardio/lib/debug/log.aardio +144 -0
- package/aardio/lib/dotNet/.res/Aardio.InteropServices/CCodeCompiler.cs +202 -0
- package/aardio/lib/dotNet/.res/Aardio.InteropServices/DispatchableDelegate.cs +362 -0
- package/aardio/lib/dotNet/.res/Aardio.InteropServices/Utility.cs +1469 -0
- package/aardio/lib/dotNet/.res/Aardio.InteropServices.csproj +51 -0
- package/aardio/lib/dotNet/.res/Aardio.PS/Aardio.PS.DynObject.cs +194 -0
- package/aardio/lib/dotNet/.res/Aardio.PS/Aardio.PS.cs +446 -0
- package/aardio/lib/dotNet/.res/Properties/AssemblyInfo.cs +20 -0
- package/aardio/lib/dotNet/.res/bin/Release/Aardio.InteropServices.dll +0 -0
- package/aardio/lib/dotNet/_.aardio +258 -0
- package/aardio/lib/dotNet/appDomain.aardio +967 -0
- package/aardio/lib/dotNet/audio/.res/Audio.dll +0 -0
- package/aardio/lib/dotNet/audio/.res/NAudio.dll +0 -0
- package/aardio/lib/dotNet/audio/.res/build.aardio +206 -0
- package/aardio/lib/dotNet/audio/_.aardio +94 -0
- package/aardio/lib/dotNet/clr.aardio +210 -0
- package/aardio/lib/dotNet/interface/IAppDomainSetup.aardio +31 -0
- package/aardio/lib/dotNet/interface/ICLRMetaHost.aardio +17 -0
- package/aardio/lib/dotNet/interface/ICLRRuntimeHost.aardio +35 -0
- package/aardio/lib/dotNet/interface/ICLRRuntimeInfo.aardio +23 -0
- package/aardio/lib/dotNet/interface/ICorRuntimeHost.aardio +30 -0
- package/aardio/lib/dotNet/nuget.aardio +67 -0
- package/aardio/lib/dotNet/ocr/.res/ocr.dll +0 -0
- package/aardio/lib/dotNet/ocr/_.aardio +275 -0
- package/aardio/lib/dotNet/ps.aardio +177 -0
- package/aardio/lib/dotNet/uwpCompiler.aardio +61 -0
- package/aardio/lib/dotNet/v2.aardio +19 -0
- package/aardio/lib/dotNet/v4.aardio +57 -0
- package/aardio/lib/dotNet/version.aardio +74 -0
- package/aardio/lib/electron/app/.build/aardio/index.d.ts +173 -0
- package/aardio/lib/electron/app/.build/aardio/index.js +636 -0
- package/aardio/lib/electron/app/.build/main.aardio +298 -0
- package/aardio/lib/electron/app/.build/ws.asar +0 -0
- package/aardio/lib/electron/app/_.aardio +731 -0
- package/aardio/lib/electron/runtime/_.aardio +50 -0
- package/aardio/lib/fastcgi/_.aardio +2 -0
- package/aardio/lib/fastcgi/client/_.aardio +807 -0
- package/aardio/lib/fastcgi/iisInstall.aardio +124 -0
- package/aardio/lib/fastcgi/nameValuePairs.aardio +93 -0
- package/aardio/lib/fastcgi/stream.aardio +100 -0
- package/aardio/lib/fonts/.res/FontAwesome.ttf +0 -0
- package/aardio/lib/fonts/.res/FontAwesomeDlg.ttf +0 -0
- package/aardio/lib/fonts/_.aardio +71 -0
- package/aardio/lib/fonts/fontAwesome.aardio +14 -0
- package/aardio/lib/fonts/fontAwesomeDlg.aardio +10 -0
- package/aardio/lib/fonts/httpFamily.aardio +21 -0
- package/aardio/lib/fsys/_.aardio +538 -0
- package/aardio/lib/fsys/acl.aardio +116 -0
- package/aardio/lib/fsys/asar/reader.aardio +346 -0
- package/aardio/lib/fsys/asar/writer.aardio +241 -0
- package/aardio/lib/fsys/batch.aardio +99 -0
- package/aardio/lib/fsys/cab/_.aardio +123 -0
- package/aardio/lib/fsys/cab/maker.aardio +105 -0
- package/aardio/lib/fsys/codepage.aardio +141 -0
- package/aardio/lib/fsys/config.aardio +69 -0
- package/aardio/lib/fsys/cookies.aardio +214 -0
- package/aardio/lib/fsys/dirWatcher.aardio +135 -0
- package/aardio/lib/fsys/dlg.aardio +214 -0
- package/aardio/lib/fsys/dlg.dir.aardio +24 -0
- package/aardio/lib/fsys/drives.aardio +58 -0
- package/aardio/lib/fsys/environment.aardio +58 -0
- package/aardio/lib/fsys/file.aardio +490 -0
- package/aardio/lib/fsys/fileInfo.aardio +68 -0
- package/aardio/lib/fsys/hardlink.aardio +26 -0
- package/aardio/lib/fsys/hosts.aardio +80 -0
- package/aardio/lib/fsys/info.aardio +40 -0
- package/aardio/lib/fsys/ini.aardio +176 -0
- package/aardio/lib/fsys/knownFolder.aardio +30 -0
- package/aardio/lib/fsys/lnk.aardio +404 -0
- package/aardio/lib/fsys/localfile.aardio +77 -0
- package/aardio/lib/fsys/log.aardio +150 -0
- package/aardio/lib/fsys/media.aardio +199 -0
- package/aardio/lib/fsys/mime.aardio +115 -0
- package/aardio/lib/fsys/mmap/_.aardio +233 -0
- package/aardio/lib/fsys/multipartFormData.aardio +188 -0
- package/aardio/lib/fsys/namedPipe.aardio +95 -0
- package/aardio/lib/fsys/partFile.aardio +186 -0
- package/aardio/lib/fsys/path.aardio +179 -0
- package/aardio/lib/fsys/remove.aardio +31 -0
- package/aardio/lib/fsys/res.aardio +149 -0
- package/aardio/lib/fsys/safepath.aardio +36 -0
- package/aardio/lib/fsys/shortcut.aardio +55 -0
- package/aardio/lib/fsys/size.aardio +39 -0
- package/aardio/lib/fsys/stream.aardio +276 -0
- package/aardio/lib/fsys/streamInfo.aardio +47 -0
- package/aardio/lib/fsys/table.aardio +102 -0
- package/aardio/lib/fsys/tar.aardio +181 -0
- package/aardio/lib/fsys/time.aardio +149 -0
- package/aardio/lib/fsys/untar.aardio +190 -0
- package/aardio/lib/fsys/update/app.aardio +171 -0
- package/aardio/lib/fsys/update/dlMgr.aardio +402 -0
- package/aardio/lib/fsys/update/maker.aardio +168 -0
- package/aardio/lib/fsys/update/simpleMain.aardio +292 -0
- package/aardio/lib/fsys/url.aardio +71 -0
- package/aardio/lib/fsys/version.aardio +157 -0
- package/aardio/lib/fsys/watch.aardio +76 -0
- package/aardio/lib/fsys/wow64.aardio +43 -0
- package/aardio/lib/gdi/_.aardio +846 -0
- package/aardio/lib/gdip/.res/feather.dll +0 -0
- package/aardio/lib/gdip/.res//347/274/226/350/257/221.aardio +14 -0
- package/aardio/lib/gdip/_.aardio +1004 -0
- package/aardio/lib/gdip/bitmap.aardio +497 -0
- package/aardio/lib/gdip/core.aardio +137 -0
- package/aardio/lib/gdip/exifTags.aardio +192 -0
- package/aardio/lib/gdip/family.aardio +91 -0
- package/aardio/lib/gdip/feather.aardio +74 -0
- package/aardio/lib/gdip/font.aardio +130 -0
- package/aardio/lib/gdip/graphics.aardio +739 -0
- package/aardio/lib/gdip/image.aardio +610 -0
- package/aardio/lib/gdip/imageAttributes.aardio +143 -0
- package/aardio/lib/gdip/installedFontCollection.aardio +19 -0
- package/aardio/lib/gdip/lineBrush.aardio +114 -0
- package/aardio/lib/gdip/path.aardio +171 -0
- package/aardio/lib/gdip/pathGradientBrush.aardio +93 -0
- package/aardio/lib/gdip/pen.aardio +206 -0
- package/aardio/lib/gdip/privateFontCollection.aardio +178 -0
- package/aardio/lib/gdip/snap.aardio +99 -0
- package/aardio/lib/gdip/solidBrush.aardio +63 -0
- package/aardio/lib/gdip/stringformat.aardio +112 -0
- package/aardio/lib/gdip/textureBrush.aardio +93 -0
- package/aardio/lib/godking/elistbar/_.aardio +552 -0
- package/aardio/lib/godking/elistbar/elistbar.dll +0 -0
- package/aardio/lib/golang/.res/aardio/aardio.go +44 -0
- package/aardio/lib/golang/.res/aardio/jsonrpc/jsonrpc.go +27 -0
- package/aardio/lib/golang/.res/aardio/jsonrpc/tcp/tcp.go +28 -0
- package/aardio/lib/golang/_.aardio +234 -0
- package/aardio/lib/golang/string.aardio +22 -0
- package/aardio/lib/ide/command.aardio +226 -0
- package/aardio/lib/ide/customCtrl.aardio +9 -0
- package/aardio/lib/ide/debug.aardio +61 -0
- package/aardio/lib/ide/doc/_.aardio +361 -0
- package/aardio/lib/ide/doc/markdown.aardio +164 -0
- package/aardio/lib/inet/_.aardio +446 -0
- package/aardio/lib/inet/adapter.aardio +175 -0
- package/aardio/lib/inet/adapterInfo.aardio +180 -0
- package/aardio/lib/inet/conn.aardio +80 -0
- package/aardio/lib/inet/connView.aardio +22 -0
- package/aardio/lib/inet/downBox.aardio +247 -0
- package/aardio/lib/inet/errorMessage.aardio +106 -0
- package/aardio/lib/inet/file.aardio +62 -0
- package/aardio/lib/inet/ftp.aardio +315 -0
- package/aardio/lib/inet/http.aardio +885 -0
- package/aardio/lib/inet/httpFile.aardio +312 -0
- package/aardio/lib/inet/httpStatusCode.aardio +143 -0
- package/aardio/lib/inet/installer.aardio +76 -0
- package/aardio/lib/inet/mac.aardio +49 -0
- package/aardio/lib/inet/ras.aardio +433 -0
- package/aardio/lib/inet/stat.aardio +78 -0
- package/aardio/lib/inet/tls.aardio +28 -0
- package/aardio/lib/inet/url.aardio +334 -0
- package/aardio/lib/inet/urlpart.aardio +41 -0
- package/aardio/lib/inet/util.aardio +54 -0
- package/aardio/lib/inet/whttp.aardio +988 -0
- package/aardio/lib/java/.build/main.aardio +10 -0
- package/aardio/lib/java/.interopServices/build.aardio +372 -0
- package/aardio/lib/java/.interopServices/utility.class +0 -0
- package/aardio/lib/java/.interopServices/utility.java +354 -0
- package/aardio/lib/java/_.aardio +1006 -0
- package/aardio/lib/java/class.aardio +295 -0
- package/aardio/lib/java/jdk/v6ora.aardio +23 -0
- package/aardio/lib/java/jdk/v8.aardio +53 -0
- package/aardio/lib/java/jdk/v8ora.aardio +23 -0
- package/aardio/lib/java/jre/v8.aardio +53 -0
- package/aardio/lib/java/jre/v8ora.aardio +37 -0
- package/aardio/lib/java/object.aardio +218 -0
- package/aardio/lib/java/path.aardio +451 -0
- package/aardio/lib/key/VK.aardio +641 -0
- package/aardio/lib/key/_.aardio +303 -0
- package/aardio/lib/key/hook.aardio +76 -0
- package/aardio/lib/key/hotkey/_.aardio +540 -0
- package/aardio/lib/key/ime.aardio +221 -0
- package/aardio/lib/key/ime.stateBar.aardio +346 -0
- package/aardio/lib/mouse/_.aardio +359 -0
- package/aardio/lib/mouse/cursor.aardio +43 -0
- package/aardio/lib/mouse/draw.aardio +314 -0
- package/aardio/lib/mouse/highlighter.aardio +193 -0
- package/aardio/lib/mouse/hook.aardio +79 -0
- package/aardio/lib/mouse/screenArea.aardio +102 -0
- package/aardio/lib/nodeJs/_.aardio +593 -0
- package/aardio/lib/preload/_.aardio +253 -0
- package/aardio/lib/preload/com.aardio +319 -0
- package/aardio/lib/preload/io.aardio +107 -0
- package/aardio/lib/preload/math.aardio +91 -0
- package/aardio/lib/preload/raw.aardio +105 -0
- package/aardio/lib/preload/string.aardio +224 -0
- package/aardio/lib/preload/struct.aardio +194 -0
- package/aardio/lib/preload/table.aardio +388 -0
- package/aardio/lib/preload/thread.aardio +341 -0
- package/aardio/lib/process/_.aardio +1510 -0
- package/aardio/lib/process/admin.aardio +110 -0
- package/aardio/lib/process/apiHook/_.aardio +141 -0
- package/aardio/lib/process/atom.aardio +32 -0
- package/aardio/lib/process/batch.aardio +89 -0
- package/aardio/lib/process/cache.aardio +95 -0
- package/aardio/lib/process/chm.aardio +14 -0
- package/aardio/lib/process/cmdline.aardio +42 -0
- package/aardio/lib/process/code.aardio +128 -0
- package/aardio/lib/process/command.aardio +226 -0
- package/aardio/lib/process/control.aardio +29 -0
- package/aardio/lib/process/curl/_.aardio +91 -0
- package/aardio/lib/process/ffmpeg.aardio +63 -0
- package/aardio/lib/process/file.aardio +118 -0
- package/aardio/lib/process/gcc/_.aardio +236 -0
- package/aardio/lib/process/gfortran/_.aardio +71 -0
- package/aardio/lib/process/heap.aardio +59 -0
- package/aardio/lib/process/imageView.aardio +13 -0
- package/aardio/lib/process/job/limitKill.aardio +107 -0
- package/aardio/lib/process/mutex.aardio +105 -0
- package/aardio/lib/process/php/5.2.aardio +7 -0
- package/aardio/lib/process/php/5.6.aardio +10 -0
- package/aardio/lib/process/php/_.aardio +119 -0
- package/aardio/lib/process/php/cgi.aardio +82 -0
- package/aardio/lib/process/popen.aardio +562 -0
- package/aardio/lib/process/python/.py/jsonrpyc.py +405 -0
- package/aardio/lib/process/python/_.aardio +380 -0
- package/aardio/lib/process/python/pip.aardio +143 -0
- package/aardio/lib/process/rpc/jsonClient.aardio +285 -0
- package/aardio/lib/process/rpc/jsonServer.aardio +293 -0
- package/aardio/lib/process/rpc/tcpJsonClient.aardio +36 -0
- package/aardio/lib/process/ruby/_.aardio +196 -0
- package/aardio/lib/process/ruby/cgi.aardio +76 -0
- package/aardio/lib/process/ruby/simpleHttpServer.aardio +44 -0
- package/aardio/lib/process/rundll.aardio +44 -0
- package/aardio/lib/process/rust/_.aardio +176 -0
- package/aardio/lib/process/temp.aardio +116 -0
- package/aardio/lib/process/token.aardio +122 -0
- package/aardio/lib/process/usage.aardio +74 -0
- package/aardio/lib/process/vswhere.aardio +63 -0
- package/aardio/lib/process/wmi.aardio +65 -0
- package/aardio/lib/process/wow64.aardio +34 -0
- package/aardio/lib/protobuf/message.aardio +348 -0
- package/aardio/lib/protobuf/parser/_.aardio +362 -0
- package/aardio/lib/protobuf/parser/lex.aardio +221 -0
- package/aardio/lib/protobuf/parser/message.aardio +315 -0
- package/aardio/lib/protobuf/parser/template.aardio +159 -0
- package/aardio/lib/protobuf/reader/inputString.aardio +58 -0
- package/aardio/lib/protobuf/type/bool.aardio +29 -0
- package/aardio/lib/protobuf/type/bytes.aardio +28 -0
- package/aardio/lib/protobuf/type/double.aardio +24 -0
- package/aardio/lib/protobuf/type/enum.aardio +29 -0
- package/aardio/lib/protobuf/type/fixed32.aardio +23 -0
- package/aardio/lib/protobuf/type/fixed64.aardio +24 -0
- package/aardio/lib/protobuf/type/float.aardio +25 -0
- package/aardio/lib/protobuf/type/int32.aardio +29 -0
- package/aardio/lib/protobuf/type/int64.aardio +30 -0
- package/aardio/lib/protobuf/type/map.aardio +84 -0
- package/aardio/lib/protobuf/type/scalar.aardio +12 -0
- package/aardio/lib/protobuf/type/sfixed32.aardio +22 -0
- package/aardio/lib/protobuf/type/sfixed64.aardio +22 -0
- package/aardio/lib/protobuf/type/sint32.aardio +41 -0
- package/aardio/lib/protobuf/type/sint64.aardio +41 -0
- package/aardio/lib/protobuf/type/string.aardio +28 -0
- package/aardio/lib/protobuf/type/uint32.aardio +28 -0
- package/aardio/lib/protobuf/type/uint64.aardio +28 -0
- package/aardio/lib/raw/apiHook.aardio +122 -0
- package/aardio/lib/raw/argsPointer/.res/argsPointer.def +4 -0
- package/aardio/lib/raw/argsPointer/.res/argsPointer.dll +0 -0
- package/aardio/lib/raw/argsPointer/.res/build.aardio +15 -0
- package/aardio/lib/raw/argsPointer/_.aardio +144 -0
- package/aardio/lib/raw/asm/opCode.aardio +101 -0
- package/aardio/lib/raw/cdeclParameter.aardio +121 -0
- package/aardio/lib/raw/fasm/.res/FASM.DLL +0 -0
- package/aardio/lib/raw/fasm/.res/LICENSE.TXT +37 -0
- package/aardio/lib/raw/fasm/_.aardio +138 -0
- package/aardio/lib/raw/functions.aardio +78 -0
- package/aardio/lib/raw/interface.aardio +83 -0
- package/aardio/lib/raw/jsonCall.aardio +18 -0
- package/aardio/lib/raw/memory.aardio +86 -0
- package/aardio/lib/raw/pefile.aardio +479 -0
- package/aardio/lib/raw/struct.aardio +116 -0
- package/aardio/lib/service/_.aardio +742 -0
- package/aardio/lib/service/simpleTool.aardio +73 -0
- package/aardio/lib/sessionHandler/default.aardio +106 -0
- package/aardio/lib/sevenZip/lzma/.res/LzmaUtil.dll +0 -0
- package/aardio/lib/sevenZip/lzma/_.aardio +139 -0
- package/aardio/lib/sevenZip/lzma/httpFile.aardio +157 -0
- package/aardio/lib/sevenZip/lzma/tar.aardio +25 -0
- package/aardio/lib/sqlServer/_.aardio +632 -0
- package/aardio/lib/sqlite/.res/sqlite3.dll +0 -0
- package/aardio/lib/sqlite/_.aardio +6 -0
- package/aardio/lib/sqlite/backup.aardio +88 -0
- package/aardio/lib/sqlite/base.aardio +967 -0
- package/aardio/lib/string/aasdl.aardio +35 -0
- package/aardio/lib/string/builder.aardio +212 -0
- package/aardio/lib/string/chineseNumber.aardio +216 -0
- package/aardio/lib/string/cmdline.aardio +154 -0
- package/aardio/lib/string/conv/.res/data.txt +405 -0
- package/aardio/lib/string/conv/_.aardio +89 -0
- package/aardio/lib/string/conv/pinyin.aardio +65 -0
- package/aardio/lib/string/database.aardio +182 -0
- package/aardio/lib/string/encoding.aardio +54 -0
- package/aardio/lib/string/fontRanges.aardio +117 -0
- package/aardio/lib/string/fuzzyMatching.aardio +98 -0
- package/aardio/lib/string/glob.aardio +79 -0
- package/aardio/lib/string/html.aardio +145 -0
- package/aardio/lib/string/intSegments.aardio +52 -0
- package/aardio/lib/string/keywords/.res/keywords.dll +0 -0
- package/aardio/lib/string/keywords/_.aardio +74 -0
- package/aardio/lib/string/list.aardio +266 -0
- package/aardio/lib/string/lrc.aardio +209 -0
- package/aardio/lib/string/markdown/.res/autolink.c +297 -0
- package/aardio/lib/string/markdown/.res/autolink.h +51 -0
- package/aardio/lib/string/markdown/.res/buffer.c +234 -0
- package/aardio/lib/string/markdown/.res/buffer.h +96 -0
- package/aardio/lib/string/markdown/.res/houdini.h +37 -0
- package/aardio/lib/string/markdown/.res/houdini_href_e.c +108 -0
- package/aardio/lib/string/markdown/.res/houdini_html_e.c +84 -0
- package/aardio/lib/string/markdown/.res/html.c +635 -0
- package/aardio/lib/string/markdown/.res/html.h +77 -0
- package/aardio/lib/string/markdown/.res/html_blocks.h +206 -0
- package/aardio/lib/string/markdown/.res/html_smartypants.c +389 -0
- package/aardio/lib/string/markdown/.res/markdown.c +2556 -0
- package/aardio/lib/string/markdown/.res/markdown.h +138 -0
- package/aardio/lib/string/markdown/.res/stack.c +81 -0
- package/aardio/lib/string/markdown/.res/stack.h +29 -0
- package/aardio/lib/string/markdown/.res/sundown.dll +0 -0
- package/aardio/lib/string/markdown/.res//347/224/237/346/210/220DLL.aardio +19 -0
- package/aardio/lib/string/markdown/_.aardio +231 -0
- package/aardio/lib/string/padding.aardio +54 -0
- package/aardio/lib/string/regex.aardio +43 -0
- package/aardio/lib/string/res.aardio +20 -0
- package/aardio/lib/string/stream.aardio +89 -0
- package/aardio/lib/string/template.aardio +21 -0
- package/aardio/lib/string/xml.aardio +573 -0
- package/aardio/lib/string/xxtea.aardio +103 -0
- package/aardio/lib/sys/_.aardio +71 -0
- package/aardio/lib/sys/acl.aardio +232 -0
- package/aardio/lib/sys/audioVolume/.res/Release/volumeCtrl2.dll +0 -0
- package/aardio/lib/sys/audioVolume/.res/stdafx.cpp +8 -0
- package/aardio/lib/sys/audioVolume/.res/stdafx.h +16 -0
- package/aardio/lib/sys/audioVolume/.res/targetver.h +8 -0
- package/aardio/lib/sys/audioVolume/.res/volumeCtrl2.cpp +446 -0
- package/aardio/lib/sys/audioVolume/.res/volumeCtrl2.h +52 -0
- package/aardio/lib/sys/audioVolume/.res/volumeCtrl2.vcxproj +93 -0
- package/aardio/lib/sys/audioVolume/_.aardio +102 -0
- package/aardio/lib/sys/baseBoard.aardio +78 -0
- package/aardio/lib/sys/comPort.aardio +56 -0
- package/aardio/lib/sys/cp210x.aardio +54 -0
- package/aardio/lib/sys/cpu.aardio +151 -0
- package/aardio/lib/sys/ddcci.aardio +198 -0
- package/aardio/lib/sys/device.aardio +217 -0
- package/aardio/lib/sys/display.aardio +49 -0
- package/aardio/lib/sys/displaySwitch.aardio +27 -0
- package/aardio/lib/sys/hd.aardio +152 -0
- package/aardio/lib/sys/info.aardio +40 -0
- package/aardio/lib/sys/input.aardio +92 -0
- package/aardio/lib/sys/installed.aardio +107 -0
- package/aardio/lib/sys/locale/_.aardio +103 -0
- package/aardio/lib/sys/locale/abbrevNames.aardio +148 -0
- package/aardio/lib/sys/mem.aardio +64 -0
- package/aardio/lib/sys/midiOut.aardio +415 -0
- package/aardio/lib/sys/monitor.aardio +216 -0
- package/aardio/lib/sys/mpPreference.aardio +159 -0
- package/aardio/lib/sys/networkCards.aardio +84 -0
- package/aardio/lib/sys/networkIsolation.aardio +160 -0
- package/aardio/lib/sys/power/_.aardio +180 -0
- package/aardio/lib/sys/power/notification.aardio +91 -0
- package/aardio/lib/sys/printer.aardio +271 -0
- package/aardio/lib/sys/qfe.aardio +14 -0
- package/aardio/lib/sys/reg.aardio +40 -0
- package/aardio/lib/sys/run.aardio +32 -0
- package/aardio/lib/sys/runAsTask.aardio +87 -0
- package/aardio/lib/sys/soundDevice.aardio +46 -0
- package/aardio/lib/sys/storage.aardio +173 -0
- package/aardio/lib/sys/upnp/nat.aardio +126 -0
- package/aardio/lib/sys/vc11.aardio +14 -0
- package/aardio/lib/sys/vc14.aardio +98 -0
- package/aardio/lib/sys/volume.aardio +134 -0
- package/aardio/lib/sys/wallpaper.aardio +45 -0
- package/aardio/lib/sys/wsa.aardio +98 -0
- package/aardio/lib/table/product.aardio +79 -0
- package/aardio/lib/table/zip.aardio +40 -0
- package/aardio/lib/tcc/.dll/RELICENSING +60 -0
- package/aardio/lib/tcc/.dll/libtcc.dll +0 -0
- package/aardio/lib/tcc/.dll/libtcc.h +100 -0
- package/aardio/lib/tcc/.res.tar.lzma +0 -0
- package/aardio/lib/tcc/_.aardio +311 -0
- package/aardio/lib/thread/apiHook.aardio +109 -0
- package/aardio/lib/thread/atom.aardio +27 -0
- package/aardio/lib/thread/cmdline.aardio +18 -0
- package/aardio/lib/thread/command.aardio +315 -0
- package/aardio/lib/thread/dlManager.aardio +211 -0
- package/aardio/lib/thread/event.aardio +97 -0
- package/aardio/lib/thread/manage.aardio +166 -0
- package/aardio/lib/thread/semaphore.aardio +86 -0
- package/aardio/lib/thread/shareHandle.aardio +49 -0
- package/aardio/lib/thread/table.aardio +193 -0
- package/aardio/lib/thread/token.aardio +58 -0
- package/aardio/lib/thread/works.aardio +198 -0
- package/aardio/lib/time/ntp.aardio +160 -0
- package/aardio/lib/time/ole.aardio +179 -0
- package/aardio/lib/time/performance.aardio +28 -0
- package/aardio/lib/time/timer.aardio +32 -0
- package/aardio/lib/time/zone.aardio +97 -0
- package/aardio/lib/ustring/_.aardio +305 -0
- package/aardio/lib/util/_.aardio +157 -0
- package/aardio/lib/util/metaProperty.aardio +100 -0
- package/aardio/lib/util/registry.aardio +46 -0
- package/aardio/lib/util/table.aardio +118 -0
- package/aardio/lib/web/_.aardio +50 -0
- package/aardio/lib/web/asynServer.aardio +12 -0
- package/aardio/lib/web/form/_.aardio +1572 -0
- package/aardio/lib/web/form/menu.aardio +63 -0
- package/aardio/lib/web/form/query.aardio +77 -0
- package/aardio/lib/web/form/snap.aardio +63 -0
- package/aardio/lib/web/form/sockpuppet.aardio +75 -0
- package/aardio/lib/web/form/util.aardio +194 -0
- package/aardio/lib/web/json.aardio +489 -0
- package/aardio/lib/web/layout/.res/HTMLayout.dll +0 -0
- package/aardio/lib/web/layout/.res/master.css +9 -0
- package/aardio/lib/web/layout/_.aardio +704 -0
- package/aardio/lib/web/layout/behavior/_.aardio +34 -0
- package/aardio/lib/web/layout/behavior/collapsibleByIcon.aardio +22 -0
- package/aardio/lib/web/layout/behavior/collapsibleList.aardio +37 -0
- package/aardio/lib/web/layout/behavior/dragable.aardio +71 -0
- package/aardio/lib/web/layout/behavior/dropdown.aardio +15 -0
- package/aardio/lib/web/layout/behavior/expandableList.aardio +97 -0
- package/aardio/lib/web/layout/behavior/grid.aardio +288 -0
- package/aardio/lib/web/layout/behavior/gripper.aardio +12 -0
- package/aardio/lib/web/layout/behavior/lightBoxDialog.aardio +76 -0
- package/aardio/lib/web/layout/behavior/path.aardio +14 -0
- package/aardio/lib/web/layout/behavior/popup.aardio +44 -0
- package/aardio/lib/web/layout/behavior/scroller.aardio +32 -0
- package/aardio/lib/web/layout/behavior/selectionBox.aardio +60 -0
- package/aardio/lib/web/layout/behavior/shellIcon.aardio +37 -0
- package/aardio/lib/web/layout/behavior/sizer.aardio +52 -0
- package/aardio/lib/web/layout/behavior/sortableGrid.aardio +63 -0
- package/aardio/lib/web/layout/behavior/splitter.aardio +134 -0
- package/aardio/lib/web/layout/behavior/tabs.aardio +438 -0
- package/aardio/lib/web/layout/behavior/windowCommand.aardio +163 -0
- package/aardio/lib/web/layout/behavior/windowSizer.aardio +117 -0
- package/aardio/lib/web/layout/debug.aardio +54 -0
- package/aardio/lib/web/layout/element/_.aardio +1388 -0
- package/aardio/lib/web/layout/element/state.aardio +133 -0
- package/aardio/lib/web/layout/element/style.aardio +46 -0
- package/aardio/lib/web/layout/event/_.aardio +1047 -0
- package/aardio/lib/web/layout/valueObject.aardio +402 -0
- package/aardio/lib/web/mshtml.aardio +233 -0
- package/aardio/lib/web/msxml.aardio +198 -0
- package/aardio/lib/web/multipartFormData.aardio +134 -0
- package/aardio/lib/web/nativeMessaging/_.aardio +101 -0
- package/aardio/lib/web/nativeMessaging/install.aardio +33 -0
- package/aardio/lib/web/npm/_.aardio +45 -0
- package/aardio/lib/web/parser.aardio +122 -0
- package/aardio/lib/web/rest/client.aardio +606 -0
- package/aardio/lib/web/rest/github.aardio +90 -0
- package/aardio/lib/web/rest/htmlClient.aardio +52 -0
- package/aardio/lib/web/rest/jsonClient.aardio +67 -0
- package/aardio/lib/web/rest/jsonLiteClient.aardio +67 -0
- package/aardio/lib/web/rest/qywx.aardio +85 -0
- package/aardio/lib/web/rest/smsActivate/_.aardio +266 -0
- package/aardio/lib/web/rest/smsActivate/countryList.aardio +206 -0
- package/aardio/lib/web/rest/smsActivate/serviceList.aardio +548 -0
- package/aardio/lib/web/rest/xmlClient.aardio +28 -0
- package/aardio/lib/web/rpc/externalServer.aardio +257 -0
- package/aardio/lib/web/rpc/jsonClient.aardio +234 -0
- package/aardio/lib/web/rpc/jsonServer.aardio +244 -0
- package/aardio/lib/web/script/_.aardio +201 -0
- package/aardio/lib/web/script/es5.aardio +2259 -0
- package/aardio/lib/web/script/json.aardio +56 -0
- package/aardio/lib/web/simpleServer.aardio +20 -0
- package/aardio/lib/web/soapClient/_.aardio +241 -0
- package/aardio/lib/web/soapClient/parameters.aardio +87 -0
- package/aardio/lib/web/socket/chrome.aardio +122 -0
- package/aardio/lib/web/socket/client.aardio +515 -0
- package/aardio/lib/web/socket/jsonClient.aardio +274 -0
- package/aardio/lib/web/socket/jsonServer.aardio +322 -0
- package/aardio/lib/web/socket/server.aardio +533 -0
- package/aardio/lib/web/ui/_.aardio +291 -0
- package/aardio/lib/web/uploadData.aardio +34 -0
- package/aardio/lib/web/view/.res/webview.dll +0 -0
- package/aardio/lib/web/view/_.aardio +635 -0
- package/aardio/lib/web/view/dev.aardio +146 -0
- package/aardio/lib/win/#DEFINE.aardio +7002 -0
- package/aardio/lib/win/_.aardio +1027 -0
- package/aardio/lib/win/animate.aardio +81 -0
- package/aardio/lib/win/api.aardio +57 -0
- package/aardio/lib/win/appBar.aardio +136 -0
- package/aardio/lib/win/clip/_.aardio +83 -0
- package/aardio/lib/win/clip/file.aardio +94 -0
- package/aardio/lib/win/clip/gif.aardio +30 -0
- package/aardio/lib/win/clip/html.aardio +128 -0
- package/aardio/lib/win/clip/png.aardio +47 -0
- package/aardio/lib/win/clip/viewer.aardio +44 -0
- package/aardio/lib/win/cur.aardio +58 -0
- package/aardio/lib/win/debounce.aardio +20 -0
- package/aardio/lib/win/dlg/_.aardio +7 -0
- package/aardio/lib/win/dlg/chineseNumber.aardio +220 -0
- package/aardio/lib/win/dlg/color.aardio +35 -0
- package/aardio/lib/win/dlg/ctrlColor.aardio +49 -0
- package/aardio/lib/win/dlg/findReplace.aardio +117 -0
- package/aardio/lib/win/dlg/font.aardio +53 -0
- package/aardio/lib/win/dlg/message.aardio +305 -0
- package/aardio/lib/win/dlg/print.aardio +99 -0
- package/aardio/lib/win/font.aardio +174 -0
- package/aardio/lib/win/guid.aardio +137 -0
- package/aardio/lib/win/image.aardio +204 -0
- package/aardio/lib/win/imageList.aardio +145 -0
- package/aardio/lib/win/inputBox.aardio +66 -0
- package/aardio/lib/win/messageFilter.aardio +44 -0
- package/aardio/lib/win/ole/_.aardio +25 -0
- package/aardio/lib/win/path.aardio +85 -0
- package/aardio/lib/win/property.aardio +21 -0
- package/aardio/lib/win/reg.aardio +530 -0
- package/aardio/lib/win/region/_.aardio +33 -0
- package/aardio/lib/win/region/bitmap/.res/build.aardio +257 -0
- package/aardio/lib/win/region/bitmap/.res/c.dll +0 -0
- package/aardio/lib/win/region/bitmap/_.aardio +108 -0
- package/aardio/lib/win/region/hole.aardio +56 -0
- package/aardio/lib/win/region/png/.res/build.aardio +41 -0
- package/aardio/lib/win/region/png/.res/c.dll +0 -0
- package/aardio/lib/win/region/png/_.aardio +108 -0
- package/aardio/lib/win/region/round.aardio +69 -0
- package/aardio/lib/win/region/transparent.aardio +38 -0
- package/aardio/lib/win/rt/bcp47.aardio +102 -0
- package/aardio/lib/win/rt/hString.aardio +105 -0
- package/aardio/lib/win/subclass.aardio +38 -0
- package/aardio/lib/win/taskScheduler.aardio +194 -0
- package/aardio/lib/win/timer.aardio +86 -0
- package/aardio/lib/win/ts/_.aardio +155 -0
- package/aardio/lib/win/ts/changeNotification.aardio +56 -0
- package/aardio/lib/win/ui/_.aardio +1897 -0
- package/aardio/lib/win/ui/accelerator.aardio +87 -0
- package/aardio/lib/win/ui/atom.aardio +57 -0
- package/aardio/lib/win/ui/background.aardio +204 -0
- package/aardio/lib/win/ui/ctrl/_.aardio +193 -0
- package/aardio/lib/win/ui/ctrl/atlax.aardio +125 -0
- package/aardio/lib/win/ui/ctrl/bk.aardio +191 -0
- package/aardio/lib/win/ui/ctrl/bkplus.aardio +306 -0
- package/aardio/lib/win/ui/ctrl/button.aardio +348 -0
- package/aardio/lib/win/ui/ctrl/calendar.aardio +135 -0
- package/aardio/lib/win/ui/ctrl/checklist.aardio +33 -0
- package/aardio/lib/win/ui/ctrl/close.aardio +62 -0
- package/aardio/lib/win/ui/ctrl/combobox.aardio +343 -0
- package/aardio/lib/win/ui/ctrl/custom.aardio +159 -0
- package/aardio/lib/win/ui/ctrl/datetimepick.aardio +185 -0
- package/aardio/lib/win/ui/ctrl/edit.aardio +671 -0
- package/aardio/lib/win/ui/ctrl/hotkey.aardio +126 -0
- package/aardio/lib/win/ui/ctrl/ipaddress.aardio +134 -0
- package/aardio/lib/win/ui/ctrl/listbox.aardio +323 -0
- package/aardio/lib/win/ui/ctrl/listview.aardio +1642 -0
- package/aardio/lib/win/ui/ctrl/metaProperty/_.aardio +1220 -0
- package/aardio/lib/win/ui/ctrl/pick/.res/color.cur +0 -0
- package/aardio/lib/win/ui/ctrl/pick/.res/color.png +0 -0
- package/aardio/lib/win/ui/ctrl/pick/_.aardio +1010 -0
- package/aardio/lib/win/ui/ctrl/picturebox.aardio +183 -0
- package/aardio/lib/win/ui/ctrl/plus.aardio +2086 -0
- package/aardio/lib/win/ui/ctrl/progress.aardio +149 -0
- package/aardio/lib/win/ui/ctrl/richedit.aardio +916 -0
- package/aardio/lib/win/ui/ctrl/scrollbar.aardio +153 -0
- package/aardio/lib/win/ui/ctrl/spin.aardio +216 -0
- package/aardio/lib/win/ui/ctrl/splitter.aardio +261 -0
- package/aardio/lib/win/ui/ctrl/static.aardio +167 -0
- package/aardio/lib/win/ui/ctrl/syslink.aardio +132 -0
- package/aardio/lib/win/ui/ctrl/tab.aardio +312 -0
- package/aardio/lib/win/ui/ctrl/thread.aardio +86 -0
- package/aardio/lib/win/ui/ctrl/trackbar.aardio +274 -0
- package/aardio/lib/win/ui/ctrl/treeview.aardio +1051 -0
- package/aardio/lib/win/ui/ctrl/vlistview.aardio +17 -0
- package/aardio/lib/win/ui/explorer.aardio +243 -0
- package/aardio/lib/win/ui/fade.aardio +65 -0
- package/aardio/lib/win/ui/grid.aardio +224 -0
- package/aardio/lib/win/ui/layered.aardio +189 -0
- package/aardio/lib/win/ui/layeredRound.aardio +18 -0
- package/aardio/lib/win/ui/listEdit.aardio +93 -0
- package/aardio/lib/win/ui/listPopup.aardio +130 -0
- package/aardio/lib/win/ui/localization.aardio +18 -0
- package/aardio/lib/win/ui/mask.aardio +51 -0
- package/aardio/lib/win/ui/menu.aardio +646 -0
- package/aardio/lib/win/ui/minmax.aardio +133 -0
- package/aardio/lib/win/ui/orphanPlus.aardio +62 -0
- package/aardio/lib/win/ui/resizeBorder.aardio +75 -0
- package/aardio/lib/win/ui/scrollbar.aardio +121 -0
- package/aardio/lib/win/ui/shadow.aardio +274 -0
- package/aardio/lib/win/ui/simpleWindow.aardio +124 -0
- package/aardio/lib/win/ui/simpleWindow2.aardio +84 -0
- package/aardio/lib/win/ui/simpleWindow3.aardio +45 -0
- package/aardio/lib/win/ui/statusbar.aardio +185 -0
- package/aardio/lib/win/ui/tabs.aardio +1312 -0
- package/aardio/lib/win/ui/toolbar.aardio +415 -0
- package/aardio/lib/win/ui/tooltip.aardio +490 -0
- package/aardio/lib/win/ui/tracker.aardio +289 -0
- package/aardio/lib/win/util/autoComplete.aardio +34 -0
- package/aardio/lib/win/util/changeNotification.aardio +196 -0
- package/aardio/lib/win/util/desktop.aardio +123 -0
- package/aardio/lib/win/util/deviceNotification.aardio +217 -0
- package/aardio/lib/win/util/lyric.aardio +111 -0
- package/aardio/lib/win/util/popup.aardio +98 -0
- package/aardio/lib/win/util/round.aardio +8 -0
- package/aardio/lib/win/util/savePosition.aardio +51 -0
- package/aardio/lib/win/util/shellhook.aardio +43 -0
- package/aardio/lib/win/util/tray.aardio +197 -0
- package/aardio/lib/win/version.aardio +177 -0
- package/aardio/lib/win/versionEx.aardio +70 -0
- package/aardio/lib/winex/_.aardio +740 -0
- package/aardio/lib/winex/accObject/_.aardio +287 -0
- package/aardio/lib/winex/accObject/element.aardio +235 -0
- package/aardio/lib/winex/caret.aardio +73 -0
- package/aardio/lib/winex/ctrl/_.aardio +4 -0
- package/aardio/lib/winex/ctrl/edit.aardio +44 -0
- package/aardio/lib/winex/ctrl/listview.aardio +383 -0
- package/aardio/lib/winex/desktop.aardio +22 -0
- package/aardio/lib/winex/key.aardio +102 -0
- package/aardio/lib/winex/mouse.aardio +137 -0
- package/aardio/lib/winex/selection.aardio +113 -0
- package/aardio/lib/winex/tooltip.aardio +88 -0
- package/aardio/lib/wsock/_.aardio +794 -0
- package/aardio/lib/wsock/addrInfo.aardio +74 -0
- package/aardio/lib/wsock/err.aardio +115 -0
- package/aardio/lib/wsock/networkChange.aardio +69 -0
- package/aardio/lib/wsock/tcp/asynClient.aardio +320 -0
- package/aardio/lib/wsock/tcp/asynHttpServer.aardio +898 -0
- package/aardio/lib/wsock/tcp/asynServer.aardio +323 -0
- package/aardio/lib/wsock/tcp/client.aardio +722 -0
- package/aardio/lib/wsock/tcp/jsonClient.aardio +243 -0
- package/aardio/lib/wsock/tcp/server.aardio +153 -0
- package/aardio/lib/wsock/tcp/simpleHttpServer.aardio +903 -0
- package/aardio/lib/wsock/tcp/socks5Client.aardio +129 -0
- package/aardio/lib/wsock/udp/asynClient.aardio +62 -0
- package/aardio/lib/wsock/udp/client.aardio +210 -0
- package/aardio/lib/wsock/udp/ssdpClient.aardio +71 -0
- package/aardio/lib/zlib/.res/zlibwapi.dll +0 -0
- package/aardio/lib/zlib/_.aardio +404 -0
- package/aardio/lib/zlib/httpFile.aardio +160 -0
- package/aardio/lib/zlib/installer.aardio +66 -0
- package/aardio/lib/zlib/unzip.aardio +261 -0
- package/aardio/lib/zlib/zip.aardio +185 -0
- package/aardio/project/aview/.build/default.Manifest.xml +61 -0
- package/aardio/project/aview/.build/default.init.aardio +2 -0
- package/aardio/project/aview/.build/default.main.aardio +6 -0
- package/aardio/project/aview/.build/mp.lock +1 -0
- package/aardio/project/aview/.build/update-maker.table +6 -0
- package/aardio/project/aview/default.aproj +8 -0
- package/aardio/project/aview/lib/aview/_.aardio +339 -0
- package/aardio/project/aview/lib/aview/patch.aardio +411 -0
- package/aardio/project/aview/lib/com/lite2.aardio +27 -0
- package/aardio/project/aview/lib/fsys/file2.aardio +80 -0
- package/aardio/project/aview/lib/fsys/update/simpleMain2.aardio +291 -0
- package/aardio/project/aview/lib/key/hotkey2/_.aardio +552 -0
- package/aardio/project/aview/lib/process/default.aardio +17 -0
- package/aardio/project/aview/lib/process/popen2.aardio +75 -0
- package/aardio/project/aview/lib/web/view2/_.aardio +706 -0
- package/aardio/project/aview/lib/win/ui/menu2.aardio +154 -0
- package/aardio/project/aview/main.aardio +124 -0
- package/aardio/project/aview/res/env.d.ts +23 -0
- package/aardio/project/aview/res/index.js +641 -0
- package/aardio/project/aview/res/index.ts +1116 -0
- package/aardio/project/aview/res/tsconfig.json +103 -0
- package/bin/aview.js +2 -0
- package/dist/node/cli.js +1 -0
- package/index.js +1 -0
- 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**/
|