一个多线程漏洞扫描程序,扫描结果要显示在列表控件(CListCtrl)中,
在OnInitDialog()中定义:pList=(CListCtrl*)GetDlgItem(IDC_RESULT);
pList在程序开始部分定义为CListCtrl指针。
在扫描线程函数scan()中有语句:pList->InsertItem(0,"aaaaaaa");
编译没有错误,
但当扫描线程函数执行到pList->InsertItem(0,"aaaaaaa")时就死掉了,
各位高手,是什么原因?怎么解决呢?
在OnInitDialog()中定义:pList=(CListCtrl*)GetDlgItem(IDC_RESULT);
pList在程序开始部分定义为CListCtrl指针。
在扫描线程函数scan()中有语句:pList->InsertItem(0,"aaaaaaa");
编译没有错误,
但当扫描线程函数执行到pList->InsertItem(0,"aaaaaaa")时就死掉了,
各位高手,是什么原因?怎么解决呢?
解决方案 »
- 如何在vc的编译环境中通过F1键快速搜索dxsdk的帮助文档?
- openGL视图用鼠标旋转了任意角度,现在如何恢复到初始状态.
- 小声问一句:现在开始学vc,是从vc6。0开始好呢?还是从.net中的vc.net学起好呢?
- 利用SendMessage()如何使窗口完全透明化?请不吝指教!
- 高手进,分不多,请见谅。游戏外挂的问题
- 一个奇怪的编译错误Error executing c:\winnt\system32\cmd.exe.
- 如何使列表框中的数据不能被选中?
- 工具栏颜色的问题
- ADO 连接Acess数据库时,怎样添加空栏位?
- 如何清除sqlserver2000中过大的日志文件!
- ADO 问题
- 谁知道有什么在Linux下好用的C++的文本编辑程序?
pList->InsertItem(0,"aaaaaaa")就死机,难道没有办法从现成输出?能不能讲详细点?
在线程中调用::SendMessage(hwnd, WM_YOUR_MSG, 0, strFrom);
pList都能传到线程中,主窗口的hwnd传进来应该没什么问题吧。 在主窗口的消息处理函数中
char *strTo = (char *)lparam;
list.InsertItem(0, strTo);
不就OK了吗
char strFrom = "aaaaaaaaa";应该是char strFrom[] = "aaaaaaaaa";
在一个线程中创建的MFC对象不能在另一个线程中访问和操纵
别人已经回复你了
有人也告诉你方法了,你还执著的要从线程来修改
真搞不懂你是怎么想的
你的pList是一个指针,在你用如下语句前没有给指针分配空间,
pList=(CListCtrl*)GetDlgItem(IDC_RESULT);
这时,指针是指向一个随机的地址,这样,当你用这指针操作时,有可能引起内
存错误。所以你在使用它之前,给它分配一个空间试试。