请教高手
我因为项目需要开发了一个ActiveX控件,嵌入到网页中。目的是通过Scoket和服务器通信。为了不影响界面的美观,控件是不可见的,但是我需要获取键盘的输入(直接取得,不需要网页传过来),这个怎么办啊?
控件是用VC++ MFC开发的。请高手指点。谢谢!

解决方案 »

  1.   

    我也不大懂,你可以试下进程外HOOK
      

  2.   

    不能,键盘消息是由容器转发过来的,前提是控件有界面并且已经UI激活了。如果控件是有窗口的,那么这个窗口必须是焦点窗口才能收到键盘消息。HOOK方式有困难,ACTIVEX控件的执行权限较低。
      

  3.   

    Windows中的应用程序是以窗体消息的形式来获取键盘输入,而且窗口必须聚焦才行,而聚焦就必须是可视的。
    因此想通过隐藏的窗口获取键盘输入,必须通过钩子。楼主可以多了解Hook方面的技术
      

  4.   

    可以。
    用ActiveX向系统中通过驱动注册一个中断服务
      

  5.   

    这边有2个思路,都是基于内核的一个是设置0x93中断号,设置IDT中的中断服务程序的地址
    而是通过IOAPIC,修改它的重定位表,然后插IDT你的ActiveX只需要DeviceIoControl就行了,网银很多都是这么干的
    你可以参考我网盘中的incision.sys
      

  6.   

    那就发个例子呗,呵呵。谢谢。
    [email protected]
      

  7.   

    网页上有截获键盘的代码  一旦截获到键盘输入  就调用你控件的接口函数  就可以了啊你Google一下就找到截获键盘消息的代码了   可能是JavaScript写的
      

  8.   

    就没个简单点的方法吗?HOOK的话,杀毒软件会不会怀疑是病毒啊?