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

📄 dlgproc.cpp

📁 我们学校牛人开发的选课外挂源代码
💻 CPP
📖 第 1 页 / 共 3 页
字号:
#include "stdafx.h"
#include "resource.h"
#include "GLOBAL.h"

// Mesage handler for about box.
/*LRESULT CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
	switch (message)
	{
		case WM_INITDIALOG:
				return TRUE;

		case WM_COMMAND:
			if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL) 
			{
				EndDialog(hDlg, LOWORD(wParam));
				return TRUE;
			}
			break;
	}
    return FALSE;
}*/

// Mesage handler for Canceled box.
LRESULT CALLBACK WndProcDlgCanceled(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
	switch (message)
	{
		case WM_INITDIALOG:
			LV_COLUMN lvc;
			LV_ITEM lvi;
			RtlZeroMemory(&lvc,sizeof(LV_COLUMN));
			RtlZeroMemory(&lvi,sizeof(LV_ITEM));
			lvc.mask=LVCF_TEXT+LVCF_WIDTH;
			hList2=GetDlgItem(hDlg,IDC_LIST2);	

			SendMessage(hList2,LVM_SETEXTENDEDLISTVIEWSTYLE,0,LVS_EX_FULLROWSELECT);
			lvc.cx=60;
			lvc.pszText=_T("课程号");
			SendMessage(hList2,LVM_INSERTCOLUMN,0,(long)&lvc);
			lvc.cx=150;
			lvc.pszText=_T("课程名");
			SendMessage(hList2,LVM_INSERTCOLUMN,1,(long)&lvc);
			lvc.cx=40;
			lvc.pszText=_T("序号");
			SendMessage(hList2,LVM_INSERTCOLUMN,2,(long)&lvc);
			lvc.cx=60;
			lvc.pszText=_T("开课系所");
			SendMessage(hList2,LVM_INSERTCOLUMN,3,(long)&lvc);
			lvc.cx=40;
			lvc.pszText=_T("属性");
			SendMessage(hList2,LVM_INSERTCOLUMN,4,(long)&lvc);
			lvc.cx=80;
			lvc.pszText=_T("教师名");
			SendMessage(hList2,LVM_INSERTCOLUMN,5,(long)&lvc);

			lvi.mask=LVIF_TEXT;
			lvi.pszText=_T("请刷新");
			SendMessage(hList2,LVM_INSERTITEM,0,(long)&lvi);
			
				return TRUE;

		case WM_COMMAND:
			switch (LOWORD(wParam))
			{
			case IDC_REFRESH2:
				if (mystatus.Busy & 2 )
				{
					MessageBox(0,_T("刷新中...请稍候..."),szTitle,MB_ICONWARNING);
				}
				else
				{
					GetDefault(_T("XK1.TkInfo"),2);
				}
				
				break;
			case IDOK:
			case IDCANCEL:
				ShowWindow(hDlg,SW_HIDE);
				return TRUE;
				break;
			}

	}
    return FALSE;
}

// Mesage handler for Choose box.
LRESULT CALLBACK WndProcDlgChoose(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
	switch (message)
	{
		case WM_INITDIALOG:
			SCROLLINFO si;
			si.cbSize = sizeof(SCROLLINFO);
			si.nMin = 0;
			si.nMax = 200;//最大滚动范围
			si.nPage = 50;//合适的每页大小
			si.fMask = SIF_ALL;
			SetScrollInfo(hDlg,SB_VERT,&si,true);
			//SetScrollInfo(SB_HORZ,&si);

				return TRUE;

		case WM_COMMAND:
			switch (LOWORD(wParam))
			{
			case IDC_REFRESH3:
				if (mystatus.Busy & 3)
				{
					MessageBox(0,_T("刷新中...请稍候..."),szTitle,MB_ICONWARNING);
				}
				else
				{
					/*unsigned long len;
					RtlZeroMemory(MainBuffer,sizeof(MainBuffer));
					void *hFile=CreateFile("test2.htm",GENERIC_READ | GENERIC_WRITE,FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE,0,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);
					ReadFile(hFile,MainBuffer,sizeof(MainBuffer),&len,0);
					CloseHandle(hFile);
					Analysis3();
					//lout(MainBuffer);*/
					GetDefault(_T("XK1.CourseInput"),3);
				}				
				break;
			case IDOK:
			case IDCANCEL:
				ShowWindow(hDlg,SW_HIDE);
				break;
			case IDC_SUBMIT:
/*				int i,j,cb_pos;
				char *p;
				char num[10];
				mystatus.Analysis =3;
				RtlZeroMemory(SendBuffer2,sizeof(SendBuffer2));
				p=SendBuffer2;

				for (i=0;i<MAX_COURSE;i++)
				{
					if (CW2[i])
					{
						if (SendMessage(CW2[i],BM_GETCHECK ,0,0)!=BST_CHECKED) continue;
						wmemcpy(p,_T("aDelCourse="),11);
						p+=11;
						wmemcpy(p,&KW2[i][0],9);
						*(p+10)=*(p+8);
						*(p+7)=_T('%');
						*(p+8)=_T('2');
						*(p+9)=_T('3');
						*(p+11)=_T('&');
						p+=12;
					}
					else
						break;
				}
				for (i=0;i<MAX_COURSE;i++)
				{
					if (!CW[i][0]) break;
					if (SendMessage(CW[i][0],BM_GETCHECK ,0,0)==BST_CHECKED) 
					{
						wmemcpy(p,_T("aDelKch="),8);
						p+=8;
						wmemcpy(p,&KW[i][0],7);
						*(p+7)=_T('&');
						p+=8;
						continue;
					}
					for (j=1;j<6;j++)
					{
						if (CW[i][j])
						{
							cb_pos=SendMessage(CW[i][j],CB_GETCURSEL,0,0);
							if (cb_pos==0 || cb_pos==CB_ERR) continue;
							wmemcpy(p,_T("aInsertZy="),10);
							p+=10;
							wmemcpy(p,&KW[i][0],7);
							p+=7;
							*(p++)=_T('%');
							*(p++)=_T('2');
							*(p++)=_T('3');
							*(p++)=cb_pos+0x30-1;
							*(p++)=_T('%');
							*(p++)=_T('2');
							*(p++)=_T('3');
							*(p++)=KW[i][8];
							*(p++)=j+0x30;
							*(p++)=_T('&');
						}
					}
					if (CW[i][6])
						if (SendMessage(CW[i][6],BM_GETCHECK,0,0)==BST_CHECKED) 
						{
							wmemcpy(p,_T("aInsertFc="),10);
							wmemcpy(p+10,&KW[i][0],7);
							*(p+17)=_T('&');
							p+=18;
						}

				}
				if (CW2[MAX_COURSE+4])	//自定义提交
				{
					wmemcpy(p,_T("aInsertKch="),11);
					p+=11;
					p+=GetWindowText(CW2[MAX_COURSE+4],p,10);
					*p++=_T('&');
				}
				if (CW2[MAX_COURSE+6])	//自定义提交
				{
					wmemcpy(p,_T("aInsertKxh="),11);
					p+=11;
					p+=GetWindowText(CW2[MAX_COURSE+6],p,2);
					*p++=_T('&');
				}

				cb_pos=lstrlen(SendBuffer2)-1;
				SendBuffer2[cb_pos]=0;	//去掉最后一个字符'&'
				_itot(cb_pos,num,10);
				//lout(num);

				RtlZeroMemory(SendBuffer,sizeof(SendBuffer));
				lstrcpy(SendBuffer,_T("POST "));
				lstrcat(SendBuffer,now_http_head->Path );
				lstrcat(SendBuffer,_T("XK1.CourseInput HTTP/1.1\r\n"));
				lstrcat(SendBuffer,_T("Referer: http://"));
				lstrcat(SendBuffer,now_http_head->Host ); 
				lstrcat(SendBuffer,now_http_head->Path );
				lstrcat(SendBuffer,_T("XK1.CourseInput\r\n"));
				lstrcat(SendBuffer,_T("Accept-Language: zh-cn\r\n"));
				lstrcat(SendBuffer,_T("Content-Type: application/x-www-form-urlencoded\r\n"));
				lstrcat(SendBuffer,_T("User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0;)\r\n"));
				lstrcat(SendBuffer,_T("Host: "));
				lstrcat(SendBuffer,now_http_head->Host );
				lstrcat(SendBuffer,_T("\r\nConnection: close\r\n"));
				lstrcat(SendBuffer,_T("Cache-Control: no-cache\r\n"));
				lstrcat(SendBuffer,UserCookie);
				lstrcat(SendBuffer,_T("Content-Length: "));
				lstrcat(SendBuffer,num);
				lstrcat(SendBuffer,_T("\r\n\r\n"));

				mystatus.NeedBuffer2=true;
				if (MessageBox(0,_T("确定要提交吗?"),szTitle,MB_ICONQUESTION | MB_YESNO)==IDYES )
				{
					if (Locate(SendBuffer2,_T("aDel"),0,0,0))
					{
						if (MessageBox(0,_T("您试图提交的操作中包含至少一项删除操作!\r\n您确定要继续吗?"),szTitle,MB_ICONQUESTION | MB_YESNO)==IDYES)
						{
							mysend();
							
						}
					}
					else
					{
						mysend();
					}
				}

#ifdef _DEBUG
				lout(SendBuffer2);
#endif*/

				break;
			default:
				break;


			}
		case WM_VSCROLL:
			if (lParam) break;	//防止ComboBox发送WM_VSCROLL消息
			SCROLLINFO si2;
			RtlZeroMemory(&si2,sizeof(SCROLLINFO));
			si2.cbSize = sizeof(SCROLLINFO);
			si2.fMask = SIF_ALL;
			GetScrollInfo(hDlg,SB_VERT,&si2);
			int nOldPos = si2.nPos;
			
			switch(LOWORD(wParam))
			{
				case SB_LINEDOWN:
					
					si2.nPos = min(si2.nPos+1 , si2.nMax);
					break;
				case SB_PAGEDOWN:
					si2.nPos = min(si2.nPos+(int)si2.nPage, si2.nMax);
					break;
				case SB_LINEUP:
					si2.nPos = max(si2.nPos-1, si2.nMin);
					break;
				case SB_PAGEUP:
					si2.nPos = max(si2.nPos-(int)si2.nPage, si2.nMin);
					break;
				//case SB_THUMBPOSITION:
				case SB_THUMBTRACK:
					si2.nPos = si2.nTrackPos;
					break;
				case SB_TOP:
					si2.nPos = si2.nMin;
					break;
				case SB_BOTTOM:
					si2.nPos = si2.nMax;
					break;
				default:
					break;
			}
			// Set the position and then retrieve it.  Due to adjustments
			//   by Windows it may not be the same as the value set.
			si2.fMask = SIF_POS;

			SetScrollInfo(hDlg,SB_VERT,&si2,true);
		    GetScrollInfo(hDlg,SB_VERT,&si2);	   //重新获取位置
			
			if (si2.nPos != nOldPos)

			ScrollWindow(hDlg,0, nOldPos - si2.nPos,0,0);	//全部滚动
		    //   或仅滚动上部分
	        // CRect rect = ...;
		    //ScrollWindow(0, nOldPos - si.nPos, NULL, rect);
			break;
	}
    return FALSE;
}

// Mesage handler for Arrangement box.
LRESULT CALLBACK WndProcDlgArrangement(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
	switch (message)
	{
		case WM_INITDIALOG:
			LV_COLUMN lvc;
			LV_ITEM lvi;
			RtlZeroMemory(&lvc,sizeof(LV_COLUMN));
			RtlZeroMemory(&lvi,sizeof(LV_ITEM));
			lvc.mask=LVCF_TEXT+LVCF_WIDTH;
			hList4=GetDlgItem(hDlg,IDC_LISTARR1);
			hList5=GetDlgItem(hDlg,IDC_LISTARR2);
			SendMessage(hList4,LVM_SETEXTENDEDLISTVIEWSTYLE,0,LVS_EX_FULLROWSELECT);
			SendMessage(hList5,LVM_SETEXTENDEDLISTVIEWSTYLE,0,LVS_EX_FULLROWSELECT);
			lvc.cx=50;
			lvc.pszText=0;
			SendMessage(hList4,LVM_INSERTCOLUMN,0,(long)&lvc);
			lvc.cx=100;
			lvc.pszText=_T("星期一");
			SendMessage(hList4,LVM_INSERTCOLUMN,1,(long)&lvc);
			lvc.cx=100;
			lvc.pszText=_T("星期二");
			SendMessage(hList4,LVM_INSERTCOLUMN,2,(long)&lvc);
			lvc.cx=100;
			lvc.pszText=_T("星期三");
			SendMessage(hList4,LVM_INSERTCOLUMN,3,(long)&lvc);
			lvc.cx=100;
			lvc.pszText=_T("星期四");
			SendMessage(hList4,LVM_INSERTCOLUMN,4,(long)&lvc);
			lvc.cx=100;
			lvc.pszText=_T("星期五");
			SendMessage(hList4,LVM_INSERTCOLUMN,5,(long)&lvc);
			lvc.cx=100;
			lvc.pszText=_T("星期六");
			SendMessage(hList4,LVM_INSERTCOLUMN,6,(long)&lvc);
			lvc.cx=100;
			lvc.pszText=_T("星期日");
			SendMessage(hList4,LVM_INSERTCOLUMN,7,(long)&lvc);

			lvi.mask=LVIF_TEXT;
			lvi.pszText=_T("第一节");
			SendMessage(hList4,LVM_INSERTITEM,0,(long)&lvi);
			lvi.iSubItem=1;
			lvi.pszText=_T("请刷新");
			SendMessage(hList4,LVM_SETITEM,0,(long)&lvi);
			lvi.iSubItem=0;

			lvi.iItem++;
			lvi.lParam++;
			lvi.pszText=_T("第二节");
			SendMessage(hList4,LVM_INSERTITEM,0,(long)&lvi);
			lvi.iItem++;
			lvi.lParam++;
			lvi.pszText=_T("第三节");
			SendMessage(hList4,LVM_INSERTITEM,0,(long)&lvi);
			lvi.iItem++;
			lvi.lParam++;
			lvi.pszText=_T("第四节");
			SendMessage(hList4,LVM_INSERTITEM,0,(long)&lvi);
			lvi.iItem++;
			lvi.lParam++;
			lvi.pszText=_T("第五节");
			SendMessage(hList4,LVM_INSERTITEM,0,(long)&lvi);
			lvi.iItem++;
			lvi.lParam++;
			lvi.pszText=_T("第六节");
			SendMessage(hList4,LVM_INSERTITEM,0,(long)&lvi);
			lvi.iItem++;
			lvi.lParam++;
			lvi.pszText=_T("第七节");
			SendMessage(hList4,LVM_INSERTITEM,0,(long)&lvi);


⌨️ 快捷键说明

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