다음 링크를 참고하세요.
http://msdn.microsoft.com/en-us/library/windows/desktop/aa376890(v=vs.85).aspx
음냐리 님이 쓰신 글 :
: 안녕하세요. 궁금한게있는데요..
: 콘솔모드로는 다음의 코드에서 로그오프나, 종료시에 이벤트를 받아서 처리를 할수있는데요
: 콘솔모드를 주석처리하고 실행후 로그오프나 종료를 하면 저코드 를 실행이 안되는데
:
: 어떤방법으로 콘솔모드가 아닌(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.
|