MFC笔记

作者: 微生物成长 | 来源:发表于2019-11-23 17:54 被阅读0次

新建项目,基于对话框。

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++中的.和::和:和->的区别

在学习C++的过程中我们经常会用到.和::和:和->,在此整理一下这些常用符号的区别。

1、A.B则A为对象或者结构体;

2、A->B则A为指针,->是成员提取,A->B是提取A中的成员B,A只能是指向类、结构、联合的指针;

3、::是作用域运算符,A::B表示作用域A中的名称B,A可以是名字空间、类、结构;

4、:一般用来表示继承;

相关文章

网友评论

      本文标题:MFC笔记

      本文链接:https://www.haomeiwen.com/subject/adixictx.html