C++ 调用CMD命令

在C++中执行cmd指令的两种方法:

方法1:system("calc");

方法2: WinExec("calc",SW_NORMAL);

 

相关提醒:

1.使用这两个函数时不需要另外添加头文件,因为system函数声明在了stdlib.h中,而WinExec函数声明在了WinBase.h中。

2.一定要注意两种方法的区别,具体如下所示,

 system函数在执行时,不会顺序执行接下来的代码,而会停留在system语句上,直到cmd指令执行完毕;

 WinExec函数在执行时,会顺序执行接下来的代码,不管其cmd指令是否执行完成;

 

 

 

 

用DOS命令启动服务程序或关闭服务程序:

1、使用 net start/stop 命令启动服务程序或关闭服务程序
net start ServiceName(服务名称)
net stop ServiceName(服务名称)

如果服务名称中带有空格,需要用双引号引起来。比如:

C:\>net start “Windows Firewall/Internet Connection Sharing (ICS)”
Windows Firewall/Internet Connection Sharing (ICS) 服务正在启动 .
Windows Firewall/Internet Connection Sharing (ICS) 服务已经启动成功。

C:\>net stop “Windows Firewall/Internet Connection Sharing (ICS)”

Windows Firewall/Internet Connection Sharing (ICS) 服务已成功停止。

2、使用 sc 命令启动服务程序或关闭服务程序
sc start ServiceName(服务名称)
sc stop ServiceName(服务名称)

比如:
C:\>sc start Apache_pn

SERVICE_NAME: Apache_pn
TYPE : 10 WIN32_OWN_PROCESS
STATE : 2 START_PENDING
(NOT_STOPPABLE,NOT_PAUSABLE,IGNORES_SHUTDOWN)
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x7d0
PID : 8756
FLAGS :

C:\>sc stop Apache_pn

SERVICE_NAME: Apache_pn
TYPE : 10 WIN32_OWN_PROCESS
STATE : 3 STOP_PENDING
(NOT_STOPPABLE,NOT_PAUSABLE,IGNORES_SHUTDOWN)
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x4
WAIT_HINT : 0x7530

附:
cmd net start 服务 提示系统错误5 拒绝访问怎么办?
两种情况:
1、没有管理员权限?
2、服务使用的端口被占用,比如web服务端口80端口,可能被迅雷、QQ旋风占用(可调整)。

XP下使用批处理关闭并禁止某个服务

C:\>sc config wuauserv start= disabled
[SC] ChangeServiceConfig SUCCESS

wuauserv为windows自动更新的服务名称。

使用 sc 安装一个服务 telnet
sc create TlntSvr binPath= “D:\WINDOWS\system32\tlntsvr.exe ” DisplayName= “Telnet ”

[SC] OpenService FAILED 1060:
没有已安装的服务存在

SC常用命令参数
sc create 创建一个服务
sc delete 删除一个服务
sc query 查询服务
sc config 配置服务
sc stop 关闭服务
sc start 开启服务
sc pause 暂停服务

SC简介

  SC是一个与NT服务控制器,服务进程进行通信的控制台程序,它可以查询和修改已安装服务的数据库。

  语法:sc [command] [service name]… ,选项为“\\ServerName”的形式。

  主要的命令包括:query,config,qc,delete,create,GetDisplayName,GetKeyName,EnumDepend等

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值