class CShiyanDlg;
struct socketRun_struct
{
// char OrderRegChoosed;//
short OrderReg;//读/传标志 0x01DSP;0x02CPLD;0x04仪器自检;0x08上传数据;0x10装置自检;0x0303 发送参数;0x0315 接受数据
short DataLength;//总字节数 32位
CString filenameD;//下载 路径名
CString filenameU;//存 路径名
CShiyanDlg *dlg;//指向当前操作的主窗口
};//定义了一个结构体
struct socketRun_struct *psocket_struct = new struct socketRun_struct;
HANDLE hMutex;
void CShiyanDlg::OnShowTransrate()
{
// TODO: Add your control notification handler code here
HANDLE hThread_SocketRun;
hThread_SocketRun = CreateThread(NULL,
0,
(LPTHREAD_START_ROUTINE)SocketRun,
psocket_struct,
CREATE_SUSPENDED,//先挂起!
NULL);
hMutex=CreateMutex(NULL,FALSE,NULL);
Sleep(1000);
}
BOOL SocketRun(socketRun_struct *pSocketRun_struct)
{
WaitForSingleObject(hMutex,INFINITE);
long realRecvBytes;
CShiyanDlg *dlg1 = (CShiyanDlg *)pSocketRun_struct->dlg;
long start, end;
long duration,TransRate;
char ch[100];
start = clock();
realRecvBytes =1000;
end = clock();
duration = (end-start)/CLOCKS_PER_SEC;
TransRate=realRecvBytes/duration;
itoa(TransRate,ch,10);
PostMessage(dlg1->m_hWnd,WM_SECOND_MESSAGE,WPARAM(&ch),NULL);
ReleaseMutex(hMutex);
return 1;
}
LRESULT CShiyanDlg::OnSecondMsg(WPARAM wParam,LPARAM lParam)
{
char *ch1=(char*) wParam;
SetDlgItemText(IDC_ShowTransRate,ch1);
return 0;
}
struct socketRun_struct
{
// char OrderRegChoosed;//
short OrderReg;//读/传标志 0x01DSP;0x02CPLD;0x04仪器自检;0x08上传数据;0x10装置自检;0x0303 发送参数;0x0315 接受数据
short DataLength;//总字节数 32位
CString filenameD;//下载 路径名
CString filenameU;//存 路径名
CShiyanDlg *dlg;//指向当前操作的主窗口
};//定义了一个结构体
struct socketRun_struct *psocket_struct = new struct socketRun_struct;
HANDLE hMutex;
void CShiyanDlg::OnShowTransrate()
{
// TODO: Add your control notification handler code here
HANDLE hThread_SocketRun;
hThread_SocketRun = CreateThread(NULL,
0,
(LPTHREAD_START_ROUTINE)SocketRun,
psocket_struct,
CREATE_SUSPENDED,//先挂起!
NULL);
hMutex=CreateMutex(NULL,FALSE,NULL);
Sleep(1000);
}
BOOL SocketRun(socketRun_struct *pSocketRun_struct)
{
WaitForSingleObject(hMutex,INFINITE);
long realRecvBytes;
CShiyanDlg *dlg1 = (CShiyanDlg *)pSocketRun_struct->dlg;
long start, end;
long duration,TransRate;
char ch[100];
start = clock();
realRecvBytes =1000;
end = clock();
duration = (end-start)/CLOCKS_PER_SEC;
TransRate=realRecvBytes/duration;
itoa(TransRate,ch,10);
PostMessage(dlg1->m_hWnd,WM_SECOND_MESSAGE,WPARAM(&ch),NULL);
ReleaseMutex(hMutex);
return 1;
}
LRESULT CShiyanDlg::OnSecondMsg(WPARAM wParam,LPARAM lParam)
{
char *ch1=(char*) wParam;
SetDlgItemText(IDC_ShowTransRate,ch1);
return 0;
}
解决方案 »
- the file is already open ia an editor
- 能不能给一份用directx9.0 写的直接将YUV数据格式写屏显示的代码(或者片断)?谢谢
- 如何获取指定目录的创建时间
- 向DLL传窗口指针出错!(很奇怪)
- 谁知道有《VC++ 技术内幕》第四版 下载啊
- 刚进入社会,傻傻的问:现在评职称有什么用处吗?
- ◆ 看看好吧 → 如何改变一个文件的所有者? ◆
- 杭州招vc全职程序员
- 奇怪!真是奇怪!明明这个结构体只有13个字节,怎么用Sizeof计算却有16个字节呢?
- 如何对应用程序打包(越详细越好)
- 怎么在子对话框中删除父对话框Combox控件的内容
- 阅读深入浅出MFC第3章时,这些程序语句看不太懂
===========
你挂起了,你后面调用了ResumeThread了吗?