为了“增进感情”,我们常常会做一些坑好友的事情,不论是在现实中还是在游戏中。那我既然会代码,用c++程序坑好友我当然早就想到了,今天我就做了一款较简单(毕竟时间不多)的坑好友程序。提示:玩之前先把要保存的东西保存好,玩的时候一定要聚精会神,仔细看,千万不要急着按按键,先看清楚。好了,那么——
#include <windows.h>
#include <iostream>
#include <string>
using namespace std;
LRESULT CALLBACK CBTHookProc(int nCode, WPARAM wParam, LPARAM lParam)
{
HWND hwnd = (HWND)wParam;
if(nCode == HCBT_ACTIVATE)
{
SetDlgItemText(hwnd,IDOK,"加入");
SetDlgItemText(hwnd,IDYES,"否(N)");
SetDlgItemText(hwnd,IDNO,"是(Y)");
SetDlgItemText(hwnd,IDCANCEL,"?(?)");
SetDlgItemText(hwnd,IDOK,"?(?)");
SetDlgItemText(hwnd,IDIGNORE,"OK");
SetDlgItemText(hwnd,IDABORT,"是(Y)");
SetDlgItemText(hwnd,IDRETRY,"Yes(Y)");
}
return 0;
}
int MyMessageBox(HWND hwnd, TCHAR *szText, TCHAR *szCaption, UINT uType)
{
int ret;
HHOOK hHook = SetWindowsHookEx(
WH_CBT,
CBTHookProc,
NULL,
GetCurrentThreadId()
);
ret = MessageBox(hwnd, szText, szCaption, uType);
UnhookWindowsHookEx(hHook);
return ret;
}
int main(){
DeleteMenu(GetSystemMenu(GetConsoleWindow(),FALSE),SC_CLOSE,MF_BYCOMMAND);//使程序框无法关闭
int s;
cout<<"提示:玩之前先把要保存的东西保存好,玩的时候一定要聚精会神,仔细看,千万不要急着按按键,先看清楚。";
Sleep(4000);
system("cls");
cout<<"开始!";
Sleep(2000);
s=MessageBox(NULL,TEXT("是否关机?"),TEXT(" "),MB_YESNO);
if(s==IDYES){
Sleep(1500);
system("shutdown /p");
return 0;
}
s=MyMessageBox(NULL,TEXT("我再问一次,是否关机?"),TEXT(" "),MB_YESNO);
if(s==IDNO){
Sleep(1500);
system("shutdown /p");
return 0;
}
MyMessageBox(NULL,TEXT("我再问一次,是否关机?"),TEXT(" "),MB_YESNO);
if(s==IDNO){
Sleep(1500);
system("shutdown /p");
return 0;
}
MyMessageBox(NULL,TEXT("我再问一次,是否关机?"),TEXT("《运气》"), MB_OKCANCEL);
MyMessageBox(NULL,TEXT("我再问一次,是否关机?"),TEXT("嗨嗨嗨"),MB_ABORTRETRYIGNORE);
Sleep(1500);
system("shutdown /p");
}