LUA脚本

来源:赵克立博客 分类: FastGestures文档 标签:--发布时间:2024-03-13 22:09:10最后更新:2024-05-10 16:50:52浏览:433
版权声明:
本文为博主原创文章,转载请声明原文链接...谢谢。o_0。
更新时间:
2024-05-10 16:50:52
温馨提示:
学无止境,技术类文章有它的时效性,请留意文章更新时间,如发现内容有误请留言指出,防止别人"踩坑",我会及时更新文章

lua 脚本中取命令行中的参数


  • 直接使用 arg[0],arg[1],来取以空格分隔的命令参数

  • 使用全局变量 cmd_params[name],取对应的值,例 --name="keli zhao" --path=E:/test

  • 使用Lua扩展内置函数解析成指定类型的入参


lua 脚本中依然可用预置的全局变量


Lua 扩展内置函数


当使用Lua写扩展时可使用下面内置函数解析出扩展按规则传入的参数


getParamToBoolean(name,default)

取扩展参数,并转为boolean


getParamToNumber(name,default)

取扩展参数,并转为number


getParamToString(name,default)

取扩展参数,并转为string

fg_active_main_winows()

激活手势主窗口


fg_show_msg(string)

显示一个消息提示


fg_show_msg("一个提示消息");


fg_send_shortcut_group(string)

发送一组快捷键,参数为 json 格式

[
  {
    "delay": 10,
    "type":0,
    "text":"文本测试",
    "buttons": [
      {
        "vk_code": "0xA2",
        "vk_name": "Ctrl",
        "vk_flag":0
      }
    ]
  }
]

vk_name 键名称

vk_code 键虚拟码

vk_flag  0点击,1按下,2弹起

type 0按键,1文本

text type为1时此项可用


local keyList=[[
[
  {
    "delay": 10,
    "buttons": [
      {
        "vk_code": "0xA2",
        "vk_name": "Ctrl"
      },
      {
        "vk_code": "0x12",
        "vk_name": "Alt"
      },
      {
        "vk_code": "0x4C",
        "vk_name": "L"
      }
    ]
  },
  {
    "delay": 100,
    "buttons": [
      {
        "vk_code": "0xA2",
        "vk_name": "Ctrl"
      },
      {
        "vk_code": "0x53",
        "vk_name": "S"
      }
    ]
  }
]
]]
fg_send_shortcut_group(keyList);


fg_get_clipboard_text()

获取当前剪切板文本内容


fg_set_clipboard_text(string text)

设置剪切板文本


fg_set_windows_top(int hwnd)

设置窗口置顶或取消,参数传 0 时,默认为当前鼠标下的窗口


fg_sleep(int time)

挂起/延时时间,单位毫秒


fg_get_mouse_windows_hwnd()

取当前鼠标下的窗口句柄


fg_get_mouse_windows_path()

取当前鼠标下的窗口可执行文件路径


fg_get_mouse_window_info()

取当前鼠标下的窗口信息


{
  "title":"标题",
  "path":"文件全路径",
  "fileDir":"文件所在目录",
  "class":"类名",
  "hwnd":"句柄",
}


fg_active_application(string fullPath,int isRunAs)

打开或激活应用或目录,fullPath 应用的全路径,isRunAs 是否使用管理员权限执行


fg_send_text(string text)

发送文本


fg_volume_inc()

音量加


fg_volume_dec()

音量减


fg_volume_switch()

静音/关闭静音切换


fg_brightness_inc()

屏幕亮度加,(部分屏幕不支持)


fg_brightness_dec()

屏幕亮度减,(部分屏幕不支持)


fg_run_cmd(string cmdStr,int isShow,int isReturn,string workPath)

执行命令行并取返回值,

cmdStr 命令,

isShow 是否显示命令行窗口,

isReturn 是否取返回值,

workPath 当前命令行工作的绝对路径,

特别注意取返回值时确保调用的程序会自动退出。


fg_get_pid_by_name(string processName)

通过进程名字取 Pid,多个相同名字进程只取首个,名字忽略大小写


fg_mouse_left_click(int x,int y,int type)

x,y坐标,全为0点,点击当前位置

type 0点击,1按下,2弹起


fg_mouse_middle_click(int x,int y,int type)

x,y坐标,全为0点,点击当前位置

type 0点击,1按下,2弹起

fg_mouse_right_click(int x,int y,int type)

x,y坐标,全为0点,点击当前位置

type 0点击,1按下,2弹起

fg_mouse_x1_click(int x,int y,int type)

x,y坐标,全为0点,点击当前位置

type 0点击,1按下,2弹起

fg_mouse_x2_click(int x,int y,int type)

x,y坐标,全为0点,点击当前位置

type 0点击,1按下,2弹起

fg_mouse_move(int x,int y,int isAbsolute)

x,y坐标
isAbsolute是否绝对坐标,0为相对坐标,从前位置移动指定的坐标距离,1则识x,y为绝对坐标


fg_mouse_wheel(int direction,int num,int times,int delay)

鼠标滚轮事件
direction 0:向下滚动 1:向上滚动,2向右滚动,3向左滚动
num 每次滚动距离
times 滚动次数
delay 多次滚动时延时默认 10 毫秒


fg_get_selected_files_path(int type)

type 0:返回选中所有的(文件/目录)路径,1:返回选中文件路径,2:返回选中目录路径


返回结构为一个元表,示例,取选中的第一个文件路径


local fileList=fg_get_selected_files_path(1);
fg_show_msg(fileList[0]);


fg_get_mouse_window_info

返回当前鼠标下窗口信息


-- 取窗口信息title hwnd path class
local info=fg_get_mouse_window_info();
-- 设置到剪切板
fg_set_clipboard_text(info["title"])


fg_cloud_download

下载备份


fg_cloud_upload

上传备份


fg_execute_javascript

执行浏览器js脚本代码


示例代码,取当前标签页标题并显示一个提示信息


title=fg_execute_javascript("document.title")
fg_show_msg(title)


复制当前浏览器标签页地址


url=fg_execute_javascript("location.href")
fg_set_clipboard_text(url)
fg_show_msg("复制成功")


fg_path_file_exists(path):bool

判断文件否目录是否存在


fg_mkdirs(path):bool

自动创建多级目录


fg_get_selected_text():string

获取当前选中的文本


fg_open_dir(string path)

打开目录,如果入参为文件路径则打开文件所在目录且选中此文件


其它示例


-- 设置文本
fg_set_clipboard_text("Lua 变量");
-- 暂停1秒
fg_sleep(1000);
-- 取文本
local tex=fg_get_clipboard_text();
--提示信息
fg_show_msg(tex);



微信号:kelicom QQ群:215861553 紧急求助须知
Win32/PHP/JS/Android/Python