问题一:怎样才能把一个要执行的函数放在一个新的线程中,详细些?
问题二:怎样使用定时器,最好具体些?小弟有急用,多谢了!!!!!!!!!!!!!11
问题二:怎样使用定时器,最好具体些?小弟有急用,多谢了!!!!!!!!!!!!!11
解决方案 »
- Custom Control怎么用?
- 谁偷走了我绘的图,是谁???
- 要枚举进程列表却报错。帮我看看代码
- 请教一下,VC6.0中,在控制台应用程序中能不能绘图
- 请大家帮我解决一个网络编程中的多线程问题
- 属性页中如何通过一页一个控件的值,以决定另一个页中的控件的值,如何刷新
- 请高手帮我看看这个编译错误如何解决!
- 绑定语句pFX->SetFieldType()应该放哪里?
- 全局钩子响应WM_IME_COMPOSITION,会出现响应多次的情况。
- 请勿见笑,SOCK_RAW类型具体代表什么意思
- super difficult problem. Lock and atomic operation
- 请问如何将一个类的普通的成员函数的地址进行输出?急用!!!
先用 ClassWizard 在你要使用定时器的类中创建消息 WM_TIMER 的消息处理函数。然后再合适的地方用函数 CWnd::SetTimer()(也可以用 Api 的SetTimer) 安装定时器。
nTimerID = SetTimer(1, 1000,NULL);
在 WM_TIMER 的消息处理函数中假如你的代码。别忘了最后用 KillTimer 多线程相对啰嗦点AfxBeginThread(DialThread,this);
// 开始一个新线程,DialThread 为线程控制函数,在头文件定义如下:
static UINT DialThread(LPVOID pvThread); 随后在线程控制函数中如此这般,调用线程实现函数 _Dial()UINT CRasThread::DialThread(LPVOID pvThread)
{ // Ï߳̿ØÖƺ¯Êý
CRasThread *pThread = (CRasThread*) pvThread;
if(pThread == NULL) return 0;
pThread -> _Dial();
return TRUE;
}_Dial() 在头文件中定义如下: BOOL _Dial();随后在_Dial()中假如你的代码就可以了BOOL CRasThread::_Dial()
{
BOOL blRet......return blRet
}
UINT CRasThread::DialThread(LPVOID pvThread)
{
CRasThread *pThread = (CRasThread*) pvThread;
if(pThread == NULL) return 0;
pThread -> _Dial();
return TRUE;
}_Dial() 在头文件中定义如下: BOOL _Dial();随后在_Dial()中假如你的代码就可以了BOOL CRasThread::_Dial()
{
BOOL blRet......return blRet
}
HANDLE hTimer = NULL;
LARGE_INTEGER liDueTime; liDueTime.QuadPart=-100000000; // Create a waitable timer.
hTimer = CreateWaitableTimer(NULL, TRUE, "WaitableTimer");
if (!hTimer)
{
printf("CreateWaitableTimer failed (%d)\n", GetLastError());
return 1;
} printf("Waiting for 10 seconds...\n"); // Set a timer to wait for 10 seconds.
if (!SetWaitableTimer(hTimer, &liDueTime, 0, NULL, NULL, 0))
{
printf("SetWaitableTimer failed (%d)\n", GetLastError());
return 2;
} // Wait for the timer. if (WaitForSingleObject(hTimer, INFINITE) != WAIT_OBJECT_0)
printf("WaitForSingleObject failed (%d)\n", GetLastError());
else printf("Timer was signaled.\n");