내 앱을 종료하는 데 시간이 얼마나 오래 걸릴 수 있습니까? example을 찾았지만 Delphi 용입니다. C++로 변환 할 수 없습니다. 여기Windows 종료 일시 중지
답변
는 델파이 코드의 C++ 빌더 VCL 번역입니다 :
class TForm1 : public TForm
{
..
protected:
void __fastcall WMQueryEndSession(TWMQueryEndSession &Message);
..
public:
..
BEGIN_MESSAGE_MAP
VCL_MESSAGE_HANDLER(WM_QUERYENDSESSION, TWMQueryEndSession, WMQueryEndSession)
END_MESSAGE_MAP(TForm)
};
...
void __fastcall TForm1::WMQueryEndSession(TWMQueryEndSession &Message)
{
Message.Result = TRUE;
if ((Message.Unused & ENDSESSION_CRITICAL) == 0)
{
ShutdownBlockReasonCreate(Handle, L"please wait while muting...");
Sleep(45000); // do your work here
ShutdownBlockReasonDestroy(Handle);
}
}
무엇이 Message.Unused & ENDSESSION_CRITICAL을위한 것인가? 어디서나 문서를 찾을 수 없었습니다. 매우 고마워요. – kizeloo
'Unused' 필드는 ['WM_QUERYENDSESSION']의'lParam' 값에 해당합니다 (https://msdn.microsoft .com/en-us/library/windows/desktop/aa376890.aspx) 메시지입니다.이 필드는 VCL에 의해 * 사용되지 않습니다 *하지만 실제로 종료가 발생하는 이유를 설명하는 플래그를 포함합니다. 여기서 'ENDSESSION_CRITICAL'은 "* 응용 프로그램이 강제 종료됩니다 * ". 따라서 응용 프로그램이 OS에 의해 강제 종료되지 않는 경우 코드가 종료됩니다. –
[Windows Vista의 응용 프로그램 종료 변경 사항] (https://msdn.microsoft.com)을 참조하십시오. /en-us/library/ms700677.aspx), 왜'ENDSESSION _CRITICAL'이 (가) 존재합니다. Vista에서 새 종료 API의 일부로 추가되었습니다. –
- 1. C# 일시 중지/종료/중지/중단 스레드
- 2. Windows 스토어 종료/일시 중지 이벤트시 App/Metro가 작동하지 않습니다.
- 3. Erlang 프로그램 전체 일시 중지/일시 중지
- 4. jQuery를 사용하여 일시 중지 시간 종료 기능()
- 5. Windows의 종료 및 일시 중지 활동은 재단
- 6. NS 종료 및 종료 된 일시 중지 된 앱
- 7. Windows 서비스에서 중지/일시 중지 요청을 처리하는 동안 지연 처리
- 8. 알림 일시 중지 일시 중지 [Android]
- 9. AS2 애니메이션 일시 중지 및 일시 중지
- 10. 일시 중지 사용 중지 방법 || 폐회 || Windows 8 Pro에서 내 Metro Style App에 대한 이벤트 종료
- 11. 서비스 일시 중지 방법
- 12. 응용 프로그램 일시 중지 Windows Phone 8.1
- 13. 일시 중지 된 Windows 프로세스 자동 재시작
- 14. Windows 서비스 스레드를 일시 중지 하시겠습니까?
- 15. Windows Workflow Foundation Id로 일시 중지
- 16. Windows 스토어 앱이 최소화되면 "일시 중지"
- 17. JFugue에서 음악 일시 중지
- 18. C#/VB.net에서 일정 기간 동안 시스템 종료 일시 중지
- 19. 윈도우에서 일시 중지 비활성화
- 20. mnesia 복제 일시 중지
- 21. 앱에서 비디오를 인코딩하는 동안 일시 중지 및 종료 문제를 완화하십시오.
- 22. 셸 출력 일시 중지
- 23. 빠른 앱 중지/일시 중지
- 24. 스레드 일시 중지 및 중지
- 25. 일시 중지/죽이고 대기중인 스레드
- 26. 완료 후 프로그램 종료 중지
- 27. 스레드 중지 또는 종료 방지
- 28. 실행중인 .Net 응용 프로그램에서 스레드보기, 일시 중지 및 종료
- 29. "일시 중지"와 "종료 됨"을 구분하는 방법
- 30. PhoneGap에서 별개의 "일시 중지"및 "종료"이벤트를 수행하는 방법
당신이 C++ 무엇을 의미합니까? WinAPI를 사용하여 건물에 창문이 있습니까? – Ajay
@Ajay : C++ Builder는 Embarcadero (이전 Borland) C++ 컴파일러/IDE입니다. 구글 그것. –
@KenWhite, 나는 그것을 묻지 않았다. 만약 그들이 WM_QUERYENDSESSION을 처리 할 수 있도록 OP의 프로그램에 메시지 루프가 있다는 것을 의미했습니다. – Ajay