pl_014 于 2012-06-10 21:49:36发表:
引用:哦,那你有想过这样的问题吗?比如你写了gtk程序,然后我的终端下也写个程序,目地就是得到你gtk顶层窗口的字符串,如果不用编写字符驱动程序,像windows的钩子程序一样,得到你gtk程序的文本信息呢?不知你周边有没 ... luckyxichang 发表于 2012-6-10 09:38
luckyxichang 于 2012-06-10 09:38:38发表:
哦,那你有想过这样的问题吗?比如你写了gtk程序,然后我的终端下也写个程序,目地就是得到你gtk顶层窗口的字符串,如果不用编写字符驱动程序,像windows的钩子程序一样,得到你gtk程序的文本信息呢?不知你周边有没有朋友有类似的经验,一起研究下啊,谢谢!
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
于 2012-06-09 10:16:25发表:
谢谢朋友pl_014 的回复,我的本意是写个驱动,从内核空间访问用户空间,截获gtk窗口的文本信息,再写个程序从该驱动力读出信息,再通过tcp发出去,但我在copy_to_user中不知访问那能拿到数据,
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,三是文字识别 再补充一点,屏幕上所显示的文字其实都是通过绘图的方式画上去的
pl_014 于 2012-06-10 21:49:36发表:
呃,我周边的人几乎都没有对linux感兴趣的,对编程感兴趣的也少之又少,如果能写类似程序的顶多也就是用个什么钩子函数之类的,一换到gtk、qt等等,就全sb了。整个linux界里真正研究gtk编程的,除了那些GNU社区的开发者之外,就很少了,至少说国内是如此。
关于linux编程,我知道chinaunix的 linux典藏大系 Linux环境C程序设计 这本书的东西很多,但依旧不全,可以参考之
这类问题我确实没有研究过,如果不用系统API,那就只能从这个程序的变量内存空间和匿名内存空间里找了,或者说如果这个程序在设计时设计了一些相关的API,可以从利用这些API。
luckyxichang 于 2012-06-10 09:38:38发表:
哦,那你有想过这样的问题吗?比如你写了gtk程序,然后我的终端下也写个程序,目地就是得到你gtk顶层窗口的字符串,如果不用编写字符驱动程序,像windows的钩子程序一样,得到你gtk程序的文本信息呢?不知你周边有没有朋友有类似的经验,一起研究下啊,谢谢!
pl_014 于 2012-06-09 17:33:48发表:
深层次的东西、内核的东西我还没怎么研究过,我现在只研究过一些qt和gtk编程。
于 2012-06-09 10:16:25发表:
谢谢朋友pl_014 的回复,我的本意是写个驱动,从内核空间访问用户空间,截获gtk窗口的文本信息,再写个程序从该驱动力读出信息,再通过tcp发出去,但我在copy_to_user中不知访问那能拿到数据,
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,三是文字识别
再补充一点,屏幕上所显示的文字其实都是通过绘图的方式画上去的