今天本教授分享一个可以让格斯莱特林扣十分的C++程序,但老邓头应该不会知道
虽然我是一个魔药课教授,而且魔法部明令禁止使用麻瓜物品--电脑,但我斯教可不是一般人
好了,格兰芬多扣100000分!
Today, me--Professor.Snape share you a C++program that can makes Slytherin lose 10 points, but Dumbledore should not know.
Although I am a Potions master,and the Ministry of Magic expressly prohibits the use of Muggle objects -- computers, but me--Professor.Snape is not an ordinary person.
All right, Gryffindor will deduct 100000 points!
目录
一、该程序的效果
二、如何实现
1.科技与狠活
2.主函数
三.如何使用
前言
是这样的,我作为一个霍格沃茨魔药课教师,趁康奈利.福吉最近忙,偷偷使用了麻瓜物品--电脑,并使用C++运行了一个程序,真是神了,居然是电脑满屏图标!来看看吧
Well, as a Hogwarts Potions teacher, I secretly used a Muggle item -- a computer -- and ran a program with C++while Cornell Fudge was busy recently. It's amazing. It's actually a full screen icon! Come and have a look.
一、该程序的效果
这个程序可以拿来整人(那得看你怎么利用它),也可能变成其他程序的模板
直接运行,在桌面上这个样子👇
好那我们来讲原理
二、如何实现
1.科技与狠活
#include是为了声明在这个地方插入别的文件中的代码。
#include是一个计算机专业术语,一指C/C++中包含头文件命令,用于将指定头文件嵌入源文件中。#include一般用在C、C++等语系的编译环境(就是用在编程软件的编程代码里)中,直白的说,它就是告诉你,在这个地方,你要插入一堆代码,这堆代码在另一个文件里。
在这个程序我们要用到:
#include<tchar.h>
#include<windows.h>
#include<ctime>
解释下:
#include<tchar.h>tchar.h头文件提供了一个数据类型TCHAR, 这个类型在UNICODE环境下将映射为wchar_t类型;在ASCII环境下映射为char类型。另外, tchar.h还提供了一组c++/c语言字符串操作符的替代宏, 以_t开头, 例如_tcslen函数, 在UNICODE环境下被映射成为wcslen函数, 在ASCII环境下被映射成为strlen函数。
---------------------------------------------------------------------------------------------------------------------------------
#include<windows.h>头文件封装了库函数以及一些类,将一些复杂的工作由库函数处理,而用户不必把精力放在这些地方。比如说cout<<,为标准输出流,其实说到底还是函数调用,不过这个函数有些特殊,用的是运算符重载,确切地说是重载了"<<"运算符,作用是把键盘输入的字符信息在屏幕上打印出来,这个功能要是由我们去写,估计也得学个两三年才有可能。所以就简化了操作。而这一系列的函数都在头文件中包含(是一个函数库)。在调用时包含后便可直接用。
---------------------------------------------------------------------------------------------------------------------------------
#include<ctime>ctime分函数和类两种用途。ctime功能是 把日期和时间转换为字符串,而ctime类的对象表示的时间是基于格林威治标准时间(GMT)的。函数: ctime;功 能: 把日期和时间转换为字符串;用 法: char *ctime(const time_t *time);注:若在linux下使用本函数,需要include <ctime>头文件
2.主函数
这个程序中需要一些图标,这时我们需要用到DrawIcon函数图标,我使用了5种图标,分别是IDI_QUESTION,IDI_WARNING,IDI_ERROR,IDI_INFORMATION,IDI_WINLOGO,你当然可以加更多。还要注意图标的大小以控制坐标。LoadIcon() --加载一个图标资源,函数原型:BOOL DrawIcon(HDC hDC,int X,int Y, HICON hlcon );
用代码详细实现:
DrawIcon(hdc,point.x+25,point.y+25,LoadIcon(NULL,IDI_QUESTION));
DrawIcon(hdc,point.x+50,point.y+50,LoadIcon(NULL,IDI_WARNING));
DrawIcon(hdc,point.x-5,point.y-5,LoadIcon(NULL,IDI_ERROR));
DrawIcon(hdc,point.x-30,point.y-30,LoadIcon(NULL,IDI_INFORMATION));
DrawIcon(hdc,point.x-60,point.y-60,LoadIcon(NULL,IDI_WINLOGO));
显然,位置和图标都要考虑;
还有while(1)让他死循环
while(1)
{
GetCursorPos(&point);
Sleep(1);
}
GetCursorPos,函数名。该函数检取光标的位置,以屏幕坐标表示。
大前提:别忘了提前定义:
HWND hwnd = GetDesktopWindow();
HDC hdc = GetWindowDC(hwnd);//GetCursorPos,函数名。该函数检取光标的位置,以屏幕坐标表示。
POINT point;
备用;
/* GetDesktopWindow,该函数返回桌面窗口的句柄。桌面窗口覆盖整个屏幕。桌面窗口是一个要在其上绘制所有的图标和其他窗口的区域。
HWND是Handle to A Window的缩写,窗口句柄. H是类型描述,表示句柄(handle), WND 是变量对象描述,表示窗口,所以 HWND 表示窗口句柄。*/
单有图像还不够,重要的在于让他们跟着鼠标走:
int x = GetSystemMetrics(SM_CXSCREEN);
int y = GetSystemMetrics(SM_CXSCREEN);
srand(time(0));
while(1) SetCursorPos(rand()%x, rand()%y);
GetSystemMetrics也是一个函数,该函数只有一个参数,称之为「索引」,这个索引有75个标识符,通过设置不同的标识符就可以获取系统分辨率、窗体显示区域的宽度和高度、滚动条的宽度和高度。rand函数不是真正的随机数生成器,而srand()会设置供rand()使用的随机数种子。如果你在第一次调用rand()之前没有调用srand(),那么系统会为你自动调用srand()。而使用同种子相同的数调用 rand()会导致相同的随机数序列被生成。
三.如何使用
这就简单了,直接编译运行,然后到桌面就可以了,要清除图标就关编译器然后Ctrl+E刷新,
没有副作用!!!
月亮脸 虫尾巴 大脚板 尖头叉子很荣幸地为您奉上代码
#include<tchar.h>
#include<windows.h>
#include<ctime>//科技与狠活
using namespace std;
int main()
{
HWND hwnd = GetDesktopWindow();
HDC hdc = GetWindowDC(hwnd);
POINT point;
while(1)
{//图标
GetCursorPos(&point);
DrawIcon(hdc,point.x+25,point.y+25,LoadIcon(NULL,IDI_QUESTION));
DrawIcon(hdc,point.x+50,point.y+50,LoadIcon(NULL,IDI_WARNING));
DrawIcon(hdc,point.x-5,point.y-5,LoadIcon(NULL,IDI_ERROR));
DrawIcon(hdc,point.x-30,point.y-30,LoadIcon(NULL,IDI_INFORMATION));
DrawIcon(hdc,point.x-60,point.y-60,LoadIcon(NULL,IDI_WINLOGO));
Sleep(1);
}
//这里是控制跟着鼠标走
int x = GetSystemMetrics(SM_CXSCREEN);
int y = GetSystemMetrics(SM_CXSCREEN);
srand(time(0));
while(1) SetCursorPos(rand()%x, rand()%y);
}
斯内普:不要 看完 复制 就跑!
更多推荐
好玩C++代码:在电脑上运行了一个C++程序,结果满屏图标!
发布评论