截获窗体标题的钩子问题(60)

  • 主题发起人 主题发起人 shubiao123
  • 开始时间 开始时间
S

shubiao123

Unregistered / Unconfirmed
GUEST, unregistred user!
我想用钩子来截获窗体的标题,有两个按钮,一个是设置钩子的,一个是释放钩子的,设置钩子时把窗体的标题显示在edit控件里,并且把窗体的标题修改成别的。当释放钩子后,窗体的标题恢复成原来的。
 
处理WM_GETTEXT和WM_SETTEXT消息就可以了吧?
 
1.是所有窗口?还是特定标题窗口?2.是本进程窗口?还是其他进程的窗口?
 
不是,是WM_CREATE和WM_SETTEXT
 
给个例子呀,说说用法。
 
1、WinAPI: GetWindowText - 获取窗口标题 //声明:GetWindowText( hWnd: HWND; {窗口句柄} lpString: PChar; {接收文本的缓冲区的指针} nMaxCount: Integer {指定缓冲区大小, 其中包含NULL字符; 如果文本超出,会被被截断}): Integer; {返回字符个数, 不包括中断的空字符; 如果标题为空或句柄无效, 则返回零} --------------------------------------------------------------------------------//举例:var arr: array[0..254] of Char;begin GetWindowText(Handle, @arr, SizeOf(arr)); ShowMessage(arr); {Form1}end;--------------------------------------------------------------------------------//标题文本个数:var arr: array[0..254] of Char; num: Integer;begin num := GetWindowText(Handle, arr, SizeOf(arr)); ShowMessage(IntToStr(num)); {5}end;--------------------------------------------------------------------------------2、WinAPI: SetWindowText - 设置窗口标题 //声明:SetWindowText( hWnd: HWND; {窗口句柄} lpString: PChar {新标题串指针}): BOOL;--------------------------------------------------------------------------------//举例:var s: string;begin s := '新标题'; SetWindowText(Handle, PAnsiChar(s));end;--------------------------------------------------------------------------------
 
API 窗口函数http://www.cnblogs.com/del/category/122464.html
 
接受答案了.
 

Similar threads

D
回复
0
查看
837
DelphiTeacher的专栏
D
D
回复
0
查看
843
DelphiTeacher的专栏
D
后退
顶部