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... [阅读全文]
VC++ 获取QQ2008 窗口句柄 聊天内容
admin | win32 | 2013-05-09
C++
#include <windows.h>
#include <stdio.h>
int main()
{
// 获取QQ聊天对话框窗口句柄
HWND hWnd = NULL;
while (TRUE)
{
// 获取QQ窗口
hWnd = ::FindWindowEx(NULL, hWnd, "#32770", NULL);
if (NULL == hWnd)
return 1;
// 通... [阅读全文]
C++获取代码运行时间
admin | win32 | 2013-05-07
C++
第一种:使用GetTickCount函数
#include<iostream>
#include<windows.h>
int main()
{
DWORD start_time=GetTickCount();
{
//此处为被测试代码
}
DWORD end_time=GetTickCount();
cout<<"The run time is:"<<(end_time-start_time)<<"ms!"<<endl;//输出运行时间return 0;
... [阅读全文]
获取浏览器当前页面地址栏的URL
admin | win32 | 2013-05-06
C++
#include "winable.h"
#include "Oleacc.h"
#pragma comment (lib,"OLEACC.lib")
void CutString(char strTemp[],int len,char reStr[]);
void GetFireFoxRunningURL(HWND *hWndMainWindow,BSTR *pURL);
BOOL FindChild(IAccessible *paccParent, LPSTR szName, LPSTR szRole, LPSTR szClass, IAccessible **paccCh... [阅读全文]
遍历查找某个进程拥有的所有窗口
admin | win32 | 2013-05-06
C++
#include <windows.h>
#include <TlHelp32.h>
#include <atlstr.h>
#include <locale.h>
#define WINDOW_TEXT_LENGTH 256
BOOL CALLBACK EnumChildWindowCallBack(HWND hWnd, LPARAM lParam)
{
DWORD dwPid = 0;
GetWindowThreadProcessId(hWnd, &dwPid); // ... [阅读全文]
直接运行内存中的程序
admin | win32 | 2013-05-06
C++
#include "stdafx.h"
#include <windows.h>
typedef IMAGE_SECTION_HEADER (*PIMAGE_SECTION_HEADERS)[1];
// 计算对齐后的大小
unsigned long GetAlignedSize(unsigned long Origin, unsigned long Alignment)
{
return (Origin + Alignment - 1) / Alignment * Alignment;
}
... [阅读全文]
当前程序退出后重启
admin | win32 | 2013-04-04
C++
TCHAR szPath[MAX_PATH]; //
GetModuleFileName(NULL, szPath, MAX_PATH); //获取当前应用程序的全路径
//定义俩变量,具体的请参见msdn
STARTUPINFO startupInfo;
PROCESS_INFORMATION procInfo;
memset(&startupInfo,0x00,sizeof(STARTUPINFO));
startupInfo.cb = sizeof(STARTUPINFO);
// 这个变量是标... [阅读全文]