工作笔记::c++ 运行命令行脚本 启动lua cmd lua 顺序执行多个文件的方法 c++ 开启一个命令行的方法 lua 启动多个文件
发布日期:2021-06-30 13:42:10 浏览次数:2 分类:技术文章

本文共 1572 字,大约阅读时间需要 5 分钟。

今天工作需要在c程序中启动lua 的脚本解释器,并且运行三个lua的脚本文件(两个是配置文件,用户不可见存放全局变量,一个是主程序)今天用到的主要是

HWND this_window =  GetActiveWindow();ShellExecute(                 this_window,                 "open",                  execPath.c_str(),   //此处可能存在中文路径解析问题                execParams.c_str(),                                 prj_path.c_str(),                SW_SHOW            //            );
ShellExecute(hWnd: HWND; {指定父窗口句柄}Operation: PChar; {指定动作, 譬如: open、runas、print、edit、explore、find [2]  }FileName: PChar; {指定要打开的文件或程序}Parameters: PChar; {给要打开的程序指定参数; 如果打开的是文件这里应该是 nil}Directory: PChar; {缺省目录}ShowCmd: Integer {打开选项}): HINST;

最后的参数是 :

SW_HIDE 隐藏窗口,活动状态给令一个窗口

SW_MINIMIZE 最小化窗口,活动状态给令一个窗口
SW_RESTORE 用原来的大小和位置显示一个窗口,同时令其进入活动状态
SW_SHOW 用当前的大小和位置显示一个窗口,同时令其进入活动状态
SW_SHOWMAXIMIZED 最大化窗口,并将其激活
SW_SHOWMINIMIZED 最小化窗口,并将其激活
SW_SHOWMINNOACTIVE 最小化一个窗口,同时不改变活动窗口
SW_SHOWNA 用当前的大小和位置显示一个窗口,不改变活动窗口
SW_SHOWNOACTIVATE 用最近的大小和位置显示一个窗口,同时不改变活动窗口
SW_SHOWNORMAL 与SW_RESTORE相同

也就是你的运行模式,前期开发肯定是想看到打印信息的,后期实际使用肯定是隐藏的。

lua.exe 提供了以下几种方法

usage: lua [options] [script [args]]Available options are:  -e stat  execute string 'stat'  -i       enter interactive mode after executing 'script'  -l name  require library 'name'  -v       show version information  -E       ignore environment variables  --       stop handling options  -        stop handling options and execute stdin

我们使用的就是-l  这个选项,例如我们需要执行 config.lua global.lua 和mainfunc.lua 

那我们们的execparams 就是 -lconfig -lglobal -lmainfunc 

这三个文件最好是在同样的路径下,在ShellExecute 中可以加入一个执行路径的参数,可以定位找到一个路径(我测试过 在-l的参数之后添加 绝对路径  windows下失败了,而且对于   a.b.lua 的文件    -la.b   也是行不通的!)

转载地址:https://jeason.blog.csdn.net/article/details/108741434 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:工作笔记::lua 打印 一个table的方法
下一篇:lua语言笔记--注册dll内的函数到全局,lua 全局函数的注册

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2024年04月29日 03时07分43秒