C语言编写Windows程序:组合启用/禁用Telnet客户端,并Telnet指定ip和端口

本文程序是将启用/禁用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博客

相关推荐
安妮细水长流7 分钟前
ad7124
c语言·单片机
goehou1 小时前
让 AI 替我操作这台电脑,先把手能伸多远定下来
windows·自动化·权限管理·ai agent
公子小六2 小时前
基于.NET的Windows窗体编程之WinForms数据持久化(1)
windows·microsoft·c#·.net·winforms
沫璃染墨3 小时前
从零入门计算机网络系列(十八):TCP连接管理详解——从三次握手与四次挥手到TIME_WAIT机制
运维·服务器·网络·c++·网络协议·tcp/ip·tcp
Zwawa17 小时前
用两个按键做一个OLED菜单:先把选择和执行分开
c语言·单片机·嵌入式
2601_9679873717 小时前
安装 Redis 或 Redis Stack
linux·windows·redis·macos·安装
心仪久了会沦陷21 小时前
C语言数据结构入门——树与二叉树详解:概念、堆实现与链式遍历
c语言·数据结构·算法
xbzb1 天前
自定义 yum 软件源:Linux 上 createrepo,Windows 上纯 Python 也能造
linux·运维·windows·python·yum·createrepo
武雄(小星Ai)1 天前
Ollama报llama-server binary not found排坑实录:服务活着引擎没了
人工智能·windows·大模型·ollama·排坑
Severus_black1 天前
【C++初阶】list使用及相关实现,思路顺滑流畅!
c语言·数据结构·c++·stl·list