关于Windows.h头文件函数的简单应用

关于Windows.h头文件函数的简单应用

#include<stdio.h>
#include<Windows.h>
#include<conio.h>
int mian()
{
        int x;
        scanf_s("%d",&x);
		DOWRD  pid;
		HWND hwnd=FindWindow(NULL,TEXT("name"));
		GetWindowThreadProcessld(hwnd,&pid);
		HANDLE handle=OpenProcess(PROCESS_ALL_ACCESS,false,pid);
		WriteProcessMemory(handle, (LPVOID)/*地址*/, (LPVOID)& x, 4, &pid);
		return 0;
}

该小程序可用于一个程序对另一个已知地址的值进行提权并更改
FindWindow()函数用于找到窗口名为name的窗口。HWND说明了hwnd是窗口句柄变量。
GetWindowThreadProcessld()函数为名为name的窗口获取进程ID,储存在DOWRD类型的变量pid中
HANDLE说明了handle是句柄变量。
HANDLE与HWND的区别是:后者一般只用于定义窗口句柄,前者没有限制。
PROCESS_ALL_ACCESS对这个pid得到的权限,此处表示获得所有权限
WriteProcessMemory()的原型

BOOL WriteProcessMemory(
HANDLE hProcess,
LPVOID lpBaseAddress,
LPVOID lpBuffer,
DWORD nSize,
LPDWORD lpNumberOfBytesWritten

Windows.h头文件下有许多其他的函数
例如:

#include<stdio.h>
#include<Windows.h>
int main()
{
		POINT mouse;
		while(1)
		{
				GetCursorPos(&mouse);
				printf("%3d%3d",mouse.x,mouse.y);
				system("cls");
		}
}

该代码输出是鼠标的坐标
GetCursorPos()函数用于得到鼠标的两个坐标值 分别是x y并储存在mouse.x mouse.y中
POINT是点变量 类型与一个结构体变量内带 x,y;
SetCursorPos与GetCursorPos相反,用于设置鼠标坐标

#include<Windows.h>
int main()
{
		while(1)
		{
				SetCursorPos(0,0);
		}
		return 0;
}
/
*该代码将鼠标一直置于0,0的位置,由于while(1)CPU的占用也消耗不少
整人专用
*/

ShowWindow()函数顾名思义可以对windows窗口进行操作。
ShowWindow(句柄变量,功能);
句柄变量:HANDLE or HWND
SW_HIDE 隐藏窗口
SW_MAXIMIZE 窗口最大化
SW_MINIMIZE 窗口最小化
SW_RESTORE 窗口还原

SendMessage函数
原型:LRESULT SendMessage(HWND hwnd,UINT Msg,WPARAM wParam,LPARAM lParam)
参数一 指定要接受的窗口句柄
参数二 指定发送的信息
参数三 和 四 指定附加信息的特定信息 (一般写0)

WindowFromPoint函数
通过鼠标来获得被点击的窗口句柄

POINT mouse;
HWND window;
window=WindowFromPoint(mouse);

在下C语言萌新 小新手出道
有什么不对的地方 请指出

  • 10
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值