首页   注册   登录
 iMath 最近的时间轴更新

iMath

V2EX 第 177901 号会员,加入于 2016-06-17 14:36:51 +08:00
谷歌 books 的一个按钮的点击事件问题
JavaScript  •  iMath  •  263 天前  •  最后回复来自 flowfire
3
[ [ Linux 64 位软件] ] 乐影音下载器 5 来了,一键下载各种视频
Linux  •  iMath  •  2017-02-10 10:30:54 AM  •  最后回复来自 spice630
13
[更新+开源] 必应好壁纸 3.1 发布,并且开源
Python  •  iMath  •  2017-01-12 21:08:09 PM  •  最后回复来自 iMath
18
[ [ [开源] ] ] 必应好壁纸 3.0,希望大家多多支持!
Python  •  iMath  •  2017-01-06 20:49:00 PM  •  最后回复来自 dntc
36
[邀请函] 大家一起来增强 [ [乐影音下载器] ] 的下载功能吧
  •  1   
    Python  •  iMath  •  2016-06-27 16:56:36 PM  •  最后回复来自 iMath
    5
    iMath 最近回复了
    @lee88688 3Q !但是在我现在这个应用场景下用 ctypes 调用 dll 函数似乎难度又上了一个层次,我只能写出这种来就进行不下去了
    from ctypes import *
    print(cdll.WCaptureX.CreateCOMObject)
    @zhuangzhuang1988 搞定了一部分,见 47 楼
    做这种事情,包括你说的那个项目,感觉都还是要懂些 C 或 C++才能入手,不然的话步履维艰啊
    @cszhiyue 你的引用道出了我在这篇帖子里的处境,万分感谢!
    阁下能否推荐些你觉得大多数人都值得一看的书来看看?
    @lee88688 用 ctypes 我只能走到这一步就不知道下一步怎么走了
    from ctypes import *
    print(cdll.WCaptureX.CreateCOMObject)
    @FanWall 谢谢大哥不断的指教!
    我现在写出的代码如下
    from win32com.client import Dispatch
    import win32gui
    import mouse
    import time
    from threading import Timer

    WCaptureX = Dispatch("{8F267988-0CA4-418C-8F94-B4BC5862B390}")
    WInput = Dispatch("{4B484CCE-9120-49B7-A5F2-B8B183BFD808}")



    def onMouseClicked():
    # x,y=mouse.get_position()
    # windowHandle = win32gui.WindowFromPoint((x,y))
    # windowClassName= win32gui.GetClassName(windowHandle)
    # print(win32gui.GetClassName(windowHandle)) WInput.Hwnd=None
    windowHandle,x,y=WCaptureX.GetCursorInfo()
    WInput.Hwnd=windowHandle
    WInput.StartX=x
    WInput.StartY=y
    # WInput.EndX=x+100
    # WInput.EndY=y+100
    WResult=WCaptureX.Capture(WInput)
    print(WResult.TEXT ,WResult.Paragraph )


    mouse.on_click(onMouseClicked) # 实际是 released event
    mouse.wait(button='right', target_types=('double', ))


    我试了下 Word 2016 取词也是没问题,但是 Chrome 和 sumatraPDF 之类的软件就无法取词,估计是我没有找到正确的使用方式吧。
    据我所知,国内的欧路词典也是用这套工具,该软件在 Chrome 和 sumatraPDF 里取词没问题……
    @ysc3839
    @reus 还是你理解我!理解万岁!
    谈钱伤感情,我错了,各位!
    @ysc3839 我误打误撞地似乎找到了可以用的方式,如下
    from win32com.client import Dispatch
    WCaptureX = Dispatch("{8F267988-0CA4-418C-8F94-B4BC5862B390}")
    print(WCaptureX.GetCursorInfo(None) )

    在我的电脑上,CLSID 是{8F267988-0CA4-418C-8F94-B4BC5862B390},不知道在别的机器上 CLSID 会不会变?
    通过 oleview.exe 找到了这些内容,接下来怎么做也还要等摸索
    ![
    ]( )
    @ysc3839 谢谢!
    这里有各种语言的 demo
    https://github.com/yanivyhc/WordCaptureSamples
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   鸣谢   ·   实用小工具   ·   2104 人在线   最高记录 3762   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.1 · 14ms · UTC 10:52 · PVG 18:52 · LAX 03:52 · JFK 06:52
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1