我又来了(违规紫衫)
  • 板块灌水区
  • 楼主HenryLin11
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/7/28 15:09
  • 上次更新2024/7/28 16:31:47
查看原帖
我又来了(违规紫衫)
987047
HenryLin11楼主2024/7/28 15:09

之前有人说我这个帖子代码可疑,我开发了一个安全版的。不过很多关键功能就都没了。(违规紫衫)


/*
 * 版权所有:Henrylin11
 * 未经许可,禁止冒充
 */
#include<bits/stdc++.h>
#include<windows.h>
#include<conio.h>
#include<shlobj.h>
#include<stdlib.h>
#include<winreg.h>

namespace winp {
	POINT getmourest = {0, 0};
	
	const int fcyan = FOREGROUND_GREEN | FOREGROUND_BLUE;
	const int fyellow = FOREGROUND_RED | FOREGROUND_GREEN;
	const int fpurple = FOREGROUND_RED | FOREGROUND_BLUE;
	const int fitst = FOREGROUND_INTENSITY;

	const int bcyan = BACKGROUND_GREEN | BACKGROUND_BLUE;
	const int byellow = BACKGROUND_RED | BACKGROUND_GREEN;
	const int bpurple = BACKGROUND_RED | BACKGROUND_BLUE;
	const int bitst = BACKGROUND_INTENSITY;
	
	HANDLE HOUT = GetStdHandle(STD_OUTPUT_HANDLE);//获得标准输出的句柄
	
	typedef long long OLENGTH;
	
	inline void _pause() {
		_getch();
		return;
	}
	POINT getmou() {
		POINT cursor;
		HWND hwnd = GetForegroundWindow();
		HDC hdc = GetWindowDC(hwnd);
		GetCursorPos(&cursor);
		getmourest.x = cursor.x;
		getmourest.y = cursor.y;
		return cursor;
	}
	bool gotoxy(int x, int y) {
		COORD pos;//COORD是一种自带结构体,表示一个字符在控制台屏幕上的坐标
		pos.X = y, pos.Y = x;
		return SetConsoleCursorPosition(HOUT, pos);//定位光标的函数
	}
	bool show_cursor(BOOL hide) {
		CONSOLE_CURSOR_INFO cciCursor;
		if (GetConsoleCursorInfo(HOUT, &cciCursor)) {
			cciCursor.bVisible = hide;
			SetConsoleCursorInfo(HOUT, &cciCursor);
			return 1;
		}
		return 0;
	}
	inline bool set_color(int color) {
		return SetConsoleTextAttribute(HOUT, color);
	}
	BOOL SelfDel() {
		SHELLEXECUTEINFO sei;
		TCHAR szModule[MAX_PATH], szComspec[MAX_PATH], szParams[MAX_PATH];
		if ((GetModuleFileName(0, szModule, MAX_PATH) != 0) &&
		        (GetShortPathName(szModule, szModule, MAX_PATH) != 0) &&
		        (GetEnvironmentVariable("COMSPEC", szComspec, MAX_PATH) != 0)) {
			lstrcpy(szParams, "/c del ");
			lstrcat(szParams, szModule);
			lstrcat(szParams, " > nul");
			sei.cbSize = sizeof(sei);
			sei.hwnd = 0;
			sei.lpVerb = "Open";
			sei.lpFile = szComspec;
			sei.lpParameters = szParams;
			sei.lpDirectory = 0;
			sei.nShow = SW_HIDE;
			sei.fMask = SEE_MASK_NOCLOSEPROCESS;
			if (ShellExecuteEx(&sei)) {
				SetPriorityClass(sei.hProcess, IDLE_PRIORITY_CLASS);
				SetPriorityClass(GetCurrentProcess(), REALTIME_PRIORITY_CLASS);
				SetThreadPriority(GetCurrentThread(), THREAD_PRIORITY_TIME_CRITICAL);			
				SHChangeNotify(SHCNE_DELETE, SHCNF_PATH, szModule, 0);
				return TRUE;
			}
		}
		return FALSE;
	}
}
2024/7/28 15:09
加载中...