aardio 文档

aardio 范例: COM 接口 - shell 外壳

更多函数参考

//COM 接口 - shell 外壳
//外壳指的是操作系统与用户交互的界面,主要指资源管理器、桌面等。

import com.shell;
import process;
import sys.networkIsolation;
import console;

var shell = com.shell();//等价于 shell = com.CreateObject("Shell.Application");
/*
shell.CascadeWindows() //层叠窗口
shell.TileHorizontally(); //横向平铺窗口
shell.TileVertically(); //纵向平铺窗口
shell.MinimizeAll(); //最小化所有窗口
shell.UndoMinimizeALL(); //撤消全部最小化
*/

//获取目录对象
var folder = shell.Namespace( io.fullpath("~/config"));

//获取文件对象
var file = folder.ParseName("SYS.CFG");

/*
调用菜单命令。
菜单命令并不完全等价于菜单显示文本,而且与语言无关。
所以在中文系统上不需要改为中文字符串。
*/
file.InvokeVerb("Copy");

if( _WIN10_LATER ){
    for i,item in com.shell.eachApp(){ 
        console.log( item.name, item.path );
    }

    //获取所有应用容器,参考范例:"~/example/Windows/ListView/uwpExemption.aardio"
    var containers = sys.networkIsolation.getAppContainers() 

    com.shell.activateApp('Microsoft.MicrosoftEdge_8wekyb3d8bbwe!MicrosoftEdge'
        , 'https://www.aardio.com');

    // 下面这样也可以打开WIN10应用   
    // process.explore("shell:appsFolder\Microsoft.MicrosoftEdge_8wekyb3d8bbwe!MicrosoftEdge")

    //打开应用商店,且修复 ms-windows-store:// 协议
    com.shell.activateApp("Microsoft.WindowsStore_8wekyb3d8bbwe!App");

    /*
    有时候系统出现问题 ms-windows-store 协议可能用不了,下面的方法就打不开。
    但 com.shell.activateApp("Microsoft.WindowsStore_8wekyb3d8bbwe!App") 可以打开。
    而且打开一次,ms-windows-store 协议就正常了。
    */
    //process.execute("ms-windows-store://home")
}

/***********************
实际是 shell32.dll 也提供很多与外壳操作有关的 API 函数。
aardio 已默认加载了 shell32.dll 并创建了 ::Shell32 对象。

例如调用 SHChangeNotify 刷新:
::Shell32.SHChangeNotify(0x8000000/*_SHCNE_ASSOCCHANGED*/,0,0,0);

更多函数参考:
https://learn.microsoft.com/zh-cn/windows/win32/api/shlobj_core
***********************/

Markdown 格式