오토핫키 settimer 예제

augusztus 2, 2019 1:43 de. Közzétette cccccccccccccc

다음 예제에서는 마우스 입력을 트랩하는 방법도 보여 주지만 응용 프로그램의 메시지 큐를 통하지 않고 응용 프로그램 정의 콜백 함수 MyTimerProc을 통해 WM_TIMER 메시지를 처리합니다. 다음 예제에서는 SetTimer 함수를 사용하여 두 개의 타이머를 만듭니다. 첫 번째 타이머는 10초마다, 두 번째 타이머는 5분마다 설정됩니다. 응용 프로그램은 KillTimer 함수를 사용하여 더 이상 필요하지 않은 타이머를 파괴해야 합니다. 다음 예제에서는 상수 IDT_TIMER1, IDT_TIMER2 및 IDT_TIMER3로 식별된 타이머를 삭제합니다. 다음 예제에서는 SetTimer 및 KillTimer 함수를 사용하여 마우스 입력을 트랩합니다. SetTimer는 10초마다 WM_TIMER 메시지를 보내는 타이머를 만듭니다. 응용 프로그램이 WM_TIMER 메시지를 받을 때마다 마우스 포인터 위치를 기록합니다. 현재 위치가 이전 위치와 같고 응용 프로그램의 기본 창이 최소화되면 응용 프로그램은 마우스 포인터를 아이콘으로 이동합니다.

응용 프로그램이 닫히면 KillTimer가 타이머를 중지합니다. SetTimer는 hWnd가 NULL인 경우 타이머 아이디를 재사용할 수 있습니다. U는 나에게 배경 색을 변경하기위한 프로그램 코드를 보낼 수 있습니다 ……….. WM_TIMER 메시지의 wParam 매개 변수에는 nIDEvent 매개 변수의 값이 포함됩니다. 하지만 Windows 메시지를 읽고 처리할 수 있도록 메시지 펌프를 구현하는 것과 같은 다른 많은 작업을 수행해야 합니다. 정말 노력할 만한 가치가 없습니다. 이 항목에서는 타이머를 만들고 삭제하는 방법과 타이머를 사용하여 지정된 간격으로 마우스 입력을 트랩하는 방법을 보여 줍니다. 시간 시간 값이 경과할 때 알림을 받을 함수에 대한 포인터입니다. 함수에 대한 자세한 내용은 TimerProc을 참조하십시오. lpTimerFunc이 NULL이면 시스템은 응용 프로그램 큐에 WM_TIMER 메시지를 게시합니다.

메시지MSG 구조의 hwnd 멤버에는 hWnd 매개 변수의 값이 포함됩니다. 함수가 성공하고 hWnd 매개 변수가 NULL인 경우 반환 값은 새 타이머를 식별하는 정수입니다. 응용 프로그램은 이 값을 KillTimer 함수에 전달하여 타이머를 파괴할 수 있습니다. 응용 프로그램은 창 프로시저에 WM_TIMER 사례 문을 포함하거나 타이머를 만들 때 TimerProc 콜백 함수를 지정하여 WM_TIMER 메시지를 처리할 수 있습니다. TimerProc 콜백 함수를 지정하면 기본 창 프로시저가 WM_TIMER을 처리할 때 콜백 함수를 호출합니다. 따라서 WM_TIMER을 처리하는 대신 TimerProc을 사용하는 경우에도 호출 스레드에서 메시지를 디스패치해야 합니다. 응용 프로그램이 창 핸들을 지정하지 않고 타이머를 만드는 경우 응용 프로그램은 WM_TIMER 메시지에 대한 메시지 큐를 모니터링하고 적절한 창으로 디스패치해야 합니다. 타이머와 연결될 창에 대한 핸들입니다.

이 창은 호출 스레드에서 소유해야 합니다. hWnd에 대한 NULL 값이 기존 타이머의 nIDEvent와 함께 전달되면 해당 타이머는 기존 비NULL hWnd 타이머와 동일한 방식으로 대체됩니다.

Kategória: Egyéb kategória

Írta: Gabor