36 个解决方案
#1
1.用钩子来捕获消息
2.用SendMessage或者PostMessage发送消息
2.用SendMessage或者PostMessage发送消息
#2
来晚一步
#3
up
#4
同意kugou123(酷狗)
设置钩子函数用SetWindowHookEx
设置钩子函数用SetWindowHookEx
#5
同意kugou123(酷狗),too
#6
我也来晚了,楼主结帖吧。
#7
各位,能否详细一点,如果有这样的软件就最好了。
我的具体情况是这样的:
我有一个电视卡,安装了他的软件后能够看电视,并且能够通过遥控器来远程遥控,可是我想编写一个软件来设置电视节目单,我想知道我发什么消息能使那个软件转换到我需要的频道到。
各位大侠,谢谢了
我的具体情况是这样的:
我有一个电视卡,安装了他的软件后能够看电视,并且能够通过遥控器来远程遥控,可是我想编写一个软件来设置电视节目单,我想知道我发什么消息能使那个软件转换到我需要的频道到。
各位大侠,谢谢了
#8
揭帖是小事,可我还不懂啊,安装钩子都也知道,可不会有这么容易吧。
#9
这未必和消息有关,而是它底层通信数据格式的问题!
不是所有的,都可以通过消息来完成所有操作的!
不是所有的,都可以通过消息来完成所有操作的!
#10
那可能和消息关系不大了。
#11
你这个问题和windows消息没有任何联系.windows是通过消息驱动的,而电视卡明显不会用windows消息来驱动硬件操作.你需要得到电视卡商的开发包
#12
需要电视卡的接口,有相应的开发包就最好了.
#13
你的问题不是你想象的那样,可能你的想法也行,你可以用vc的工具,看看那些是什么消息就可以了,spy好像就可以看到。
通用方法有两种
1、使用电视卡的开发包
2、使用DirectShow方式,不明白自己买书看,推荐 陆其明 的两本书
http://blog.csdn.net/happydeer
你也可以去请教他本人,ID:happydeer ,专题开发——〉多媒体
通用方法有两种
1、使用电视卡的开发包
2、使用DirectShow方式,不明白自己买书看,推荐 陆其明 的两本书
http://blog.csdn.net/happydeer
你也可以去请教他本人,ID:happydeer ,专题开发——〉多媒体
#14
应该有一个厂商的SDK。
#15
统一前面几位的观点,顺便帮你up一下
#16
关于添加钩子的方法可以参照《windows核心编程》中的方法,不过要达到搂主的目的,那必须拥有厂商的sdk,或者搂主自己研究电视卡驱动软件的通讯方法(这个有点晕)。
#17
很感谢以上大家对我的帮助,针对这个问题我是这样想的,
首先,我没有厂商的SDK,其次我们假设显示播放电视的应
用程序为A.EXE,有一个接收遥控器的程序我们假设为B.exe,
B..EXE在收到遥控器的按键后会将数据以消息的形式发给
A.exe,而我现在想做个钩子来截获B.EXE发给A.EXE的消息,
然后运用到自己的程序中,实现电视节目的智能播放.
以下还希望各位大侠再给与帮助,非常之感激.谢谢!
首先,我没有厂商的SDK,其次我们假设显示播放电视的应
用程序为A.EXE,有一个接收遥控器的程序我们假设为B.exe,
B..EXE在收到遥控器的按键后会将数据以消息的形式发给
A.exe,而我现在想做个钩子来截获B.EXE发给A.EXE的消息,
然后运用到自己的程序中,实现电视节目的智能播放.
以下还希望各位大侠再给与帮助,非常之感激.谢谢!
#18
A,B两个程序的假设我认为不一定成立。
我想遥控控制应该是这样实现的,只有一个应用程序,它有一个线程1专门监听遥控通讯接口(如同网络通讯一样),一旦它接收到信号,便将信号转给信号处理线程2,线程2对信号进行解析,然后控制电视卡驱动程序控制电视机输出。(这种是多线程方式,单线程的话线程1接收到信号后会自己做处理)
如果以上的假设成立,那么整个控制消息的接收和处理过程都在一个程序中实现,搂主应该对该程序进行反汇编,从而找出其内部通讯方法(程序内部通讯方法有多种可能)。
以上是我对这个问题的一些想法,因此我认为只有使用厂商sdk才是比较现实的做法,其它方法太难了,期待强人的解决方法。。。。
我想遥控控制应该是这样实现的,只有一个应用程序,它有一个线程1专门监听遥控通讯接口(如同网络通讯一样),一旦它接收到信号,便将信号转给信号处理线程2,线程2对信号进行解析,然后控制电视卡驱动程序控制电视机输出。(这种是多线程方式,单线程的话线程1接收到信号后会自己做处理)
如果以上的假设成立,那么整个控制消息的接收和处理过程都在一个程序中实现,搂主应该对该程序进行反汇编,从而找出其内部通讯方法(程序内部通讯方法有多种可能)。
以上是我对这个问题的一些想法,因此我认为只有使用厂商sdk才是比较现实的做法,其它方法太难了,期待强人的解决方法。。。。
#19
参照《windows核心编程》中的方法拦截GetMessage消息试试.
#20
楼主还是拘泥于“消息”的误区里面!
我想“ galaxy_fxstar(阿星)”说的更有道理,也更符合实际一点!
这个东西,不太可能通过windows的消息机制,完成所有操作的,它应该依赖于底层驱动——即使你拦截了一部分消息。但你不知道它内部如何处理,又有什么用处呢!
“B..EXE在收到遥控器的按键后会将数据以消息的形式发给
A.exe”——楼主是如何得知,数据是以消息的形式发给a.exe?
不过我倒有个折中的方案——电视卡的播放窗口,会有一些按钮,代替遥控器的功能,楼主可以尝试用程序模拟按那些键,达到你的目的!
我想“ galaxy_fxstar(阿星)”说的更有道理,也更符合实际一点!
这个东西,不太可能通过windows的消息机制,完成所有操作的,它应该依赖于底层驱动——即使你拦截了一部分消息。但你不知道它内部如何处理,又有什么用处呢!
“B..EXE在收到遥控器的按键后会将数据以消息的形式发给
A.exe”——楼主是如何得知,数据是以消息的形式发给a.exe?
不过我倒有个折中的方案——电视卡的播放窗口,会有一些按钮,代替遥控器的功能,楼主可以尝试用程序模拟按那些键,达到你的目的!
#21
我也有电视卡,楼主什么时候把这个问题解决了,把思路或原码发一份给我,weichaohan@163.com.
先谢谢了!
先谢谢了!
#22
对于串口控制,你可以直接用一些软件截获串口的数据,分析其格式,就可以自己写程序了,但是程序运行的时候需要占用另一个串口,两个串口需要连接起来。
#23
此处无高人啊。悲哀阿,努力中。。。
#24
这个感觉和做游戏外挂差不多,需要解决的主要是输入和输出的技术问题
不知道遥控器是对着哪里按,是不是电视卡上就能接收遥控信息?
不知道遥控器是对着哪里按,是不是电视卡上就能接收遥控信息?
#25
学学怎么开发驱动吧,到时候你就知道驱动怎么和程序通讯了,然后呢,当然是要有电视卡的厂商的SDK,要不然的话想做出来,难呀,
不是不有高人,而是这不是高人不高人问题!
如果不给你WINDOWS的SDK的话,让你调用WINDOWS API 我相信现在WINDOWS程序员绝不会像现在这么多!!!
不是不有高人,而是这不是高人不高人问题!
如果不给你WINDOWS的SDK的话,让你调用WINDOWS API 我相信现在WINDOWS程序员绝不会像现在这么多!!!
#26
这个东西的确是和开发外挂有相似之处,必须自己分析其通讯协议。
楼上说的好, 没有SDK的话,大家估计都傻了。。呵呵
楼上说的好, 没有SDK的话,大家估计都傻了。。呵呵
#27
我想遥控应该是直接驱动板卡而不是应用程序呀.
想模拟,没有接口恐难实现.
想模拟,没有接口恐难实现.
#28
A.EXE和B.EXE的假设错误的.
遥控器的操作会促使电视卡产生某些硬件信号,
这些信号可以通过电视卡的驱动程序获得和设置,因此通过调用相应驱动程序接口函数
可以达到遥控器操作相同的效果.电视卡的软件就是直接通过调用驱动程序的这些接口函数(这些函数集合也就是所谓的SDK)操纵电视卡的.如果没有厂商sdk,你没法了解底层驱动的细节,没法直接操纵电视卡。-----------------------
电视卡的播放窗口,会有一些按钮,代替遥控器的功能,楼主可以尝试用程序模拟按那些键,达到你的目的!也就是搂住需要写一个电视卡软件的外挂程序。
遥控器的操作会促使电视卡产生某些硬件信号,
这些信号可以通过电视卡的驱动程序获得和设置,因此通过调用相应驱动程序接口函数
可以达到遥控器操作相同的效果.电视卡的软件就是直接通过调用驱动程序的这些接口函数(这些函数集合也就是所谓的SDK)操纵电视卡的.如果没有厂商sdk,你没法了解底层驱动的细节,没法直接操纵电视卡。-----------------------
电视卡的播放窗口,会有一些按钮,代替遥控器的功能,楼主可以尝试用程序模拟按那些键,达到你的目的!也就是搂住需要写一个电视卡软件的外挂程序。
#29
很高兴这么多朋友关注这个问题,在此我表示无比的感谢!
可能怪我没有讲清楚,以下我对这个问题进行详细的说明:
1、首先,我使用的是一个WinFast的DV2000电视卡,该卡附送有一个红外线遥控器和一个接收头,该接收头通过连线接在电视卡上;
2、电视卡是PCI接口的,使用时直接插在电脑主机的PCI插槽中即可,接上有线电视,装好驱动即可观看电视;
3、观看电视的软件叫WinFast PVR,实际运行的文件为WFTV.exe,可以通过按该软件窗体上的按钮上下换频道,不可直接选台;
4、如果需要使用遥控器,则必须启动执行文件WFWIZ.exe,我个人认为应该是这个软件在获得遥控器按键后发消息给WFTV.exe的,所以一直想截获它发的所有消息。在遥控器上可以直接选台(遥控器和电视机的遥控器一样,这里不多说明)
5、我现在想做的软件功能主要是想替换遥控器,想截获WFTV.exe的所有消息,还望各位路过、看过的大侠不吝指教,谢谢!
可能怪我没有讲清楚,以下我对这个问题进行详细的说明:
1、首先,我使用的是一个WinFast的DV2000电视卡,该卡附送有一个红外线遥控器和一个接收头,该接收头通过连线接在电视卡上;
2、电视卡是PCI接口的,使用时直接插在电脑主机的PCI插槽中即可,接上有线电视,装好驱动即可观看电视;
3、观看电视的软件叫WinFast PVR,实际运行的文件为WFTV.exe,可以通过按该软件窗体上的按钮上下换频道,不可直接选台;
4、如果需要使用遥控器,则必须启动执行文件WFWIZ.exe,我个人认为应该是这个软件在获得遥控器按键后发消息给WFTV.exe的,所以一直想截获它发的所有消息。在遥控器上可以直接选台(遥控器和电视机的遥控器一样,这里不多说明)
5、我现在想做的软件功能主要是想替换遥控器,想截获WFTV.exe的所有消息,还望各位路过、看过的大侠不吝指教,谢谢!
#30
高手很多啊 楼主还是需要自己学习以下hook的相关知识
#31
楼住现在说得比较详细了。
4、如果需要使用遥控器,则必须启动执行文件WFWIZ.exe,我个人认为应该是这个软件在获得遥控器按键后发消息给WFTV.exe的,所以一直想截获它发的所有消息。在遥控器上可以直接选台。
这种可能性是有的。但整个软件WinFast PVR由我来实现的话。我决不会多此一举从WFWIZ.exe向WFTV.exe发送消息。在WFWIZ.exe中我可以直接通过底层驱动接口实现遥控其中的操作,包括选台。
而WFTV.exe也是如此,WFTV.exe要播放视频,那可以直接从底层的缓存中读取视频进行播放。因此遥控器的操作结果可以在WFTV.exe播放的视频窗口中看到。两者之间不需要进行直接的互相通信。
以上仅为个人观点
4、如果需要使用遥控器,则必须启动执行文件WFWIZ.exe,我个人认为应该是这个软件在获得遥控器按键后发消息给WFTV.exe的,所以一直想截获它发的所有消息。在遥控器上可以直接选台。
这种可能性是有的。但整个软件WinFast PVR由我来实现的话。我决不会多此一举从WFWIZ.exe向WFTV.exe发送消息。在WFWIZ.exe中我可以直接通过底层驱动接口实现遥控其中的操作,包括选台。
而WFTV.exe也是如此,WFTV.exe要播放视频,那可以直接从底层的缓存中读取视频进行播放。因此遥控器的操作结果可以在WFTV.exe播放的视频窗口中看到。两者之间不需要进行直接的互相通信。
以上仅为个人观点
#32
支持楼上的!
电视卡应该不会那样设计的!
而且即使如楼主所想的,它也未必就都是通过消息控制的,因为WFTV.exe本身也没所有的功能!——比如不可以直接选台!
如果我是厂商,我会觉得用消息来控制这一切,一点都不高明和方便!
如果你真的要截获消息,你用spy看看它传递的消息啊——当然很多消息,你用spy也还是看不到的!
电视卡应该不会那样设计的!
而且即使如楼主所想的,它也未必就都是通过消息控制的,因为WFTV.exe本身也没所有的功能!——比如不可以直接选台!
如果我是厂商,我会觉得用消息来控制这一切,一点都不高明和方便!
如果你真的要截获消息,你用spy看看它传递的消息啊——当然很多消息,你用spy也还是看不到的!
#33
嗯,现在有点眉目了。谢谢大家,思路还是和我原来的一样,没办法我就这样执着。谢谢各位。
#34
up
#35
楼主的想法太简单.
既然有接受头,就一定是硬件层面上的东西.
遥控器是不会发送消息的,它只会发射电波只类的东西,接受器上有一个接受设备和a/d转换设备,把模拟信号转换数字信号然后解释成命令,这些命令再被监视程序识别并执行.
没有开发包,楼主的想法实现不了的.当然,可以捕获按遥控器后WFTV.exe接受到的所有消息,使用spy++就可以.但是两个应用程序之间打交道的方式不止发送消息(假如WFTV.exe和监听遥控器的exe完全是用消息交互的,那你的问题就可以解决了)
既然有接受头,就一定是硬件层面上的东西.
遥控器是不会发送消息的,它只会发射电波只类的东西,接受器上有一个接受设备和a/d转换设备,把模拟信号转换数字信号然后解释成命令,这些命令再被监视程序识别并执行.
没有开发包,楼主的想法实现不了的.当然,可以捕获按遥控器后WFTV.exe接受到的所有消息,使用spy++就可以.但是两个应用程序之间打交道的方式不止发送消息(假如WFTV.exe和监听遥控器的exe完全是用消息交互的,那你的问题就可以解决了)
#36
楼主好执着阿,你把你的EMAIL发消息给我,我给你一段我以前写的关于西安交大作的视频卡的控制程序。
#1
1.用钩子来捕获消息
2.用SendMessage或者PostMessage发送消息
2.用SendMessage或者PostMessage发送消息
#2
来晚一步
#3
up
#4
同意kugou123(酷狗)
设置钩子函数用SetWindowHookEx
设置钩子函数用SetWindowHookEx
#5
同意kugou123(酷狗),too
#6
我也来晚了,楼主结帖吧。
#7
各位,能否详细一点,如果有这样的软件就最好了。
我的具体情况是这样的:
我有一个电视卡,安装了他的软件后能够看电视,并且能够通过遥控器来远程遥控,可是我想编写一个软件来设置电视节目单,我想知道我发什么消息能使那个软件转换到我需要的频道到。
各位大侠,谢谢了
我的具体情况是这样的:
我有一个电视卡,安装了他的软件后能够看电视,并且能够通过遥控器来远程遥控,可是我想编写一个软件来设置电视节目单,我想知道我发什么消息能使那个软件转换到我需要的频道到。
各位大侠,谢谢了
#8
揭帖是小事,可我还不懂啊,安装钩子都也知道,可不会有这么容易吧。
#9
这未必和消息有关,而是它底层通信数据格式的问题!
不是所有的,都可以通过消息来完成所有操作的!
不是所有的,都可以通过消息来完成所有操作的!
#10
那可能和消息关系不大了。
#11
你这个问题和windows消息没有任何联系.windows是通过消息驱动的,而电视卡明显不会用windows消息来驱动硬件操作.你需要得到电视卡商的开发包
#12
需要电视卡的接口,有相应的开发包就最好了.
#13
你的问题不是你想象的那样,可能你的想法也行,你可以用vc的工具,看看那些是什么消息就可以了,spy好像就可以看到。
通用方法有两种
1、使用电视卡的开发包
2、使用DirectShow方式,不明白自己买书看,推荐 陆其明 的两本书
http://blog.csdn.net/happydeer
你也可以去请教他本人,ID:happydeer ,专题开发——〉多媒体
通用方法有两种
1、使用电视卡的开发包
2、使用DirectShow方式,不明白自己买书看,推荐 陆其明 的两本书
http://blog.csdn.net/happydeer
你也可以去请教他本人,ID:happydeer ,专题开发——〉多媒体
#14
应该有一个厂商的SDK。
#15
统一前面几位的观点,顺便帮你up一下
#16
关于添加钩子的方法可以参照《windows核心编程》中的方法,不过要达到搂主的目的,那必须拥有厂商的sdk,或者搂主自己研究电视卡驱动软件的通讯方法(这个有点晕)。
#17
很感谢以上大家对我的帮助,针对这个问题我是这样想的,
首先,我没有厂商的SDK,其次我们假设显示播放电视的应
用程序为A.EXE,有一个接收遥控器的程序我们假设为B.exe,
B..EXE在收到遥控器的按键后会将数据以消息的形式发给
A.exe,而我现在想做个钩子来截获B.EXE发给A.EXE的消息,
然后运用到自己的程序中,实现电视节目的智能播放.
以下还希望各位大侠再给与帮助,非常之感激.谢谢!
首先,我没有厂商的SDK,其次我们假设显示播放电视的应
用程序为A.EXE,有一个接收遥控器的程序我们假设为B.exe,
B..EXE在收到遥控器的按键后会将数据以消息的形式发给
A.exe,而我现在想做个钩子来截获B.EXE发给A.EXE的消息,
然后运用到自己的程序中,实现电视节目的智能播放.
以下还希望各位大侠再给与帮助,非常之感激.谢谢!
#18
A,B两个程序的假设我认为不一定成立。
我想遥控控制应该是这样实现的,只有一个应用程序,它有一个线程1专门监听遥控通讯接口(如同网络通讯一样),一旦它接收到信号,便将信号转给信号处理线程2,线程2对信号进行解析,然后控制电视卡驱动程序控制电视机输出。(这种是多线程方式,单线程的话线程1接收到信号后会自己做处理)
如果以上的假设成立,那么整个控制消息的接收和处理过程都在一个程序中实现,搂主应该对该程序进行反汇编,从而找出其内部通讯方法(程序内部通讯方法有多种可能)。
以上是我对这个问题的一些想法,因此我认为只有使用厂商sdk才是比较现实的做法,其它方法太难了,期待强人的解决方法。。。。
我想遥控控制应该是这样实现的,只有一个应用程序,它有一个线程1专门监听遥控通讯接口(如同网络通讯一样),一旦它接收到信号,便将信号转给信号处理线程2,线程2对信号进行解析,然后控制电视卡驱动程序控制电视机输出。(这种是多线程方式,单线程的话线程1接收到信号后会自己做处理)
如果以上的假设成立,那么整个控制消息的接收和处理过程都在一个程序中实现,搂主应该对该程序进行反汇编,从而找出其内部通讯方法(程序内部通讯方法有多种可能)。
以上是我对这个问题的一些想法,因此我认为只有使用厂商sdk才是比较现实的做法,其它方法太难了,期待强人的解决方法。。。。
#19
参照《windows核心编程》中的方法拦截GetMessage消息试试.
#20
楼主还是拘泥于“消息”的误区里面!
我想“ galaxy_fxstar(阿星)”说的更有道理,也更符合实际一点!
这个东西,不太可能通过windows的消息机制,完成所有操作的,它应该依赖于底层驱动——即使你拦截了一部分消息。但你不知道它内部如何处理,又有什么用处呢!
“B..EXE在收到遥控器的按键后会将数据以消息的形式发给
A.exe”——楼主是如何得知,数据是以消息的形式发给a.exe?
不过我倒有个折中的方案——电视卡的播放窗口,会有一些按钮,代替遥控器的功能,楼主可以尝试用程序模拟按那些键,达到你的目的!
我想“ galaxy_fxstar(阿星)”说的更有道理,也更符合实际一点!
这个东西,不太可能通过windows的消息机制,完成所有操作的,它应该依赖于底层驱动——即使你拦截了一部分消息。但你不知道它内部如何处理,又有什么用处呢!
“B..EXE在收到遥控器的按键后会将数据以消息的形式发给
A.exe”——楼主是如何得知,数据是以消息的形式发给a.exe?
不过我倒有个折中的方案——电视卡的播放窗口,会有一些按钮,代替遥控器的功能,楼主可以尝试用程序模拟按那些键,达到你的目的!
#21
我也有电视卡,楼主什么时候把这个问题解决了,把思路或原码发一份给我,weichaohan@163.com.
先谢谢了!
先谢谢了!
#22
对于串口控制,你可以直接用一些软件截获串口的数据,分析其格式,就可以自己写程序了,但是程序运行的时候需要占用另一个串口,两个串口需要连接起来。
#23
此处无高人啊。悲哀阿,努力中。。。
#24
这个感觉和做游戏外挂差不多,需要解决的主要是输入和输出的技术问题
不知道遥控器是对着哪里按,是不是电视卡上就能接收遥控信息?
不知道遥控器是对着哪里按,是不是电视卡上就能接收遥控信息?
#25
学学怎么开发驱动吧,到时候你就知道驱动怎么和程序通讯了,然后呢,当然是要有电视卡的厂商的SDK,要不然的话想做出来,难呀,
不是不有高人,而是这不是高人不高人问题!
如果不给你WINDOWS的SDK的话,让你调用WINDOWS API 我相信现在WINDOWS程序员绝不会像现在这么多!!!
不是不有高人,而是这不是高人不高人问题!
如果不给你WINDOWS的SDK的话,让你调用WINDOWS API 我相信现在WINDOWS程序员绝不会像现在这么多!!!
#26
这个东西的确是和开发外挂有相似之处,必须自己分析其通讯协议。
楼上说的好, 没有SDK的话,大家估计都傻了。。呵呵
楼上说的好, 没有SDK的话,大家估计都傻了。。呵呵
#27
我想遥控应该是直接驱动板卡而不是应用程序呀.
想模拟,没有接口恐难实现.
想模拟,没有接口恐难实现.
#28
A.EXE和B.EXE的假设错误的.
遥控器的操作会促使电视卡产生某些硬件信号,
这些信号可以通过电视卡的驱动程序获得和设置,因此通过调用相应驱动程序接口函数
可以达到遥控器操作相同的效果.电视卡的软件就是直接通过调用驱动程序的这些接口函数(这些函数集合也就是所谓的SDK)操纵电视卡的.如果没有厂商sdk,你没法了解底层驱动的细节,没法直接操纵电视卡。-----------------------
电视卡的播放窗口,会有一些按钮,代替遥控器的功能,楼主可以尝试用程序模拟按那些键,达到你的目的!也就是搂住需要写一个电视卡软件的外挂程序。
遥控器的操作会促使电视卡产生某些硬件信号,
这些信号可以通过电视卡的驱动程序获得和设置,因此通过调用相应驱动程序接口函数
可以达到遥控器操作相同的效果.电视卡的软件就是直接通过调用驱动程序的这些接口函数(这些函数集合也就是所谓的SDK)操纵电视卡的.如果没有厂商sdk,你没法了解底层驱动的细节,没法直接操纵电视卡。-----------------------
电视卡的播放窗口,会有一些按钮,代替遥控器的功能,楼主可以尝试用程序模拟按那些键,达到你的目的!也就是搂住需要写一个电视卡软件的外挂程序。
#29
很高兴这么多朋友关注这个问题,在此我表示无比的感谢!
可能怪我没有讲清楚,以下我对这个问题进行详细的说明:
1、首先,我使用的是一个WinFast的DV2000电视卡,该卡附送有一个红外线遥控器和一个接收头,该接收头通过连线接在电视卡上;
2、电视卡是PCI接口的,使用时直接插在电脑主机的PCI插槽中即可,接上有线电视,装好驱动即可观看电视;
3、观看电视的软件叫WinFast PVR,实际运行的文件为WFTV.exe,可以通过按该软件窗体上的按钮上下换频道,不可直接选台;
4、如果需要使用遥控器,则必须启动执行文件WFWIZ.exe,我个人认为应该是这个软件在获得遥控器按键后发消息给WFTV.exe的,所以一直想截获它发的所有消息。在遥控器上可以直接选台(遥控器和电视机的遥控器一样,这里不多说明)
5、我现在想做的软件功能主要是想替换遥控器,想截获WFTV.exe的所有消息,还望各位路过、看过的大侠不吝指教,谢谢!
可能怪我没有讲清楚,以下我对这个问题进行详细的说明:
1、首先,我使用的是一个WinFast的DV2000电视卡,该卡附送有一个红外线遥控器和一个接收头,该接收头通过连线接在电视卡上;
2、电视卡是PCI接口的,使用时直接插在电脑主机的PCI插槽中即可,接上有线电视,装好驱动即可观看电视;
3、观看电视的软件叫WinFast PVR,实际运行的文件为WFTV.exe,可以通过按该软件窗体上的按钮上下换频道,不可直接选台;
4、如果需要使用遥控器,则必须启动执行文件WFWIZ.exe,我个人认为应该是这个软件在获得遥控器按键后发消息给WFTV.exe的,所以一直想截获它发的所有消息。在遥控器上可以直接选台(遥控器和电视机的遥控器一样,这里不多说明)
5、我现在想做的软件功能主要是想替换遥控器,想截获WFTV.exe的所有消息,还望各位路过、看过的大侠不吝指教,谢谢!
#30
高手很多啊 楼主还是需要自己学习以下hook的相关知识
#31
楼住现在说得比较详细了。
4、如果需要使用遥控器,则必须启动执行文件WFWIZ.exe,我个人认为应该是这个软件在获得遥控器按键后发消息给WFTV.exe的,所以一直想截获它发的所有消息。在遥控器上可以直接选台。
这种可能性是有的。但整个软件WinFast PVR由我来实现的话。我决不会多此一举从WFWIZ.exe向WFTV.exe发送消息。在WFWIZ.exe中我可以直接通过底层驱动接口实现遥控其中的操作,包括选台。
而WFTV.exe也是如此,WFTV.exe要播放视频,那可以直接从底层的缓存中读取视频进行播放。因此遥控器的操作结果可以在WFTV.exe播放的视频窗口中看到。两者之间不需要进行直接的互相通信。
以上仅为个人观点
4、如果需要使用遥控器,则必须启动执行文件WFWIZ.exe,我个人认为应该是这个软件在获得遥控器按键后发消息给WFTV.exe的,所以一直想截获它发的所有消息。在遥控器上可以直接选台。
这种可能性是有的。但整个软件WinFast PVR由我来实现的话。我决不会多此一举从WFWIZ.exe向WFTV.exe发送消息。在WFWIZ.exe中我可以直接通过底层驱动接口实现遥控其中的操作,包括选台。
而WFTV.exe也是如此,WFTV.exe要播放视频,那可以直接从底层的缓存中读取视频进行播放。因此遥控器的操作结果可以在WFTV.exe播放的视频窗口中看到。两者之间不需要进行直接的互相通信。
以上仅为个人观点
#32
支持楼上的!
电视卡应该不会那样设计的!
而且即使如楼主所想的,它也未必就都是通过消息控制的,因为WFTV.exe本身也没所有的功能!——比如不可以直接选台!
如果我是厂商,我会觉得用消息来控制这一切,一点都不高明和方便!
如果你真的要截获消息,你用spy看看它传递的消息啊——当然很多消息,你用spy也还是看不到的!
电视卡应该不会那样设计的!
而且即使如楼主所想的,它也未必就都是通过消息控制的,因为WFTV.exe本身也没所有的功能!——比如不可以直接选台!
如果我是厂商,我会觉得用消息来控制这一切,一点都不高明和方便!
如果你真的要截获消息,你用spy看看它传递的消息啊——当然很多消息,你用spy也还是看不到的!
#33
嗯,现在有点眉目了。谢谢大家,思路还是和我原来的一样,没办法我就这样执着。谢谢各位。
#34
up
#35
楼主的想法太简单.
既然有接受头,就一定是硬件层面上的东西.
遥控器是不会发送消息的,它只会发射电波只类的东西,接受器上有一个接受设备和a/d转换设备,把模拟信号转换数字信号然后解释成命令,这些命令再被监视程序识别并执行.
没有开发包,楼主的想法实现不了的.当然,可以捕获按遥控器后WFTV.exe接受到的所有消息,使用spy++就可以.但是两个应用程序之间打交道的方式不止发送消息(假如WFTV.exe和监听遥控器的exe完全是用消息交互的,那你的问题就可以解决了)
既然有接受头,就一定是硬件层面上的东西.
遥控器是不会发送消息的,它只会发射电波只类的东西,接受器上有一个接受设备和a/d转换设备,把模拟信号转换数字信号然后解释成命令,这些命令再被监视程序识别并执行.
没有开发包,楼主的想法实现不了的.当然,可以捕获按遥控器后WFTV.exe接受到的所有消息,使用spy++就可以.但是两个应用程序之间打交道的方式不止发送消息(假如WFTV.exe和监听遥控器的exe完全是用消息交互的,那你的问题就可以解决了)
#36
楼主好执着阿,你把你的EMAIL发消息给我,我给你一段我以前写的关于西安交大作的视频卡的控制程序。