进程方式执行CMD命令及使用CMD命令一次创建多级录

原创 2012年06月16日 11:35:55
void exceCmd(LPCTSTR cmdLines)
{
	STARTUPINFO si;
	PROCESS_INFORMATION pi;

	ZeroMemory( &si, sizeof(si) );
	si.cb = sizeof(STARTUPINFO);
	ZeroMemory( &pi, sizeof(pi) );

	//这两句一定要,否则会显示出黑框框.
	si.wShowWindow = SW_HIDE;
	si.dwFlags = STARTF_USESHOWWINDOW | STARTF_USESTDHANDLES;

	TCHAR cmdBuf[0x100]={0};
	_stprintf_s(cmdBuf,TEXT("cmd /k %s"),cmdLines);
	// Start the child process. 
	if( !CreateProcess( NULL,   // No module name (use command line)
		cmdBuf,        // Command line
		NULL,           // Process handle not inheritable
		NULL,           // Thread handle not inheritable
		FALSE,          // Set handle inheritance to FALSE
		0,              // No creation flags
		NULL,           // Use parent's environment block
		NULL,           // Use parent's starting directory 
		&si,            // Pointer to STARTUPINFO structure
		&pi )           // Pointer to PROCESS_INFORMATION structure
		) 
	{
		OutputDebugString(TEXT("失败"));
		return;
	}

	// Wait until child process exits.
	WaitForSingleObject( pi.hProcess, INFINITE );
	// Close process and thread handles. 
	CloseHandle( pi.hProcess );
	CloseHandle( pi.hThread );
}
BOOL makeDir(LPCTSTR strPath)
{
	CString Str=strPath;
	if(Str.GetLength()>3)
	{
		if( Str.ReverseFind('.') > 0 )
		{
			int Index = Str.ReverseFind('\\');
			Str = Str.Left(Index);
		}
		Str = TEXT("md ")+Str;
		exceCmd(Str);
		return TRUE;
	}
	return FALSE;
}


C语言中使用CreateProcess创建进程(或执行win命令行)

转载请注明出处: 实际上用system()函数就可以执行windows命令行,不过略显简陋,下面介绍更复杂的CreateProcess() WIN32API函数CreateProcess用来创...
  • jeakon
  • jeakon
  • 2013-01-26 17:28:21
  • 5433

Windows下多进程的实现案例

最近碰到一个多进程的问题牵涉到了Windows下多进程的操作。经过研究也算是找到了一种解决方案。下面具体介绍一下这个题目中自己的收获。        背景介绍:程序涉及到Win32与Linux两个平...
  • liuhuiyi
  • liuhuiyi
  • 2012-11-28 15:59:34
  • 10542

Qt下调用外部命令或Shell脚本

首先,得做个简单的Qt界面,如下所示:          我们在输入框内调用外部命令ping baidu.com 测试输出结果。 下面演示直接使用shell脚本完成上述相同...
  • zhanghouwen321
  • zhanghouwen321
  • 2012-05-15 10:07:34
  • 2858

windows下创建进程,CreateProcess()详解及用法

CreateProcess() 函数原型如下: [C++] 纯文本查看 复制代码 ? 01 02 03 04 05 06 ...
  • bzhxuexi
  • bzhxuexi
  • 2014-04-17 18:04:46
  • 22395

关于Windows创建进程的过程

1. 程序的启动 当我们通过explorer.exe运行一个程序时,explorer.exe会调用CreateProcess函数请求系统为这个程序创建进程。当然,其它程序也可以调用CreateP...
  • jiangqin115
  • jiangqin115
  • 2017-11-21 19:38:45
  • 1765

Windows创建进程

1. WinExrc()函数 这个函数还存在是为了兼容一千老式的16位机而存在的,它的函数原型为: UINT WINAPI WinExec( _In_ LPCSTR lpCmdLine, _I...
  • m_buddy
  • m_buddy
  • 2017-06-04 17:59:55
  • 541

用c#执行cmd命令

  • 2008年08月28日 22:04
  • 338B
  • 下载

C#执行CMD命令

  • 2008年06月07日 23:09
  • 17KB
  • 下载

进程方式执行CMD命令及使用CMD命令一次创建多级录

void exceCmd(LPCTSTR cmdLines) { STARTUPINFO si; PROCESS_INFORMATION pi; ZeroMemory( &si, sizeof...
  • xiaohuh421
  • xiaohuh421
  • 2012-06-16 11:35:55
  • 1307

Windows下创建进程-CreateProcess()

函数说明: CreateProcess是Windows下用于创建进程的API函数,用来创建一个新的进程和它的主线程,这个新进程运行指定的可执行文件。 函数原型: BOOL CreateProce...
  • yuyan987
  • yuyan987
  • 2017-11-27 15:29:30
  • 247
收藏助手
不良信息举报
您举报文章:进程方式执行CMD命令及使用CMD命令一次创建多级录
举报原因:
原因补充:

(最多只允许输入30个字)