设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 4180|回复: 9
打印 上一主题 下一主题

[讨论] 任意字符输入的实现

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
27 小时
注册时间
2011-4-24
帖子
56
1
发表于 2012-2-7 18:52:47 | 显示全部楼层

先Mark:

然后下面是个人拙见.....
1.API的思路
   亲,InputBox是VB中的函数,不是API的哟,并且W32API中也貌似没有类似功能的API(貌似貌似)
   不过可以预先用其它的语言(C啦D啦还有易什么的)写一个包含输入框的DLL,然后用API调用,不过在全屏的时候真的大丈夫?
2.控制台的思路
   打开控制台的话看看这段:
  1. 比如ifconfig.exe这个控制台的程序(windows下的一个显示ip的控制台程序)
  2. 使用IO管道
  3. 创建ipconfig.exe进程,同时与之建立管道连接
  4. ipcon=IO.popen("ipconfig.exe","r")
  5. res=ipcon.read
  6. ipcon.close

  7. res里面存的就是ipconfig.exe控制台输出的结果了。
  8. 用ipcon.write也可以向该控制台程序发送指令,这就形成了交互(当然此时popen参数里的"r"改成"r+"。
复制代码
这个原理可以用到Game.exe程序里,不过现在在外面,手头上没有ACE,就没法试
然后之前看了下那个光的圆周率大大的控制台脚本,发现他在打开控制台的情况下,通过调用API函数来进行打开和隐藏,不知道可不可以在游戏开始时就打开控制台并隐藏
需要的时候才调出来.

ACE的控制台貌似就是基于Windows的控制台显示的,修改大小的话可能可以用API修改,然后再把边框去掉,不过这样做好像很不稳定,稍一不慎就Down掉了...

3.自己做程序来传输
这个思路MS可行,不过看起来就和1.API的那个差不多,用文件传太不安全了,不如用API反调回游戏还比较好


个人觉得的话用封装了输入对话框的DLL + API通过指针传给游戏比较可行...

点评

其实RMVA里面,目测IO.popen乃至`cmdline` 都是被切了无法返回正常的值的(虽然可以运行程序) 不知道是编码问题还是确实被eb切了  发表于 2012-3-12 11:11
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-5-17 16:48

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表