consoleapp.h

来自「一个完全使用MFC框架开发的C++编译器的代码。功能十分强大可以编译大型程序。」· C头文件 代码 · 共 52 行

H
52
字号
// ----- consoleapp.h

#ifndef CONSOLEAPP_H
#define CONSOLEAPP_H

#include "stdafx.h"
#include <string>
#include <queue>

class ConsoleApp	{

	HANDLE hOutputReadTmp;
	HANDLE hInputWriteTmp;
	HANDLE hOutputRead;
	HANDLE hOutputWrite;
	HANDLE hInputRead;
	HANDLE hInputWrite;
	HANDLE hErrorWrite;


	PROCESS_INFORMATION pinfo;
	DWORD exitcode;
	std::string Exename;
	std::string Args;
	bool running;
	bool successfulrun;
	DWORD bufferct;
	std::queue<char> buffer;
	void (*InputReady)(DWORD);
	void (*Termfunc)();
	void fillbuffer();
	void flushbuffer();
	void closehandle(HANDLE& handle);
	void shutdown();
	static ConsoleApp* consoleapp;
	static UINT DoRun(void*);
	void runapplication();
public:
	ConsoleApp(const char* exename, void (*termfunc)() = 0, void (*cbfunc)(DWORD) = 0);
	~ConsoleApp();
	void Run(const char* params = 0);
	void WriteConsole(const char* cmd);
	int ReadConsole(char* line, unsigned int nchars);
	void Stop();
	bool IsRunning() const { return running; }
	bool SuccessfulRun() const { return successfulrun; }
	DWORD Exitcode() const { return exitcode; }
};

#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?