📄 linuxkernelcfg.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 + -