- 浏览: 369585 次
- 性别:
- 来自: 苏州
文章分类
- 全部博客 (335)
- C++ (190)
- 设计模式 (43)
- 数据库技术 (5)
- 网络编程 (11)
- 自动化测试 (6)
- Linux (13)
- OpenSSL (10)
- MS Crypt API (5)
- SCM (2)
- English (4)
- Android (10)
- EMV规范 (1)
- Saturn Platform (0)
- C (10)
- SQL (2)
- ASP.NET (3)
- 英语口语学习 (3)
- 调试工具 (21)
- 编译技术 (5)
- UML (1)
- 项目管理 (5)
- 敏捷开发 (2)
- Http Server (6)
- 代码审查、代码分析 (5)
- 面试基础 (10)
- 重点知识 (16)
- STL (6)
- Efficient C++资料 (8)
- 数据结构和算法 (7)
- 读书笔记 (0)
- 开源项目 (4)
- 多线程 (2)
- Console App (6)
- 个人开源项目 (4)
- IBM DevelopWorks (4)
- Java (16)
- 内存泄漏相关调试和检测 (13)
- 软件测试相关技术 (2)
- C# (11)
- Apple Related (1)
- 软件测试和管理 (2)
- EMV (1)
- Python (1)
- Node.js (6)
- JavaScript (5)
- VUE (1)
- Frontend (1)
- Backend (4)
- RESTful API (3)
- Firebase (3)
最新评论
-
u013189503:
来个密码吧
[C++][Logging] 项目中写日志模块的实现 -
wyf_vc:
来个密码啊!!
[C++][Logging] 项目中写日志模块的实现
转自
http://blog.csdn.net/slixinxin/article/details/51455335
代码中执行cmd命令有多重方法:
第一种:可以直接打开对应文件(文件夹),但不能定位到相应文件
第二种:可以再打开文件夹的同时定位到相应的文件
对于前两种的cmd执行方式,一般是用于打开文件或者链接之类的,另外的一些命令需要用到下面的方法:
第三种:用于直接打开一个可执行文件,并且可以等待其执行完成,适用于单线程
第四种:用于调用一个外部可执行文件执行相应命令,并且可以等待其执行完成,适用于单线程,其他部分代码同上一种
第五中:system 函数,可以直接执行输入到cmd里面的命令,但是代码中执行过程中会出现黑屏的闪烁,无法隐藏
第六种:WinExec 函数(可以直接执行cmd命令以及调用cmd执行命令,并且可以隐藏窗口)
相关用法:
http://blog.csdn.net/slixinxin/article/details/51455335
代码中执行cmd命令有多重方法:
第一种:可以直接打开对应文件(文件夹),但不能定位到相应文件
::ShellExecute(NULL, _T("open"), "d:\CodeSpace\FileRecv\mcisendstring.txt", NULL, NULL, SW_SHOWNORMAL);
第二种:可以再打开文件夹的同时定位到相应的文件
::ShellExecute(NULL, L"open", L"explorer.exe", "/select,d:\CodeSpace\FileRecv\mcisendstring.txt", NULL, SW_SHOWNORMAL);
对于前两种的cmd执行方式,一般是用于打开文件或者链接之类的,另外的一些命令需要用到下面的方法:
第三种:用于直接打开一个可执行文件,并且可以等待其执行完成,适用于单线程
do { DWORD lResult; PROCESS_INFORMATION piProcInfo; STARTUPINFO siStartInfo = {sizeof(STARTUPINFO)}; //PROCESS_INFORMATION pi; //ZeroMemory(&si,sizeof(STARTUPINFO)); //si.cb = sizeof(STARTUPINFO); //GetStartupInfo(&si); //si.wShowWindow = SW_HIDE; //隐藏窗口 //si.dwFlags = STARTF_USESHOWWINDOW | STARTF_USESTDHANDLES; if(!CreateProcess(NULL, "uclient.exe /c", NULL, NULL, FALSE, NULL, NULL, NULL, &siStartInfo, &piProcInfo)) break; WaitForSingleObject(piProcInfo.hProcess, INFINITE); if(GetExitCodeProcess(piProcInfo.hProcess, &lResult) && lResult != -1 && lResult>0) { DebugInfoA("客户端有 %d 个文件可升级最新版", lResult); int nresult = MessageBox(NULL, "有新版本可以升级,是否立即升级?", "客户端版本升级", MB_OKCANCEL); if(IDOK == nresult) { CreateProcess(NULL, "uclient.exe /u", NULL, NULL, FALSE, NULL, NULL, NULL, &siStartInfo, &piProcInfo); return 0; } } }while(FALSE);
第四种:用于调用一个外部可执行文件执行相应命令,并且可以等待其执行完成,适用于单线程,其他部分代码同上一种
if(!CreateProcess(NULL, "7za.exe a \"d:\CodeSpace\Face.7z\" -o \"d:\CodeSpace\Face/*\"", NULL, NULL, FALSE, NULL, NULL, NULL, &siStartInfo, &piProcInfo)); if(!CreateProcess(NULL, "7za.exe x \"d:\CodeSpace\Face.7z\" -o \"d:\CodeSpace\Face\"", NULL, NULL, FALSE, NULL, NULL, NULL, &siStartInfo, &piProcInfo));
第五中:system 函数,可以直接执行输入到cmd里面的命令,但是代码中执行过程中会出现黑屏的闪烁,无法隐藏
system(“copy \"C:\Users\s810.png\" \"d:\CodeSpace\719950C424FC405CA6139EDFB99F4E08.png\"”);
第六种:WinExec 函数(可以直接执行cmd命令以及调用cmd执行命令,并且可以隐藏窗口)
WinExec("cmd.exe /c copy \"C:\Users\s810.png\" \"d:\CodeSpace\s893CD.png\"", SW_HIDE);
相关用法:
ex1: WinExec("Notepad.exe c:\\autoexec.bat",SW_SHOW); 执行 notepad.exe 并正常显示器窗口 ex2: WinExec("Notepad.exe",SW_SHOWMINIMIZED); 执行 notepad.exe 但最小化其窗口 ex3: WinExec("Command.com /c dir c:\\",SW_SHOW); 执行 dir C:\ ,完成后关闭 MSDOS 窗口 ex4: WinExec("Command.com /k dir c:\\",SW_SHOW); 执行 dir C:\ ,完成后不关闭 MSDOS 窗口
发表评论
-
FreeRTOS
2022-03-05 16:31 247Ref https://blog.csdn.net/weix ... -
串口通讯相关
2018-11-02 13:44 410https://bbs.csdn.net/wap/topics ... -
[转]C++验证IP是否可以PING通
2018-10-30 17:54 1324https://www.cnblogs.com/guoyz13 ... -
C++/MFC 換皮膚
2018-10-20 11:05 476https://blog.csdn.net/u01123991 ... -
WinCE 截屏 - C++ 代碼
2018-08-31 09:45 573// this function create a bmp ... -
Android NDK搭建環境
2017-11-27 13:25 578https://www.cnblogs.com/ut2016- ... -
8583协议相关
2017-10-17 13:38 5728583相关资料,整理中... -
Java高级应用之JNI
2017-06-19 09:00 599参考link http://www.cnblogs.com/l ... -
C++实现ping功能
2017-04-18 11:21 2153基础知识 ping的过程是向目的IP发送一个type=8的I ... -
OpenSSL 编译环境搭建
2017-03-27 15:01 9051 安裝VS2008到 c:\Program Files (x ... -
最优非对称加密填充(OAEP)
2017-03-25 14:53 1581OpenSSL命令---rsautl http://blog. ... -
[Platform Builder] 设置SVM OS build Env
2016-11-10 11:39 01 copy one OSDesign Project to ... -
[Windows] System Error Codes(GetLastError )0-----5999
2016-10-26 13:28 1880ERROR_SUCCESS 0 (0x0) T ... -
开源Windows驱动程序框架
2016-09-17 21:35 869转自 http://code.csdn.net/news/28 ... -
C#使用C++标准DLL实例(包含callback)
2016-09-11 19:44 1085C++编写标准Win32DLL如下 头文件 /***** ... -
C#调用C++的DLL搜集整理的所有数据类型转换方式
2016-09-09 16:07 968转自 http://www.cnblogs.com/zeroo ... -
WinCE CPU使用率计算 测试工具
2016-09-08 16:14 990转自 http://blog.csdn.net/jan ... -
switch在C++与C#中的一些差异
2016-09-08 15:19 809参考链接 http://blog.csdn.net/weiwe ... -
C++ 鼠标模拟程序
2016-09-04 12:09 1610转自 http://blog.csdn.net/weixinh ... -
C/C++内存分配方式与存储区
2016-08-28 16:26 1044转自 http://blog.csdn.net/zheng05 ...
相关推荐
文档提供了六种在C++代码中运行cmd命令的方法。并以具体的例子加以说明。
以上代码展示了如何在VC++6.0中使用`CreateProcess`执行CMD命令,并通过命名管道获取返回信息。这种技术具有很大的灵活性,可以执行任何支持的CMD命令,并获取其结果,为开发者提供了强大的功能。不过,实际应用中还...
在上述代码中,`cmdLine`变量包含了我们要执行的CMD命令,例如`dir`用于列出当前目录下的文件和文件夹。`CreateProcess`函数创建新的进程,而`WaitForSingleObject`则等待该进程执行完毕。然而,这段代码并不能直接...
在VC++(Visual C++)开发环境中,有时候我们需要执行一些系统级别的操作,比如运行CMD命令行指令,并且希望获取这些命令的执行结果。这在处理自动化任务、系统管理或者集成外部工具时非常常见。本篇文章将详细介绍...
总的来说,通过JNI调用C/C++代码执行shell命令,可以扩展Android应用的功能,实现更底层的操作。不过需要注意的是,这种操作可能会带来安全风险,因此在使用时应确保命令的合法性,避免执行可能危害系统的命令。
在探讨"C语言DOS命令(C/C++)"这一主题时,我们首先应当明确的是,C语言作为一种编程语言,能够通过调用操作系统提供的API来执行各种任务,包括但不限于执行DOS命令。在早期的计算机环境中,DOS(磁盘操作系统)是...
可以通过命令面板 (`Ctrl+Shift+P` 或 `Cmd+Shift+P`) 打开命令面板,输入 `C/C++: Edit Configurations (JSON)` 来创建或编辑配置文件。 - **创建 tasks.json**:用于定义构建任务。从命令面板运行 `Tasks: ...
注意,由于VS通常运行在图形界面环境下,直接在DOS窗口显示可能需要一些额外的设置,例如创建一个控制台窗口或者使用`system("cmd /c pause")`命令暂停程序,以便查看输出。 5. **关闭注册表键**:完成查询后,记得...
或者对于C++代码: ```cmd lcc -c -o hello.obj hello.cpp lcc -o hello.exe hello.obj ``` 上述命令分别完成了编译和链接的过程,生成了名为"hello.exe"的可执行文件。 总的来说,LCC-WIN32是一个适合初学者和...
为了在VS Code中编译和运行C/C++代码,需要创建一个`tasks.json`文件来定义构建任务: - 在VS Code中打开命令面板(`Ctrl+Shift+P`或`Cmd+Shift+P`)。 - 输入`Tasks: Configure Task`,选择`Create tasks.json ...
通过以上步骤,我们可以在 VSCode 中搭建一个完整的 C/C++ 开发环境,不仅可以进行代码编写,还能进行编译和调试。这种方式相比于传统的集成开发环境(IDE),提供了更为灵活且轻量的选择。希望本文能帮助读者顺利...
现在,每当在Eclipse中修改原生代码并保存时,配置的Builder会自动运行`ndk-build`命令,编译C/C++代码,并将生成的库文件与Java代码一起打包进APK。这样,你就可以在Android应用中使用C/C++代码并享受到其带来的...
在C/C++编程中,有时候我们需要执行一系列的DOS命令,比如设置环境变量、切换目录、执行文件等。传统的API,如`ShellExecute`, `WinExec`, `CreateProcess`等,只能一次执行一个命令,而不能一次性处理多个。在本文...
接下来,我们需要在C/C++代码中实现执行shell命令的功能。可以使用`system()`函数,它接受一个字符串参数,该参数是你要执行的shell命令。例如,如果要执行"ls"命令,代码可能如下: ```c++ #include #include ...
【系统说明】:帮朋友写的一个C/C++课设,基本要求点: 1.用bin文件模拟数据库存储,用txt实时显示数据库内容; 2.程序可复用,退出后重新登陆之前的操作数据保留; 3.支持带参数的命令行; 4.成绩数据的基本增...
同时,考虑到安全性,避免执行未经验证的用户输入作为CMD命令,以防止潜在的命令注入攻击。 总的来说,C++通过CMD打开文件的能力为自动化和批处理任务提供了便利,但同时也需要谨慎对待,以确保程序的安全性和稳定...
- 在终端中执行编译命令,如 `gcc -Wall -c main.c`。 - 编译完成后,Vim 会自动生成 QuickFix 列表。 2. **打开 QuickFix 窗口:** - 在 Vim 中按 `:copen` 打开 QuickFix 窗口。 3. **浏览和修复错误:** - ...
不过,这需要在命令行中运行,而不是在C/C++程序中直接使用。 为了在C/C++程序中获取CPU温度,可以使用像lm-sensors这样的开源库,它提供了Linux系统下访问硬件传感器的接口。通过包含适当的头文件并调用相关的函数...
在Qt中,我们可以使用QProcess类来执行外部程序,包括CMD命令。例如,如果你想要运行一个简单的"dir"命令,展示当前目录下的文件和文件夹,可以这样做: ```cpp QProcess process; process.start("cmd.exe", ...