本文程序是将启用/禁用Telnet客户端的命令进行组合,单个命令的解析可参考文章:
启用/禁用Windows功能中的Telnet客户端的命令_()命令将阻止使用telnintel-CSDN博客
源代码如下:
cpp
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
int main() {
// 组装探测ip的cmd语句
char telnet_ip_port[512+10];
char ip_port[512];
GetPrivateProfileString("ip_port", "ip_port", "error", ip_port, sizeof(ip_port), ".\\res\\ip port.ini");
sprintf_s(telnet_ip_port, sizeof(telnet_ip_port), "telnet %s", ip_port);
int result = system("telnet"); // 执行命令行,检查telnet是否开启
if (result == 0) {
// printf("返回值为 %d\n成功", result);
// 检查网络
// system("telnet 127.0.0.1 8080");
system(telnet_ip_port); // 探测
} else {
// printf("返回值为 %d\n失败", result);
// 打开telnet
system("dism /online /Enable-Feature /FeatureName:TelnetClient");
// 检查网络
// system("telnet 127.0.0.1 8080");
system(telnet_ip_port);
//关闭telnet
system("dism /online /Disable-Feature /FeatureName:TelnetClient");
}
getchar();
return 0;
}
将源代码编译生成*.exe文件,在*.exe所在文件夹下,新建一个名为res的文件夹,在res文件夹下新建ip port.ini文件,将下述内容(值的格式为: ip port。中间有空格)填入ip port.ini文件文件中,并保存,注意将ip port.ini文件格式保存为ANSI。
cpp
[ip_port]
ip_port=127.0.0.1 8080
以管理员模式运行 *.exe 文件,程序功能:
检测pc端是否开启了telnet功能:若没开启,则先开启;若已开启,则等待用户输入字符 quit 并点击回车;
程序telnet文件ip port.ini中ip_port字段对应的ip和port,可能需要输入字符 quit 并点击回车;
若pc端运行程序前已开启telnet功能,则程序直接停止;
若pc端运行程序前未开启telnet功能,则程序将打开的telnet功能关闭后再退出。
参考资料: C语言的system函数简介-CSDN博客