






















Maye Nano Script 基于 JavaScript ,支持 JavaScript 基本语法。
!!!每个脚本实例中必须包含
mn.exit();退出命令,否则脚本实例将会一存在。
Maye Nano Script Framework , 采用多线程调用多进程执行方式(需开启 最小空闲子进程),与同类不同之处在于采用不调用退出命令不退自动退出的方式,该方式可随意操控脚本在想要的时候完全退出并释放资源。
附加快捷键
Ctrl+S 保存,子窗口生效(以便及时调试使用)
Ctrl+D 复制 // 此处为方便辨别以cpp方式展现,实际使用时自行转换为js方式
const int NULL = 0; // int 类型空值
const int S_OK = 0;
struct POINT {
int x;
int y;
};
struct RECT {
int left;
int top;
int right;
int bottom;
};
struct SIZE {
int cx;
int cy;
}; // void exit();
// 用作退出脚本实例并释放内存,每个脚本都应存在该命令,否则脚本实例将一直存在并占用内存
mn.exit(); // void Delay(int ms);
// 延时,延时执行后续命令
// @param int ms 延迟时间(毫秒)
mn.Delay(1000); // void Sleep(int ms);
// 延时,延时执行后续命令
// @param int ms 延迟时间(毫秒)
mn.Sleep(1000); // void EventDispatch();
// 事件处理
// 处理消息队列事件
// ps:版本6.3+后,所有延时(延迟)函数均会自动执行一次事件处理(内部自动每隔10ms)
mn.EventDispatch();
for(;;){
mn.EventDispatch();
mn.Delay(1);
} // void SendString(string str);
// 模拟输入字符串(适用于大部分游戏)
// @param string str 要输入的字符串
mn.SendString('test'); // void SendVKey(vk virtualKey, bool isDown);
// 发送按键信息
// @param vk virtualKey 要模拟发送的 VirtualKeyCode (VK.XX) 值
// @param isDown 是否按下,true按下,false弹起
mn.SendVKey(VK.A, true); // void SendVKeyClick(vk virtualKey);
// 模拟按下并释放指定的VirtualKeyCode。
// 执行方式为:按下->放开
// @param vk virtualKey 要模拟发送的 VirtualKeyCode (VK.XX) 值
mn.SendVKeyClick(VK.A); // void SendVKeyDown(vk virtualKey);
// 模拟按下指定的VirtualKeyCode。
// @param vk virtualKey 要模拟发送的 VirtualKeyCode (VK.XX) 值
mn.SendVKeyDown(VK.A); // void SendVKeyUp(vk virtualKey);
// 模拟释放指定的VirtualKeyCode。
// @param vk virtualKey 要模拟发送的 VirtualKeyCode (VK.XX) 值
mn.SendVKeyUp(VK.A); // bool IsKeyDown(vk virtualKey);
// 如果当前按下指定的键,则返回 true。
// @param vk virtualKey 要检查的 VirtualKeyCode (VK.XX) 值
// @return 按下返回true,否则为false
var isAKeyDown = mn.IsKeyDown(VK.A); // void MouseCilck(MouseBtn btn, bool isDown);
// 发送鼠标按键信息
// @param MouseBtn btn 按键信息(MouseBtn.XX)
// @param isDown 是否按下,true按下,false弹起
mn.MouseCilck(MouseBtn.Left, true); // void MouseMove(int x, int y, bool isAbsolute);
// 移动鼠标
// @param int x 水平
// @param int y 垂直
// @param bool isAbsolute 是否为绝对值,如果为true,则xy相对于桌面左上角,否则xy相对于鼠标当前坐标
mn.MouseMove(-10); // void MouseWhell(int amount, bool isHorizontally);
// 鼠标滚轮
// @param int amount 滚动量(正负值)
// @param bool isHorizontally 是否水平滚动
mn.MouseWhell(-3); // bool IsButtonDown(MouseBtn btn);
// 如果当前按下指定的鼠标键,则返回 true。
// @param MouseBtn btn 要检查的 VirtualKeyCode (MouseBtn.XX) 值
// @return 按下返回true,否则为false
var isLeftMouseDown = mn.IsButtonDown(MouseBtn.Left); // POINT GetCurrentMousePoint();
// 返回包含当前鼠标位置坐标的点
// @return 返回xy坐标
var currentMouseLocation = mn.GetCurrentMousePoint(); // string GetTickCount64();
// 检索自系统启动以来已用过的毫秒数。
// @return 返回值是自系统启动以来已用过的毫秒数。
var r = mn.GetTickCount64(); // int EmptyRecycleBin(string RootPath);
// 查询指定驱动器回收站上的项目数量。
// @param string RootPath 回收站所在的根驱动器的路径,可以包含根驱动器、文件夹和子文件夹(如:C:\windows\system)。如果此值为空或NULLSR,则查询所有驱动器上的所有回收站。
// @return 成功返回项目数,失败返回 0(成功也可能返回0🤣)
var r = mn.QueryRecycleBin('D:\\');
// 查询所有
var r = mn.QueryRecycleBin(); // int EmptyRecycleBin(string RootPath);
// 清空指定驱动器上的回收站。详情参照微软文档
// @param string RootPath 回收站所在的根驱动器的路径,可以包含根驱动器、文件夹和子文件夹(如:C:\windows\system)。如果此值为空或NULLSR,则清空所有驱动器上的所有回收站。
// @return 成功返回S_OK,失败返回 HRESULT 错误代码
var r = mn.EmptyRecycleBin('D:\\');
// 清空所有
var r = mn.EmptyRecycleBin(); // int ExpandEnvironmentVariables(string stringToExpand);
// 展开环境变量字符串,同时支持maye的参数变量。
// @param string stringToExpand 要展开的环境变量字符串。
// @return 成功返回展开后的字符串,失败返回 stringToExpand
var expanded = mn.ExpandEnvironmentVariables('%OS%'); // void WinExecEx(string cmdLine, int cmdShow);
// 运行指定程序,该函数原型为 CreateProcess 二次封装而非 WinExec
// @param string cmdLine 要执行的程序命令行 (加入参数)
// @param int cmdShow 不懂可忽略,详情参照微软文档
mn.WinExecEx('C:\\Windows\\system32\\notepad.exe'); // int Run(RunType Mode, string path, string param, string dir, bool nShow, bool waitRunComplete, bool ignoreError);
// 展开环境变量字符串,同时支持maye的参数变量。
// @param RunType Mode 运行方式 (RunType.XX)
// @param string path 目标
// @param string param 启动参数
// @param string dir 起始位置
// @param int nShow 窗口显示方式 SW_* (默认: SW_SHOWDEFAULT) 更多参考:https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-showwindow
// @param bool waitRunComplete 等待程序退出后返回 (默认: false)
// @param bool ignoreError 忽略错误警告 (默认: false)
// @return 成功返回 1 如果未开启多线程执行则返回对应的进程PID,失败返回 0
var r = mn.Run(RunType.open, '%ComSpec%', '', 'C:\\', SW_SHOWDEFAULT, false, false); // void RunCmeLine(string cmdLine, bool isShow, bool isExit);
// 运行命令行
// @param string cmdLine 要执行的命令行
// @param bool isShow 是否显示窗口(默认:true)
// @param bool isExit 执行完毕是否退出(默认:false不退出)
mn.RunCmeLine('ping 127.0.0.1'); // object RunCmeLineEx(string cmdLine);
// 运行命令行,并等待执行完毕。该命令会卡住主线程直道执行完毕。
// @param string cmdLine 要执行的命令行
// @return object{
// code: -1, 执行返回代码,-1表示执行失败,其他值为命令返回值,尽量别用这个判断是否成功
// out: '', 命令行输出字符串
// err: '' 错误信息
// }
var ret = mn.RunCmeLine('ping 127.0.0.1'); // void RunItem(int id);
// 运行 Maye 项目
// @param int id 项目id,右键编辑标题栏里面的数值就是
mn.RunItem(1001); // string GetClipboardText();
// 获取剪贴板文本
// @return 成功返回剪辑板文本,失败返回空
var r = mn.GetClipboardText(); // bool SetClipboardText(string text);
// 设置剪贴板文本
// @param string text 欲设置的文本
// @return 成功返回 true,失败返回 false
var r = mn.SetClipboardText('test'); // bool RegisterHotKey(int id, int fsModifiers, vk vk);
// 注册快捷键。详情参照微软文档
// @param int id 热键的标识符
// @param int fsModifiers 功能键 (MOD_XX)
// @param vk vk 主热键 (VK.XX)
// @return bool 成功返回true,返回值6.3+后支持
mn.RegisterHotKey(6, MOD_ALT | MOD_NOREPEAT, VK.A);
// 热键例子
mn.RegisterHotKey(6, MOD_ALT | MOD_NOREPEAT, VK.A);// ALT+A
// 事件回调
function event_hotkey(id){
if(id == 6) {
mn.MsgBox('HotKey-6');
}
}
// 处理事件
for(;;){
mn.EventDispatch();
mn.Delay(1);
} // bool UnregisterHotKey(int id);
// 卸载快捷性。详情参照微软文档
// @param int id 热键的标识符
// @return bool 成功返回true,返回值6.3+后支持
mn.UnregisterHotKey(6); // int FindWindow(string ClassName, string WindowName);
// 检索顶级窗口的句柄,该窗口的类名称和窗口名称与指定的字符串匹配。 此函数不搜索子窗口。 此函数不执行区分大小写的搜索。详情参照微软文档
// @param string ClassName 类名 (不使用则传递空字符串)
// @param string WindowName 窗口名 (不使用则传递空字符串)
// @return 成功返回窗口句柄,失败返回0
var hWnd = mn.FindWindow('', 'Maye Lite'); // int FindWindowEx(int hWndParent, int hWndChildAfter, string ClassName, string WindowName);
// 检索一个窗口的句柄,该窗口的类名和窗口名称与指定的字符串匹配。 该函数搜索子窗口,从指定子窗口后面的子窗口开始。 此函数不执行区分大小写的搜索。详情参照微软文档
// @param int hWndParent 父窗口句柄 (不使用则传递0)
// @param int hWndChildAfter 子窗口句柄 (不使用则传递0)
// @param string ClassName 类名 (不使用则传递空字符串)
// @param string WindowName 窗口名 (不使用则传递空字符串)
// @return 成功返回窗口句柄,失败返回0
var hWnd = mn.FindWindowEx(0, 0, '', 'Maye Lite'); // int GetParent(int hWnd);
// 检索指定窗口的父或所有者的句柄。详情参照微软文档
// @param int hWnd 窗口句柄
// @return 成功返回窗口句柄,失败返回0
var hWnd = mn.GetParent(68214); // int GetAncestor(int hWnd, int gaFlags);
// 检索指定窗口的上级句柄。详情参照微软文档
// @param int hWnd 窗口句柄。 如果此参数是桌面窗口,则该函数返回 0
// @param int gaFlags 可选值:(默认:3)
// 1: 检索父窗口。 这不包括所有者,因为它与 GetParent 函数一样。
// 2: 通过走父窗口链来检索根窗口。
// 3: 通过走 GetParent 返回的父窗口和所有者窗口链来检索拥有的根窗口。
// @return 成功返回窗口句柄,失败返回0
var hWnd = mn.GetAncestor(68214); // int GetDesktopWindow();
// 检索桌面窗口的句柄。详情参照微软文档
// @return 成功返回句柄,失败返回0
var hWnd = mn.GetDesktopWindow(); // int WindowFromPoint(int x, int y);
// 检索包含指定点的窗口的句柄。详情参照微软文档
// @param int x 水平
// @param int y 垂直
// @return 成功返回句柄,失败返回0
var hWnd = mn.WindowFromPoint(100,100);
// 如获取鼠标处窗口句柄:
var pt = mn.GetCurrentMousePoint();
var hWnd = mn.WindowFromPoint(pt.x,pt.y); // int GetDlgCtrlID(int hWnd);
// 检索指定控件的ID。详情参照微软文档
// @param int hWnd 控件的句柄
// @return 成功返回控件ID,失败返回0
var id = mn.GetDlgCtrlID(68214); // int GetDlgItem(int hDlg, int nIDDlgItem);
// 检索指定对话框中控件的句柄。详情参照微软文档
// @param int hDlg 父句柄
// @param int nIDDlgItem 要检索的控件的ID
// @return 成功返回句柄,失败返回0
var hWnd = mn.GetDlgItem(68214, 220); // RECT GetWindowRect(int hWnd);
// 检索指定窗口的边界矩形的尺寸。尺寸以相对于屏幕左上角的屏幕坐标提供。详情参照微软文档
// @param int hWnd 窗口句柄
// @return 成功返回RECT结构体,失败返回false
var rc = mn.GetWindowRect(68214); // RECT GetClientRect(int hWnd);
// 检索窗口工作区的坐标。 客户端坐标指定工作区的左上角和右下角。由于客户端坐标相对于窗口工作区的左上角,左上角的坐标 (0,0) 。详情参照微软文档
// @param int hWnd 窗口句柄
// @return 成功返回RECT结构体,失败返回false
var rc = mn.GetClientRect(68214); // bool IsChild(int hWndParent, int hWnd);
// 判断一个窗口和另一窗口是否为父子关系。详情参照微软文档
// @param int hWndParent 父窗口句柄
// @param int hWnd 要测试的窗口句柄
// @return 是子窗口返回true,否则返回false
var is = mn.IsChild(68214, 393850); // bool IsWindow(int hWnd);
// 确定指定的窗口句柄是否有效。详情参照微软文档
// @param int hWnd 窗口句柄
// @return 成功返回true,失败返回false
var is = mn.IsWindow(68214); // bool IsWindowVisible(int hWnd);
// 确定指定窗口的可见性状态。详情参照微软文档
// @param int hWnd 窗口句柄
// @return 成功返回true,失败返回false
var is = mn.IsWindowVisible(68214); // bool IsWindowTop(int hWnd);
// 窗口是否置顶
// @param int hWnd 窗口句柄
// @return 置顶返回true,否则返回false
var is = mn.IsWindowTop(68214); // bool IsWindowEnabled(int hWnd);
// 判断指定窗口的是否被禁止。详情参照微软文档
// @param int hWnd 窗口句柄
// @return 未禁止返回true,禁止返回false
var is = mn.IsWindowEnabled(68214); // bool IsWindowActive(int hWnd);
// 窗口是否激活
// @param int hWnd 窗口句柄
// @return 激活返回true,未激活返回false
var is = mn.IsWindowActive(68214); // bool IsIconic(int hWnd);
// 窗口是否最小化。详情参照微软文档
// @param int hWnd 窗口句柄
// @return 最小化返回true,否则返回false
var is = mn.IsIconic(68214); // bool IsZoomed(int hWnd);
// 窗口是否最大化。详情参照微软文档
// @param int hWnd 窗口句柄
// @return 最大化返回true,否则返回false
var is = mn.IsZoomed(68214); // bool IsWindowRespond(int hWnd);
// 窗口是否响应
// @param int hWnd
// @return 成功返回true(窗口可正常响应),失败返回false(窗口无响应)
var ret = mn.IsWindowRespond(68214); // bool ShowWindow(int hWnd, int nCmdShow);
// 设置指定窗口的显示状态。详情参照微软文档
// @param int hWnd 窗口句柄
// @param int nCmdShow 可选值:(默认:1)
// 0: 隐藏窗口并激活另一个窗口。
// 1: 激活并显示窗口。 如果窗口最小化或最大化,系统会将其还原到其原始大小和位置。 首次显示窗口时,应用程序应指定此标志。
// 2: 激活窗口并将其显示为最小化窗口。
// 3: 激活窗口并显示最大化的窗口。
// 4: 在其最近的大小和位置显示一个窗口。 此值类似于 SW_SHOWNORMAL,但窗口未激活。
// 5: 激活窗口并以当前大小和位置显示窗口。
// 6: 最小化指定的窗口,并按 Z 顺序激活下一个顶级窗口。
// 7: 将窗口显示为最小化窗口。 此值类似于 SW_SHOWMINIMIZED,但窗口未激活。
// 8: 以当前大小和位置显示窗口。 此值类似于 SW_SHOW,但窗口未激活。
// 9: 激活并显示窗口。 如果窗口最小化或最大化,系统会将其还原到其原始大小和位置。 还原最小化窗口时,应用程序应指定此标志。
// 10: 根据启动应用程序的程序传递给 CreateProcess 函数的 STARTUPINFO 结构中指定的SW_值设置显示状态。
// 11: 即使拥有窗口的线程未响应,也会最小化窗口。 仅当将窗口从不同的线程最小化时,才应使用此标志。
// @return 如果窗口以前可见返回true,如果窗口之前已隐藏返回false
var is = mn.ShowWindow(68214, 0); // bool ShowWindowAsync(int hWnd, int nCmdShow);
// 设置窗口的显示状态,而无需等待操作完成。详情参照微软文档
// @param int hWnd 窗口句柄
// @param int nCmdShow 参考 ShowWindow 说明
// @return 如果操作成功返回true,否则返回false
var is = mn.ShowWindowAsync(68214, 0); // int SetParent(int hWndChild, int hWndNewParent);
// 更改指定子窗口的父窗口。详情参照微软文档
// @param int hWndChild 窗口句柄
// @param int hWndNewParent 新父窗口的句柄,如果此参数为0,桌面将成为新的父窗口
// @return 成功返回上一个父窗口的句柄,否则返回0
var hWnd = mn.SetParent(68214, 0); // int GetFocus();
// 如果窗口附加到调用线程的消息队列,则检索具有键盘焦点的窗口的句柄。详情参照微软文档
// @return 返回值是具有键盘焦点的窗口的句柄。 如果调用线程的消息队列没有与键盘焦点关联的窗口,则返回值为 NULL。
var hWnd = mn.GetFocus(); // int SetFocus(int hWnd);
// 将键盘焦点设置为指定的窗口。 该窗口必须附加到调用线程的消息队列。详情参照微软文档
// @param int hWnd 窗口句柄
// @return 成功返回上一个焦点句柄,否则返回0
var hWnd = mn.SetFocus(68214); // int GetActiveWindow();
// 检索附加到调用线程的消息队列的活动窗口的窗口句柄。详情参照微软文档
// @return 成功返回句柄,失败返回0
var hWnd = mn.GetActiveWindow(); // int SetActiveWindow(HWND hWnd);
// 激活窗口。 窗口必须附加到调用线程的消息队列。详情参照微软文档
// @param HWND hWnd 要激活的顶级窗口的句柄。
// @return 成功返回句柄,失败返回0
var hWnd = mn.SetActiveWindow(68214); // int GetForegroundWindow();
// 检索前台窗口的句柄, (用户当前正在使用的窗口) 。详情参照微软文档
// @return 成功返回句柄,失败返回0
var hWnd = mn.GetForegroundWindow(); // bool SetForegroundWindow(int hWnd);
// 将创建指定窗口的线程引入前台并激活窗口。 键盘输入将定向到窗口,并为用户更改各种视觉提示。 系统向创建前台窗口的线程分配略高于其他线程的优先级。详情参照微软文档
// @param int hWnd 窗口句柄
// @return 如果窗口被带到前台返回true,否则返回false
var hWnd = mn.SetForegroundWindow(68214); // string GetClassName(int hWnd);
// 检索指定窗口所属的类的名称。详情参照微软文档
// @param int hWnd 窗口句柄
// @return 成功返回类名,否则返回空字符串
var className = mn.GetClassName(68214); // string GetClassName(int hWnd);
// 如果指定窗口有标题栏,则将获取其文本。详情参照微软文档
// @param int hWnd 窗口句柄
// @return 成功返回标题字符串,否则返回空字符串
var str = mn.GetWindowText(68214); // bool SetWindowText(int hWnd, string str);
// 更改指定窗口标题栏的文本。详情参照微软文档
// @param int hWnd 窗口句柄
// @param string str 新标题
// @return 成功返回true,否则返回false
var str = mn.SetWindowText(68214, 'test'); // string GetSCText(int hWnd);
// 获取控件内容。
// @param int hWnd 窗口句柄
// @return 成功返回标题字符串,否则返回空字符串
var str = mn.GetSCText(68214); // bool SetSCText(int hWnd, string str);
// 设置控件内容。
// @param int hWnd 窗口句柄
// @param string str 新内容
// @return 成功返回true,否则返回false
var str = mn.SetSCText(68214, 'test'); // void WindowTopMost(int hWnd, bool isTop);
// 设置窗口置顶状态。
// @param int hWnd 窗口句柄
// @param bool isTop 是否置顶
mn.WindowTopMost(68214, true); // void MoveWindow(int hWnd, int x, int y);
// 移动窗口。
// @param int hWnd 窗口句柄
// @param int x 新的左边距离
// @param int y 新的顶边距离
mn.MoveWindow(68214, 100, 10); // void SetWindowSize(int hWnd, int cx, int cy);
// 设置窗口尺寸。
// @param int hWnd 窗口句柄
// @param int cx 新的宽度
// @param int cy 新的高度
mn.SetWindowSize(68214, 100, 100); // bool SetWindowPos(int hWnd, int hWndInsertAfter, int x, int y, int cx, int cy, int uFlags);
// 详情参照微软文档
// @param int hWnd
// @param int hWndInsertAfter
// @param int x
// @param int y
// @param int cx
// @param int cy
// @param int uFlags
// @return
var is = mn.SetWindowPos(68214, 0, 10, 10, 0, 0, 4 | 1); // int GetWindowLongPtr(int hWnd, int nIndex);
// 详情参照微软文档
// @param int hWnd
// @param int nIndex
// @return 成功返回请求值,失败返回0
var style = mn.GetWindowLongPtr(68214, -16); // int SetWindowLongPtr(int hWnd, int nIndex, int dwNewLong);
// 详情参照微软文档
// @param int hWnd
// @param int nIndex
// @param int dwNewLong
// @return 成功返回上一个值,失败返回0
var ret = mn.SetWindowLongPtr(68214, -16, 1417740416); // int SendMessage(int hWnd, int Msg, int wParam, int lParam);
// 详情参照微软文档
// @param int hWnd
// @param int Msg
// @param int wParam
// @param int lParam
// @return 返回指定消息处理的结果;这取决于发送的消息。
var ret = mn.SendMessage(68214, 16, 0, 0); // bool SendNotifyMessage(int hWnd, int Msg, int wParam, int lParam);
// 详情参照微软文档
// @param int hWnd
// @param int Msg
// @param int wParam
// @param int lParam
// @return 成功返回true,失败返回false
var ret = mn.SendNotifyMessage(68214, 16, 0, 0); // bool PostMessage(int hWnd, int Msg, int wParam, int lParam);
// 详情参照微软文档
// @param int hWnd
// @param int Msg
// @param int wParam
// @param int lParam
// @return 成功返回true,失败返回false
var ret = mn.PostMessage(68214, 16, 0, 0); // bool UpdateWindow(int hWnd);
// 更新窗口。详情参照微软文档
// @param int hWnd
// @return 成功返回true,失败返回false
var ret = mn.UpdateWindow(68214); // bool InvalidateRect(int hWnd, bool Erase);
// 更新窗口。详情参照微软文档
// @param int hWnd
// @param bool Erase 处理更新区域时是否要擦除更新区域中的背景
// @return 成功返回true,失败返回false
var ret = mn.InvalidateRect(68214, true); // int GetWindowProcessId(int hWnd);
// 通过窗口句柄获取进程PID
// @param int hWnd 窗口句柄
// @return 成功返回PID,否则返回0
var pid = mn.GetWindowProcessId(68214); // dynamic GetCaretRECT();
// 获取插入符号的RECT。
// @return 成功返回RECT,失败返回false
var rc = mn.GetCaretRECT(); // array GetNameProcessId(string name);
// 通过进程名获取进程PID
// @param string name 进程名
// @return 成功返回进程PID Array,否则返回空 Array
var ret = mn.GetNameProcessId('test.exe'); // string GetProcessIdName(int PID);
// 通过进程PID获取进程名称
// @param int PID 进程ID
// @return 成功返回进程名,否则返回0
var ret = mn.GetProcessIdName(6553); // string GetProcessIdPath(int PID);
// 通过进程PID获取进程路径
// @param int PID 进程ID
// @return 成功返回进程路径,否则返回空
var ret = mn.GetProcessIdPath(6553); // array GetChildProcessId(int PID);
// 通过进程PID获取所有子进程PID
// @param int PID 进程ID
// @return 成功返回子进程ID Array,否则返回空Array
var ret = mn.GetChildProcessId(6553); // int GetProcessIdThreads(int PID);
// 通过进程PID获取进程使用的线程数
// @param int PID 进程ID
// @return 成功返回线程数,否则返回0
var ret = mn.GetProcessIdThreads(6553); // bool IsProcessIdExists(int PID);
// 判断进程PID是否有效
// @param int PID 进程ID
// @return 有效返回true,否则返回false
var ret = mn.IsProcessIdExists(6553); // int TerminateProcess(int PID);
// 结束指定进程
// @param int PID 进程ID
// @return 成功返回true,否则返回false
var ret = mn.TerminateProcess(5112); // void SuspendProcess(int PID, bool state);
// 将指定进程暂停
// @param int PID 进程ID
// @param bool state 状态,true暂停,false恢复
mn.SuspendProcess(5112, true); // int GetPriorityClass(int PID);
// 获取进程优先级
// @param int PID 进程ID
// @return 成功返回优先级别(0:高; 1:高于正常; 3: 正常; 4: 低于正常; 5: 低; 2: 实时;),否则返回-1
var ret = mn.GetPriorityClass(5112); // bool SetPriorityClass(int PID, int level);
// 设置进程优先级
// @param int PID 进程ID
// @param int level 优先级(0:高; 1:高于正常; 3: 正常; 4: 低于正常; 5: 低; 2: 实时[如果权限不够则会设置为高于正常];)
// @return 成功返回true,否则返回false
var ret = mn.SetPriorityClass(5112); // string ReadFile(string fileName);
// 读入文件
// @param string fileName 文件名
// @return 成功返回文件内容,失败返回空
var ret = mn.ReadFile('C:\\123.txt'); // bool WriteFile(string fileName, string str);
// 写到文件
// @param string fileName 文件名
// @param string str 要写出的数据,需要转换为字符串
// @return 成功返回true,失败返回false
var ret = mn.WriteFile('C:\\123.txt', 'test\nabc'); // string FindFile(string fileName);
// 寻找文件
// @param string fileName 文件名或目录名。可以使用多字符 (*) 和单字符 (?) 通配符来指定多重文件。
// @return array WIN32_FIND_DATA
var ret = mn.FindFile('C:\\*'); // bool PathFileExists(string fileName);
// 判断指定文件或目录的路径是否有效
// @param string fileName 文件名
// @return 成功返回true,失败返回false
var ret = mn.PathFileExists('C:\\123.txt'); // int GetFileSize(string fileName);
// 获取文件尺寸,大于4G文件会失去精度
// @param string fileName 文件名
// @return 成功返回文件尺寸,失败返回-1
var ret = mn.GetFileSize('C:\\123.txt'); // string GetFileSizeEx(string fileName);
// 获取文件尺寸,支持大文件(该函数返回值为字符串)
// @param string fileName 文件名
// @return 成功返回文件尺寸,失败返回-1
var ret = mn.GetFileSizeEx('C:\\123.txt'); // bool CopyFile(string ExistingFileName, string NewFileName, bool FailIfExists);
// 将现有文件复制到新文件(不支持目录)。详情参照微软文档
// @param string ExistingFileName 现有文件的名
// @param string NewFileName 新文件的名
// @param bool FailIfExists 存在则不覆盖(默认:false)
// @return 成功返回true,失败返回false
var ret = mn.CopyFile('C:\\1.txt', 'C:\\2.txt'); // bool MoveFile(string ExistingFileName, string NewFileName, bool FailIfExists);
// 移动现有文件或目录(包括子文件或目录)。详情参照微软文档
// @param string ExistingFileName 现有文件的名
// @param string NewFileName 新文件的名
// @param bool FailIfExists 存在则不覆盖(默认:false)
// @return 成功返回true,失败返回false
var ret = mn.MoveFile('C:\\1.txt', 'D:\\2.txt'); // bool ReNameFile(string ExistingFileName, string NewFileName);
// 更改现有文件或目录名称,如果新文件名父路径变更将会执行移动操作
// @param string ExistingFileName 现有文件的名(完整路径)
// @param string NewFileName 新文件的名(完整路径)
// @return 成功返回true,失败返回false
var ret = mn.ReNameFile('C:\\1.txt', 'C:\\2.txt'); // bool DeleteFile(string FileName);
// 删除文件(不支持目录)。详情参照微软文档
// @param string FileName 要删除的文件的名
// @return 成功返回true,失败返回false
var ret = mn.DeleteFile('C:\\1.txt'); // bool CreateDirectory(string PathName);
// 创建目录(不支持多级创建)。详情参照微软文档
// @param string PathName 要创建的目录的路径
// @return 成功返回true,失败返回false
var ret = mn.CreateDirectory('C:\\123'); // bool CreateDirectoryEX2(string PathName);
// 创建多级目录
// @param string PathName 要创建的目录的路径(字符串最大长度为248)
// @return 成功返回true,失败返回false
var ret = mn.CreateDirectoryEX2('C:\\123\\456\\789'); // bool DeleteDirectory(string PathName);
// 删除目录(同时删除子文件或子目录)
// @param string PathName 要删除的目录的路径
// @return 成功返回true,失败返回false
var ret = mn.DeleteDirectory('C:\\123'); // bool PathIsDirectory(string PathName);
// 验证路径是否为有效目录。详情参照微软文档
// @param string PathName 目录路径
// @return 成功返回true,失败返回false
var ret = mn.PathIsDirectory('C:\\123'); // bool PathIsDirectoryEmpty(string PathName);
// 确定指定的路径是否为空目录(目录不存在也会返回false)。详情参照微软文档
// @param string PathName 目录路径
// @return 成功返回true,失败返回false
var ret = mn.PathIsDirectoryEmpty('C:\\123'); // string GetCurrentDirectory();
// 获取当前目录(Maye Lite的目录)
// @return 成功返回当前目录(如 C:\123\)
var ret = mn.GetCurrentDirectory(); // void MsgBox(string msg, string title);
// 显示一个消息框
// @param string msg 消息框内容
// @param string title 消息框标题
mn.MsgBox('msg'); // bool Confirm(string msg, string title);
// 显示一个确认框
// @param string msg 确认框内容
// @param string title 确认框标题
// @return 点击Yes按钮返回true,否则返回false
var ret = mn.Confirm('msg'); // object InputBox(string initialText, string title);
// 显示一个确认框
// @param string initialText 输入框初始字符串
// @param string title 输入框标题
// @return object{
// code: -1, 执行返回代码,-1表示取消输入,1表示确认输入
// text: '' 输入的字符串
// }
var ret = mn.InputBox(); 更多功能陆续添加中….
/*
TODO:
注册表
配置项
内存读写搜索
*/ 此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。