红联Linux门户
Linux帮助

怎样提取图形界面当前窗口字符串

发布时间:2012-06-08 16:12:11来源:红联作者:luckyxichang
需要在终端机内嵌入程序提取X界面的字符,界面为gtk2.0,想写个chrdev,但不知从那个设备提取啊?自己搞了一天了,还没头绪,求助!谢谢
文章评论

共有 5 条评论

  1. pl_014 于 2012-06-10 21:49:36发表:

    引用:
    哦,那你有想过这样的问题吗?比如你写了gtk程序,然后我的终端下也写个程序,目地就是得到你gtk顶层窗口的字符串,如果不用编写字符驱动程序,像windows的钩子程序一样,得到你gtk程序的文本信息呢?不知你周边有没 ...
    luckyxichang 发表于 2012-6-10 09:38

    呃,我周边的人几乎都没有对linux感兴趣的,对编程感兴趣的也少之又少,如果能写类似程序的顶多也就是用个什么钩子函数之类的,一换到gtk、qt等等,就全sb了。整个linux界里真正研究gtk编程的,除了那些GNU社区的开发者之外,就很少了,至少说国内是如此。
    关于linux编程,我知道chinaunix的 linux典藏大系 Linux环境C程序设计 这本书的东西很多,但依旧不全,可以参考之
    这类问题我确实没有研究过,如果不用系统API,那就只能从这个程序的变量内存空间和匿名内存空间里找了,或者说如果这个程序在设计时设计了一些相关的API,可以从利用这些API。

  2. luckyxichang 于 2012-06-10 09:38:38发表:

    哦,那你有想过这样的问题吗?比如你写了gtk程序,然后我的终端下也写个程序,目地就是得到你gtk顶层窗口的字符串,如果不用编写字符驱动程序,像windows的钩子程序一样,得到你gtk程序的文本信息呢?不知你周边有没有朋友有类似的经验,一起研究下啊,谢谢!

  3. pl_014 于 2012-06-09 17:33:48发表:

    引用:
    谢谢朋友pl_014 的回复,我的本意是写个驱动,从内核空间访问用户空间,截获gtk窗口的文本信息,再写个程序从该驱动力读出信息,再通过tcp发出去,但我在copy_to_user中不知访问那能拿到数据,
    Guest from 101.40.156.x 发表于 2012-6-9 10:16

    深层次的东西、内核的东西我还没怎么研究过,我现在只研究过一些qt和gtk编程。

  4. 于 2012-06-09 10:16:25发表:

    谢谢朋友pl_014 的回复,我的本意是写个驱动,从内核空间访问用户空间,截获gtk窗口的文本信息,再写个程序从该驱动力读出信息,再通过tcp发出去,但我在copy_to_user中不知访问那能拿到数据,

  5. pl_014 于 2012-06-09 07:24:58发表:

    [i=s] 本帖最后由 pl_014 于 2012-6-9 17:34 编辑 [/i]

    gtk程序的字符串类型有GString和char *,qt程序的字串类型是QString,有些地方也会用string、char *
    做到这个只有三种方法,一是从内存里找对应的字符串,二是利用api,三是文字识别
    再补充一点,屏幕上所显示的文字其实都是通过绘图的方式画上去的