如何在C++获取LUA中创建的窗口实例

如何在C++获取LUA中创建的窗口实例,第1张

1 不在任务栏, lua层调用wnd:SetAppWindow(false)

2 托盘图标, 网上搜索下Shell_NotifyIcon, 里面需要一个窗口句柄, 有两种方法

a. 用bolt的窗口, 开个lua到c的接口, 把bolt的窗口句柄传回去, wnd:GetWndHandle()

b. 在c这边创建一个隐藏窗口, 用这个隐藏窗口的句柄

先讲讲我知道的一些应用。

首先是在i OS下写游戏,《愤怒小鸟》就是用lua写的;同时,也好多用其它语言在为Iphone写游戏的程序员,添加lua到游戏开发中去,让过程更简单。当然,Lua最著名的应用是在暴雪公司的网络游戏《魔兽世界》中----在网上可以找到好多用lua做的wow小工具。

然后是一些小的程序,这个和我的目标一致,一些简单的测试用例可以用lua来写,比如可以在百度找得到的‘康泰串口程序’,还在百度文库发现一篇,有在用lua开发测量仪器上位机测试程序的例子(好处是用c写完一些固定的调用后,用lua简单配置一下,又是另外一个测试程序,写完就可以用)。

Unified Configuration Interface

讲点其它细节。

lua是动态语言,它的解释器现在有用各种主流语言完成的各种版本,c、java...应有尽有。你的程序需要做config吗?lua应该是个不错的选择。或者,找现成的lua解释器过来,你可以再添加好你的库,完全直接执行脚本也行。

有人把它和python作比较,可能是应用领域的关系,那个家伙讲,他觉得lua会比python好用。在lua的官网可以看到他们吹水记录,不贴连接了。

网上下的某PPT里这么讲,Lua最引人注目的特点:

--以极小 的体积和简单 的语法提供相对全面的功能。

--以简洁 的API实现与宿主语言最方便 的接口。

Lua 没有打算被用来进行大型的程序设计,相反,Lua 定位于中小型程序设计,通常是作为大型系统的一部分,常用于一个或少数程序员开发的情况,甚至是由非程序员进行的开发。所以,Lua 避免了过分的冗余和过多的人为限制。如果你不希望一个对象的内部结构被访问,那么就不要去访问它们。

首先, LUA 和 java/vb 之类的根本不是一种类型的。 LUA 的设计思想就是作为一门可以非常方便的嵌入到 C 程序中的语言。所以它很简单,很轻量。一般不会单独用它来做一个【独立或大型】项目,因为它提供的库太少了,很多东西都要自己重新写。 记住,它的设计思想就是和C搭配起来用的。因此我估计按照你所说的未来的需求,lua不是一个好选择。 但我不是说 LUA 不好,而是说不符合你的需求。LUA 本身的设计是非常优秀的。

如果想学一门脚本类语言,目前最好最主流的建议是 python。 1. 用它的人太多了,各种文档资料也是非常丰富,有面相新手的,面向各个方向的(网站,文本处理,数学处理,DB,游戏编程)资料。 2. 丰富的库。 3. 各种最新的编程思想(比如函数式编程、closure、coroutine等)在python中都有【一定】的体现,可以学到不少新概念。4. 不论是写个简单的小程序还是复杂的网站程序,都可以用python。

java 当然是另外一个范畴了,如果你想学,也没任何问题,他天生就是做大事的(虽然我没学过)。

vb 不了解,貌似会限制你今后的发展,除了windows编程可能用到它,unix/linux上好像没有这玩意。但是现在大家都在玩 unix/linux……

mfc, 好遥远的名字啊,十几年前我在学校的时候曾经以为它就是世界上唯一的最牛的编程框架 (当然,那时候它确实也很火),可惜从学校出来后再也没有见过需要用到它的地方。现在谁还用它? 现在玩的是跨平台,快速迭代,动态语言,函数式编程,分布式,并发…… 谁还会成天去学一个仅仅是为了做个 GUI 的玩意 (如果我这里对 MFC 的评价失实,请原谅,毕竟我对它的唯一了解是在十几年前看了那么几天)

另, 你的 C 玩的怎么样? 我现在的认识是, C (当然也可以是C++,不过对我来说c就够了,C++哪些面向对象之类的概念,用高级语言去做,更简单) + 一门高级语言 (如 LUA, python)是最王道的方案。C 处理底层的,性能关键的代码(代码量不应该多,保持简洁,易于维护), 高级语言负责实现上层的,业务或逻辑层面的内容,可以快速开发,方便修改和调试。

综上,建议你学python,简单易学。实际上lua也很简单,比python还简单,学了python看两天lua的文档自然就会了。至于其他语言 java看你自己的兴趣和今后的发展决定是否要学。 mfc/vb 这种过于限制死的内容,还是等你真的到工作那一天不得不用他们的时候再去学吧。在学校里,学会程序员的思想,培养编程经验才是最重要的。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8173470.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存