private
procedure WMQueryEndSession(var Msg : TWMQueryEndSession); message WM_QueryEndSession;
Procedure WMEndSession(var Msg : TWMEndSession); message WM_ENDSESSION;
이렇게 선언했구요.
procedure TForm1.WMQueryEndSession(var Msg : TWMQueryEndSession) ;
begin
Msg.Result := 0;
ShellExecute(.....);
Msg.Result := 1;
end;
procedure TForm1.WMEndSession(var Msg : TWMEndSession) ;
begin
inherited;
end;
이렇게 처리했습니다.
ShellExecute 부분에서는 "CMD.exe /C run.bat" 를 실행하려고 하구요.
그런데 문제가 생겼습니다.
Windows가 종료될때 CMD.exe가 실행이 되지 않고 "응용프로그램을 초기화하지 못했습니다.."라는 에러 메세지를 띄우고
명령을 실행하지 못하고 그냥 강제종료되어 버립니다.
에러메세지 없이 ShellExecute명령을 실행할 방법이 없을까요?
|