之前一直都是在学习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;
}
在此做个记录,以后碰到这个问题就有办法解决了。