3._beginThread() 触发线程
窗口的基本操作
1》句柄就相当于一个窗口的指针,存储对应的地址;
2》spy.exe用作获取窗口地址的工具
3》 1.HWND win= FindWindowA(类名,标题) 返回值是一个句柄
HWND zi=FindWindowExa(win,0,类名,标题)返回值为句柄 (窗口内部的小控件,需要通过父窗口找到子窗口)
2.SetWindowTextA(句柄(指针),字符串) 设置标题
3.窗口MessageBox(win,"编辑内容","标题",0);弹出对话窗口
5. ShowWindow(句柄,SW_HIDE orSW_SHOW)
6.Enable(句柄, 0or 1)是否可用
7.SetWindowPos(win,NULL,(坐标4个),0)3,4位置,5,6大小
#pragma comment(文件类型,“文件名”)
goto语句在复杂的时候不要使用,标签只在块内有用
ShellExecuteA(0,"open","路径“,0,0,1) "要"/" /要// 最后一个参数,, 0隐藏 1正常 3最大化 6最小化
第一个0代表系统打开 第二个操作 第四个第五个都是保留参数都默认为0
要想一个字符串中含有变量就用sprintf(str,"",i)对应的str这个字符串就变了
system("taskkill /f /im iTunes.exe")
POINT pt; 鼠标
pt.x = pt.y = 0;鼠标位置初始化
GetCursorPos(&pt); 获取鼠标位置
SetWindowPos(win, NULL, pt.x, pt.y, 0, 0, 1);设置位置
SystemParametersInfoA(20,0,"路径",3)20用于修改界面 桌面的背景 3是即可生效
#pragma comment(文件类型,“文件名”)
goto语句在复杂的时候不要使用,标签只在块内有用
ShellExecuteA(0,"open","路径“,0,0,1) "要"/" /要// 最后一个参数,, 0隐藏 1正常 3最大化 6最小化
第一个0代表系统打开 第二个操作 第四个第五个都是保留参数都默认为0
要想一个字符串中含有变量就用sprintf(str,"",i)对应的str这个字符串就变了
system("taskkill /f /im iTunes.exe")
POINT pt; 鼠标
pt.x = pt.y = 0;鼠标位置初始化
GetCursorPos(&pt); 获取鼠标位置
SetWindowPos(win, NULL, pt.x, pt.y, 0, 0, 1);设置位置
SystemParametersInfoA(20,0,"路径",3)20用于修改界面 桌面的背景 3是即可生效
动态库的应用:
首先设置为动态库
dll不需要main函数,
DLLinject注入进去
_declspec(dllexport)[导出接口] void go() 动态库的抬头
黑窗口是DOS模式,在编译器里面加入#pragma comment(linker, "/subsystem:windows /ENTRY:mainCRTStartup") 变成了在Windows模式下的窗口
(就是只生成win窗口,不伴随黑窗口出现)