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

📄 dlgproc.cpp

📁 我们学校牛人开发的选课外挂源代码
💻 CPP
📖 第 1 页 / 共 3 页
字号:
			lvc.cx=40;
			lvc.pszText=_T("属性");
			SendMessage(hList5,LVM_INSERTCOLUMN,0,(long)&lvc);
			lvc.cx=60;
			lvc.pszText=_T("课程号");
			SendMessage(hList5,LVM_INSERTCOLUMN,1,(long)&lvc);
			lvc.cx=40;
			lvc.pszText=_T("序号");
			SendMessage(hList5,LVM_INSERTCOLUMN,2,(long)&lvc);
			lvc.cx=150;
			lvc.pszText=_T("课程名称");
			SendMessage(hList5,LVM_INSERTCOLUMN,3,(long)&lvc);
			lvc.cx=40;
			lvc.pszText=_T("学分");
			SendMessage(hList5,LVM_INSERTCOLUMN,4,(long)&lvc);
			lvc.cx=40;
			lvc.pszText=_T("考试");
			SendMessage(hList5,LVM_INSERTCOLUMN,5,(long)&lvc);
			lvc.cx=100;
			lvc.pszText=_T("上课地点");
			SendMessage(hList5,LVM_INSERTCOLUMN,6,(long)&lvc);
			lvc.cx=60;
			lvc.pszText=_T("教师");
			SendMessage(hList5,LVM_INSERTCOLUMN,7,(long)&lvc);
			lvc.cx=100;
			lvc.pszText=_T("上课时间");
			SendMessage(hList5,LVM_INSERTCOLUMN,8,(long)&lvc);
			lvc.cx=100;
			lvc.pszText=_T("上课周次");
			SendMessage(hList5,LVM_INSERTCOLUMN,9,(long)&lvc);

			/*if (now_http_head==&http_head1)
			{
				lvc.cx=65;
				lvc.pszText=_T("是否选中");
				SendMessage(hList5,LVM_INSERTCOLUMN,0,(long)&lvc);
			}*/


			lvi.iItem=0;
			lvi.lParam=0;
			lvi.iSubItem=0;
			lvi.pszText=_T("请刷新");
			SendMessage(hList5,LVM_INSERTITEM,0,(long)&lvi);


			
				return TRUE;

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

LRESULT CALLBACK	WndProcList1(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) 
{
	int ret=CallWindowProc(oldWndProc1, hWnd, uMsg, wParam, lParam);
	POINT p;
	HMENU a;

	switch(uMsg)
	{
	case WM_RBUTTONDOWN:
		GetCursorPos(&p);
		a=GetSubMenu(m2,0);
		TrackPopupMenu(a,0,p.x ,p.y ,0,hMain,0);
		break;
	}

	return ret;
}

// Mesage handler for Query box.
LRESULT CALLBACK WndProcDlgQuery(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
	switch (message)
	{
		case WM_INITDIALOG:
			LV_COLUMN lvc;

			if (mystatus.Busy & 1)
			{
				SetDlgItemText(hDlg,IDC_QUERY_ALL,_T("刷新中,请稍候..."));
				SetDlgItemText(hDlg,IDC_ALL_PE,_T("刷新中,请稍候..."));
			}

			lvc.mask=LVCF_TEXT+LVCF_WIDTH;
			hList1=GetDlgItem(hDlg,IDC_LIST1);
			SendMessage(hList1,LVM_SETEXTENDEDLISTVIEWSTYLE,0,LVS_EX_FULLROWSELECT);
			lvc.cx=55;
			lvc.pszText=_T("课程号");
			SendMessage(hList1,LVM_INSERTCOLUMN,0,(long)&lvc);
			lvc.cx=40;
			lvc.pszText=_T("序号");
			SendMessage(hList1,LVM_INSERTCOLUMN,1,(long)&lvc);
			lvc.cx=100;
			lvc.pszText=_T("课程名");
			SendMessage(hList1,LVM_INSERTCOLUMN,2,(long)&lvc);
			lvc.cx=80;
			lvc.pszText=_T("开课院系");
			SendMessage(hList1,LVM_INSERTCOLUMN,3,(long)&lvc);
			lvc.cx=80;
			lvc.pszText=_T("任课教师");
			SendMessage(hList1,LVM_INSERTCOLUMN,4,(long)&lvc);
			
/*			if (now_http_head==&http_head2)
			{
				lvc.cx=80;
				lvc.pszText="上课地点";
				SendMessage(hList1,LVM_INSERTCOLUMN,5,(long)&lvc);
			}
*/
			lvc.cx=45;
			lvc.pszText=_T("星期");
			SendMessage(hList1,LVM_INSERTCOLUMN,6,(long)&lvc);
			lvc.cx=45;
			lvc.pszText=_T("节次");
			SendMessage(hList1,LVM_INSERTCOLUMN,7,(long)&lvc);
			lvc.cx=60;
			lvc.pszText=_T("中文授课周数");
			SendMessage(hList1,LVM_INSERTCOLUMN,8,(long)&lvc);
			lvc.cx=45;
			lvc.pszText=_T("容量");
			SendMessage(hList1,LVM_INSERTCOLUMN,9,(long)&lvc);
			lvc.cx=45;
			lvc.pszText=_T("余量");
			SendMessage(hList1,LVM_INSERTCOLUMN,10,(long)&lvc);
			lvc.cx=200;
			lvc.pszText=_T("备注");
			SendMessage(hList1,LVM_INSERTCOLUMN,11,(long)&lvc);
			lvc.cx=50;
			lvc.pszText=_T("课程属性");
			SendMessage(hList1,LVM_INSERTCOLUMN,12,(long)&lvc);

			oldWndProc1=(WNDPROC)GetWindowLong(hList1,GWL_WNDPROC);
			SetWindowLong(hList1,GWL_WNDPROC,(long)WndProcList1);

			SendDlgItemMessage(hDlg,IDC_COMBO_WEEKDAY,CB_INSERTSTRING ,-1,(LPARAM)_T("不限"));
			SendDlgItemMessage(hDlg,IDC_COMBO_WEEKDAY,CB_INSERTSTRING ,-1,(LPARAM)_T("星期1"));
			SendDlgItemMessage(hDlg,IDC_COMBO_WEEKDAY,CB_INSERTSTRING ,-1,(LPARAM)_T("星期2"));
			SendDlgItemMessage(hDlg,IDC_COMBO_WEEKDAY,CB_INSERTSTRING ,-1,(LPARAM)_T("星期3"));
			SendDlgItemMessage(hDlg,IDC_COMBO_WEEKDAY,CB_INSERTSTRING ,-1,(LPARAM)_T("星期4"));
			SendDlgItemMessage(hDlg,IDC_COMBO_WEEKDAY,CB_INSERTSTRING ,-1,(LPARAM)_T("星期5"));
			SendDlgItemMessage(hDlg,IDC_COMBO_WEEKDAY,CB_INSERTSTRING ,-1,(LPARAM)_T("星期6"));
			SendDlgItemMessage(hDlg,IDC_COMBO_WEEKDAY,CB_INSERTSTRING ,-1,(LPARAM)_T("星期7"));
			SendDlgItemMessage(hDlg,IDC_COMBO_WEEKDAY,CB_SETCURSEL,0,0);

			SendDlgItemMessage(hDlg,IDC_COMBO_TIME,CB_INSERTSTRING ,-1,(LPARAM)_T("不限"));
			SendDlgItemMessage(hDlg,IDC_COMBO_TIME,CB_INSERTSTRING ,-1,(LPARAM)_T("第1节"));
			SendDlgItemMessage(hDlg,IDC_COMBO_TIME,CB_INSERTSTRING ,-1,(LPARAM)_T("第2节"));
			SendDlgItemMessage(hDlg,IDC_COMBO_TIME,CB_INSERTSTRING ,-1,(LPARAM)_T("第3节"));
			SendDlgItemMessage(hDlg,IDC_COMBO_TIME,CB_INSERTSTRING ,-1,(LPARAM)_T("第4节"));
			SendDlgItemMessage(hDlg,IDC_COMBO_TIME,CB_INSERTSTRING ,-1,(LPARAM)_T("第5节"));
			SendDlgItemMessage(hDlg,IDC_COMBO_TIME,CB_INSERTSTRING ,-1,(LPARAM)_T("第6节"));
			SendDlgItemMessage(hDlg,IDC_COMBO_TIME,CB_INSERTSTRING ,-1,(LPARAM)_T("第7节"));
			SendDlgItemMessage(hDlg,IDC_COMBO_TIME,CB_SETCURSEL,0,0);


				return TRUE;

		case WM_COMMAND:
			thread_param *tp;			
			char Buff[20];
			int len2;
			switch (LOWORD(wParam))
			{
			case IDOK:
			case IDCANCEL:
				if (mystatus.Busy & 1)
				{
					if (MessageBox(0,_T("您正在查询中,真的要退出吗?"),szTitle,MB_YESNO | MB_ICONQUESTION)==IDNO)
					{
						break;
					}
				}
				DestroyWindow(hDlg);
				hDlgQuery=0;
				return TRUE;
			case IDC_QUERY:
				
				if (mystatus.Busy &1)
				{
					MessageBox(0,_T("刷新中...请稍候..."),szTitle,MB_ICONWARNING);
					break;
				}
				tp=new thread_param;
							
				strcpy(tp->SendBuffer2,"ntable_type=1&cclauses=");
				
				if (GetDlgItemText(hDlg,IDC_EDIT1,Buff,sizeof(Buff))!=0)	//课程号
				{
					
					lstrcat(tp->SendBuffer2,_T("&cclauses=NAME&cclauses=%BF%CE%B3%CC%BA%C5&cclauses=CHAR&cclauses=OPER&cclauses=+like+&cclauses=VALUE&cclauses="));				
					lstrcat(tp->SendBuffer2,Buff);
					lstrcat(tp->SendBuffer2,_T("&cclauses=%3B"));
				}
				if (GetDlgItemText(hDlg,IDC_EDIT2,Buff,sizeof(Buff))!=0)	//课程名
				{
					lstrcat(tp->SendBuffer2,_T("&cclauses=NAME&cclauses=%BF%CE%B3%CC%C3%FB%B3%C6&cclauses=CHAR&cclauses=OPER&cclauses=+like+&cclauses=VALUE&cclauses="));				
					lstrcatutf8(tp->SendBuffer2,Buff);
					lstrcat(tp->SendBuffer2,_T("&cclauses=%3B"));
				}
				if (GetDlgItemText(hDlg,IDC_EDIT3,Buff,sizeof(Buff))!=0)	//开课系
				{
					lstrcat(tp->SendBuffer2,_T("&cclauses=NAME&cclauses=%BF%AA%BF%CE%CF%B5&cclauses=CHAR&cclauses=OPER&cclauses=+like+&cclauses=VALUE&cclauses="));				
					lstrcatutf8(tp->SendBuffer2,Buff);
					lstrcat(tp->SendBuffer2,_T("&cclauses=%3B"));
				}
				if (GetDlgItemText(hDlg,IDC_EDIT4,Buff,sizeof(Buff))!=0)	//任课教师
				{
					lstrcat(tp->SendBuffer2,_T("&cclauses=NAME&cclauses=%C8%CE%BF%CE%BD%CC%CA%A6&cclauses=CHAR&cclauses=OPER&cclauses=+like+&cclauses=VALUE&cclauses="));
					lstrcatutf8(tp->SendBuffer2,Buff);
					lstrcat(tp->SendBuffer2,_T("&cclauses=%3B"));
				}
				if (GetDlgItemText(hDlg,IDC_EDIT5,Buff,sizeof(Buff))!=0)	//课程属性
				{
					lstrcat(tp->SendBuffer2,_T("&cclauses=NAME&cclauses=%BF%CE%B3%CC%CA%F4%D0%D4&cclauses=CHAR&cclauses=OPER&cclauses=+like+&cclauses=VALUE&cclauses="));				
					lstrcatutf8(tp->SendBuffer2,Buff);
					lstrcat(tp->SendBuffer2,_T("&cclauses=%3B"));
				}

				int sel;
				sel=SendDlgItemMessage(hDlg,IDC_COMBO_WEEKDAY,CB_GETCURSEL,0,0);
				if (sel!=0)
				{
					lstrcat(tp->SendBuffer2,_T("&cclauses=NAME&cclauses=%C9%CF%BF%CE%C8%D5%C6%DA&cclauses=CHAR&cclauses=OPER&cclauses=+=+&cclauses=VALUE&cclauses="));
					SendDlgItemMessage(hDlg,IDC_COMBO_WEEKDAY,CB_GETLBTEXT,sel,(LPARAM)Buff);
					lstrcatutf8(tp->SendBuffer2,Buff);
					lstrcat(tp->SendBuffer2,_T("&cclauses=%3B"));					
				}
				sel=SendDlgItemMessage(hDlg,IDC_COMBO_TIME,CB_GETCURSEL,0,0);
				if (sel!=0)
				{
					lstrcat(tp->SendBuffer2,_T("&cclauses=NAME&cclauses=%C9%CF%BF%CE%BD%DA%B4%CE&cclauses=CHAR&cclauses=OPER&cclauses=+=+&cclauses=VALUE&cclauses="));
					SendDlgItemMessage(hDlg,IDC_COMBO_TIME,CB_GETLBTEXT,sel,(LPARAM)Buff);
					lstrcatutf8(tp->SendBuffer2,Buff);
					lstrcat(tp->SendBuffer2,_T("&cclauses=%3B"));					
				}
				
				if (IsDlgButtonChecked(hDlg,IDC_FILTER_AVAILABLE)==BST_CHECKED)
				{
					lstrcat(tp->SendBuffer2,_T("&cclauses=NAME&cclauses=%B1%BE%BF%C6%C9%FA%BF%CE%D3%E0%C1%BF&cclauses=CHAR&cclauses=OPER&cclauses=+>+&cclauses=VALUE&cclauses=0&cclauses=%3B"));
				}

				lstrcat(tp->SendBuffer2 ,_T("&ctable=%B1%BE%D1%A7%C6%DA%BF%CE%B3%CC%B1%ED&COLS=DUMMY"));
				len2=lstrlen(tp->SendBuffer2);
				if (len2>1420)
				{
					MessageBox(0,_T("您填写的信息太多了,请精简一下"),szTitle,MB_ICONWARNING);
					break;
				}
				
				RtlZeroMemory(Buff,sizeof(Buff));
				_itot(len2,Buff,10);		
				
				lstrcpy(tp->SendBuffer,_T("POST "));
				lstrcat(tp->SendBuffer,now_http_head->Path );
				lstrcat(tp->SendBuffer,_T("qcb.table_browse_c HTTP/1.1\r\n"));
				lstrcat(tp->SendBuffer,_T("Accept: */*\r\n"));
				lstrcat(tp->SendBuffer,_T("Referer: http://"));
				lstrcat(tp->SendBuffer,now_http_head->Host ); 
				lstrcat(tp->SendBuffer,now_http_head->Path );
				lstrcat(tp->SendBuffer,_T("qcb.kc\r\n"));
				lstrcat(tp->SendBuffer,ACCEPT_LANGUAGE);
				lstrcat(tp->SendBuffer,ACCEPT_ENCODING);
				lstrcat(tp->SendBuffer,_T("Content-Type: application/x-www-form-urlencoded\r\n"));
				lstrcat(tp->SendBuffer,USER_AGENT);
				lstrcat(tp->SendBuffer,_T("Host: "));
				lstrcat(tp->SendBuffer,now_http_head->Host );
				lstrcat(tp->SendBuffer,_T("\r\nConnection: close\r\n"));
				lstrcat(tp->SendBuffer,_T("Cache-Control: no-cache\r\n"));
				lstrcat(tp->SendBuffer,UserCookie);
				lstrcat(tp->SendBuffer,_T("Content-Length: "));
				lstrcat(tp->SendBuffer,Buff);
				lstrcat(tp->SendBuffer,_T("\r\n\r\n"));
				
				tp->hProgress =GetDlgItem(hDlg,IDC_PROGRESS);
				tp->Analysis =1;
				tp->NeedBuffer2 =true;
				CloseHandle((HANDLE)_beginthreadex(0,0,SendThread,(void*)tp,0,0));
				
				
				break;	
			case IDC_PREVIOUS:
			case IDC_NEXT:
				
				if (mystatus.Busy & 1 )
				{
					MessageBox(0,_T("刷新中...请稍候..."),szTitle,MB_ICONWARNING);
					break;
				}
				tp=new thread_param;
				
				lstrcpy(tp->SendBuffer,_T("GET "));
				lstrcat(tp->SendBuffer,now_http_head->Path );
				lstrcat(tp->SendBuffer,_T("qcb.table_browse?ctable="));
				lstrcatutf8(tp->SendBuffer,&myget.ctable [0]);
				lstrcat(tp->SendBuffer,_T("&ntable_type="));
				lstrcat(tp->SendBuffer,&myget.ntable_type [0]);
				lstrcat(tp->SendBuffer,_T("&ccolumns="));
				lstrcatutf8(tp->SendBuffer,&myget.ccolumns [0]);
				lstrcat(tp->SendBuffer,_T("&cclauses="));
				lstrcatutf8(tp->SendBuffer,&myget.cclauses [0]);
				lstrcat(tp->SendBuffer,_T("&nrow_min="));
				lstrcat(tp->SendBuffer,&myget.nrow_min [0]);
				lstrcat(tp->SendBuffer,_T("&nrow_max="));
				lstrcat(tp->SendBuffer,&myget.nrow_max [0]);
				lstrcat(tp->SendBuffer,_T("&cbutton="));
				if (LOWORD(wParam)==IDC_NEXT)
				{
					lstrcat(tp->SendBuffer,_T("%BA%F3%BC%CD%C2%BC-%3E HTTP/1.1\r\n")); 
				}
				else
				{
					lstrcat(tp->SendBuffer,_T("%3C-%C7%B0%BC%CD%C2%BC HTTP/1.1\r\n")); 
					
				}
				lstrcat(tp->SendBuffer,_T("Referer: http://"));
				lstrcat(tp->SendBuffer,now_http_head->Host ); 
				lstrcat(tp->SendBuffer,now_http_head->Path );
				lstrcat(tp->SendBuffer,_T("qcb.kc\r\n"));
				lstrcat(tp->SendBuffer,_T("Accept-Language: zh-cn\r\n"));
				lstrcat(tp->SendBuffer,_T("Content-Type: application/x-www-form-urlencoded\r\n"));
				lstrcat(tp->SendBuffer,_T("User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0;)\r\n"));
				lstrcat(tp->SendBuffer,_T("Host: "));
				lstrcat(tp->SendBuffer,now_http_head->Host ); 
				lstrcat(tp->SendBuffer,_T("\r\nConnection: close\r\n"));
				lstrcat(tp->SendBuffer,UserCookie);
				lstrcat(tp->SendBuffer,_T("Cache-Control: no-cache\r\n\r\n"));
				
				tp->hProgress =GetDlgItem(hDlg,IDC_PROGRESS);
				tp->Analysis =1;
				tp->NeedBuffer2 =false;
				CloseHandle((HANDLE)_beginthreadex(0,0,SendThread,(void*)tp,0,0));
				
				break;
			case IDC_QUERY_ALL:
			case IDC_ALL_PE:
			case IDC_ALL_COMPUTER:
				
				if (mystatus.Busy &1 )
				{
					MessageBox(0,_T("刷新中...请稍候..."),szTitle,MB_ICONWARNING);
					break;
				}
				tp=new thread_param;
				SetDlgItemText(hDlgQuery,LOWORD(wParam),_T("刷新中..."));
				lstrcpy(tp->SendBuffer,_T("GET "));
				lstrcat(tp->SendBuffer,_T("/pls/bfjd_wwwpub/qcb.table_browse?ctable=%B1%BE%D1%A7%C6%DA%BF%CE%B3%CC%B1%ED"));
				lstrcat(tp->SendBuffer,_T("&ntable_type=1&ccolumns=%BF%CE%B3%CC%BA%C5%2C%BF%CE%D0%F2%BA%C5%2C%BF%CE%B3%CC%C3%FB%B3%C6%2C%BF%AA%BF%CE%CF%B5%2C%C8%CE%BF%CE%BD%CC%CA%A6%2C%C9%CF%BF%CE%C8%D5%C6%DA%2C%C9%CF%BF%CE%BD%DA%B4%CE%2C%D6%D0%CE%C4%C9%CF%BF%CE%D6%DC%B4%CE%2C%B1%BE%BF%C6%C9%FA%BF%CE%C8%DD%C1%BF%2C%B1%BE%BF%C6%C9%FA%BF%CE%D3%E0%C1%BF%2C%D1%A1%BF%CE%CF%DE%D6%C6%CB%B5%C3%F7%2C%BF%CE%B3%CC%CA%F4%D0%D4"));
				switch (LOWORD(wParam))
				{
				case IDC_QUERY_ALL:
					lstrcat(tp->SendBuffer,_T("&cclauses=%20%77%68%65%72%65%20%28%BF%CE%B3%CC%CA%F4%D0%D4%20%6C%69%6B%65%20%27%25%C8%CE%D1%A1%25%27%29"));
					break;
				case IDC_ALL_PE:
					lstrcat(tp->SendBuffer,_T("&cclauses=+where+%28%28%BF%CE%B3%CC%BA%C5+like+%27%2560S1%25%27%29+or+%28%BF%CE%B3%CC%BA%C5+like+%27%2560S2%25%27%29%29"));
					break;
				case IDC_ALL_COMPUTER:
					lstrcat(tp->SendBuffer,_T("&cclauses=+where+%28%28%BF%CE%B3%CC%BA%C5+like+%27%2585S%25%27%29+or+%28%BF%CE%B3%CC%BA%C5+like+%27%2585L%25%27%29+or+%28%BF%CE%B3%CC%BA%C5+like+%27%2525L%25%27%29+or+%28%BF%CE%B3%CC%BA%C5+like+%27%2525S%25%27%29+or+%28%BF%CE%B3%CC%BA%C5+like+%27%2514L00%25%27%29+or+%28%BF%CE%B3%CC%BA%C5+like+%27%2535L00%25%27%29+or+%28%BF%CE%B3%CC%BA%C5+like+%27%2515L00%25%27%29+or+%28%BF%CE%B3%CC%BA%C5+like+%27%2595L00%25%27%29+or+%28%BF%CE%B3%CC%BA%C5+like+%27%2545L00%25%27%29%29"));
					break;
				}
				if (IsDlgButtonChecked(hDlg,IDC_FILTER_AVAILABLE)==BST_CHECKED)
				{
					lstrcat(tp->SendBuffer,_T("+and+"));
					lstrcatutf8(tp->SendBuffer,_T("(本科生课余量>0)"));
				}
				sel=SendDlgItemMessage(hDlg,IDC_COMBO_WEEKDAY,CB_GETCURSEL,0,0);
				if (sel!=0)
				{
					SendDlgItemMessage(hDlg,IDC_COMBO_WEEKDAY,CB_GETLBTEXT,sel,(LPARAM)Buff);
					lstrcat(tp->SendBuffer,_T("+and+"));
					lstrcatutf8(tp->SendBuffer,_T("(上课日期='"));
					lstrcatutf8(tp->SendBuffer,Buff);
					lstrcatutf8(tp->SendBuffer,_T("')"));				
				}
				sel=SendDlgItemMessage(hDlg,IDC_COMBO_TIME,CB_GETCURSEL,0,0);

⌨️ 快捷键说明

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