进程方式执行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;
}


在CMD命令行下关闭进程的命令

方法一: 在"运行"中输入:ntsd -c q -pn 程序名字(在MS-Dos中的作用是一样的) 方法二: ntsd使用以下参数杀死进程. c:\>ntsd -c q -p PID 只要你能...
  • huwenhu2007
  • huwenhu2007
  • 2013年05月30日 10:57
  • 14344

Window 通过cmd查看端口占用、相应进程、杀死进程等的命令

感觉很实用,就转载了~~~~~ 如何查看程序占用的端口  一、 查看所有进程占用的端口  在开始-运行-cmd,输入:netstat –ano可以查看所有进程 ...
  • hpl719
  • hpl719
  • 2014年05月08日 09:59
  • 1474

用cmd执行命令方法汇总

用Cmd执行命令方法汇总 一、system()--执行shell命令 1、包含头文件: #include 2、定义 intsystem(const char * string); 3、参数...
  • shufac
  • shufac
  • 2017年03月29日 18:36
  • 919

小技巧-cmd常用命令之创建文件

一、建立空文件的几种方法 1、cd.>a.txt cd.表示改变当前目录为当前目录,即等于没改变;而且此命令不会有输出。 “>”表示把命令输出写入到文件。后面跟着a.txt,就表示写入到a.tx...
  • sunjinshengli
  • sunjinshengli
  • 2016年12月10日 12:28
  • 2262

Window 通过cmd查看端口占用、相应进程、杀死进程等的命令

如何查看程序占用的端口  一、 查看所有进程占用的端口  在开始-运行-cmd,输入:netstat –ano可以查看所有进程 二、查看占用指定端口的程序  当你在用tomcat发布程序时,...
  • jiangwei0910410003
  • jiangwei0910410003
  • 2014年02月07日 18:03
  • 122983

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

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

Oracle数据库Cmd命令创建新用户并连接

Oracle数据库Cmd命令创建新用户并连接 ORACLE 配置 Oracle的三个用户 用超级管理员身份连接 创建新用户 连接 添加数据库表格 删除用户数据 ORACLE 配置-配置文件所在的路 ...
  • sinat_33927666
  • sinat_33927666
  • 2017年07月02日 14:33
  • 874

cmd下命令提示符下杀进程主要有三种方法:

打开命令提示符,输入“netstat -an | find "8080"”(不带引号输入),发现确实有程序在监听这个端口。再加上“-o参数发现发起进程的PID为“3668”,如下图所示。 ...
  • BianChengNinHao
  • BianChengNinHao
  • 2014年03月13日 16:21
  • 4797

使用maven cmd命令创建maven项目报错

使用maven的create命令创建项目报错问题分析
  • zach_ln
  • zach_ln
  • 2017年03月29日 21:19
  • 490

如何在Windows的cmd下让程序在后台执行?

在windows下启动JBoss服务器,需要在命令行中输入run.bat。但是运行后如果你想停止服务器,可能的做法就是直接按Ctrl+C键强行终止服务器,显然这种方式是不友好的。另一种方法就是再开一个...
  • u012377333
  • u012377333
  • 2014年12月09日 15:45
  • 16019
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:进程方式执行CMD命令及使用CMD命令一次创建多级录
举报原因:
原因补充:

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