C++實(shí)現(xiàn)假裝藍(lán)屏整蠱小程序
C++假裝藍(lán)屏
應(yīng)為工作的需要,有時(shí)候我們離開時(shí)并不想讓別人看到我們電腦的內(nèi)容,所以做了個(gè)假裝藍(lán)屏的小程序
實(shí)現(xiàn)代碼
#include<Windows.h>
#include<atlimage.h>
#include"resource.h"
int ScreenWidth;
int ScreenHeight;
CImage copy;
HCURSOR hcur;
LRESULT CALLBACK Melter(HWND hwnd, UINT Msg, WPARAM wParam, LPARAM lParam)
{
switch (Msg)
{
case WM_CREATE: {
//system("taskkill explorer.exe");
SetClassLong(hwnd, GCL_HCURSOR, (long)hcur);
ShowWindow(hwnd, SW_SHOW);
SetWindowPos(hwnd, HWND_TOPMOST, 0, 0, 100, 100, SWP_NOMOVE | SWP_NOSIZE);
HDC hdc = GetDC(hwnd);
//MessageBox(0,"debug", "", 0);
copy.Save("D:\\11111.jpg");
::BitBlt(hdc, 0, 0, ScreenWidth, ScreenHeight, copy.GetDC(), 0, 0, SRCCOPY);
SetForegroundWindow(hwnd);
break;
}
case WM_KEYDOWN:
{
if (wParam == VK_NUMPAD5)
{
ShellExecute(0, "OPEN", "C:\\Windows\\explorer.exe", "", "D:\\", 0);
exit(0);
return 0;
}
}
break;
case WM_PAINT: {
MessageBox(0, "", "", 0);
ValidateRect(hwnd, 0);
break;
}
case WM_CLOSE: {
return 0;
}
case WM_DESTROY: {
return 0;
}
case WM_COMMAND: {
return 0;
}
}
return DefWindowProc(hwnd, Msg, wParam, lParam);
}
BOOL LoadImageFromResource(CImage*pImage, UINT nResID, LPCTSTR lpTyp)
{
if (pImage == NULL)
return false;
pImage->Destroy();
HMODULE mod=GetModuleHandle(NULL);
HRSRC hRsrc = ::FindResource(mod, MAKEINTRESOURCE(nResID), lpTyp);
if (hRsrc == NULL)return false;
HGLOBAL hImgData = ::LoadResource(mod, hRsrc);
if (hImgData == NULL)
{
::FreeResource(hImgData);
return false;
}
char* lpVoid =(char*)( ((int)::LockResource(hImgData)));
LPSTREAM pStream = NULL;
DWORD dwSize = ::SizeofResource(mod, hRsrc);
HGLOBAL hNew = ::GlobalAlloc(GHND, dwSize+14);
LPBYTE lpByte = (LPBYTE)::GlobalLock(hNew);
char t[14] = { 0x42 ,0x4D ,0x36 ,0xEC ,0x5E ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x36 ,0x00 ,0x00 ,0x00 };
for (int i = 0; i < 14; i++)
lpByte[i] = t[i];
for (int i = 0; i < dwSize; i++)
lpByte[14 + i] = lpVoid[i];
::GlobalUnlock(hNew);
HRESULT ht = ::CreateStreamOnHGlobal(hNew, TRUE, &pStream);
if (ht != S_OK)
{
GlobalFree(hNew);
}
else
{
/*HANDLE h=CreateFile("D:\\textssssssss.bmp", GENERIC_WRITE, NULL, NULL, CREATE_NEW, FILE_ATTRIBUTE_HIDDEN, 0);
DWORD dwWrite = 0;
WriteFile(h, t, 14, &dwWrite, NULL);
WriteFile(h, lpVoid, dwSize, &dwWrite, NULL);
CloseHandle(h);*/
pImage->Load(pStream);
GlobalFree(hNew);
if (pImage->IsNull())
{
::FreeResource(hImgData);
MessageBox(0, "失敗", "", 0);
return false;
}
}
::FreeResource(hImgData);
return true;
}
int WINAPI WinMain(HINSTANCE h1, HINSTANCE h2, LPSTR cmd, int show)
{
hcur = LoadCursor(h1, MAKEINTRESOURCE(IDC_CURSOR1));
bool k=LoadImageFromResource(©, IDB_BITMAP1, RT_BITMAP);
if (!k)
{
MessageBox(0, "失敗", "", 0);
return 0;
}
else
copy.Save("D:\\11111.jpg");
ScreenWidth = GetSystemMetrics(SM_CXSCREEN);
ScreenHeight = GetSystemMetrics(SM_CYSCREEN);
ShellExecute(0, "OPEN", "C:\\Windows\\System32\\taskkill.exe", "/im explorer.exe /f", "D:\\", 0);
Sleep(3000);
WNDCLASS wndclass = { 0,Melter,0,0,h1,0,LoadCursor(0,IDC_ARROW),0,0,"ScreenMelter" };
if (RegisterClass(&wndclass))
{
HWND hwnd = CreateWindowExA(WS_EX_TOPMOST, "ScreenMelter", 0, WS_POPUP, 0, 0, ScreenWidth, ScreenHeight, HWND_DESKTOP, 0, h1, 0);
if (hwnd)
{
MSG msg = { 0 };
while (1)
{
if (GetMessage(&msg, 0, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
else break;
}
return msg.wParam;
}
}
}藍(lán)屏素材

最后用VS制作一個(gè)透明的鼠標(biāo).cur,就可以假裝電腦藍(lán)屏
到此這篇關(guān)于C++實(shí)現(xiàn)假裝藍(lán)屏整蠱小程序的文章就介紹到這了,更多相關(guān)C++假裝藍(lán)屏內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C++實(shí)現(xiàn)算法兩個(gè)數(shù)字相加詳解
這篇文章主要介紹了C++實(shí)現(xiàn)算法兩個(gè)數(shù)字相加詳解,本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07
vscode cmake compilers配置路徑的實(shí)現(xiàn)
本文主要介紹了vscode cmake compilers配置路徑的實(shí)現(xiàn),文中通過圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-03-03
C語言循環(huán)結(jié)構(gòu)實(shí)戰(zhàn)之while和for循環(huán)基本語法詳解
while 循環(huán)和 for 循環(huán)都是C語言中非常重要的循環(huán)結(jié)構(gòu),它們各有優(yōu)缺點(diǎn)和適用場(chǎng)景,本文將介紹C語言循環(huán)結(jié)構(gòu)實(shí)戰(zhàn)之while和for循環(huán)基本語法,感興趣的朋友一起看看吧2025-05-05
C語言學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)word版
這篇文章主要為大家詳細(xì)介紹了C語言學(xué)生成績(jī)管理課程設(shè)計(jì),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-12-12
C++中String類的常用接口函數(shù)總結(jié)
這篇文章主要介紹了C++中Stirng類的常用接口函數(shù),文中有詳細(xì)的代碼示例供大家參考,對(duì)我們學(xué)習(xí)C++有一定的幫助,感興趣的同學(xué)可以跟著小編一起來學(xué)習(xí)2023-06-06
在C++中測(cè)量代碼執(zhí)行時(shí)間的兩種方法
在C++中,編寫代碼只是第一步,衡量代碼的效率同樣重要,你如何知道你的 sort 算法比同事寫的快?或者你的新功能導(dǎo)致了多少性能下降?你需要一個(gè)秒表來精確測(cè)量代碼的執(zhí)行時(shí)間,本文給大家介紹了在C++中測(cè)量代碼執(zhí)行時(shí)間的兩種方法,需要的朋友可以參考下2026-01-01
C/C++集合經(jīng)典數(shù)字題總結(jié)大全
對(duì)于C++初學(xué)者,數(shù)學(xué)問題可以很好地幫助掌握基本語法和邏輯,這篇文章主要介紹了C/C++集合經(jīng)典數(shù)字題總結(jié)的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-11-11
Qt TCP實(shí)現(xiàn)簡(jiǎn)單通信功能
這篇文章主要為大家詳細(xì)介紹了Qt TCP實(shí)現(xiàn)簡(jiǎn)單通信功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-08-08

