#pragma GCC optimize("2")
#include <bits/stdc++.h>
#include <Windows.h>
using namespace std;
const int N = 1e8 + 5;
long double arr[N];
BOOL IsAdmin()
{
#define ACCESS_READ 1
#define ACCESS_WRITE 2
HANDLE hToken;
DWORD dwStatus;
DWORD dwAccessMask;
DWORD dwAccessDesired;
DWORD dwACLSize;
DWORD dwStructureSize = sizeof(PRIVILEGE_SET);
PACL pACL = NULL;
PSID psidAdmin = NULL;
BOOL bReturn = FALSE;
PRIVILEGE_SET ps;
GENERIC_MAPPING GenericMapping;
PSECURITY_DESCRIPTOR psdAdmin = NULL;
SID_IDENTIFIER_AUTHORITY SystemSidAuthority = SECURITY_NT_AUTHORITY;
if(!ImpersonateSelf(SecurityImpersonation))
goto LeaveIsAdmin;
if (!OpenThreadToken(GetCurrentThread(), TOKEN_QUERY, FALSE, &hToken))
{
if (GetLastError() != ERROR_NO_TOKEN)
goto LeaveIsAdmin;
if (!OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY, &hToken))
goto LeaveIsAdmin;
if (!OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY, &hToken))
goto LeaveIsAdmin;
}
if (!AllocateAndInitializeSid(&SystemSidAuthority, 2,
SECURITY_BUILTIN_DOMAIN_RID, DOMAIN_ALIAS_RID_ADMINS,
0, 0, 0, 0, 0, 0, &psidAdmin))
goto LeaveIsAdmin;
psdAdmin = LocalAlloc(LPTR, SECURITY_DESCRIPTOR_MIN_LENGTH);
if (psdAdmin == NULL)
goto LeaveIsAdmin;
if (!InitializeSecurityDescriptor(psdAdmin,
SECURITY_DESCRIPTOR_REVISION))
goto LeaveIsAdmin;
dwACLSize = sizeof(ACL) + sizeof(ACCESS_ALLOWED_ACE) +
GetLengthSid(psidAdmin) - sizeof(DWORD);
pACL = (PACL)LocalAlloc(LPTR, dwACLSize);
if (pACL == NULL)
goto LeaveIsAdmin;
if (!InitializeAcl(pACL, dwACLSize, ACL_REVISION2))
goto LeaveIsAdmin;
dwAccessMask= ACCESS_READ | ACCESS_WRITE;
if (!AddAccessAllowedAce(pACL, ACL_REVISION2, dwAccessMask, psidAdmin))
goto LeaveIsAdmin;
if (!SetSecurityDescriptorDacl(psdAdmin, TRUE, pACL, FALSE))
goto LeaveIsAdmin;
if(!SetSecurityDescriptorGroup(psdAdmin, psidAdmin, FALSE))
goto LeaveIsAdmin;
if(!SetSecurityDescriptorOwner(psdAdmin, psidAdmin, FALSE))
goto LeaveIsAdmin;
if (!IsValidSecurityDescriptor(psdAdmin))
goto LeaveIsAdmin;
dwAccessDesired = ACCESS_READ;
GenericMapping.GenericRead = ACCESS_READ;
GenericMapping.GenericWrite = ACCESS_WRITE;
GenericMapping.GenericExecute = 0;
GenericMapping.GenericAll = ACCESS_READ | ACCESS_WRITE;
if (!AccessCheck(psdAdmin, hToken, dwAccessDesired,
&GenericMapping, &ps, &dwStructureSize, &dwStatus, &bReturn))
goto LeaveIsAdmin;
if(!RevertToSelf())
bReturn = FALSE;
LeaveIsAdmin:
if (pACL) LocalFree(pACL);
if (psdAdmin) LocalFree(psdAdmin);
if (psidAdmin) FreeSid(psidAdmin);
return bReturn;
}
int execmd(char* cmd, char* result)
{
char buffer[128];
FILE* pipe = _popen(cmd, "r");
if (!pipe)
return 0;
while(!feof(pipe))
{
if(fgets(buffer, 128, pipe))
{
strcat(result,buffer);
}
}
_pclose(pipe);
return 1;
}
void print()
{
printf("欢迎来到便捷操作v5.0.1.1,您可以输入一些按键一键操作\n");
printf("请用管理员身份运行,尽量打开网络,否则可能无效!!\n");
printf("请不要非法输入!!!\n");
printf("-------------------------------\n");
printf("系统操作:\n");
printf("0 - 关于\"windows\"\n");
printf("1 - 系统扫描\n");
printf("2 - 打开 cmd\n");
printf("3 - 打开 powershell\n");
printf("4 - 关机\n");
printf("-------------------------------\n");
printf("windows激活操作:\n");
printf("5 - 取消激活(卸载密钥,该过程不可逆,请谨慎运行,如果误按,您可以通过接下来的操作重新激活)\n");
printf("6 - 查看关于当前 windows 激活的详细信息\n");
printf("7 - 使用 kms 激活 windows(可用性更高,安全性更低)\n");
printf("8 - 使用数字许可证(密钥)激活 windows(有时无用,但不会有安全风险)\n");
printf("9 - 使用 OEM 激活 Windows Vista/7/Server\n");
printf("10 - 将 windows 激活到 2038 年\n");
printf("-------------------------------\n");
printf("其他操作:\n");
printf("11 - internet 属性\n");
printf("12 - 注册表编辑器\n");
printf("13 - 将电脑进入休眠状态(不是睡眠!)\n");
printf("14 - 计算器\n");
printf("15 - 控制面板\n");
printf("16 - 系统配置\n");
printf("17 - 组策略编辑器\n");
printf("18 - dns 查询\n");
printf("19 - 重启\n");
printf("20 - 数据排序\n");
printf("21 - python 版本检测\n");
printf("-------------------------------\n");
printf("恢复操作:\n");
printf("22 - 检查磁盘错误\n");
printf("23 - 系统修复\n");
printf("24 - 查看关于 WindowsRE(Windows恢复环境)信息\n");
printf("25 - 关闭 WindowsRE 功能\n");
printf("26 - 打开 WindowsRE 功能\n");
printf("27 - 进入 WindowsRE(重启生效)\n");
printf("-------------------------------\n");
printf("输入:");
}
int main()
{
bool check = IsAdmin();
if (!check)
{
MessageBox(GetConsoleWindow(), "程序需要管理员权限", "错误", MB_OK|MB_ICONERROR);
return 0;
}
system("title 便捷操作v5.0.1.0");
HWND hwnd = GetForegroundWindow();
ShowWindow(hwnd, SW_MAXIMIZE);
system("color b");
print();
int x;
while (cin >> x)
{
if (x == 0)
{
system("cls");
printf("您要用哪种方式查看关于\"windows\"?\n");
printf("1 - 使用 windows 默认的工具\n");
printf("2 - 使用命令行查看详情\n");
printf("3 - 使用 visual basic 脚本查看详情\n");
printf("4 - 使用 windows 默认工具查看详情\n");
printf("-------------------------------\n");
printf("输入:\n");
int lk;
cin >> lk;
if (lk == 1)
{
system("Winver");
}
else if (lk == 2)
{
system("systeminfo");
}
else if (lk == 3)
{
system("start CPU_check.vbs");
}
else if (lk == 4)
{
system("msinfo32.exe");
}
system("pause");
system("cls");
print();
}
else if (x == 1)
{
system("cls");
system("sfc /scannow");
system("pause");
system("cls");
print();
}
else if (x == 2)
{
system("cls");
system("start cmd.exe");
system("pause");
system("cls");
print();
}
else if (x == 3)
{
system("cls");
system("start powershell.exe");
system("pause");
system("cls");
print();
}
else if (x == 4)
{
system("cls");
int xd = MessageBox(GetConsoleWindow(), "您确定要关机吗?", "提示", MB_YESNO|MB_ICONWARNING);
if (xd == 6)
{
system("shutdown -s -t 0");
}
system("pause");
system("cls");
print();
}
else if (x == 5)
{
system("cls");
int xde = MessageBox(GetConsoleWindow(), "您确定要卸载密钥吗?", "提示", MB_YESNO|MB_ICONWARNING);
if (xde == 6)
{
system("slmgr.vbs /upk");
}
system("pause");
system("cls");
print();
}
else if (x == 6)
{
system("cls");
system("slmgr.vbs /dlv");
system("pause");
system("cls");
print();
}
else if (x == 7)
{
system("cls");
system("start HEU_KMS_Activator_v24.1.0.exe /kd1");
printf("待页面消失,按任意键\n");
Sleep(1000);
system("pause");
MessageBox(GetConsoleWindow(), "正在验证……", "提示", MB_OK|MB_ICONWARNING);
system("slmgr.vbs /dlv");
system("slmgr.vbs /xpr");
system("pause");
system("cls");
print();
}
else if (x == 8)
{
system("cls");
system("start HEU_KMS_Activator_v24.1.0.exe /dig");
printf("待页面消失,按任意键\n");
Sleep(1000);
system("pause");
MessageBox(GetConsoleWindow(), "正在验证……", "提示", MB_OK|MB_ICONWARNING);
system("cls");
print();
}
else if (x == 9)
{
system("cls");
system("start HEU_KMS_Activator_v24.1.0.exe /oem");
printf("待页面消失,按任意键\n");
Sleep(1000);
system("pause");
MessageBox(GetConsoleWindow(), "正在验证……", "提示", MB_OK|MB_ICONWARNING);
system("slmgr.vbs /dlv");
system("slmgr.vbs /xpr");
system("pause");
system("cls");
print();
}
else if (x == 10)
{
system("cls");
system("start HEU_KMS_Activator_v24.1.0.exe /k38");
printf("待页面消失,按任意键\n");
Sleep(1000);
system("pause");
MessageBox(GetConsoleWindow(), "正在验证……", "提示", MB_OK|MB_ICONWARNING);
system("slmgr.vbs /dlv");
system("slmgr.vbs /xpr");
system("pause");
system("cls");
print();
}
else if (x == 11)
{
system("cls");
system("inetcpl.cpl");
system("pause");
system("cls");
print();
}
else if (x == 12)
{
system("cls");
system("regedt32.exe");
system("pause");
system("cls");
print();
}
else if (x == 13)
{
system("cls");
int xf = MessageBox(GetConsoleWindow(), "您确定要这台电脑进入休眠吗?", "提示", MB_YESNO|MB_ICONWARNING);
if (xf == 6)
{
system("shutdown /h");
}
system("pause");
system("cls");
print();
}
else if (x == 14)
{
system("cls");
system("calc");
system("pause");
system("cls");
print();
}
else if (x == 15)
{
system("cls");
system("control");
system("pause");
system("cls");
print();
}
else if (x == 16)
{
system("cls");
system("msconfig");
system("pause");
system("cls");
print();
}
else if (x == 17)
{
system("cls");
system("gpedit.msc");
system("pause");
system("cls");
print();
}
else if (x == 18)
{
system("cls");
system("start nslookup");
system("pause");
system("cls");
print();
}
else if (x == 19)
{
system("cls");
int xv = MessageBox(GetConsoleWindow(), "您确定要重启吗?", "提示", MB_YESNO|MB_ICONWARNING);
if (xv == 6)
{
system("shutdown -r -t 0");
}
system("pause");
system("cls");
print();
}
else if (x == 20)
{
system("cls");
printf("注意,元素个数不能超过 5000 万个,单个元素不能超过 10 的 18 次方,不能小于负 10 的 17 次方,可以是小数\n");
printf("数据最终可能会以科学计数法输出\n");
printf("元素个数:");
int n;
cin >> n;
printf("\n请依次输入这 %d 个元素:\n", n);
for (int i = 1; i <= n; i++)
{
cin >> arr[i];
}
MessageBox(GetConsoleWindow(), "数据已收到", "提示", MB_OK|MB_ICONWARNING);
system("cls");
printf("您想将元素从小到大输出还是从大到小?\n");
printf("1 - 从小到大\n");
printf("2 - 从大到小\n");
printf("输入:");
int up;
cin >> up;
if (up == 1)
{
sort(arr + 1, arr + n + 1);
}
else sort(arr + 1, arr + n + 1, greater<int>());
MessageBox(GetConsoleWindow(), "排序完成,您可以按确认查看结果", "提示", MB_OK|MB_ICONWARNING);
system("cls");
for (int i = 1; i <= n; i++)
{
cout << arr[i] << ' ';
}
cout << endl;
system("pause");
system("cls");
print();
}
else if (x == 21)
{
system("cls");
char result[1024 * 4] = "";
if (execmd("py -V", result))
{
string s = result;
if (s[0] != 'P' && s[0] != 'p')
{
int v = MessageBox(GetConsoleWindow(), "没有检测到您电脑的 python 版本", "错误", MB_RETRYCANCEL|MB_ICONHAND);
while (v == 4)
{
execmd("py -V", result);
s = result;
if (s[0] != 'P' && s[0] != 'p')
{
v = MessageBox(GetConsoleWindow(), "没有检测到您电脑的 python 版本", "错误", MB_RETRYCANCEL|MB_ICONHAND);
}
else
{
cout << "python 版本是:";
printf(result);
break;
}
}
}
else
{
cout << "python 版本是:";
printf(result);
}
}
system("pause");
system("cls");
print();
}
if (x == 22)
{
system("cls");
printf("请输入您要检查的驱动器的名称(例如c:, d:):");
string s;
cin >> s;
string y = "chkdsk " + s + " /f";
system(y.data());
system("pause");
system("cls");
print();
}
if (x == 23)
{
system("cls");
printf("选择模式模式:1 - 联网; 2 - 脱机");
int zs;
cin >> zs;
if (zs == 1)
{
printf("开始还原系统组件...\n");
system("DISM /online /cleanup-image /restorehealth");
printf("开始系统扫描...\n");
system("echo off & sfc /scannow");
printf("重新注册系统服务...");
system("for %1 in (%windir%\\system32\\*.dll) do regsvr32.exe /s %1");
cout << "修复完成!\n";
}
if (zs == 2)
{
printf("开始系统扫描...\n");
system("echo off & sfc /scannow");
printf("重新注册系统服务...");
system("for %1 in (%windir%\\system32\\*.dll) do regsvr32.exe /s %1");
cout << "修复完成!\n";
}
system("pause");
system("cls");
print();
}
if (x == 24)
{
system("cls");
system("reagentc /info");
system("pause");
system("cls");
print();
}
if (x == 25)
{
system("cls");
int xd = MessageBox(GetConsoleWindow(), "您确定要关闭 RE 吗?", "提示", MB_YESNO|MB_ICONWARNING);
if (xd == 6)
{
system("reagentc /disable");
}
system("pause");
system("cls");
print();
}
if (x == 26)
{
system("cls");
int xd = MessageBox(GetConsoleWindow(), "您确定要开启 RE 吗?", "提示", MB_YESNO|MB_ICONWARNING);
if (xd == 6)
{
system("reagentc /enable");
}
system("pause");
system("cls");
print();
}
if (x == 27)
{
system("cls");
int xd = MessageBox(GetConsoleWindow(), "您确定要进入 RE 吗?重启后生效", "提示", MB_YESNO|MB_ICONWARNING);
if (xd == 6)
{
system("reagentc /boottore");
}
system("pause");
system("cls");
print();
}
}
return 0;
}
有部分附件没法发,有什么要改进吗