完美者(wmzhe.com)网站以软件下载为基础,改版后的网站对功能性板块进行扩充,以期能够解决用户在软件使用过程中遇见的所有问题。网站新增了“软件百科”、“锦囊妙技”等频道,可以更好地对用户的软件使用全周期进行更加专业地服务。
GetWindowText是一款提取windows窗口中不能复制的文字的读取窗口文本,使用简单,只需按住鼠标左键拖动GetWindowText图标然后在你想要读取的窗口文本的地方松开即可,软件几乎能读取所有的标准窗口控件内容, 如:静态,分组框中 - 控制等,它也能查看密码框查看器,完全能够替代星号密码查看器。
1.它原始的功能是读取窗口文本。
2.它可以读取几乎所有的文本,例如:从编辑,静态,分组框中 - 控制等。按住鼠标左键,拖到左中间的图案到需要读取的程序或文件夹中,当你释放鼠标按钮,将完成阅读
3.该函数将指定窗口的标题条文本(如果存在)拷贝到一个缓存区内。如果指定的窗口是一个控件,则拷贝控件的文本。但是,GetWindowText不能接收其他应用程序中控件的文本。
函数原型:Int GetWindowText(HWND hWnd,LPTSTR lpString,Int nMaxCount);
hWnd:带文本的窗口或控件的句柄。
IpString:指向接收文本的缓冲区的指针。
nMaxCount:指定要保存在缓冲区内的字符的最大个数,其中包含NULL字符。如果文本超过界限,它就被截断。
getwindowtext的DELPHI例子:
var
p:pchar;
begin
getmem(p,255);
getwindowtext(application.Handle,p,255);
showmessage(strpas(p));
freemem(p);
end;
"锦囊妙技"栏目是聚合全网软件使用的技巧或者软件使用过程中各种问题的解答类文章,栏目设立伊始,小编欢迎各路软件大神朋友们踊跃投稿,在完美者平台分享大家的独门技巧。
本站文章素材来源于网络,大部分文章作者名称佚失,为了更利于用户阅读和使用,根据需要进行了重新排版和部分改编,本站收录文章只是以帮助用户解决实际问题为目的,如有版权问题请联系小编修改或删除,谢谢合作。
软件大小:150.00 KB
应该是m_edit的类型定义错误了,应该定义为CEdit型变量,你定义为CString类型是错误的。
SetWindowText是一个Windows API函数。该函数改变指定窗口的标题栏的文本内容(如果窗口有标题栏)。如果指定窗口是一个控件,则改变控件的文本内容。然而,SetWindowText函数不改变其他应用程序中的控件的文本内容。 GetWindowText该函数将指定窗口的标题条文本(如果存在)拷贝到一个缓存区内。如果指定的窗口是一个控件,则拷贝控件的文本。但是,GetWindowText不能接收其他应用程序中控件的文本。 函数原型:Int GetWindowText(HWND hWnd,LPTSTR lpString,Int nMaxCount);
假设你的文本框的ID是IDC_EDIT1 在父窗口的成员函数中这样调用: Cstring strText; GetDlgItem(IDC_EDIT1)->GetWindowText(strText);
窗体上一个命令按钮一个文本框 Option Explicit Private Sub Command1_Click() Dim ret As Long ret = EnumWindows(AddressOf EnumWindowsProc, 0) If ret = 0 Then Debug.Print False Else Debug.Print True End If End Sub '************************************************** '模块代码:Module1.bas '************************************************** Option Explicit Public Declare Function EnumWindows Lib "user32" (ByVal lpEnumFunc As Long, ByVal lParam As Long) As Long Public Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long Public Function EnumWindowsProc(ByVal hwnd As Long, ByVal lParam As Long) As Long Dim lpBuffer As String * 1024 Dim dwWindowCaption As String Dim lpLength As Long lpLength = GetWindowText(hwnd, lpBuffer, 1024) dwWindowCaption = Left(lpBuffer, lpLength) Form1.Text1.Text = dwWindowCaption If InStr(dwWindowCaption, "Word") > 0 Then '停止查找函数返回0 EnumWindowsProc = 0 Else '继续查找函数返回1 EnumWindowsProc = 1 End If End Function