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

📄 login.c

📁 站长96年写的一个Internet上用的股票行情、分析、交易、资讯程序源码
💻 C
字号:
#include <windows.h>#include <windowsx.h>#include <stdio.h>#include <string.h>#include <stdlib.h>#include <time.h>#include <io.h>#include "global.h"#include "resource.h"#include "appmain.h"#include "hq.h"#include "jy_cl.h"#include "msg.h"extern void UDP_Send_Exit(void);LRESULT CALLBACK HqUserDlgProc(HWND hDlg, UINT message,						WPARAM wParam, LPARAM lParam){	char tmp[10];	HWND hctl;	int idFocus,xWindowExt,yWindowExt;	PAINTSTRUCT ps;	static int input_try_times =0, total_times_1 =0,login_time=30;	RECT rc;	HDC hDC;    static HBRUSH hBrush;    HFONT hFont;    LOGFONT lf;    DWORD dw;    	switch(message)	{		case WM_INITDIALOG:			ghDlgChkUsr =ghDlgJy =hDlg;			input_try_times =total_times_1 =0;			hBrush=CreateSolidBrush(RGB(0,255,255));			SendDlgItemMessage(hDlg, IDC_USER, EM_LIMITTEXT, HQ_USERID_SIZE, 0L);			SendDlgItemMessage(hDlg, IDC_PASSWORD, EM_LIMITTEXT, HQ_USERPWD_SIZE, 0L);			CenterWindow(hDlg);			SetTimer(hDlg, 2, 1000, NULL);			return TRUE;		case WM_PAINT:			BeginPaint(hDlg, &ps);			DrawFrame(ps.hdc, hDlg);						GetClientRect(hDlg, &rc);			xWindowExt =rc.	right;			yWindowExt =rc.bottom;			SetBkMode(ps.hdc,TRANSPARENT);            						memset(&lf,0,sizeof(lf));			lf.lfWeight =FW_NORMAL;			lf.lfQuality =PROOF_QUALITY;			lf.lfOutPrecision = OUT_DEVICE_PRECIS;			strcpy(lf.lfFaceName, "Termianl");			       		lf.lfHeight=35;       		       		hFont =CreateFontIndirect(&lf);       		SelectObject(ps.hdc,hFont);       					SetTextColor(ps.hdc,RGB(0,0,0));			TextOut(ps.hdc,35,10,"逍 遥 游",8);			SetTextColor(ps.hdc,RGB(255,255,255));			TextOut(ps.hdc,34,10-1,"逍 遥 游",8);       		lf.lfHeight=16;       		       		hFont =CreateFontIndirect(&lf);       		SelectObject(ps.hdc,hFont);       					SetTextColor(ps.hdc,RGB(0,0,0));			TextOut(ps.hdc,150,24,"版本:V 2.20",12);			SetTextColor(ps.hdc,RGB(255,255,255));			TextOut(ps.hdc,150-1,24-1,"版本:V 2.20",12);						SetTextColor(ps.hdc,RGB(0,0,0));			TextOut(ps.hdc,150,10,"作者:李应明",12);			SetTextColor(ps.hdc,RGB(255,255,255));			TextOut(ps.hdc,150-1,10-1,"作者:李应明",12);       		lf.lfHeight=16;       		hFont =CreateFontIndirect(&lf);       		SelectObject(ps.hdc,hFont);       					SetTextColor(ps.hdc,RGB(0,0,0));			TextOut(ps.hdc,35,(int)yWindowExt/4+15,"用户代码",8);			SetTextColor(ps.hdc,RGB(255,255,255));			TextOut(ps.hdc,34,(int)yWindowExt/4 -1+15,"用户代码",8);             			SetTextColor(ps.hdc,RGB(0,0,0));			TextOut(ps.hdc,35,(int)yWindowExt*2/4+15,"密        码",12);			SetTextColor(ps.hdc,RGB(255,255,255));			TextOut(ps.hdc,34,(int)yWindowExt*2/4-1+15,"密        码",12);			SetTextColor(ps.hdc,RGB(0,0,0));						//TextOut(ps.hdc,35,(int)yWindowExt*3/4+15,"汕头长讯发展公司软件部",22);			//SetTextColor(ps.hdc,RGB(255,255,255));			//TextOut(ps.hdc,34,(int)yWindowExt*3/4-1+15,"汕头长讯发展公司软件部",22);			TextOut(ps.hdc,35,(int)yWindowExt*3/4+15,"按ESC键进入离线状态",17);			SetTextColor(ps.hdc,RGB(255,255,255));			TextOut(ps.hdc,34,(int)yWindowExt*3/4-1+15,"按ESC键进入离线状态",17);						DeleteObject(hFont);			EndPaint(hDlg, &ps);		break;				case WM_CTLCOLOR:			switch(HIWORD(lParam))			{				case CTLCOLOR_EDIT:					SetTextColor((HDC)wParam,RGB(0,0,0));					SetBkColor((HDC)wParam,RGB(0,255,255));				return (LRESULT)hBrush;				case CTLCOLOR_MSGBOX:					 return  (LRESULT)hBrush;			}		return (LRESULT)(HBRUSH)NULL;				case WM_COMMAND:			switch(wParam)			{				case IDOK:					GetDlgItemText(hDlg, IDC_USER, UserID, sizeof(UserID));					if(UserID[0] ==0)					{						SetFocus(GetDlgItem(hDlg, IDC_USER));						MessageBeep(0);						break;					}					GetDlgItemText(hDlg, IDC_PASSWORD, UserPwd, sizeof(UserPwd));					if(UserPwd[0] ==0)					{						SetFocus(GetDlgItem(hDlg, IDC_PASSWORD));						MessageBeep(0);						break;					}										hctl =GetFocus();					idFocus =GetWindowWord(hctl, GWW_ID);					if(idFocus ==IDC_USER)					{						SetFocus(GetDlgItem(hDlg, IDC_PASSWORD));						break;					}					if(idFocus ==IDC_PASSWORD || UserPwd[0]!=0 && UserID[0]!=0)					{						Msg("请求主机效验身份",MSG_VERT);						HqCheckUser(UserID, UserPwd);						EnableWindow(LOWORD(lParam), FALSE);					}				break;				case IDCANCEL:					KillTimer(hDlg, 1);					KillTimer(hDlg, 2);					UDP_Send_Exit();					gfOnLine=FALSE;					DeleteObject(hBrush);					EndDialog(hDlg, IDCANCEL);					ghDlgJy =NULL;				break;				case 100:					KillTimer(hDlg, 1);					if(lParam !=LOGIN_SUCC)					{						if(input_try_times <3)						{						    if(lParam==LOGIN_NO_THIS_ID)								ErrMsg(hDlg, "无此用户号!");							else if(lParam==LOGIN_NO_PRIV)									ErrMsg(hDlg, "用户代码与密码不符");							else if(lParam==LOGIN_NO_TIME)								ErrMsg(hDlg, "您已没有主机进入时间");							else if(lParam==LOGIN_LOCKED)								ErrMsg(hDlg, "您已被主机锁定");							else if(lParam==LOGIN_SYS_ERR)								ErrMsg(hDlg, "主机系统错,不能登录");							else if(lParam==LOGIN_ANOTHER)								ErrMsg(hDlg, "已有相同的用户号进入主机!");																																													SetDlgItemText(hDlg, IDC_USER, NULL);							SetDlgItemText(hDlg, IDC_PASSWORD, NULL);							hctl =GetDlgItem(hDlg, IDOK);							EnableWindow(hctl, TRUE);							hctl =GetDlgItem(hDlg, IDC_USER);							SetFocus(hctl);							input_try_times++;							break;						}						else						{							ErrMsg(hDlg, "登录失败,系统进入离线状态");							gfOnLine=FALSE;														UDP_Send_Exit();						}						}					EndDialog(hDlg, IDOK);					ghDlgJy =NULL;			}			break;		case WM_TIMER:			if(wParam==2)			{   			    hDC =GetDC(hDlg);			    			    GetClientRect(hDlg, &rc);			    rc.right =rc.right -40;			    rc.bottom =rc. bottom -15;												strcpy(tmp,"88");				dw=GetTextExtent(hDC,tmp,strlen(tmp));							    rc.left =rc.right -LOWORD(dw)-12;			    rc.top = rc.bottom -HIWORD(dw);			        			    SelectObject(hDC,GetStockObject(WHITE_PEN));    			    MoveTo(hDC,rc.left+1,rc.top-1);			    LineTo(hDC,rc.right+1,rc.top-1);			    			    MoveTo(hDC,rc.left-1,rc.top+1);				LineTo(hDC,rc.left-1,rc.bottom+1);			    							    SelectObject(hDC,GetStockObject(BLACK_PEN));    			    MoveTo(hDC,rc.right+1,rc.top+1);			    LineTo(hDC,rc.right+1,rc.bottom+1);			    			    MoveTo(hDC,rc.left+1,rc.bottom+1);				LineTo(hDC,rc.right+1,rc.bottom+1);			    			    							    wsprintf(tmp,"%d",login_time);			    if(login_time<10)			    {			    	tmp[1]=tmp[0];			    	tmp[0]='0';			    }			    			    SetBkColor(hDC,RGB(255,0,255));			    SetTextColor(hDC,RGB(255,255,0));			    			    dw=GetTextExtent(hDC,tmp,strlen(tmp));			    			    ExtTextOut(hDC,(int)(rc.right-rc.left-LOWORD(dw))/2+rc.left, rc.top, ETO_CLIPPED|ETO_OPAQUE, &rc,tmp , 2, NULL);				login_time--;			    				ReleaseDC(hDlg, hDC);								if(login_time==0)					PostMessage(hDlg,WM_COMMAND,IDCANCEL,NULL);							}							break;	}	return FALSE;}

⌨️ 快捷键说明

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