ユーザーがコンピューターをシャットダウン/再起動/ログオフするかどうかをプログラムでアプリケーションにチェックインしたい。以下のコードを実装しようとすると、コンパイルエラーが発生します
error: invalid conversion from 'bool (*)(DWORD)' to 'BOOL (*)(DWORD)'
error: initializing argument 1 of 'BOOL SetConsoleCtrlHandler(BOOL (*)(DWORD), BOOL)'
void TestApp:: OnQuit()
{
SetConsoleCtrlHandler(HandlerRoutine, TRUE);
}
//Windows Call Back function implementation
bool WINAPI HandlerRoutine(DWORD dwCtrlType)
{
bool ret = false;
if (dwCtrlType == CTRL_LOGOFF_EVENT || dwCtrlType == CTRL_SHUTDOWN_EVENT)
//Graceful Quit
return ret;
}
私の開発環境はQTCreatorQTSDKとC++です。