【C++中二“病毒”】专用:定位周日计划(S-P)

C++: cout<<"嗨,我又双叒叕来了,花了一些时间,做一个BD,无危害"<<endl;


不多说,先放解药:
ctrl+alt+delete呼出任务管理器:no,无效,可能呼出,但会被覆盖,即使呼出,也无法摆脱鼠标锁定

alt+F4:no,无效

F11:no,无效

……

关机最有效

开始之前,我还是要提醒一下我用的环境:惠普,Win10,VS,C++,EasyX(太好用了,不要怪我,WINAPI太难,不怎么会)


代码:

#include <iostream>
#include <graphics.h>
#include <Windows.h>
#include <cstdlib>
using namespace std;
int PosX, PosY;
获取电脑屏幕的长宽,使用double更精确
double WIDTH = GetSystemMetrics(SM_CXSCREEN);
double HEIGHT = GetSystemMetrics(SM_CYSCREEN);
void HindWnd(); //隐藏控制台
void LockCur(); //锁定鼠标
void HindTask();//隐藏任务栏
void HindDes(); //隐藏桌面
int main() {
    HindWnd();
    HindTask();
    HindDes();
    Sleep(500);
    initgraph(WIDTH, HEIGHT);
    HWND hWnd = GetHWnd();//获取当前应用程序的句柄
    SetWindowLong(hWnd, GWL_STYLE, GetWindowLong(hWnd, GWL_STYLE) & ~WS_CAPTION);//去除窗口上方的“白条”(我也不知道叫啥)
    MoveWindow(hWnd, 0, 0, WIDTH, HEIGHT, TRUE);//将窗口移动至屏幕(0,0)位置
    ///以下为EasyX部分,不多说///
    setbkcolor(RED);
    cleardevice();
    settextstyle(0, 0, L"Segoe Script");
    outtextxy(WIDTH / 2 - 100, HEIGHT / 2-20, L"Today is Sunday, your computer doesn't work! Are you OK?");
    outtextxy(WIDTH / 2 - 300, HEIGHT / 2+40, L"Let me guess, you must be happy right now! Because your computer can rest!");
    settextstyle(30, 0, L"Segoe Script");
    outtextxy(0, 0, L"SUNDAY PLANS (S-P)");
    //循环,锁定鼠标//
    while (true)
    {
        
        LockCur();
    }
	return 0;
}
void HindWnd()
{
    HWND hwnd;
    hwnd = FindWindow(L"ConsoleWindowClass", NULL);
    if (hwnd)
    {
        ShowWindow(hwnd, SW_HIDE);
    }
}
void LockCur()
{
        PosX = 3000;
        PosY = 3000;
        SetCursorPos(PosX, PosY);
}
void HindTask()
{
    HWND task;
    task = ::FindWindow(L"Shell_TrayWnd", NULL);
    ShowWindow(task, SW_HIDE);
}
void HindDes()
{
    HWND des;
    des=FindWindow(L"ProgMan",NULL);
    ShowWindow(des, SW_HIDE);
}

慎用,有能力的可以加一个开机自启动,我弄了好久,不行

这里不放代码了,说以下自启动原理:

注册表定位到这里:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

看英文名,是不是很眼熟,没错(Run),只要在这里添加程序的全路径(C:\Users\ ........)

然后就能自启动

剩下的就是代码了,WINAPI 操作注册表的函数:
 

RegCloseKey  RegConnectRegistry    RegCreateKey    RegCreateKeyEx    RegDeleteKey    RegDeleteVale  RegEnumKey    RegFlushKey    RegGetKeySecurity(此函数,98不适用)    RegLoadKey       RegNotifyChangeKeyValue(98不适用)    RegOpenKey    RegOpenKeyEx    RegQueryInfoKey  RegQueryValue          RegQueryValueEx    RegReplaceKey    RegRestoreKey(98不适用) RegSaveKey    RegSetKeySecurity(98不适用)     RegSetValue    RegSetValueEx    RegUnLoadKey 

RegGetValue(这个函数很多人都会用,但我试了一下,不行,这里放着,你们试试)...

RETURN  0;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值