积极答复者
at命令可以这么调用吗

问题
-
mypro2("at","now rundll32 powrprof.dll,SetSuspendState 0,0,0");
下面是函数原型
BOOL mypro2(LPCSTR exep,LPCSTR parm)
{
TCHAR szApp[MAX_PATH * 2] = {0};
StringCchPrintf(szApp, _countof(szApp), _T("%s %s"), exep, parm);
STARTUPINFO si = {sizeof(si)};
PROCESS_INFORMATION pi = {0};
GetStartupInfo(&si);
if(CreateProcess(NULL, szApp, NULL, NULL, TRUE, 0, NULL, NULL, &si, & pi))
{
CloseHandle(pi.hThread);
if(WAIT_TIMEOUT == WaitForSingleObject(pi.hProcess, 30 * 1000))
{
TerminateProcess(pi.hProcess,0);
}
CloseHandle(pi.hProcess);
}
return TRUE;}
答案
-
你好,
你想执行的是cmd.exe里面的at 命令么?
如果是这样的话,需要加入cmd.exe在createProcess里面,因为需要指定程序,再传入参数,请参考
http://zhidao.baidu.com/question/25792387
如果你不想启动新进程来执行命令,可以直接通过system("command line")来执行cmd.exe里面的命令。
致礼
Jesse Jiang [MSFT]
MSDN Community Support | Feedback to us
- 已标记为答案 Jesse JiangModerator 2012年6月4日 10:45
-
我觉得应该加引号system("at now \"rundll32 powrprof.dll,SetSuspendState 0,0,0\"");
0xBAADF00D
- 已标记为答案 Jesse JiangModerator 2012年6月4日 10:45
全部回复
-
你好,
你想执行的是cmd.exe里面的at 命令么?
如果是这样的话,需要加入cmd.exe在createProcess里面,因为需要指定程序,再传入参数,请参考
http://zhidao.baidu.com/question/25792387
如果你不想启动新进程来执行命令,可以直接通过system("command line")来执行cmd.exe里面的命令。
致礼
Jesse Jiang [MSFT]
MSDN Community Support | Feedback to us
- 已标记为答案 Jesse JiangModerator 2012年6月4日 10:45
-
我觉得应该加引号system("at now \"rundll32 powrprof.dll,SetSuspendState 0,0,0\"");
0xBAADF00D
- 已标记为答案 Jesse JiangModerator 2012年6月4日 10:45