ATHK弄出个有道词典加入生词本的快接键...

(由于我平时查词一般都最大化,没用最小化的那个,所以位置还是比较固定比较好找)
(本方法我个人使用..不保证在其它配置,其它版本上使用的正确性)
 
无折腾,不快活..................
有人说,程序员应该是懒惰的,,,,,,
本人就是因为懒得用鼠标去点 有道词典中那个 "添加到生词本"那个小小的按钮(后来发现只是一个链接)
而忙活了整整一个上午再搭上了下午一大段的时间,
 
这个事情本来想得很简单,,,,,
有道词典中....应该有这个快捷键吧,
 
可惜翻遍了菜单,都没有.......
看来,,懒点都不行,,,
 
再次,我想着一下提一个意见,于是在反馈中加入了这个信息,希望有道词典在下一版中加上去..
 
再次在网上搜一下有没有其它的解决方案.
结果发现这个需求早就有人提出,,,为什么这个容易的事也没有去响应...
 
而网上有一系列的解决方案,都是用autoHotKey或脚本精灵等工具进行一系列外挂的设置.
但是...
发现之前那几个版的的好像还不全.总之我拿过来不能用.....
不过思路倒是有了..
放到最大化时,再用鼠标搜到那个图片,,,
详见下面这个链接...
总体的思路就是找到图片,再click........
 

http://chojemmy.com/2012/02/05/youdao-shortcut-key


可是上文并没有说清楚是哪个图片,可能是由于各人装的目录不同,而且版本也不断变化的关系吧.
所以.只好自己动手....
 
于是,我再次懒起来,
想一下,哪个图片,直接打开EXE不就可以看呢?
如果找一个可以打开EXE看里面的资源的方法..
 

http://www.cnblogs.com/over140/archive/2009/05/01/1447380.html


从上面的链接中发现,其实我们大可以用vs08来打开EXE文件看到其资料,,
正窃喜,,,,但是..发现居然找遍了EXE各种bmp, icon dialog 等资源,,,,,,,,,
还真没...
而且发现
平时看到解释词语那部分是内嵌html(在VC中看到是一个类似flash)的东东实现的.....
 
所以之前想着用 spy++找到那个加入到生词本的方法,直接用第三方去调用....看来是不行..
 
打开spy++证实了我的那个猜想,,,
 
于是看一下文件结构...发现
这次需要修改的部分应该在
DICT54
resultui
目录里面........
所以去搜索是什么,最后发现修改那个
(找了老半天,,对JS之类的脚本还真不熟,,,其中对于
js目录中的
all-min.js
是压缩过的,在网上找了个网站
 

http://javascript.51240.com/



才解压成功,整理是可看的格式,但是运行居然会出错,
 
还好,我只里需要查看,而不需要修改这个文件而己)



 
 
commonfile.xls
中关于加入到词典中那部分是可以改的,,
所以,平时加入单词的过程不是点击按钮,只是点了一个链接....
 
其实定位这个修改文件的过程中还想看一下web版是怎样写的,
用开发员分析工具(chrome自带的)看了一下youdao的 web版...发现还是没有所获,,
最后还是通过在加入到生词本中的那个提示语才找到所需要修改的地方,
(注意.那些提示语需要用UTF-8的方式才能寻找得到)
 
说了老半天,,好像我还是没有说为什么要修改这个按钮...
事情是这样的,,,
 
 
因为就算是用ATHK去做脚本修改,用鼠标去单击那个加入到生词本的按钮.....
但是,因为初次设定的时候,那个按钮是在所查单语的后面(就设计来说,这个设计是正常的,....再后来还有发音等链接,
 
所以问题要以描述为,由于加入单词本那个按钮会随着单词的长度而变化.不能用固定的用标点去描述.
 
1个方法是用ATHK的imageSearch功能找到图片,可是需要知道图片的路径.....但是在目录结构中发现是不可行的
那个按钮是一个PNG(中很多的按钮都整在一个图中)再用不知什么技术嵌在了HTML中,,所以,用VC找资源的方法是不可行的
 
2.所以需要用人为地把这个链接固起来,,,,
开始我想把这个链接固在所显示要查询单词的前面就可以了,
 
既然是一个链接,那种我们一般可以用把鼠标停在上面时的提示语去查到这个链接.
 
用空上方法我还真的找到了,
resultui
中的
commonfile.xsl
文件,
定位到
 
<xsl:template name="keyword_top_line_pronounce">
<xsl:param name="keyword"/>
<xsl:param name="phone"/>
<xsl:param name="ukphone"/>
<xsl:param name="usphone"/>
<xsl:param name="speech"/>
<xsl:param name="ukspeech"/>
<xsl:param name="usspeech"/>
<xsl:param name="phonesup"/> <!-- 音标,上标的形式出现 [日语]-->
<xsl:param name="field"/> <!-- 域  [日语]-->
<xsl:param name="origin"/> <!-- 词源 [日语]-->
<xsl:param name="showadd2wordbook"/>
<xsl:param name="showfeedback">false</xsl:param>
 
这一段中,,,把原来靠后的
 
<!--moidfy begin 2013-02-21 15:37:46 4/7-->
<!-- 单词本 -->
<xsl:if test="$showadd2wordbook = 'true'">
<xsl:element name="a">
<xsl:attribute name="hidefocus">true</xsl:attribute>
<xsl:attribute name="class">sp add-fav</xsl:attribute>
<xsl:attribute name="title">加入单词本</xsl:attribute>
<xsl:attribute name="id">addFav</xsl:attribute>
<xsl:attribute name="ref"><xsl:value-of select="$keyword" disable-output-escaping="yes"/></xsl:attribute>
<xsl:attribute name="href">app:addword:<xsl:value-of select="$keyword" disable-output-escaping="yes"/></xsl:attribute>
<xsl:attribute name="onclick">ctlog('', '' , 0, 'deskdict.main' , 1, 'CLICK',  'WordBook');</xsl:attribute>
</xsl:element>
</xsl:if>
<!--moidfy  2013-02-21 15:37:54 4/7 end-->
挪到
 
 


<xsl:if test="$keyword">
 
前面,,
也就是实现"加入到单词本"这个按钮在 所查的单词前面(这样下来的位置就固定下来了,
如下图的小圈
 
 
 
再加入ATHK脚本中加入
 
;add the word to workbook begin
^!i::
MouseClick, left,  130,  95
;Sleep, 100
;为了避免点完之后停留在上面会有弹出的文字提示,稍稍把鼠标移开一点点

MouseMove, 110,90

return
;add the word to workbook end
 
就实现了.......
有点小累
 
 
 
 
 

 
 
 
 
 

posted on 2013-02-21 15:49  Orz..  阅读(1557)  评论(1编辑  收藏  举报

导航