如何使用c程序运行其他可执行文件
我在位置D:/a.exe处有一个可执行文件。我将其扩展名更改为a.txt。现在我想用c程序来执行它。 我遵循c代码如何使用c程序运行其他可执行文件,c,windows,C,Windows,我在位置D:/a.exe处有一个可执行文件。我将其扩展名更改为a.txt。现在我想用c程序来执行它。 我遵循c代码 #include<windows.h> system("start D:/a.txt"); // or system("D:/a.txt"); #包括 系统(“启动D:/a.txt”); //或 系统(“D:/a.txt”); 程序不会执行它,而是将其打开到记事本中。如何执行实际上是可执行文件的.txt文件?首先重命名它,然后启动它。不能将txt扩展名作为可执行文
#include<windows.h>
system("start D:/a.txt");
// or
system("D:/a.txt");
#包括
系统(“启动D:/a.txt”);
//或
系统(“D:/a.txt”);
程序不会执行它,而是将其打开到记事本中。如何执行实际上是可执行文件的.txt文件?首先重命名它,然后启动它。不能将txt扩展名作为可执行文件启动
#include<windows.h>
char oldname[] = "D:/a.txt";
char newname[] = "D:/a.exe";
ret = rename(oldname, newname);
if(ret == 0)
{
system("start D:/a.exe");
}
#包括
char oldname[]=“D:/a.txt”;
char newname[]=“D:/a.exe”;
ret=重命名(旧名称、新名称);
如果(ret==0)
{
系统(“启动D:/a.exe”);
}
试试CreateProcess
。注意这个问题,你会找到解决方案的。。。在Windows上使用CreateProcessW
,在Unix上使用exec
函数系列。这不是C问题,而是关于DOS/Windows的问题。我添加了标签。您需要提供有关操作系统版本和设置的更多信息system
使用在COMSPEC
环境变量中设置的命令解释器。默认值是cmd,它总是在返回到ShellExecuteEx
之前尝试CreateProcess
,因此它应该可以工作;在Windows7中它对我来说确实如此。