42.管道,cmd执行指令写到管道中
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <Windows.h> 7 int exeshell(char *cmd, char *result)//传递指令,返回结果
8 {
9 FILE *pf = _popen(cmd, "r");//打开一个管道,用管道执行cmd,结果存放在管道中
10 if (pf == NULL)
11 {
12 printf("创建管道失败");
13 return 0;
14 }
15 else
16 {
17 while (!feof(pf))//如果没有到文件末尾
18 {
19 char str[256] = { 0 };
20 if (fgets(str, 256, pf))//返回值是读到多少个字符
21 {
22 strcat(result, str);//拼接字符串
23 }
24 }
25 _pclose(pf);//关闭管道
26
27 return 1;
28 }
29 }
void main()
{
char result[ * ] = { };//缓冲区 if (exeshell("tasklist", result)!=)
{
printf("%s", result);
} char *p = strstr(result, "QQ.exe"); int i = ;
for (char *p = strstr(result, "QQ.exe"); p != NULL; p = strstr(p+,"QQ.exe"))
{
i++;
printf("QQ运行了%d个\n", i);
} if (p != NULL)
{
MessageBoxA(, "QQ运行中", "提示", );
}
else
{
MessageBoxA(, "不在运行", "提示", );
} }
42.管道,cmd执行指令写到管道中的更多相关文章
- ASP.NET WebAPI 14 仿写Filter管道
WebAPI中有设计了几种管道(Channel),大概如下:HttpMessageHandler,ActionFilter管道,ExceptionFilter管道.在三种管道中HttpMessageH ...
- VC 模拟CMD 匿名管道
#include "stdafx.h" #include <Windows.h> #include <stdio.h> #include <stdli ...
- Linux进程间通信—管道
Linux下的进程通信手段基本上是从UNIX平台上的进程通信手段继承而来的.而对UNIX发展做出重大贡献的两大主力AT&T的贝尔实验室及BSD(加州大学伯克利分校的伯克利软件发布中心)在进程间 ...
- IPC——命名管道
Linux进程间通信——使用命名管道 转载:http://blog.csdn.net/ljianhui/article/details/10202699 在前一篇文章——Linux进程间通信——使用匿 ...
- 进程间通信之管道(pipe、fifo)
我们先来说说进程间通信(IPC)的一般目的,大概有数据传输.共享数据.通知事件.资源共享和进程控制等.但是我们知道,对于每一个进程来说这个进程看到属于它的一块内存资源,这块资源是它所独占的,所以进程之 ...
- Linux进程间通信——使用命名管道
在前一篇文章——Linux进程间通信——使用匿名管道中,我们看到了如何使用匿名管道来在进程之间传递数据,同时也看到了这个方式的一个缺陷,就是这些进程都由一个共同的祖先进程启动,这给我们在不相关的的进程 ...
- Linux中的pipe(管道)与named pipe(FIFO 命名管道)
catalogue . pipe匿名管道 . named pipe(FIFO)有名管道 1. pipe匿名管道 管道是Linux中很重要的一种通信方式,是把一个程序的输出直接连接到另一个程序的输入,常 ...
- 管道的创建与读写pipe
1.管道的创建 #include <unistd.h> int pipe(int pipefd[2]); linux下创建管道可以通过函数pipe来完成.该函数如果调用成功,数组中将包含两 ...
- 管道和FIFO 一
管道和FIFO 管道(pipe) 管道在Unix及Linux进程间通信是最基础的,很容易理解.管道就像一个自来水管,一端注入水,一端放出水,水只能在一个方向上流动,而不能双向流动.管道 ...
随机推荐
- Android项目实战(五十六):获取WebView加载的url的请求错误码
例如需求,我有一个WebView 加载一个url, 该url对应的网页本身自带下拉刷新 ,但是网页本身会有出现400 500 等异常请求错误码 这时候网页加载失败,页面本身的下拉是无法使用的,要求重新 ...
- Method Swizzing中一般替换方法都写在Category类别里吗?有没有别的实现方式
Method Swizzing中一般替换方法都写在Category类别里吗?有没有别的实现方式 Method Swizzing中一般替换方法都写在Category类别里吗?有没有别的实现方式 > ...
- js封装each函数
function each(ele,callback){ if(Object.prototype.toString.call(ele) == "[object Array]"){ ...
- Vue和vue-template-compiler版本之间的问题
今天把远程仓库拉下项目,运行'npm run dev'时,报错 Module build failed: Error: Cannot find module 'vue-template-compile ...
- python IO编程-StringIO和BytesIO
链接:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0014319187857 ...
- java反射机制剖析(二)— Class Loader
上一篇博客简要的提了一下java反射机制中涉及到的一些相关知识,那么ClassLoader就是当中之中的一个.本篇博客就具体的对ClassLoader做一个相对深入的了解. 作为了解须要知道的是.事实 ...
- 对照 Android 的 Intent 与 iOS StoryBoard 的 Segue - Intent 假设也能添加个prepareForSegue回调就好了
对照 Android 的 Intent 与 iOS StoryBoard 的 Segue - Intent 假设也能添加个prepareForSegue回调就好了 太阳火神的漂亮人生 (http:// ...
- sc命令以及InstallUtil安装service
1.安装 https://stackoverflow.com/questions/8164859/install-a-windows-service-using-a-windows-command-p ...
- 1.windows编程常用
1.画线 HDC hdc; hdc = ::GetDC(m_hWnd); ::MoveToEx(hdc, , , NULL); ::LineTo(hdc, , ); 2.填充矩形 HDC hdc; h ...
- BZOJ 1055 DP
思路: f[i][j][k]表示i到j匹配了字母k if(m,n能匹配上k) f[i][j][k]|=f[i][l][m]&f[l+1][j][n] 一个大枚举 就OK了~ //By Siri ...