// MFCWechatHelperDlg.cpp: 实现文件
//
#include "pch.h"
#include "framework.h"
#include "MFCWechatHelper.h"
#include "MFCWechatHelperDlg.h"
#include "afxdialogex.h"
#include "common.h"
#include "RecordObject.h"
#include "HttpHelper.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
// CMFCWechatHelperDlg 对话框
CMFCWechatHelperDlg::CMFCWechatHelperDlg(CWnd* pParent /*=nullptr*/)
: CDialogEx(IDD_MFCWECHATHELPER_DIALOG, pParent)
{
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}
void CMFCWechatHelperDlg::DoDataExchange(CDataExchange* pDX)
{
CDialogEx::DoDataExchange(pDX);
DDX_Control(pDX, IDC_BUTTON_REQUEST, BtnRequest);
DDX_Control(pDX, IDC_EDIT_URL, TxtUrl);
DDX_Control(pDX, IDC_EDIT_PARAM, TxtParam);
DDX_Control(pDX, IDC_EDIT_RESPONSE, TxtResponse);
DDX_Control(pDX, IDC_COMBO_TYPE, CmbType);
DDX_Control(pDX, IDC_EDIT_PARAM2, TxtRecords);
}
BEGIN_MESSAGE_MAP(CMFCWechatHelperDlg, CDialogEx)
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
ON_BN_CLICKED(IDC_BUTTON_REQUEST, &CMFCWechatHelperDlg::OnBnClickedButtonRequest)
ON_WM_TIMER()
END_MESSAGE_MAP()
// CMFCWechatHelperDlg 消息处理程序
BOOL CMFCWechatHelperDlg::OnInitDialog()
{
CDialogEx::OnInitDialog();
// 设置此对话框的图标。 当应用程序主窗口不是对话框时,框架将自动
// 执行此操作
SetIcon(m_hIcon, TRUE); // 设置大图标
SetIcon(m_hIcon, FALSE); // 设置小图标
// TODO: 在此添加额外的初始化代码
CmbType.AddString(L"GET");
CmbType.AddString(L"POST");
CmbType.SetCurSel(0);
TxtUrl.SetWindowTextW(L"http://127.0.0.1/?cmdid=");
//添加定时器,刷新即时消息
SetTimer( 1, 3000, NULL);
return TRUE; // 除非将焦点设置到控件,否则返回 TRUE
}
// 如果向对话框添加最小化按钮,则需要下面的代码
// 来绘制该图标。 对于使用文档/视图模型的 MFC 应用程序,
// 这将由框架自动完成。
void CMFCWechatHelperDlg::OnPaint()
{
if (IsIconic())
{
CPaintDC dc(this); // 用于绘制的设备上下文
SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0);
// 使图标在工作区矩形中居中
int cxIcon = GetSystemMetrics(SM_CXICON);
int cyIcon = GetSystemMetrics(SM_CYICON);
CRect rect;
GetClientRect(&rect);
int x = (rect.Width() - cxIcon + 1) / 2;
int y = (rect.Height() - cyIcon + 1) / 2;
// 绘制图标
dc.DrawIcon(x, y, m_hIcon);
}
else
{
CDialogEx::OnPaint();
}
}
//当用户拖动最小化窗口时系统调用此函数取得光标
//显示。
HCURSOR CMFCWechatHelperDlg::OnQueryDragIcon()
{
return static_cast<HCURSOR>(m_hIcon);
}
void CMFCWechatHelperDlg::OnBnClickedButtonRequest()
{
string data;
CString wurl;
TxtUrl.GetWindowTextW(wurl);
string url = UnicodeToUtf8(wurl);
CString wparam;
TxtParam.GetWindowTextW(wparam);
string param = UnicodeToUtf8(wparam);
HttpHelper* http = new HttpHelper();
if (CmbType.GetCurSel() == 0)
{
data = http->RequestData(url);
}
else
{
data = http->RequestData(url, HttpRequest::Hr_Post, "content-type:application/json;charset:utf-8;", param);
}
TxtResponse.SetWindowTextW(UTF8ToUnicode(data));
delete http;
// TODO: 在此添加控件通知处理程序代码
}
void CMFCWechatHelperDlg::OnTimer(UINT_PTR nIDEvent)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
if (nIDEvent == 1)
{
HttpHelper* http = new HttpHelper();
string data = http->RequestData("http://127.0.0.1/?cmdid=7");
RecordObject *recordObj = new RecordObject(data.c_str());
for (auto record : recordObj->data)
{
int nLength = TxtRecords.GetWindowTextLength();
//选定当前文本的末端
TxtRecords.SetSel(nLength, nLength);
string recordStr = record.StrContent;
recordStr.append("
");
//l追加文本
TxtRecords.ReplaceSel(UTF8ToUnicode(recordStr));
}
delete http;
delete recordObj;
}
CDialogEx::OnTimer(nIDEvent);
到此这篇微信hook什么意思(微信hook全接口)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/hd-wfwjg/79317.html