⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 log.cpp

📁 ReactOS是一些高手根据Windows XP的内核编写出的类XP。内核实现机理和API函数调用几乎相同。甚至可以兼容XP的程序。喜欢研究系统内核的人可以看一看。
💻 CPP
字号:
////////////////////////////////////////////////////////
//
// log.cpp
// 
// Script Functions
//
//
// Klemens Friedl, 19.03.2005
// frik85@hotmail.com
//
////////////////////////////////////////////////////////////////////

#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#include <windows.h>

#include "log.h"
#include "package.hpp"   // for Package Manager version
#include <reactos/version.h>   // ReactOS version: \reactos\include\reactos\version.h

bool LogCreated = false;

void Log (const char *message)
{
	FILE *file;
	char GTime[80];
	char version[50];
	char versionos[50];

	if (!LogCreated) 
	{		
		file = fopen(LOGFILE, "w");
		LogCreated = true;

		//HTML Header
		fputs("<html><head><title>Logfile</title></head><body>\n", file);
		
		// date and time
		time_t now;
		now = time(NULL);
		strftime(GTime,sizeof GTime,"%Y-%m-%d",localtime(&now));

 		// package manager version information
		wsprintfA(version, " Package Manager %d.%d.%d",
			PACKMGR_VERSION_MAJOR,
			PACKMGR_VERSION_MINOR,
			PACKMGR_VERSION_PATCH_LEVEL);

 		// operating system version information
		wsprintfA(versionos, " ReactOS %d.%d.%d",
			KERNEL_VERSION_MAJOR,
			KERNEL_VERSION_MINOR,
			KERNEL_VERSION_PATCH_LEVEL);

		// write the head
		fputs("<h2>ReactOS Package Manager - Log File</h2>\n", file);
		//fputs("WARNING: This is still pre-alpha software.<br>\n", file);

		fputs("Date: ", file); 
		fputs(GTime, file);
		fputs("<br>\n", file);

		fputs("Version: ", file);
		fputs(version, file); 
		fputs("<br>\n", file);

		fputs("OS: ", file);
		fputs(versionos, file); 
		fputs("<br>\n", file);
	}

	else		
		file = fopen(LOGFILE, "a");
		
	if (file == NULL) 
	{
		if (LogCreated)
			LogCreated = false;

		return Log(message);
	}

	else
	{
		// Save log entry (+ add time)
		fputs("<br>\n", file);

		time_t now;
		now = time(NULL);
		strftime(GTime,sizeof GTime,"%I:%M:%S %p",localtime(&now));

		fputs("<b>", file);
		fputs(GTime, file);
		fputs("</b> ", file);

		fputs(message, file);
		fclose(file);
	}

	if (file)
		fclose(file);
}

void LogAdd (const char *message)
{
	FILE *file;

	file = fopen(LOGFILE, "a");
		
	// Save log entry
	fputs(message, file);
	fclose(file);

	if (file)
		fclose(file);
}

⌨️ 快捷键说明

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