关于C语言调用BAT文件的问题
答案:4 悬赏:50 手机版
解决时间 2021-03-29 22:26
- 提问者网友:心牵心
- 2021-03-29 06:47
关于C语言调用BAT文件的问题
最佳答案
- 五星知识达人网友:归鹤鸣
- 2021-03-29 07:10
bat文件一般是指windows平台的批处理文件。
在C语言中调用批处理文件,一般有两种方式:
1、使用system()函数,直接调用。示例代码如下:
#include
main()
{
system("test.bat"); //test.bat是要调用的bat文件。
}
2、使用Windows相关的API函数来调用 ,比如CreateProcess()、CreateThread()、ShellExecuteEx()等API函数直接创建进程或线程来运行批处理文件。
在C语言中调用批处理文件,一般有两种方式:
1、使用system()函数,直接调用。示例代码如下:
#include
main()
{
system("test.bat"); //test.bat是要调用的bat文件。
}
2、使用Windows相关的API函数来调用 ,比如CreateProcess()、CreateThread()、ShellExecuteEx()等API函数直接创建进程或线程来运行批处理文件。
全部回答
- 1楼网友:往事隔山水
- 2021-03-29 10:29
bmp不是图片吗?追问嗯,使用批处理文件打开一个图片,单独运行时能打开,但是先用C调用这个批处理,就打不开了..说错误..不知道怎么搞的追答那个bat的路径加进去啊改成c:\xx.bat追问
就是这个样子,但是单独运行那个批处理文件时就能成功..怎么回事追答不清楚。
就是这个样子,但是单独运行那个批处理文件时就能成功..怎么回事追答不清楚。
- 2楼网友:痴妹与他
- 2021-03-29 09:27
用shellExecute吧
- 3楼网友:撞了怀
- 2021-03-29 08:42
【system()函数】
system 是执行一条命令(系统path下搜索到可执行程序),你不能直接给一个文件路径让它去执行
windows 命令行程序中 默认会把文件 送给 explorer.exe 去执行 ShellExecute 或者 ShellExecuteEx
【解决方法】所以你必须把执行 *.bat 或者 *.cmd 写成命令形式:system("cmd.exe /c "D:\test.bat"");
system("explorer.exe "D:\test.bat"");
【附】先写一个批处理文件 test.bat 放到路径 d: 下
然后 运行一下 C/C++代码(已在 mingw gcc 下 调试通过)#include
int main(int argc, char* argv[]) {
//批处理命令中加上 pause 暂停看运行效果
system("cmd.exe /c "D:\test.bat"");
system("explorer.exe "D:\test.bat"");
//system("pause");
return 0;
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯