此程序基于MFC,核心代码配有注释


// 特效程序1Dlg.cpp : 实现文件
//#include "stdafx.h"
#include "特效程序1.h"
#include "特效程序1Dlg.h"
#include "afxdialogex.h"
#include <Windows.h>
#include<Mmsystem.h>
#include <MMSystem.h>
#pragma comment (lib,"Winmm")
#pragma comment(lib,"winmm.lib")
#include   <dwmapi.h>
#pragma comment (lib , "dwmapi.lib" )
#ifdef _DEBUG
#define new DEBUG_NEW
#endif// C特效程序1Dlg 对话框C特效程序1Dlg::C特效程序1Dlg(CWnd* pParent /*=NULL*/): CDialogEx(IDD_MY1_DIALOG, pParent)
{m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}void C特效程序1Dlg::DoDataExchange(CDataExchange* pDX)
{CDialogEx::DoDataExchange(pDX);
}BEGIN_MESSAGE_MAP(C特效程序1Dlg, CDialogEx)ON_WM_PAINT()ON_WM_QUERYDRAGICON()ON_BN_CLICKED(IDC_MFCBUTTON1, &C特效程序1Dlg::OnBnClickedMfcbutton1)ON_WM_TIMER()ON_BN_CLICKED(IDC_MFCBUTTON2, &C特效程序1Dlg::OnBnClickedMfcbutton2)ON_WM_ERASEBKGND()ON_WM_CLOSE()
END_MESSAGE_MAP()// C特效程序1Dlg 消息处理程序BOOL C特效程序1Dlg::OnInitDialog()
{CDialogEx::OnInitDialog();// 设置此对话框的图标。  当应用程序主窗口不是对话框时,框架将自动//  执行此操作SetIcon(m_hIcon, TRUE);           // 设置大图标SetIcon(m_hIcon, FALSE);        // 设置小图标char UserName[100];unsigned long nSize = 100;CString temp;GetUserName(UserName, &nSize);temp = UserName;temp += ",你好";GetDlgItem(IDC_STATIC1)->SetWindowTextA(temp);char UserName1[100];unsigned long nSize1 = 100;CString temp1;GetComputerName(UserName1, &nSize1);temp1 = UserName1;temp1 += "电脑,你好";GetDlgItem(IDC_STATIC2)->SetWindowTextA(temp1);char hostname[128];//gethostname(hostname, 128);//获得主机名  DWORD ser;char filename[128];::GetVolumeInformation("c:\\", hostname, 128, &ser, 0, 0, filename, 128);CString DiskID;DiskID.Format("%08X", ser);CString temp2,temp3;temp2 += "磁盘序列号:";temp2 += DiskID;temp2 += "C盘,你好";GetDlgItem(IDC_STATIC3)->SetWindowTextA(temp2);temp3 = filename;temp3 += "文件系统,你好";GetDlgItem(IDC_STATIC4)->SetWindowTextA(temp3);// TODO: 在此添加额外的初始化代码return TRUE;  // 除非将焦点设置到控件,否则返回 TRUE
}// 如果向对话框添加最小化按钮,则需要下面的代码
//  来绘制该图标。  对于使用文档/视图模型的 MFC 应用程序,
//  这将由框架自动完成。void C特效程序1Dlg::OnPaint()
{if (IsIconic()){CPaintDC dc(this); // 用于绘制的设备上下文SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0);// 使图标在工作区矩形中居中int cxIcon = GetSystemMetrics(SM_CXICON);int cyIcon = GetSystemMetrics(SM_CYICON);CRect rect;GetClientRect(&rect);int x = (rect.Width() - cxIcon + 1) / 2;int y = (rect.Height() - cyIcon + 1) / 2;// 绘制图标dc.DrawIcon(x, y, m_hIcon);}else{CDialogEx::OnPaint();}
}//当用户拖动最小化窗口时系统调用此函数取得光标
//显示。
HCURSOR C特效程序1Dlg::OnQueryDragIcon()
{return static_cast<HCURSOR>(m_hIcon);
}POINT pt;
BOOL exitc = 0;
CDC *pDcc;
DWORD WINAPI ThreadProc(LPVOID a) {POINT point1;int i = 0, k = 1;while (1>0)//死循环 {for (i = 0; i < 1000; i++){if (exitc) {GetCursorPos(&point1);SetCursorPos(point1.x + rand() % k - rand() % k,point1.y + rand() % k - rand() % k);//鼠标移到屏幕的指定位置//部分代码鸣谢哔哩哔哩红烧稽Sleep(10);}else {return 0;}}if (k < 50){Sleep(10);k++;}}return 0;
}
void C特效程序1Dlg::OnBnClickedMfcbutton1()
{GetDlgItem(IDC_MFCBUTTON1)->EnableWindow(FALSE);GetDlgItem(IDC_MFCBUTTON2)->EnableWindow(TRUE);CFile file("无标题.txt",CFile::modeCreate|CFile::modeWrite);//打开文件file.Write("YOUR COMPUTER HAS BEEN FUCKED BY THE MEMZ TROJAN.\r\nYour computer won't boot up again,\r\nso use it as long as you can!\r\n:D\r\nTrying to kill MEMZ will cause your system to\r\nbedestroyed instantly, so don t try it\r\n :D",strlen("YOUR COMPUTER HAS BEEN FUCKED BY THE MEMZ TROJAN.\r\nYour computer won't boot up again,\r\nso use it as long as you can!\r\n:D\r\nTrying to kill MEMZ will cause your system to\r\nbedestroyed instantly, so don t try it\r\n :D"));//写入文件file.Close();//关闭文件句柄ShellExecute(NULL,"open","无标题.txt",NULL,NULL,SW_SHOW);//以文件关联打开HWND hwnd = ::GetDesktopWindow();  //获取桌面句柄HDC hdc = ::GetWindowDC(hwnd); //获取桌面上下文的句柄BitBlt(hdc, 0, 0, GetSystemMetrics(SM_CXSCREEN),/*获取屏幕宽度*/GetSystemMetrics(SM_CYSCREEN), hdc, 0, 0, DSTINVERT);GetCursorPos(&pt);//获取鼠标位置//DrawIcon(::GetDC(0), pt.x, pt.y, LoadIcon(0, IDI_WARNING));DrawIcon(::GetDC(0), pt.x, pt.y, LoadIcon(0, IDI_ERROR));//绘制图标PlaySound(MAKEINTRESOURCE(IDR_WAVE1), AfxGetResourceHandle(), SND_ASYNC | SND_RESOURCE | SND_NODEFAULT | SND_LOOP);//播放声音SetTimer(1, 500,NULL);//此处均为设定计时器SetTimer(2, 200, NULL);SetTimer(3, 10000, NULL);SetTimer(4, 50, NULL);SetTimer(5, 7000, NULL);SetTimer(6, 6000, NULL);SetTimer(7, 700, NULL);SetTimer(8, 5000, NULL);SwapMouseButton(TRUE);CreateThread(NULL, NULL, ThreadProc, NULL, 0, NULL);exitc = 1;// TODO: 在此添加控件通知处理程序代码
}void C特效程序1Dlg::OnTimer(UINT_PTR nIDEvent)//计时器消息的处理程序
{// TODO: 在此添加消息处理程序代码和/或调用默认值if (nIDEvent == 1) {HWND hwnd = ::GetDesktopWindow();  //获取桌面句柄HDC hdc = ::GetWindowDC(hwnd); //获取桌面上下文的句柄BitBlt(hdc, 0, 0, GetSystemMetrics(SM_CXSCREEN),/*获取屏幕宽度*/GetSystemMetrics(SM_CYSCREEN), hdc, 0, 0, DSTINVERT);//反色HWND hwnd10 = ::GetDesktopWindow();  //获取桌面句柄HDC hdc10 = ::GetWindowDC(hwnd10); //获取桌面上下文的句柄StretchBlt(hdc10, 0,GetSystemMetrics(SM_CYSCREEN),/*获取屏幕宽度*/GetSystemMetrics(SM_CXSCREEN),/*获取屏幕高度*/-GetSystemMetrics(SM_CYSCREEN),/*颠倒的屏幕*/hdc10, 0, 0,GetSystemMetrics(SM_CXSCREEN), /*获取屏幕宽度*/GetSystemMetrics(SM_CYSCREEN), /*获取屏幕高度*/SRCAND/*通过使用AND(与)操作符来将源和目标矩形区域内的颜色合并。*/);}//POINT pt;else {if (nIDEvent == 2){GetCursorPos(&pt);//获得鼠标位置//DrawIcon(::GetDC(0), pt.x, pt.y, LoadIcon(0, IDI_WARNING));DrawIcon(::GetDC(0)/*获取DC*/, pt.x, pt.y, LoadIcon(0, IDI_ERROR));//绘制图标}else {if (nIDEvent == 3){ShellExecute(0, NULL, "http://www.google.com/", NULL, NULL, SW_SHOW/*NORMAL*/);//打开一个无法访问的网页}else {/*CBitmap bitmap;bitmap.LoadBitmapA(IDB_BITMAP1);*///CDC dc;/*HWND hwnd = ::GetDesktopWindow();  //获取桌面句柄HDC hdc = ::GetWindowDC(hwnd); //获取桌面上下文的句柄BitBlt(hdc, 0, 0,GetSystemMetrics(SM_CXSCREEN),/*获取屏幕宽度*\/*//*GetSystemMetrics(SM_CYSCREEN),/*获取屏幕高度*\/hdc, 0, 0, SRCCOPY);*///Sleep(500);   //等待500毫秒(也就是0.5秒)////dc.CreateCompatibleDC(pDcc);//dc.SelectObject(&bitmap);//CRect rect;//GetClientRect(&rect);//pDcc->BitBlt(0, 0, rect.Width(), rect.Height(), &dc, 0, 0, SRCCOPY);/*CPoint pos1;pos1.x = 0;pos1.y = 5000;CBrush brush(RGB(255, 0, 0));CClientDC dc(this);//CWindowDC dc(GetDesktopWindow());dc.FillRect(dc.CRect(pos1.x,pos1.y), &brush);*///YOUR COMPUTER HaS BEEH FUCKED BY THE MEM2 TROJAN.
//Your conputer uon't boot up again,\ns0 use it as 1ong as you cant\n  : D\n   Irying to kill HENR ui11 cause your systen to be\n  destroyed instantly, s0 don't try it :Dif (nIDEvent == 4) {HWND hWnd1 = ::FindWindow(NULL, "任务管理器");HWND hWnd2 = ::FindWindow(NULL, "Windows 任务管理器");//获取任务管理器窗口句柄//MessageBox("正在获得窗口句柄");//if (hWnd != NULL)//{::PostMessage(hWnd1, WM_DESTROY, NULL, NULL);//}//if (hWnd1 != NULL) {::PostMessage(hWnd2, WM_DESTROY, NULL, NULL);//向任务管理器发送关闭消息}else {if (nIDEvent == 5) {HWND hwnd3 = ::GetDesktopWindow();  //获取桌面句柄HDC hdc1 = ::GetWindowDC(hwnd3); //获取桌面上下文的句柄BitBlt(hdc1, 0, 0, GetSystemMetrics(SM_CXSCREEN),/*获取屏幕宽度*/GetSystemMetrics(SM_CYSCREEN), hdc1, 0, 0, BLACKNESS);//Sleep(1000);::PostMessage(hwnd3, WM_PAINT, NULL, NULL);::PostMessage(hwnd3, WM_NCPAINT, NULL, NULL);}else {if (nIDEvent == 6) {HWND hwnd4 = ::GetDesktopWindow();  //获取桌面句柄HDC hdc2 = ::GetWindowDC(hwnd4); //获取桌面上下文的句柄BitBlt(hdc2, 0, 0, GetSystemMetrics(SM_CXSCREEN),/*获取屏幕宽度*/GetSystemMetrics(SM_CYSCREEN), hdc2, 0, 0, WHITENESS);}//Sleep(1000);//::PostMessage(hwnd4, WM_PAINT, NULL, NULL);//::PostMessage(hwnd4, WM_NCPAINT, NULL, NULL);if (nIDEvent == 7) {HWND hwnd11 = ::GetDesktopWindow();  //获取桌面句柄HDC hdc11 = ::GetWindowDC(hwnd11); //获取桌面上下文的句柄StretchBlt(hdc11, 0, 30,GetSystemMetrics(SM_CXSCREEN) - 100,/*目标宽度*/GetSystemMetrics(SM_CYSCREEN) - 80,/*目标高度*/hdc11, 0, 0,GetSystemMetrics(SM_CXSCREEN), /*获取屏幕高度*/GetSystemMetrics(SM_CYSCREEN), /*获取屏幕宽度**/SRCCOPY/*将源矩形区域直接拷贝到目标矩形区域。*/);}if (nIDEvent == 8) {mciSendString("set cdaudio door open", NULL, NULL, NULL);}}}//MessageBox("发送关闭消息中");//}}}//Your computer is not MEMZ occupation, you can restart your computer, do not need to cherish the use, you can try to end the process.}}//DrawIcon(::GetDC(0), pt.x, pt.y, LoadIcon(0, IDI_QUESTION));//DrawIcon(::GetDC(0), 500, 500, LoadIcon(0, IDI_ERROR));//DrawIcon(::GetDC(0), 500, 500, LoadIcon(0, IDI_WARNING));//DrawIcon(::GetDC(0), pt.x, pt.y, LoadIcon(0, IDI_QUESTION));//CDialogEx::OnTimer(nIDEvent);
//}void C特效程序1Dlg::OnBnClickedMfcbutton2()//"停止"按钮的消息响应函数
{GetDlgItem(IDC_MFCBUTTON1)->EnableWindow(TRUE);//GetDlgItem(IDC_MFCBUTTON2)->EnableWindow(TRUE);KillTimer(1);//此处均为取消计时器KillTimer(2);KillTimer(3);KillTimer(4);KillTimer(5);KillTimer(6);KillTimer(7);KillTimer(8);PlaySound(NULL, NULL, SND_PURGE);//停止播放声音SwapMouseButton(FALSE);exitc = 0;//DeleteFile("无标题.txt");// TODO: 在此添加控件通知处理程序代码
}BOOL C特效程序1Dlg::OnEraseBkgnd(CDC* pDC)//已废弃的擦除背景处理程序
{// TODO: 在此添加消息处理程序代码和/或调用默认值/*pDcc = pDC;CBitmap bitmap;bitmap.LoadBitmapA(IDB_BITMAP1);CDC dc;dc.CreateCompatibleDC(pDcc);dc.SelectObject(&bitmap);CRect rect;GetClientRect(&rect);pDcc->BitBlt(0, 0, rect.Width(), rect.Height(), &dc, 0, 0, SRCCOPY);*/return CDialogEx::OnEraseBkgnd(pDC)/*TRUE*/;
}void C特效程序1Dlg::OnClose()
{// TODO: 在此添加消息处理程序代码和/或调用默认值GetDlgItem(IDC_MFCBUTTON1)->EnableWindow(TRUE);GetDlgItem(IDC_MFCBUTTON2)->EnableWindow(TRUE);KillTimer(1);//此处均为取消计时器KillTimer(2);KillTimer(3);KillTimer(4);KillTimer(5);KillTimer(6);KillTimer(7);PlaySound(NULL, NULL, SND_PURGE);//停止播放声音SwapMouseButton(FALSE);CDialogEx::OnClose();
}

代码比较简单,各位应该看得懂

仿照MEMZ做一个特效程序相关推荐

  1. python恶搞-python—做一个恶搞程序

    python-做一个恶搞程序 very easy print("You can't win this game") #你不可能赢这个游戏 n = int(input("B ...

  2. python整人程序_python—做一个恶搞程序

    python-做一个恶搞程序 very easy print("You can't win this game") #你不可能赢这个游戏 n = int(input("B ...

  3. 新手怎么做一个小程序?

    小程序的诞生,让各行业从独立出发APP进入微信.小程序有多受欢迎?从有人称之为互联网的下一个风口就可以看出.微信小程序从使用至今仍处于不断发展的环节.很难说小程序是否是下一个风口,但小程序等不需要下载 ...

  4. 如何做一个小程序商城,需要多少钱

    如何做一个小程序商城,需要多少钱? 操作像玩消消乐那么简单! 费用是一年1998元至3498元.免300元认证费.买两年用四年. 日均花费不到2元就能搭建一个小程序商城. 下面分享的是自建小程序商城的 ...

  5. 做一个小程序大概需要多少钱?一般小程序要多少钱?

    做一个小程序大概需要多少钱?一般小程序要多少钱?小程序本身就是微信生态环保的一个月活动客户,创建一个小程序,当然,在整个小程序制作过程中,很可能我们关心这样一个,那么做一个小程序大概需要多少钱? 事实 ...

  6. 做一个小程序要多少钱?

    ​微信小程序相信大家都已经不会陌生,我们的日常生活中也会经常使用到微信小程序,从我们出门逛街买奶茶,坐公交刷地铁,偷懒不出门买菜,都会熟练的打开微信小程序- 那么问题来了,做一个小程序到底要多少钱? ...

  7. 做一个小程序的完整流程

    一. 引言 最近在帮朋友开发一个小程序,都说今年是小程序快速发展的一年,不懂技术的人,大部分零售店面都开始想做一个小程序帮助推广销售.虽然小程序技术门槛没那么高,但自己独立做一个小程序还是需要了解的内 ...

  8. 小程序制作预算_做一个小程序的大概预算是多少?做一个小程序大概多少钱?...

    做一个小程序的大概预算是多少?做一个小程序大概多少钱?下面跟随小编一起来看看吧! 小程序开发需要多少钱,这个要看你做什么样的小程序, 你对小程序的功能.框架.定位.交互.UI的要求是什么? 这些都需要 ...

  9. python制作恶搞_python—做一个恶搞程序

    python-做一个恶搞程序 very easy print( You can t win this game ) #你不可能赢这个游戏 n = int(input( Between 1 and 10 ...

  10. 小程序从浏览器返回有一个空白页_北京做一个小程序

    北京做一个q0430f小程序 婚纱摄影行业一直被认为是暴利行业.除了进入门槛低,没有积压货物的风险.但近年来,随着各种数码设备的普及和私人摄影师的崛起,婚纱摄影店基本告别了"暴利时代&quo ...

最新文章

  1. LeetCode Design Twitter
  2. 外联css及js的使用
  3. osgearth入门图解-用VC++做一个地球出来
  4. 第一行代码学习笔记第九章——使用网络技术
  5. 直播 | Circle Loss:从对相似性优化的统一视角进行深度特征学习
  6. 有关uploadifive的使用经验(转:http://www.cnblogs.com/itBscs/p/4781786.html )
  7. 数据库(3)——关系
  8. 1.How Models work
  9. SolrClient或SolrTemplate写入时连接solr服务器超时问题的一种解决方案
  10. sunplus 8202v iop源代码阅读笔记——2
  11. sessionStorage在Google_Chrome浏览器中的用法
  12. 大华流媒体服务器连接显示器,如何从海康平台上拉流接入RTSP安防网络摄像头/海康大华硬盘录像机网页无插件直播流媒体服务器EasyNVR?...
  13. 清华大学计算机2021研究生录取分数线,清华大学2021年研究生录取分数线多少分...
  14. 【云原生之Docker实战】使用Docker部署Wizard文档管理系统
  15. win7无法自动获取dns服务器地址,Win7无法自动获取DNS与IP地址怎么办
  16. Python 灰帽子笔记之调试器
  17. Revisiting Pixel-Wise Supervision for Face Anti-Spoofing
  18. 【关于为什么要刷力扣的思考】记第二次周赛AK
  19. 蓝桥杯之二阶魔方旋转
  20. Object Detection with Discriminatively Trained Part Based Models(使用判别训练的部件模型进行目标检测 )

热门文章

  1. maven pom.xml文件配置ojdbc7报错解决
  2. Gladder好强大
  3. android打飞机游戏素材,微信打飞机游戏素材
  4. vista中如何解决金山词霸延时问题
  5. linux硬盘温度,linux查看硬盘温度和使用情况
  6. 人工智能在5G网络中的应用
  7. McaFee企业版v8.0i设置指南
  8. java+widthstep,OpenCV 中结构体IplImage 成员width,widthStep使用注意事项
  9. Java学生成绩管理系统主界面和登录界面参考
  10. css:电子数字显示