c/c++跨平台编程

来源:百度知道 编辑:UC知道 时间:2024/06/16 02:23:04
1. 如何知道当前的状态是在编辑状态(比如,现在我在输入文本, 或在浏览器里写入http地址)
2. 如何得到shift + 方向键的效果. 比如要实现ctrl+l选择光标所在行
3. 如何直接获得选择状态的文本. 比如假定我已经用鼠标选择了"abc"这三个字母, 那么我期望直接获取"abc",而不是要ctrl+c到剪贴板里去找复制的内容.
以上最好windows/linux平台都有解决方案
本人提的问题的确专业了点...咱不是因为分数,对吧...
咱得问一些有深度的问题... :)
至于有人建议我去看vim代码...那就算了...那我还上来发问干嘛..

你需要写一个鼠标和键盘的钩子动态链接库,并且要让它启动运行,这样,所有的鼠标和键盘的动作和事件都被 钩子 先抓过来,通过你的程序检查后再释放。是输入文本还是写http地址,要对抓到的一串内容做语法词法分析,还要设法取得 正在运行的其它程序 名称,判断有无浏览器,有无编辑器。
程序里 可以 用剪贴板的。用语句 写 “传送”到 剪贴板,或从 剪贴板 读内容 到变量里。不涉及 ctrl+c。

与设备(鼠标和键盘)有关的程序,很难跨平台。

1. 判断是否处于编辑状态,必须先判断当前的程序是否包含有可编辑的控件,同时还要判断该控件是否具有输入焦点。
2. 同下
3. 需要具体问题具体分析,只要特定的图形化程序开发库提供相关的功能,查一下开发文档就能解决问题,问别人简直是浪费时间。

你要求真多,你去看看VIM的源码好了,跨平台的开源文本编辑器。

请搜索 gtk 教程,Gook Luck!