📄 eig.c
字号:
#include <stdio.h>#include <stdlib.h>#include <time.h>#include <string.h>#include <sys/time.h>#include <sys/types.h>#include <sys/wait.h>#include <pthread.h>#include <semaphore.h>#include <unistd.h>#include <minigui/common.h>#include <minigui/minigui.h>#include <minigui/gdi.h>#include <minigui/window.h>#include <minigui/mywindows.h>#include <minigui/filedlg.h>#include <minigui/control.h>#include "eig.h"//子类化编辑框static WNDPROC old_proc;HWND hWnd;void ExitSys(void);static void DisplayExitDialog (HWND hWnd);//各菜单项IDstatic HMENU hmnuother,hmnufs,hmnufr,hmnureport,hmnuoperator,hmnuread;//默认密码static char sUser[7] = "/0";static int logtime = 1;DLGTEMPLATE LoginDlgInitProgress ={ WS_BORDER | WS_CAPTION, WS_EX_NONE, 230,180,300,200, "登录系统", 0,0, 2,NULL, 0};CTRLDATA CtrlInitLoginProgress [] ={ { "button", WS_VISIBLE | WS_TABSTOP | BS_DEFPUSHBUTTON, 40,130,85,30, IDOK, "确定", 0 }, { "button", WS_VISIBLE | WS_TABSTOP, 180,130,85,30, IDCANCEL, "取消", 0 }};DLGTEMPLATE ExitDlgInitProgress = { WS_BORDER, WS_EX_NONE, 270,230,250,80, "", 0,0, 1,NULL, 0 };CTRLDATA CtrlInitExitProgress [] ={ { "static", WS_VISIBLE, 60,30,150,40, IDC_SHUTDOWN, "请直接关闭电源!", 0 }};//局域网传输对话框DLGTEMPLATE TTLDlgInitProgress ={ WS_BORDER | WS_CAPTION, WS_EX_NONE, 200, 200, 380, 200, "网卡传输", 0, 0, 3, NULL, 0};//远程传输对话框DLGTEMPLATE RTLDlgInitProgress ={ WS_BORDER | WS_CAPTION, WS_EX_NONE, 200, 200, 380, 200, "Modem传输", 0, 0, 3, NULL, 0};//修改密码对话框DLGTEMPLATE KEYDlgInitProgress = { WS_BORDER | WS_CAPTION, WS_EX_NONE, 200,200,300,200, "修改密码", 0,0, 2,NULL, 0};//自选注数对话框DLGTEMPLATE ZXDlgInitProgress ={ WS_BORDER | WS_CAPTION, WS_EX_NONE, 300,200,210,160, "机选自定", 0,0, 5,NULL, 0};//兑奖对话框/*DLGTEMPLATE ChangeDlgInitProgress = { WS_BORDER | WS_CAPTION, WS_EX_NONE, 200,200,300,200, "兑奖", 0,0, 7,NULL, 0};*/CTRLDATA CtrlInitTTLProgress [] ={ { "button", WS_TABSTOP | WS_VISIBLE, 320,70,50,28, IDC_SCAN1, "浏览", 0 }, { "button", WS_TABSTOP | WS_VISIBLE | BS_DEFPUSHBUTTON, 60, 130, 85, 30, IDOK, "确定", 0 }, { "button", WS_TABSTOP | WS_VISIBLE , 235, 130, 85, 30, IDCANCEL, "取消", 0 }};CTRLDATA CtrlInitRTLProgress [] ={ { "button", WS_TABSTOP | WS_VISIBLE, 320,70,50,28, IDC_SCAN2, "浏览", 0 }, { "button", WS_TABSTOP | WS_VISIBLE | BS_DEFPUSHBUTTON, 60 ,130 , 85, 30, IDOK, "确定", 0 }, { "button", WS_TABSTOP | WS_VISIBLE , 235, 130, 85, 30, IDCANCEL, "取消", 0 }};CTRLDATA CtrlInitKEYProgress [] ={ { "button", WS_VISIBLE | WS_TABSTOP | BS_DEFPUSHBUTTON, 40,120,85,30, IDOK, "确认", 0 }, { "button", WS_VISIBLE | WS_TABSTOP, 175,120,85,30, IDCANCEL, "取消", 0 }};CTRLDATA CtrlInitZXProgress[] ={ { "static", WS_VISIBLE, 14,24,90,22, IDC_SELNUM, "请选择数目:", 0 }, { "static", WS_VISIBLE, 174,24,20,22, IDC_ZHU, "注", 0 }, { "static", WS_VISIBLE, 40,55,150,22, IDC_HINTS, "(只能输入1-5注)", 0 }, { "button", WS_VISIBLE | WS_TABSTOP | BS_DEFPUSHBUTTON, 30,90,55,30, IDOK, "确定", 0 }, { "button", WS_VISIBLE | WS_TABSTOP, 120,90,55,30, IDCANCEL, "取消", 0 }};/*CTRLDATA CtrlInitChangeProgress [] ={ { "static", WS_VISIBLE, 14,24,80,22, IDC_SN, "序列号(20位)", 0 }, { "edit", WS_VISIBLE | WS_BORDER | WS_TABSTOP, 14,54,160,22, IDC_SNEdit, "", 0 }, { "static", WS_VISIBLE, 14,84,80,22, IDC_KEY1, "密码(8位)", 0 }, { "edit", WS_VISIBLE | WS_BORDER | WS_TABSTOP | ES_PASSWORD, 14,114,160,22, IDC_KEYEdit1, "", 0 }, { "button", WS_VISIBLE | WS_TABSTOP, 200,20,80,28, IDOK, "确定", 0 }, { "button", WS_VISIBLE | WS_TABSTOP, 200,70,80,28, IDC_REENTER, "重新输入", 0 }, { "button", WS_VISIBLE | WS_TABSTOP, 200,120,80,28, IDCANCEL, "取消", 0 }};*/static int LoginDialogProc(HWND hDlg,int message,WPARAM wParam,LPARAM lParam){ char sKey[7]; int i; HWND hCodeEdit,hKeyEdit; switch (message) { case MSG_CREATE: { CreateWindow("static","销售员代号", WS_VISIBLE | WS_CHILD, IDC_User, 14, 20, 80, 22,hDlg, 0); CreateWindow("static","销售员密码",WS_VISIBLE | WS_CHILD,IDC_Pwd,14, 70, 80, 22, hDlg, 0); hCodeEdit = CreateWindow("edit","",WS_VISIBLE | WS_BORDER | WS_TABSTOP | WS_CHILD, IDC_UEdit,100, 20, 160, 22, hDlg,DIGIT_ONLY); hKeyEdit = CreateWindow("edit","",WS_VISIBLE | ES_PASSWORD | WS_BORDER | WS_TABSTOP | WS_CHILD, IDC_PEdit,100, 70, 160, 22, hDlg,DIGIT_ONLY); SendMessage(hCodeEdit,EM_LIMITTEXT,6,0); SendMessage(hKeyEdit,EM_LIMITTEXT,6,0); old_proc = SetWindowCallbackProc(hCodeEdit,DigitEdit); SetWindowCallbackProc(hKeyEdit,DigitEdit); break; } case MSG_INITDIALOG: return 1; case MSG_COMMAND: switch(wParam) { case IDOK: if(logtime < 3) { GetDlgItemText(hDlg,IDC_UEdit,sUser,15); GetDlgItemText(hDlg,IDC_PEdit,sKey,15); if(!findkey(sUser,sKey)) { MessageBox(hDlg, "密码错误,请重新输入!", "登录系统", MB_OK | MB_ICONINFORMATION ); SetDlgItemText(hDlg,IDC_UEdit,""); SetDlgItemText(hDlg,IDC_PEdit,""); logtime++; break; } else { EndDialog (hDlg, wParam); return 0; } } else { MessageBox(hDlg, "密码三次输入错误,系统将自动退出!", "登录系统", MB_ICONINFORMATION); ShowWindow(hDlg,SW_HIDE); DisplayExitDialog(hDlg); EndDialog(hDlg,wParam); exit(0); break; } case IDCANCEL: if(MessageBox(hDlg,"此次操作将退出系统,您确定吗?", "登录系统",MB_OKCANCEL | MB_ICONINFORMATION) != IDOK) return 0; ShowWindow(hDlg,SW_HIDE); DisplayExitDialog(hDlg); EndDialog(hDlg,wParam);// ExitSys();// system("clear"); exit(0); break; } break; } return DefaultDialogProc(hDlg,message,wParam,lParam);}static void DisplayLoginDialog (HWND hWnd){ LoginDlgInitProgress.controls = CtrlInitLoginProgress; DialogBoxIndirectParam(&LoginDlgInitProgress,hWnd,LoginDialogProc,0L);}static void DisplayExitDialog (HWND hWnd){ ExitDlgInitProgress.controls = CtrlInitExitProgress; DialogBoxIndirectParam(&ExitDlgInitProgress,hWnd,ExitDialogProc,0L);}static void DisplayTTLDialog (HWND hWnd){ TTLDlgInitProgress.controls = CtrlInitTTLProgress; DialogBoxIndirectParam (&TTLDlgInitProgress, hWnd,TTLDialogProc, 0L);}static void DisplayRTLDialog (HWND hWnd){ RTLDlgInitProgress.controls = CtrlInitRTLProgress; DialogBoxIndirectParam (&RTLDlgInitProgress, hWnd,RTLDialogProc, 0L);}static void DisplayKEYDialog (HWND hWnd){ KEYDlgInitProgress.controls = CtrlInitKEYProgress; DialogBoxIndirectParam(&KEYDlgInitProgress,hWnd,KEYDialogProc,0L);}static void DisplayZXDialog(HWND hWnd){ ZXDlgInitProgress.controls = CtrlInitZXProgress; DialogBoxIndirectParam(&ZXDlgInitProgress,hWnd,ZXDialogProc,0L);}/*static void DisplayChangeDialog (HWND hWnd){ ChangeDlgInitProgress.controls = CtrlInitChangeProgress; DialogBoxIndirectParam(&ChangeDlgInitProgress,hWnd,ChangeDialogProc,0L);}*///文件接收菜单项static HMENU createpmenufr (){ MENUITEMINFO mii; memset(&mii,0,sizeof(MENUITEMINFO)); mii.type = MFT_STRING; mii.id = 0; mii.typedata = (DWORD)" 文件接收 "; hmnufr = CreatePopupMenu (&mii); memset(&mii,0,sizeof(MENUITEMINFO)); mii.type = MFT_STRING; mii.state = 0; mii.id = IDM_FR; mii.typedata = (DWORD)" 1 网卡启动接收 "; InsertMenuItem(hmnufr,0,TRUE,&mii); mii.type = MFT_STRING; mii.state = 1; mii.id = IDM_STOP; mii.typedata = (DWORD)" 2 网卡停止接收 "; InsertMenuItem(hmnufr,1,TRUE,&mii); mii.type = MFT_SEPARATOR; mii.state = 0; mii.id = 0; mii.typedata = 0; InsertMenuItem(hmnufr,2,TRUE,&mii); mii.type = MFT_STRING; mii.state = 0; mii.id = IDM_RR; mii.typedata = (DWORD)" 3 Modem接收 "; InsertMenuItem(hmnufr,3,TRUE,&mii); return hmnufr; }//其他菜单项static HMENU createpmenuother (){ MENUITEMINFO mii; memset (&mii, 0, sizeof(MENUITEMINFO)); mii.type = MFT_STRING; mii.id = 0; mii.typedata = (DWORD)" 其他 "; hmnuother = CreatePopupMenu (&mii); memset (&mii, 0, sizeof(MENUITEMINFO)); mii.type = MFT_STRING; mii.state = 0; mii.id = IDM_KEY; mii.typedata = (DWORD)" 1 修改密码 "; InsertMenuItem(hmnuother, 0, TRUE, &mii); mii.type = MFT_STRING; mii.state = 0; mii.id = IDM_PRINT; mii.typedata = (DWORD)" 2 打印票样 "; InsertMenuItem(hmnuother, 1, TRUE, &mii);/* mii.type = MFT_STRING; mii.state = 0; mii.id = IDM_MSG; mii.typedata = (DWORD)" 广播信息 "; InsertMenuItem(hmnuother, 2, TRUE, &mii); mii.type = MFT_STRING; mii.state = 0; mii.id = IDM_END; mii.typedata = (DWORD)" 结束奖期 "; InsertMenuItem(hmnuother, 3, TRUE, &mii);*/ mii.type = MFT_STRING; mii.state = 0; mii.id = IDM_HELP; mii.typedata = (DWORD)" 3 帮助 "; InsertMenuItem(hmnuother, 2, TRUE, &mii);/* mii.type = MFT_STRING; mii.state = 0; mii.id = IDM_ABOUT; mii.typedata = (DWORD)" 奖期信息 "; InsertMenuItem(hmnuother, 5, TRUE, &mii);*/ mii.type = MFT_SEPARATOR; mii.state = 0; mii.id = 0; mii.typedata = 0; InsertMenuItem(hmnuother, 3, TRUE, &mii); mii.type = MFT_STRING; mii.state = 0; mii.id = IDM_EXIT; mii.typedata = (DWORD)" 4 退出 "; InsertMenuItem(hmnuother, 4, TRUE, &mii);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -