MFC笔记
新建项目,基于对话框。
rc文件,可视化开发界面。
在工具箱里拖个button,双击可跳转到按钮触发事件代码。
Caption,标题。
ID,代码调用ID。
CString strInput;//创建字符串变量
GetDlgItemText(ID,strInput);//获取ID所属的控件字符串->放到后面的变量
int nLen = strInput.GetLength();//获取字符串长度
int nCount = 0;for(int i = 0;i<nLen;i++){ if((BYTE)strInput[i]>0x7f)//{ ++i; } nCount++;}
CString strOutput;
strOutput.Format(_T("字符串长度:%d,字符个数:%d"),nLen,nCount);
SetDlgItemText(ID,strOutput);//将变量字符串放到前面ID所属 的控件里展示
访问对话框控件的七种方法
GetDlgItem()->GetWindowText()
GetDlgItem()->SetWindowText()
GetDlgItemText()
SetDlgItemText()
GetDlgItemInt()
SetDlgItemInt()
int num1,num2,num3;
TCHAR ch1[12],ch2[12],ch3[12];
GetDlgItem(ID)->GetWindowText(ch1,12);
num1 = _ttoi(ch1);
num2 = _ttoi(ch2);
num3 = num1 + num2;
_itot(num3,ch3,10);
GetDlgItem(ID3)->SetWubdiwText(ch3);
附加进程
DWORD PID;
HWND hWnd = ::FindWindowA("NAME", NULL);
GetWindowThreadProcessId(hWnd, &PID);//获取c的PID
::PostMessage(hWnd, WM_KEYDOWN, 49, 1);
::PostMessage(hWnd, WM_KEYUP, 49, 1);
HANDLE ProcessHandle = OpenProcess(PROCESS_ALL_ACCESS, FALSE, PID);//打开进程
int cunchu;
int dizhi = 0x09306038;
ReadProcessMemory(ProcessHandle, &dizhi, &cunchu, 4, NULL);
//do
//{
// if (cunchu==1)
// {
// ::PostMessage(HH, WM_KEYUP, VK_UP, 1);
// }
//} while (TRUE);
C++中使用DWORD不用声明,但是要加头文件Windows.h。 具体描述如下:DWORD 就是 Double Word, 每个word为2个字节的长度,DWORD 双字即为4个字节,每个字节是8位,共32位。
DWORD的宏定义如下:
#define DWORD unsigned longDWORD在Windows下经常用来保存地址(或者存放指针)。
使用时应该添加如下文件包含#include<windows.h> 。
工具 - Spy++ - 搜索 - 查找窗口 - 标题 - 类
在学习C++的过程中我们经常会用到.和::和:和->,在此整理一下这些常用符号的区别。
1、A.B则A为对象或者结构体;
2、A->B则A为指针,->是成员提取,A->B是提取A中的成员B,A只能是指向类、结构、联合的指针;
3、::是作用域运算符,A::B表示作用域A中的名称B,A可以是名字空间、类、结构;
4、:一般用来表示继承;