写了一个工具,向USB设备写东西,窗口上有一个进度条,显示写入进度。。
我在win 2000下测试完全正常,但是在XP下测试是,当向USB写文件时,点击这个工具的窗口空白处是,回出现假死现象,而且进度条也不动了,可是如果我把窗口的标题栏去掉后,就正常了,但是这样就不能拖动窗口了,请问这是怎么回事,要增样解决???
我在win 2000下测试完全正常,但是在XP下测试是,当向USB写文件时,点击这个工具的窗口空白处是,回出现假死现象,而且进度条也不动了,可是如果我把窗口的标题栏去掉后,就正常了,但是这样就不能拖动窗口了,请问这是怎么回事,要增样解决???
解决方案 »
- 请问如何根据用户权限使有些菜单项不可以用,急用!在线等啊
- 求OpenCV的qq群
- 在命令行提示符中给main()函数传参,但是默认分隔符是空格,如何改为用,(逗号)作为分隔符
- QQ“设置”对话框上的“性别”那个Combo的句柄怎么样得到,请各位讲解。尝试多次失败。
- 请教各位高手~~~
- 为什么用updateData(true)这个函数都会出错啊?会是什么原因呢?
- 如何用vc实现缩略图?
- 为什么添加的子菜单没有添加成功?
- 急:怎样在CHtmlView中实现控制下载,控制是否显示图片等,要源码。
- ??2000的关机代码谁能告诉我????
- 关于常量定义:#define好 还是 const好?
- SDI中怎么在框架类中获取视图类的指针??
另外,也可以去掉标题栏,如果不影响效果的话。没有标题栏的窗体也可以拖动,处理WM_NCHITTEST消息:UINT CMyDialog::OnNcHitTest(CPoint pt)
{
CRect rc;
GetClientRect(&rc);
ClientToScreen(&rc);
return rc.PtInRect(pt) ? HTCAPTION : CDialog::OnNcHitTest(pt);
}
有例子的
LPVOID pParam,
int nPriority = THREAD_PRIORITY_NORMAL,
UINT nStackSize = 0,
DWORD dwCreateFlags = 0,
LPSECURITY_ATTRIBUTES lpSecurityAttrs = NULL);UINT Proc1(LPVOID param)//按第一个参数要求格式创建一个函数。
{
int i;
for(i=0;i<1000;i++)//因为i=1000,所以本程序将死循环。
{
::MessageBeep(0);
}
return 0;
} void COiDUsbDlg::OnCC()
{
HWND hWnd=GetSafeHwnd();//取得当前窗口的句柄供函数使用。
AfxBeginThread(Proc1,hWnd,0);//以正常优先级调用。
// TODO: Add your control notification handler code here
}
这样对吗,
CWinThread* AfxBeginThread( AFX_THREADPROC pfnThreadProc,
LPVOID pParam,
int nPriority = THREAD_PRIORITY_NORMAL,
UINT nStackSize = 0,
DWORD dwCreateFlags = 0,
LPSECURITY_ATTRIBUTES lpSecurityAttrs = NULL);
应该放在哪啊??
UINT Proc1(LPVOID param)//按第一个参数要求格式创建一个函数。
{
}
就可以了,如果不对,请帮忙指正。。