안녕하세요. 궁금한게있는데요..
콘솔모드로는 다음의 코드에서 로그오프나, 종료시에 이벤트를 받아서 처리를 할수있는데요
콘솔모드를 주석처리하고 실행후 로그오프나 종료를 하면 저코드 를 실행이 안되는데
어떤방법으로 콘솔모드가 아닌(CMD창이 안나온) 상태로 프로세스가 있는경우 로그오프나 종료시에 어떤작업을
할려면 어떻게 해야하나요??
program Project9;
//{$APPTYPE CONSOLE} <---주석처리시 콘솔창이 안나타나고 실행됨
uses
Windows,
Messages,
SysUtils;
function EndMsg(fdwCtrlType: Cardinal): Boolean; stdcall;
begin
Result := False;
case fdwCtrlType of
CTRL_LOGOFF_EVENT, CTRL_SHUTDOWN_EVENT:
MessageBox(0, PChar('로그오프/종료'), PChar(''), 0);
end;
end;
begin
SetConsoleCtrlHandler(@EndMsg, True); <--- 콘솔창이 있는경우에는 코드가 실행되는데 취에 콘솔타입을 주석처리후 실행하면 프로세스는 돌아가는데 안먹힘... 다른방법이 있으면 알려주시면 고맙겠습니다.
while True do
Sleep(100);
end.
|