How to get the password text in a text with password property from another process using C++ – 用C++如何从不同进程获取密码框文本
admin | 屏幕取词 | 2013-05-15
C++
CString str;
CString strTemp;
char buf[1024];
char cClassName[1024];
LONG lWndID;
CString strText;
::GetClassName(hwnd,(LPSTR)&cClassName,1024);
strTemp.Format("%s",cClassName);
if("Edit" == strTemp)
{
LONG lngWndStype;
lngWndStype = GetWindowLong(hwnd,GWL_STYLE);
if(lng... [阅读全文]
How can I get the text of another process’ window?
admin | 屏幕取词 | 2013-05-15
As you’ve probably found out by now, calling GetWindowText() won’t work most of the time. The reason for this is that GetWindowText() won’t do the necessary translation between the address spaces of the two processes. This is required because address that the calling process passes to GetWindowText() in the ... [阅读全文]
GetWindowText的怪异行为
admin | Windows api | 2013-05-15
在看The old new thing时偶然发现GetWindowText这个API的一些八卦,翻了MSDN之后,觉得这个API的确很有意思,远不止之前所认为仅是简单的获取目标窗口的文字。
1.普遍真理
在写Win32程序时,GetWindowText最常见的用途是获取目标窗口的文本,以handle进行查找匹配。
即如下图
2.从MSDN说起
在MSDN中,对GetWindowText描述如下:
The GetWindowText f... [阅读全文]
Qt精简编译方法总结
admin | Qt Gui | 2013-05-15
Qt如果采取默认编译安装,一般都要占用上G的空间。当初自己不想涉及Qt的一个原因,就是嫌它太臃肿了。近期通过反复对比,发现Qt还是有着很大潜力的,于是,决定好好学习一下,就有了这篇精简编译的笔记。
修改编译选项(mkspecs/win32-msvc2010/qmake.conf): QMAKE_CFLAGS_RELEASE = -O2 -Os -MD QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2... [阅读全文]
Win32 Grab Screen
admin | win32 | 2013-05-14
C++
#include <iostream>
#include <windows.h>
#include <gdiplus.h>
#include <memory>
using namespace Gdiplus;
using namespace std;
int GetEncoderClsid(const WCHAR* format, CLSID* pClsid)
{
UINT num = 0; // number of image encoders
UINT size = 0; // size of th... [阅读全文]
Windows密码查看器实现原理
admin | win32 | 2013-05-13
C++
在程序员眼中,Windows的用户界面就是一个由无数个大小窗口组合在一起的整体。密码框也不例外, 它是一个具有ES_PASSWORD风格的"Edit"类子窗口控制。既然它是一个窗口,就难免具有一些Windows窗口所共有的特性: 有一个窗口过程;可以接收消息。
或许你已经知道,向文本框发送一个WM_GETTEXTLENGTH消息,就能获得文... [阅读全文]
实现在任意窗口获取鼠标选中的文本内容
admin | win32 | 2013-05-13
一、打开剪切板
OpenClipboard();
二、获得指向剪切板的全局指针变量
HANDLE hClipMemory=::GetClipboardData(CF_TEXT);
三、锁定剪切板
LPBYTE lpClipMemory = (LPBYTE)GlobalLock(hClipMemory);
四、获取剪切板内容
CString m_sMessage = CString(lpClipMemory);
五、解锁剪切板
GlobalUnlock(hClipMemory);
六、关闭剪切板
::CloseClipboard();
读取... [阅读全文]
模拟双击其它进程窗口中的CListCtrl控件的某一项
admin | win32 | 2013-05-13
C++
HWND hWnd = ::FindWindow(NULL, _T("XXX"));
if(hWnd)
{
HWND hList = ::FindWindowEx(hWnd, NULL, _T("SysListView32"), NULL);
if(hList)
{
DWORD PID = 0;
::GetWindowThreadProcessId(hList, &PID);
HANDLE hProcess = ::OpenProcess(PROCESS_ALL_ACCESS, FALSE, PID);
if(hProcess... [阅读全文]
来自彗星小助手里的”获取窗口内容”功能
admin | win32 | 2013-05-13
C++
CString CWinSpyCentent::GetListViewCentent(BOOL bReport)
{
CString strContent=_T("");
CString str=_T("");
DWORD PID=0;
HWND hWnd=g_hWndSpy;//目标ListView句柄
GetWindowThreadProcessId(hWnd,&PID);
HANDLE hProcess=OpenProcess(PROCESS_ALL_ACCESS,false,PID);
if(!h... [阅读全文]
MFC实现 获取其他应用程序窗口信息
admin | C++ | 2013-05-13
C++
最近上网时看到有获取QQ号的方法,自己实现了下,没能获取QQ密码(听说从QQ2009后就很难获取了),但能获取一般应用程序的窗口信息。下面给出实现的具体细节。
要使用到几个API函数FindWindow, FindWindowEx, WindowFromPoint,SendMessage,GetWindowRect等。
FindWindow:用于获取应用程序的窗口句柄
HWND FindWi... [阅读全文]