2012-01-04 4 views
0

내 vb6 응용 프로그램에서 WinAPI, SetTimer 및 KillTimer를 사용하고 있습니다 (이는 레거시 프로젝트 임). SetTimer는 올바른 이벤트 ID를 반환하지만 실제 콜백은 set internval에서 호출되지 않습니다.내 vb6 응용 프로그램에서 SetTimer가 작동하지 않습니다.

가 난 시간 후에 나중에 해주

.... 
lngID = SetTimer(0, 0, 3000, AddressOf UpdateCallBack) 

Public Sub UpdateCallBack(ByVal hWnd As Long, ByVal uMsg As Long, ByVal idEvent As Long, ByVal dwTime As Long) 
...... 

UpdateCallBack 때로는 호출되는 분 있습니다. 타이머가 낮은 우선 순위의 메시지이며 처리 할 다른 메시지가 없을 때 처리되는 것으로 들었습니다. 메시지를 처리 ​​할 수있는 방법이 있습니까? SetTimer로 가능하지 않다면 무엇을 사용할 수 있습니까?

감사

답변

1

는 시간에 무엇을하고 응용 프로그램은 콜백 예상된다 있습니까? 스레드가 메시지를 펌핑하는 동안 화재가 발생한 직후에 콜백을 수신해야합니다.

응용 프로그램이 사용 중이면 DoEvents을 호출하여 메시지 루프를 실행해야합니다.

관련 문제