阻止电脑休眠程序

阻止电脑休眠程序

这个软件,无论功能和界面看起来好傻..是吧?

多年前写的一个PC上软件,阻止电脑休眠,进入屏幕保护的方法有N+种,为什么需要这个蛋疼呢?

黑先生曾经说过:All that is real is rational; and all that is rational is real.那么这个存在也是存在蛋疼的理由的。那些年的回忆啊…

那是在一个庞大的公司,上上下下全是人,有木有?公司电脑可都是加入域,你没有管理员权限,就是说,你仅有运行已安装在上面的若干软件的权限,而没有更改任何配置的权限,当然也包括了更改屏幕保护。于是你一个转身,电脑进入屏幕保护,你不不得再输入密码…

理由也算充分了,在某些地方他并非一无是处。除了阻止电脑休眠,而且可以在下班后自动为你关闭电脑,假如你决定翘班……这就是当年的生活…

shots

 

今天,偶然翻看google drive,看到了这个小工具,居然还可以运行,多年前辛辛苦苦学习VC++,MFC,到现在代码居然看不懂…

时光是把杀猪刀……

BOOL CAnti_SleepDlg::OnInitDialog()
{
	CDialog::OnInitDialog();

//  when the application's main window is not a dialog
	SetIcon(m_hIcon, TRUE);			// Set big icon
	SetIcon(m_hIcon, FALSE);		// Set small icon

	SetWindowText("阻止屏保开启/计算机休眠");
	long val=GetWindowLong(this->GetSafeHwnd(),GWL_STYLE);   
	val|= WS_SYSMENU; //需要系统菜单
	SetWindowLong(this->GetSafeHwnd(),GWL_STYLE,val);
	m_brush.CreateSolidBrush(RGB(0,0,255));
	//ModifyStyle(0,WS_SYSMENU,0);

	ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
	ASSERT(IDM_ABOUTBOX < 0xF000);	
	CMenu* pSysMenu = GetSystemMenu(FALSE);
	if (pSysMenu != NULL)
	{
		CString strAboutMenu;	
		strAboutMenu.LoadString(IDS_ABOUTBOX);

		if (!strAboutMenu.IsEmpty())
		{
			pSysMenu->AppendMenu(MF_STRING, IDM_MINIWND, "隐藏到托盘");
			pSysMenu->AppendMenu(MF_SEPARATOR);
			pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX,"关于.." );			
		}
		pSysMenu->RemoveMenu(0,MF_BYPOSITION);
		//pSysMenu->RemoveMenu(1,MF_BYPOSITION);
		pSysMenu->RemoveMenu(2,MF_BYPOSITION);
		pSysMenu->RemoveMenu(3,MF_BYPOSITION);
		pSysMenu->RemoveMenu(SC_SIZE,MF_BYCOMMAND);
		pSysMenu->RemoveMenu(SC_MAXIMIZE,MF_BYCOMMAND);
	}
	GetDlgItem(IDC_WORKSTATIC)->ShowWindow(FALSE);
	quitBBT.AutoLoad(IDCANCEL,this);
	quitBBT.LoadBitmaps(IDB_BITMAP3);
	shutBBT.AutoLoad(ID_TIMESHUTDOWN,this);
	shutBBT.LoadBitmaps(IDB_SHUTDOWNBMP);
	hideBBT.AutoLoad(ID_TOTRAY,this);
	hideBBT.LoadBitmaps(IDB_BITMAP2);
	return TRUE;  // return TRUE  unless you set the focus to a control
}

祭奠一下…放在了Github上..但愿还有用武之地……
Git:  https://github.com/iocoo/Anti_Sleep.git

 

 

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.