在具有Qt的窗口中以编程方式更改网络适配器名称

时间:2018-04-21 19:18:10

标签: c++ windows qt powershell network-programming

我知道可以在控制台中使用netsh命令更改Windows中的网络适配器。但是我需要在Qt中使用C ++来做这件事。我曾尝试使用QProcess来调用netsh,但命令提示符需要管理员权限。我的适配器名称中也有空间使其也不容易运行。 Qt中是否有任何库可以在不使用QProcess和调用Windows命令的情况下更改网络适配器名称?

更新1: 当我使用admin权限运行程序并在我的字符串中设置\“for having”时,我可以使用QProcess和netsh命令更改适配器名称。

QProcess p;
QString pi_network = "original adapter name";
p.start("netsh interface set interface name = \""+pi_network+"\" newname = \"MyAdapter\"");

enter image description here

1 个答案:

答案 0 :(得分:0)

我会将其作为答案发布,因为它可能对某人有帮助(正如MrEricSir在评论中所说)。

您可以使用netsh命令,但请注意,您应该在Windows中使用管理员运行程序。

QProcess p;
QString pi_network = "original adapter name";
p.start("netsh interface set interface name = \""+pi_network+"\" newname = \"new network adapter name\"");
p.waitForFinished();
p.close();