首页 > 编程知识 正文

黑客c语言教程,黑马c++教程

时间:2023-05-03 09:18:03 阅读:155994 作者:759

你好,你好,我是你们最喜欢的蒟君~

从今天开始蒟蒻和大家一起学习C黑客!

注:代码在DEV-C++这些针对算法编程的编译器上是编译不了的,需要用vscode或者vc才行。

文章目录介绍:消息机制? 新闻的工作原理是什么? 消息是如何生成的? 怎么表达信息? 初步搜索API函数(FindWindow和SendMessage函数) FindWindowSendMessage调试消息机制(显示记事本属性概述)消息机制? 新闻的工作原理是什么?

3358www.Sina.com/消息是Windows中应用是基于消息机制哒~系统生成,该值在系统中说明了事件3358www.Sina.com/例如,当用户单击鼠标、敲击键盘或拖动窗口时,它们会报告给Windows。

一旦知道什么是Windows消息机制,Windows如何生成这样的数字呢? 一个操作有很多属性,怎么能保证任意两条消息都不一样呢?

消息是如何生成的? 方向盘(HWND )我相信大家吉岛、布吉岛的伙伴都能读这篇文章。

首先,让我们看一下windows中消息的定义。 (信息是MSG哦) ~

struct tagMsg { HWND hwnd; //窗口句柄UINT message; //消息值WPARAM wParam; //用于确保信息不同的东东LPARAM lParam; //相同的DWORD time; //此消息是什么时候创建的POINT pt; //制作消息时光标在哪里(坐标) msg; 伙伴们知道小鸡了~

一个小新闻也包含很多属性,所以两个新闻不一样~~。

怎么表达信息?

真正有用的消息值在0x0000到0x03ff之间。0x用十六进制表示。 而且,32位(相当于int类型)的值

APP用的信息为0x0400到0x7fff,或者0xc000到0xffff (电脑不同的话就是这个不同)。

接下来是(不会重复)

消息类型的值范围为空。 WM_null-0x00000、0x0001-0x0087系统0x00a0-0x00a9键盘0x0100-0x0108菜单0x0111-0x0126颜色控件0x0132-0x0138鼠标0x 0000

初步搜索API函数(FindWindow和SendMessage函数) API函数是接口函数,公开是为了便于我们创建接口。

那么,第一个黑客程序需要的函数是什么呢?

let’sgo~~

FindWindow 程序不能用这些消息指值给自己的消息(这些都是系统要用的)。

按窗口名称找到窗口句柄。认识一些消息类型(看不懂可以忽略)

LPCSTR=const TCHAR*

hwnd findwindow (lpctstrlpclassname,//窗口类的名称LPCTSTR lpWindowsName//窗口的名称)窗口标题);作用:

在代码中,窗口的名称会发生变化(这里编写了编辑窗口标题的函数edit ),所以只能通过窗口类名来查找句柄。 ~ SendMessage 定义:

用句柄确定窗口,发送信息。程序中的运用:

UINT=unsigned int

WPARAM=UINT

LPARAM=LONG

lresultsendmessage(hwndhwnd,UINT Msg,WPARAM wParam,LPARAM lParam} );作用:

WM_CLOSE :接收该消息的窗口必须关闭(最后两个参数不有用,不为空) WM_SETTEXT :接收该消息的窗口必须设置下面的字符

调试机制(查看记事本属性) #include Windows.h//获取记事本标题的void get_name ) hwndh=:3360 findwindow (l ' notepad ' ) if(h==null ) ) messagebox ) null,不能有l '记事本哦~,l '蒟君提示),MB_OK ); 返回; } char s[MAXBYTE]={0};3360sendmessage(h,WM_SETTEXT,) WPARAM ) 0,) LPARAM ) s ); messagebox(null,) LPCWSTR ) s,l )蒟蒻君提示),MB_OK ); //记事本标题void edit () hwndh=:findwindow ) null,l '无标题-记事本) ); if(h==null ) ) messagebox ) null,不能有l '记事本哦~,l '蒟君提示),MB_OK ); 返回; }:sendmessage(h,WM_SETTEXT,) WPARAM ) 0,(LPARAM )“调试”); //记事本void run () winexec ) ' notepad.exe ',SW_SHOW ); //记事本void close () hwndh=: findwindow (l ' notepad ',NULL ); if(h==null ) ) messagebox ) null,不能有l '记事本哦~,l '蒟君提示),MB_OK ); 返回; }:3360sendmessage(h,WM_CLOSE,NULL,NULL ); }

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。