第一章 万能的窗口

小彩蛋(窗口蹦跶器,可以让想要的窗口蹦跶,这里已QQ为例子):

可爱的win操作系统,一切皆窗口,程序开发,无非就两种形式,界面以及数据,win中的界面就是窗口,所见即所得,就是窗口的最好诠释。

以下是完整代码:


#include

#include

#include

#include

using namespace std;

int main() {

cout << "您好,您的电脑已经中毒,不信打开QQ试试" << endl;

//循环检测是否存在我们要调整的窗口

while (1)

{

HWND hwnd;

hwnd = FindWindow("TXGuiFoundation", "QQ");

if (hwnd) {

srand((unsigned)time(NULL));

int  cx = GetSystemMetrics(SM_CXSCREEN); //获取屏幕宽度度

int  cy = GetSystemMetrics(SM_CYSCREEN); //获取屏幕高度

MoveWindow(hwnd, rand() % cx, rand() % cy, rand() % cx, rand() % cy, true);

Sleep(20);

}

}

system("pause");

return 0;

}


这是一个控制台程序,出于惯例,请看:


第一章 万能的窗口_第1张图片
很简单的一个程序

效果演示:

不得不吐槽以下优酷,上传视频竟然审核不通过,哎,心累,后续在补上,想看的移步百度云:

链接:https://pan.baidu.com/s/1ETJafEV7vNYSf0-qLStRjw

提取码:9737 

其实不管是qq,还是其他,你要你能看见的在win下即是窗口,这个程序的完善之一就是可以检测是否存在我们所需要调整的窗口,当然,后续还有很多要完善的,比如多线程应用控制多个窗口,还有就是循环遍历打开的进程,开机自启,隐藏控制台等等(以后补上)


彩蛋的代码已经看完了,下面可以看看思路了:

1、HWND  hwnd;

      hwnd = FindWindow("TXGuiFoundation", "QQ");//寻找窗口

看一下定义:HWND句柄,上回书说到这可以获取我们所需要的内存资源,因此,我们可以通过内部API操纵此标识符对应的内存(也就是窗口),

      详解:如何获取里面的参数,这里有个小工具(spy++)

第一章 万能的窗口_第2张图片
自带工具
第一章 万能的窗口_第3张图片
点击望远镜


第一章 万能的窗口_第4张图片
按下鼠标左键,移动到你所要查看的窗口,就可以找到你所需要的参数了

2、MoveWindow(hwnd, rand() % cx, rand() % cy, rand() % cx, rand() % cy, true);//改变内存资源,第一个参数就是我们找到的内存资源,其余的都很简单,宽高位置,

3、就可以看到我们的效果了,对了,百度云的效果演示的录屏工具也可以自己写哦~~


就这几步,是不是很简单,好了,了解了这种思想,我们可以开发软件了(后续)。

当然,这只是个很简单很不完善的程序,有兴趣的可以对其进行优化。


所谓程序,只是处理我们的数据,并返回所需要的数据;所谓软件,就是实现我们对数据操作的界面。  

                                                                                                                           ---雷·冰

你可能感兴趣的:(第一章 万能的窗口)