使用管道实现重定向功能。在程序中启动新的进程,在新进程中执行ping.exe 程序,使用管道技术将ping. exe的输出结果重定向到Windows的窗口中。在进程执行结束后,恢复系统默认的输入/输出
#include<windows.h>
#define BUF_SIZE 1000
TCHAR PipeData[BUF_SIZE] = "\0";
LRESULT CALLBACK myWndProc(HWND hWnd, UINT uMsgId, WPARAM wParam, LPARAM lParam);
void AppendText(HWND hwnd);
void OnPing(HWND hwnd);
void PeekAndPump();
int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPreInst, LPSTR pszCmdLine, int nCmdShow)
{
static char szAppName[] = "输出重定向!";
WNDCLASS wndClass;
HWND hWnd;
MSG msg;
wndClass.style = CS_VREDRAW | CS_HREDRAW;//V veritical H horizontal
wndClass.lpfnWndProc = myWndProc;
wndClass.cbClsExtra = 0;
wndClass.cbWndExtra = 0;
wndClass.hInstance = hInst;
wndClass.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wndClass.hCursor = LoadCursor(NULL, IDC_ARROW);
wndClass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
wndClass.lpszMenuName