最近舍友突然说到shutdown -s -t 7200 这个自动关机的命令,突然想到把它写成一个小程序,就不用麻烦的去算秒了,下面是一段的代码。主要是创建了一个管道(参考网上代码的)将命令写入cmd,同时将cmd上的回复读出。这个是用MFC写的,下面是主要的代码。有点简陋,勿怪。
void CShutDownCmdDlg::CString2string(CString cstr, std::string& str)
{
DWORD dwNum=::WideCharToMultiByte(CP_ACP,NULL,cstr,-1,NULL,0,NULL,FALSE);
char* temp = new char[dwNum];
::WideCharToMultiByte(CP_ACP,NULL,cstr,-1,temp,dwNum,NULL,FALSE);
str = std::string(temp);
}
bool CShutDownCmdDlg::SisDigit(std::string & str)
{
for(int i = 0; i < str.length();i++)
{
if(!isdigit(str.at(i)))
{
return false;
}
}
return true;
}
int CShutDownCmdDlg::GetDigit(std::string & str)
{
in