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

📄 linuxkernelcfg.c

📁 linux内核编译配置提取工具
💻 C
字号:
#include <windows.h>
#include <STDIO.H>
#include <EXE_optimize.h>
#include "./res/resource.h"
#define ABOUT_MENU 20000
#define SOFTWARE_TITLE " linux内核配置文件处理 V0.1  开发者:胡循锋"
#define ABOUT_STRING "linux内核配置文件处理 V0.1\r\n\n 技术支持:\r\n\tQQ:122108210\r\n\tE-Mail:huxiao2005@163.com\r\n\t开发者:胡循锋"
BOOL CALLBACK DialogProc(HWND hDlg,UINT Msgid, WPARAM wParam,LPARAM lParam);
int ProcLinuxKernelCfg(int flag,const char *readfile,const char *savefile);
void EntryPoint()
{
	DialogBoxParam(GetModuleHandle(0),MAKEINTRESOURCE(IDD_FORMVIEW),0,DialogProc,0);
}
BOOL CALLBACK DialogProc(HWND hDlg,UINT Msgid, WPARAM wParam,LPARAM lParam)
{
	static HMENU hSysMenu;
	switch(Msgid){
	case WM_INITDIALOG:
		{
			SetWindowText(hDlg,SOFTWARE_TITLE);
			hSysMenu = GetSystemMenu(hDlg,FALSE);
			AppendMenu(hSysMenu,MF_SEPARATOR,ABOUT_MENU+1,NULL);
			AppendMenu(hSysMenu,MF_STRING,ABOUT_MENU,"关于"SOFTWARE_TITLE);
		}
		return FALSE;
	case WM_SYSCOMMAND:
		{
			if(LOWORD(wParam)==ABOUT_MENU){
				MessageBox(hDlg,TEXT(ABOUT_STRING"\r\n\t日期:" __DATE__ " " __TIME__),TEXT(SOFTWARE_TITLE),MB_OK|MB_ICONINFORMATION);
			}
		}
		break;
	case WM_COMMAND:
		{
			switch(LOWORD(wParam)) {
			case IDB_PROC:
				{
					char filesrc[260]="",filedst[260]="";
					int flag ;
					GetDlgItemText(hDlg,IDE_SOURCEFILE,filesrc,260);
					GetDlgItemText(hDlg,IDE_DESTFILE,filedst,260);
					flag = (SendMessage(GetDlgItem(hDlg,IDC_FLAG0x0a) , BM_GETCHECK,0,0)==BST_CHECKED);
					
					if(ProcLinuxKernelCfg(flag,filesrc,filedst)){
						//
						MessageBox(hDlg,"成功处理完毕","Okay",MB_OK|MB_ICONINFORMATION);
					}else
						MessageBox(hDlg,"处理失败 文件不存在","err",MB_OK|MB_ICONSTOP);
				}
				break;
			default:
				break;
			}
		}
		break;
	case WM_CLOSE:
	case WM_QUIT:
		EndDialog(hDlg,0);
		PostQuitMessage(0);
		break;
	default:
		break;
	}
	return FALSE;
}
int ProcLinuxKernelCfg(int flag, const char *readfile,const char *savefile)
{
	FILE *pf,*pf_write;
	char ch,write_flag;
	int ret=0;
	pf = fopen(readfile,"rb");
	if(!pf)
		return 0;
	pf_write = fopen(savefile,"wb+");
	if(!pf_write){
		fclose(pf);
		return 0;
	}
	while(!feof(pf)){
		if(!fread(&ch,1,1,pf))break;
		if(ch==0x0a)continue;
		if(ch=='#')
			write_flag = 0;
		else
			write_flag = 1;
		do{
			if(!fread(&ch,1,1,pf))break;
			if(write_flag)
				fwrite(&ch,1,1,pf_write);
		}while(ch!=0x0a);
		ret ++;
		if(write_flag&&flag){
			ch = 0x0a;
			fwrite(&ch,1,1,pf_write);
		}
		
	}
	fclose(pf_write);
	fclose(pf);
	return ret;
}

⌨️ 快捷键说明

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