记事本用什么函数输出文字?比如:exttextout,textout等。(1000分,不够再加)(50分)

  • 主题发起人 主题发起人 梆梆
  • 开始时间 开始时间

梆梆

Unregistered / Unconfirmed
GUEST, unregistred user!
如题,记事本用什么函数输出文字?<br>我拦截了 &nbsp;<br>&nbsp; &nbsp;TextOutA<br>&nbsp; &nbsp;TextOutW<br>&nbsp; &nbsp;ExtTextOutA<br>&nbsp; &nbsp;ExtTextOutW<br>&nbsp; &nbsp;DrawTextA<br>&nbsp; &nbsp;DrawTextW<br>&nbsp; &nbsp;DrawTextExA<br>&nbsp; &nbsp;DrawTextExW<br>&nbsp; &nbsp;TabbedTextOutA<br>&nbsp; &nbsp;TabbedTextOutW<br>&nbsp; &nbsp;PolyTextOutA<br>&nbsp; &nbsp;PolyTextOutW<br>&nbsp; &nbsp;GetTextExtentExPointA<br>&nbsp; &nbsp;GetTextExtentExPointW<br>&nbsp; &nbsp;GetTextExtentPoint32A<br>&nbsp; &nbsp;GetTextExtentPoint32W<br>&nbsp; &nbsp;GetTextExtentPointA<br>&nbsp; &nbsp;GetTextExtentPointW<br><br>却拦截不到记事本,IE,Delphi 的edit,memo 这些文本输入框的输出函数,谁能帮我<br>解决这个问题,给1000分,不够再加。
 
应该是TextOutA啊
 
在我win2000下用的是textoutw
 
function NewExtTextOutW(hdc: HDC; x,y: Integer; Options: DWORD; Clip:<br>PRect;<br>&nbsp; text: PAnsiChar; len: Integer; dx: PInteger): BOOL; stdcall;<br>Var s: String;<br>begin<br>sendmsg(hdc,text);<br>&nbsp; try<br>&nbsp; &nbsp; &nbsp; if @OldExtTextOutA&lt;&gt;nil then<br>&nbsp; &nbsp; &nbsp; //Result:=OldExtTextOutW(hdc,x,y,Options,Clip,text,len,dx)<br>&nbsp; &nbsp; &nbsp; else Result:=False;<br>&nbsp; except<br>&nbsp; &nbsp; Result:=False;<br>&nbsp; end;<br>end;<br><br>我看了其他屏幕取词的c代码,他们的确是拦截了exttextoutw<br>我用上面的代码改写系统函数,即使我把<br>//Result:=OldExtTextOutA(hdc,x,y,Options,Clip,text,len,dx)<br>注释掉,记事本文本框仍然能正常显示.但不是说我没有拦截到exttextoutw,<br>因为记事本的标题,菜单等已经不能显示了.如果谁用delphi拦截过api的,请<br>帮我试试看,给出用delphi写出的能抓记事本的dll,给2000分了!<br><br>
 
首先要抓住记事本的句柄,我建议自己做一个会更方便!
 
我要做屏幕取词,难道我要重新做office,notepad,ie...呵呵
 
我用BCB写的,也是这个问题,就是截不住,不过我的金山糍粑截获的好像也是错的。
 
http://www.delphibbs.com/delphibbs/dispq.asp?lid=518043
 
http://www.delphibbs.com/delphibbs/dispq.asp?LID=996179<br><br>用的 ExtTextOutA <br>---------------------------------<br>来自:jrq, 时间:2002-4-8 8:23:00, ID:1029777 | 编辑 <br>不好意思,今天我才看到这个帖子,已经结束了!<br>我的程序,就是上面的源码文件,在D6下调试通过了,其结果并不象“金山词霸”那样的!<br>我试了一下只能做到在文本中的取词,如可以得到Delphi代码编辑器中所有的词语!<br>取桌面的如“我的电脑”,好像还不行! &nbsp;<br>那几个函数还有待研究<br>----------------------<br>一起研究! &nbsp; &nbsp;[:)][:)]
 
to: jrq<br>我写的代码也能取到一般的文本输出,如你所说:Delphi代码编辑器,等。<br>在整个系统中,不能取到的词就是记事本和浏览器里的。<br>如果你的delphi代码可以,请给我看,2000分给你。<br><br>
 
屏幕取词的完整解决方案见我的《delphi深入windows核心编程》一书,<br>解决了IE、win98下的高技术难题,支持windows98/2000/xp,<br>我的主页http://wenjinshan.yeah.net
 
后退
顶部