之前一直都是在学习C,但是没用MFC写过东西。所以这个算是MFC的一个处女作把。
今天硬着头皮写了个爆破工具,但是界面(edit控制)在显示的时候一下就被卡住了。
于是到处问人,后来有个不错的朋友帮我解决了,在此谢谢他。
没增加线程之前,老是会出现这样的问题,但是程序并不是死掉了,而是控件显示那儿给卡到了。
让哥们给加了一个线程函数,如下:
void CTestmfcDlg::OnBnClickedButton1() { GetDlgItemText(IDC_EDIT2,url); GetDlgItemText(IDC_EDIT4,Urlpath); AfxBeginThread(ThreadProc,this); //线程启用 } UINT __cdecl CTestmfcDlg::ThreadProc(LPVOID lpParameter) //线程函数,防止界面卡住 { CTestmfcDlg *pTestDlg = (CTestmfcDlg*)lpParameter; wchar_t Passfile[MAX_PATH] = {0}; wchar_t Target[MAX_PATH] = {0}; wchar_t targetpath[MAX_PATH] = {0}; if (lstrlen(pTestDlg->url) == 0) { //AfxMessageBox(L"Your Not Enter target url"); pTestDlg->printf_r(L"Please enter the target site."); } if (lstrlen(pTestDlg->Urlpath) == 0) { //AfxMessageBox(); pTestDlg->printf_r(L"Please enter the site path"); } lstrcpy(Target,pTestDlg->url); lstrcpy(targetpath,pTestDlg->Urlpath); lstrcpy(Passfile,pTestDlg->FileName); pTestDlg->Crack(Target,targetpath,Passfile); return TRUE; }
在此做个记录,以后碰到这个问题就有办法解决了。