利用全局变量进行线程间通信是不是有危险?为什么?我现在想在线程间传递字符串,该怎样做?希望可以给个例子,谢谢大家
解决方案 »
- jameshooo等高手进,关于IDownloadManager接口
- 怎么有这样的事,出现“\”字符串编译就会报错?
- WindowsXP下C++如何操作oracle
- 用 ShellExecute 打开一个对话框程序, 并且把当前窗体的句柄作为参数传入, 在该对话框如何获取父窗体的句柄?
- 关于 FindWindosEx 函数使用方法的问题
- 高分求ACTIVEX电子书
- 如何让自己的软件兼容不同的操作系统?
- 找不到消息映射函数(不是初级问题哟!)
- 如何用对话之外的其它按钮控制对话框的关闭和打开 !
- ASP中如何把字符串型变量的值放到Memo类型的字段中?
- 我现在想配置一台服务器,我怎么才能装上如下的组件:Internet Infornation Server(IIS)...?
- 请问有用过BCG的高手吗?
现在是前台是一个GUI窗口,有个edit控件,怎样才可以让后台的另一个线程来改变edit控件的内容?
我也知道很多方法可以用,但谁可以说的清楚一些?
CEdit * pEdit;
...
AfxBeginThread ( WorkThread, pEdit );
....
线程函数中
CEdit* pEdit = ( CEdit )pVoid;
...
pEdit ->SetWindowText ( "Context you need" );...
"邮件槽,内存共享,系统原子,剪贴板"好像是进程间的通讯方式吧???
前台CEdit捕获0x7777消息,取出sz改变CEdit。
不过你这个问题好想用不到线程通信啊。
方法1:
在BeginThread函数里面把CWnd* 用LPVOID参数传递到线程里面。
方法2:
用AfxGetMainWnd()方法得到当前主窗口指针。取得窗体指针之后:
用SetDlgItemText就可以搞定了。