Mfc 建立窗口线程
之前一直都是在学习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;
}
在此做个记录,以后碰到这个问题就有办法解决了。
Mfc 建立窗口线程的更多相关文章
- 深入浅出Win32多线程设计之MFC的多线程-线程与消息队列(经典)
1.创建和终止线程 在MFC程序中创建一个线程,宜调用AfxBeginThread函数.该函数因参数不同而具有两种重载版本,分别对应工作者线程和用户接口(UI)线程. 工作者线程 CWinThread ...
- MFC多线程各种线程用法 .
http://blog.csdn.net/qq61394323/article/details/9328301 一.问题的提出 编写一个耗时的单线程程序: 新建一个基于对话框的应用程序SingleTh ...
- MFC基础窗口创建,CWinApp、CFrameWnd
1.CWinApp(包括了这个类的导出类):代表了我们的程序.封装了消息循环等. 2.CFrameWnd:代表了程序的框架窗口.封装了窗口的注册.创建.显示.刷新.等等窗口操作. 3.Win32中.一 ...
- MFC 多线程及线程同步
一.MFC对多线程编程的支持 MFC中有两类线程,分别称之为工作者线程和用户界面线程.二者的主要区别在于工作者线程没有消息循环,而用户界面线程有自己的消息队列和消息循环. 工作者线程没有消息机制,通常 ...
- MFC 创建UI线程
对于windows来说,所有的线程都是一样的,但MFC却把线程区分为两种:用户界面(UI)线程和工作者线程.用户界面线程具有消息循环而工作者线程没有.UI线程可以创建窗口并给这些窗口发送消息,工作者线 ...
- SetTimer在无窗口和有窗口线程的使用 . .
今天犯了一个粗心的错误,在无窗口线程中,SetTimer中设置计时器ID,而WM_TIMER消息响应函数中得到的计时器ID却不是之前设置的计时器ID. 对应计时器ID的输出的是一个随机数字. 原来在m ...
- 在C#中子线程如何操作主窗口线程上的控件
在C#中子线程怎样操作主线程中窗口上控件 在C#中,直接在子线程中对窗口上的控件操作是会出现异常,这是因为子线程和运行窗口的线程是不同的空间,因此想要在子线程来操作窗口上的控件.是不可能简单的通过控件 ...
- MFC更换窗口图标
https://blog.csdn.net/deep_kang/article/details/72722692: MFC更换图标,图像默认为MFC,主要步骤有三步. 第一步 找到一张图片(坑点: ...
- 【转】VC 隐藏模块、MFC 改变窗口类名
[转]VC 隐藏模块 void HideDll() { HMODULE hMod = ::GetModuleHandle("MyHook.dll"); PLIST_ENTRY He ...
随机推荐
- JS探秘——那些你理解存在偏差的问题
Javascript的连续赋值运算 var a = {n:1}; a.x = a = {n:2}; alert(a.x); // --> undefined 看 jQuery 源码 时发现的这种 ...
- 【BZOJ5056】OI游戏 最短路+有向图生成树计数
[BZOJ5056]OI游戏 Description 小Van的CP最喜欢玩与OI有关的游戏啦~小Van为了讨好她,于是冥思苦想,终于创造了一个新游戏. 下面是小Van的OI游戏规则: 给定一个无向连 ...
- (3.2)mysqldump之备份单个表及脚本批量备份
单库单表备份通用格式 mysqldump -uroot -p123456 test1 char_1>/opt/mysql_test1_char1.sql 分析:这里test1是库名,char_ ...
- GPS坐标(WGS84)转换百度坐标(BD09) python测试
基础知识坐标系说明: WGS84:为一种大地坐标系,也是目前广泛使用的GPS全球卫星定位系统使用的坐标系. GCJ02:是由中国国家测绘局制订的地理信息系统的坐标系统.由WGS84坐标系经加密后的坐标 ...
- 剑指offer 面试6题
面试6题: 题目:从尾到头打印链表 输入一个链表,从尾到头打印链表每个节点的值. 解题代码: # -*- coding:utf-8 -*- # class ListNode: # def __init ...
- 剑指offer 面试18题
面试18题: 题目:删除链表中的节点 题一:在O(1)时间内删除链表节点.给定单向链表的头指针和一个节点指针,定义一个函数在O(1)时间内删除该节点. 解题思路:我们要删除节点i,先把i的下一个节点j ...
- EasyMock 常见异常
1. java.lang.IllegalStateException: calling verify is not allowed in record state 含义:不允许在记录状态(record ...
- yii2弹出层
bootstrap http://getbootstrap.com/javascript/#modals https://github.com/lichunqiang/yii2-sweet-submi ...
- iOS 11 Xcode9开发 新特性学习 (警告篇)
最新版本SDK优化了开发体验,编译过程会提供更多提示警告,建议你修改.这些功能也可以自主选择用或者不用,当然,苹果喜欢你用他推荐的东西... 1 . @avalibale 语法,同步判断当前iOS系统 ...
- UI控件之UIView与动画
UIView:用来展示用户的界面,响应用户的操作(继承自UIResponder) UIView的作用:绘图.动画.处理事件 UIView可以包含和管理子视图,并且决定子视图的位置大小 获取所有的子视图 ...