aardio 嵌入 其他应用程序

aardio 嵌入 其他应用程序

1|0需求

这个chrome壳不能进行拖拽和缩放,所以再套一个壳,可以再分屏的时候用

import win.ui; /*DSG{{*/ winform = win.form(text="数字化加工 - 一定先关闭内部的chrome,再关闭本程序";right=959;bottom=591) winform.add( custom={cls="custom";text="自定义控件";left=767;top=13;right=1373;bottom=467;z=2}; static={cls="static";left=0;top=0;right=959;bottom=591;db=1;dl=1;dr=1;dt=1;z=1} ) /*}}*/ import winex; import process; var exeUrl = "C:\Program Files\dpsys\数字化加工系统win64.exe" pid = process.execute(exeUrl) //win.delay(5000) chwnd = winex.waitVisible(,,,,,pid) //win.delay(5000) // 让外部窗口成为自身的悬浮窗口,吸附并可显示在外面 //winform.custom.orphanWindow(,chwnd) //process.executeWaitInput(exeUrl);//运行记事本 //var prcs = process(exeUrl); //win.delay(5000) //var hwnd1 = winex.find("SunAwtToolkit",,prcs.id); //var hwndNotepad,hNotepadEdit = winex.wait(,,"SunAwtToolkit","<RichEditD2DPT>|<Edit>");//查找句柄 //SunAwtFrame //SunAwtToolkit //悬浮影子窗口:外部进程窗口附加到 winform.static 并如影随形的自适应缩放调整位置 winex.orphanWindow(winform.static,chwnd) //退出程序前让记事本退出 winform.onClose = function(hwnd,message,wParam,lParam){ if(!winex.closeAndWait(chwnd)) return 1; } /* prcs=process(exeUrl); for hwnd,title,tid,pid in winex.each( ) { if(pid == prcs.id){ io.open() io.print("窗口句柄",string.format("%x",hwnd),"窗口类",win.getClass(hwnd),"进程ID",prcs.id,'\r\n') } } */ //窗口句柄 3023e4 窗口类 SunAwtToolkit 进程ID 32356 //process.executeWaitInput(exeUrl);//运行记事本 // //var hwndNotepad,hNotepadEdit = winex.wait(,,"Chrome_RenderWidgetHostHWND", "SunAwtToolkit");//查找句柄 //var hwndNotepad,hNotepadEdit = winex.wait(,,"SunAwtToolkit");//查找句柄 //悬浮影子窗口:外部进程窗口附加到 winform.static 并如影随形的自适应缩放调整位置 //winex.orphanWindow(mainForm.static,hwndNotepad) winform.show(); return win.loopMessage();

2|0更新了一版 ini 配置exe地址的

import win.ui; /*DSG{{*/ winform = win.form(text="数字化加工 - 一定先关闭内部的chrome,再关闭本程序";right=959;bottom=591) winform.add( custom={cls="custom";text="自定义控件";left=767;top=13;right=1373;bottom=467;z=2}; static={cls="static";left=0;top=0;right=959;bottom=591;db=1;dl=1;dr=1;dt=1;z=1} ) /*}}*/ import winex; import process; import fsys.ini ini=fsys.ini("\config.ini") // 编码格式要GBK ansi, utf8会有乱码 sec = ini.getSection("appSection") //sec.app //io.open() //io.print(sec.app) //import inet.url; //sec.app = "C:\Program Files\dpsys\数字化加工系统win64.exe" //sec.save() //var exeUrl = string.fromto(sec.app, 936, 65001) // "C:\Program Files\dpsys\数字化加工系统win64.exe" var exeUrl = sec.app pid = process.execute(exeUrl) io.print(exeUrl) //win.delay(5000) chwnd = winex.waitVisible(,,,,,pid) //win.delay(5000) // 让外部窗口成为自身的悬浮窗口,吸附并可显示在外面 //winform.custom.orphanWindow(,chwnd) //process.executeWaitInput(exeUrl);//运行记事本 //var prcs = process(exeUrl); //win.delay(5000) //var hwnd1 = winex.find("SunAwtToolkit",,prcs.id); //var hwndNotepad,hNotepadEdit = winex.wait(,,"SunAwtToolkit","<RichEditD2DPT>|<Edit>");//查找句柄 //SunAwtFrame //SunAwtToolkit //悬浮影子窗口:外部进程窗口附加到 winform.static 并如影随形的自适应缩放调整位置 winex.orphanWindow(winform.static,chwnd) //退出程序前让记事本退出 winform.onClose = function(hwnd,message,wParam,lParam){ if(!winex.closeAndWait(chwnd)) return 1; } /* prcs=process(exeUrl); for hwnd,title,tid,pid in winex.each( ) { if(pid == prcs.id){ io.open() io.print("窗口句柄",string.format("%x",hwnd),"窗口类",win.getClass(hwnd),"进程ID",prcs.id,'\r\n') } } */ //窗口句柄 3023e4 窗口类 SunAwtToolkit 进程ID 32356 //process.executeWaitInput(exeUrl);//运行记事本 // //var hwndNotepad,hNotepadEdit = winex.wait(,,"Chrome_RenderWidgetHostHWND", "SunAwtToolkit");//查找句柄 //var hwndNotepad,hNotepadEdit = winex.wait(,,"SunAwtToolkit");//查找句柄 //悬浮影子窗口:外部进程窗口附加到 winform.static 并如影随形的自适应缩放调整位置 //winex.orphanWindow(mainForm.static,hwndNotepad) winform.show(); return win.loopMessage();

3|0关闭直接杀掉进程,因为内层 还弹框问是否关闭

import win.ui; /*DSG{{*/ winform = win.form(text="数字化加工 - 要配置好 app 和 fileName 打开和关闭按钮才能用";right=959;bottom=591) winform.add( custom={cls="custom";text="自定义控件";left=767;top=13;right=1373;bottom=467;z=2}; static={cls="static";left=0;top=0;right=959;bottom=591;db=1;dl=1;dr=1;dt=1;z=1} ) /*}}*/ import winex; import process; import fsys.ini ini=fsys.ini("\config.ini") // 编码格式要GBK ansi, utf8会有乱码 sec = ini.getSection("appSection") //sec.app //io.open() //io.print(sec.app) //import inet.url; //sec.app = "C:\Program Files\dpsys\数字化加工系统win64.exe" //sec.save() //var exeUrl = string.fromto(sec.app, 936, 65001) // "C:\Program Files\dpsys\数字化加工系统win64.exe" var exeUrl = sec.app var fileName = sec.fileName pid = process.execute(exeUrl) io.print(exeUrl) //win.delay(5000) chwnd = winex.waitVisible(,,,,,pid) //win.delay(5000) // 让外部窗口成为自身的悬浮窗口,吸附并可显示在外面 //winform.custom.orphanWindow(,chwnd) //process.executeWaitInput(exeUrl);//运行记事本 //var prcs = process(exeUrl); //win.delay(5000) //var hwnd1 = winex.find("SunAwtToolkit",,prcs.id); //var hwndNotepad,hNotepadEdit = winex.wait(,,"SunAwtToolkit","<RichEditD2DPT>|<Edit>");//查找句柄 //SunAwtFrame //SunAwtToolkit //悬浮影子窗口:外部进程窗口附加到 winform.static 并如影随形的自适应缩放调整位置 winex.orphanWindow(winform.static,chwnd) //退出程序前让记事本退出 winform.onClose = function(hwnd,message,wParam,lParam){ process.kill(fileName) //var t = !winex.closeAndWait(chwnd) //io.open() //io.print(t) //if(t) return 1; } /* prcs=process(exeUrl); for hwnd,title,tid,pid in winex.each( ) { if(pid == prcs.id){ io.open() io.print("窗口句柄",string.format("%x",hwnd),"窗口类",win.getClass(hwnd),"进程ID",prcs.id,'\r\n') } } */ //窗口句柄 3023e4 窗口类 SunAwtToolkit 进程ID 32356 //process.executeWaitInput(exeUrl);//运行记事本 // //var hwndNotepad,hNotepadEdit = winex.wait(,,"Chrome_RenderWidgetHostHWND", "SunAwtToolkit");//查找句柄 //var hwndNotepad,hNotepadEdit = winex.wait(,,"SunAwtToolkit");//查找句柄 //悬浮影子窗口:外部进程窗口附加到 winform.static 并如影随形的自适应缩放调整位置 //winex.orphanWindow(mainForm.static,hwndNotepad) winform.show(); return win.loopMessage();

__EOF__

本文作者Reciter
本文链接https://www.cnblogs.com/pengchenggang/p/16256794.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   彭成刚  阅读(934)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示