Q&A

  • LAN 에서 컴퓨터 커고 끄는 방법은요?
안녕하세요!



윈도우상에서 LAN으로 접속된 다른 컴퓨터를 커고,



끄는 방법좀 가르쳐 주세요.



아직 델파이 초보자 많이 모릅니다.



누가 부탁 드립니다.....

1  COMMENTS
  • Profile
    고구마 1999.08.04 18:38
    강병철 께서 말씀하시기를...

    > 안녕하세요!

    >

    > 윈도우상에서 LAN으로 접속된 다른 컴퓨터를 커고,

    >

    > 끄는 방법좀 가르쳐 주세요.

    >

    > 아직 델파이 초보자 많이 모릅니다.

    >

    > 누가 부탁 드립니다.....



    -----------------------------------------------------------



    안녕하세요.



    우선 컴퓨터를 끄고, 켜는 문제는 결론적으로 얘기해서 할 수 없습니다.



    왜냐하면, 전부 하드웨어 스위치의 On/Off로 작동하는 것이기 때문입니다.



    특히 컴퓨터를 켠다는 얘기는 스위치를 눌러야 작동하는 것이기 때문에 더욱 그렇습니다.



    하지만 끄는 문제는 어거지로는 할 수 있겠죠. 단 본체가 윈도우를 종료하면 자동으로 꺼지는 시스템에 한해서 입니다.



    윈도우를 종료하는 방법은 몇가지 있습니다. 아래를 참고해 보세요.



    procedure TForm1.Button1Click(Sender: TObject);

    begin

    case RadioGroup1.ItemIndex of

    0 : ExitWindowsEx(EWX_FORCE, 0); //강제종료

    1 : ExitWindowsEx(EWX_LOGOFF, 0); //LOG OFF

    2 : ExitWindowsEx(EWX_POWEROFF,0); //Shut Down & Turn Off

    3 : ExitWindowsEx(EWX_REBOOT, 0); //Shut Down & Reboot

    4 : ExitWindowsEx(EWX_SHUTDOWN, 0); //ShutsDown

    end;

    end;



    그 다음에 나타나는 문제는 LAN에서 원격지 컴퓨터를 다룬다는 것에 있습니다.



    일단 프로그램이 2개가 필요합니다. 하나는 명령을 내리는 서버 프로그램과 서버에서 내린 명령을 수신하는 클라이언트 프로그램.



    서버 프로그램은 클라이언트에게 윈도우 종료라는 메세지를 보냅니다. 그러면 클라이언트는 메세지를 받아서 위의 기능 중 하나를 수행합니다.



    그러려면 우선 서버와 클라이언트간의 메세지 전달이 가능해야 합니다. 여기에 구체적인 코드를 적기는 힘들고, 전달 방식을 알려드릴께요.



    우선 서버는 항상 가동되어 있어야 합니다. 클라이언트는 윈도우 시작과 함께 로딩되어 서버에 접속합니다. 물론 사전에 서버 IP와 메세지를 전달할 PORT를 알고 있어야겠지요.



    그 후 일정한 때가 되었을때 서버에서는 특정 클라이언트에 "윈도우 종료"라는 메세지를 전달합니다. 클라이언트에서는 이 메세지를 받아서 위의 5가지 방법 중의 하나를 실행합니다.



    이렇게 하면 될 것 같네요.



    제가 해본 바로는 서버에서 클라이언트의 특정 프로시저를 수행하는 것 까지는 되었는데, 종료하는 것은 해보지 않았습니다. 안될리 없겠죠.



    더 필요한 사항이 있으면 메일 주세요.