Q&A

  • 컴퓨터 잠김 상태 확인 방법???
도움요청~

현재 컴퓨터상태에 따라서 다른 작업을 할수 있도록 하고싶습니다(Tray Icon프로그램에서)
그래서 아래와 같은 상태를 확인하는 방법을 알고 싶습니다.

1. 현재 화면보호기가 동작이 되고 있는지 아닌지 확인하는 방법??
2. 현재 컴퓨터가 잠김상태인지 아닌지 확인하는 방법?

  컴퓨터의 잠김상태와 화면보호기의 동작상태를 점검 해서
다른 일을 못하도록 해야 되는데...??

  도와 주세요..
2  COMMENTS
  • Profile
    이정욱 2008.07.11 21:46
    SystemParametersInfo 를 참고 하시면 많은 도움이 되실 것 같습니다. Timer로 확인하시면 됩니다. 호출을 하실때 SPI_GETSCREENSAVEACTIVE 로 호출을 하시면 현재 시스템에 스크린세이버가 작동하게 세팅되어있는지를 알 수 있습니다. SPI_GETSCREENSAVERRUNNING 로 호출을 하시면 현재 스크린 세이버가 동작 중인이 아닌지를 알수 있습니다.


    function GetScreenSaverRunning : boolean;
    var
    res : integer
    begin
    SystemParametersInfo(GETSCREENSAVERRUNNING , 0, @res, 0);
    Result := boolean(res);
    end;


    온라인에서 코딩한것이라.. 간단한 버그는 있을 수 있습니다. ^^;
  • Profile
    이정욱 2008.07.11 21:48
    그리고 컴퓨터 잠금 상태는 아래와 같은 코드로 확인할 수 있습니다.


    function IsWorkstationLocked: Boolean;
    var
    hDesktop: HDESK;
    begin
    Result := False;
    hDesktop := OpenDesktop('default', 0, False, DESKTOP_SWITCHDESKTOP);
    if hDesktop <> 0 then
    begin
    Result := not SwitchDesktop(hDesktop);
    CloseDesktop(hDesktop);
    end;
    end;
    • 석주현
      2008.07.11 17:29
      델파이의 메뉴에 File/New/Other/Projects 에서 MID Application으로 프로젝트를 만든 후에 위에 말...
    • 이정욱
      2008.07.11 21:25
      Label1.Caption := TimeToStr(Now); Label1.Update; 로 해보세요. 보통은 그냥 바뀌지만, 전체적인 ...
    • phono
      2008.07.11 00:02
      showMessage 박스의 소스를 수정해야 할듯 싶네요. 오래전에 MesssageDlg 를 수정한것을 볼포에 올려놓...
    • 석주현
      2008.07.11 00:11
      function NewShowMessage(const Msg : String): Integer; begin with CreateMessageDialog(Msg, mt...
    • 장성호
      2008.07.11 00:49
      소나기님 방식이 참 심플한것 같은데.. Position := poOwnerFormCenter; 를 이용하는것은 문제...
    • 장성호
      2008.07.11 01:03
      http://cbuilder.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_tip&no=689 예전에...
    • 장종운
      2008.07.11 01:14
      답변들 매우 감사합니다 ^^
    • 이정욱
      2008.07.11 01:16
      MessageDlgPos 를 이용하시면 좀 더 편리 합니다.
    • 석주현
      2008.07.11 02:07
      장성호님 말데로 그런 문제가 있었네요.. ^^ 근데 이정욱님 말씀데로 차라리 MessageDlgPos 로 뒤에 ...
    • • • •
    • 정보근
    • 2008.07.10 18:50
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      2008.07.11 21:46
      SystemParametersInfo 를 참고 하시면 많은 도움이 되실 것 같습니다. Timer로 확인하시면 됩니다. 호출...
    • 이정욱
      2008.07.11 21:48
      그리고 컴퓨터 잠금 상태는 아래와 같은 코드로 확인할 수 있습니다. function IsWorkstationLocked...
    • 이정욱
      2008.07.11 21:53
      이 부분은.... 다시 다운받아서.. 해보시라고 하는 수밖에는.. 없네요... 윈도우 자체에 문제가 있을 ...
    • steps
      2008.07.09 20:42
      dll을 어떻게 로딩했는지, dll함수의 선언이 정확히 일치하는지 지금 질문으론 분간하기 힘듭니다. 좀 ...
    • 가르쳐주삼
      2008.07.09 21:33
      델파이7을 실행해서 메뉴에서 new - open 을 클릭하여 파일형식을 Type Library를 선택하여 dll 파일을 ...
    • 최용일
      2008.07.09 22:35
      아마도 에러가 발생하는 이유는 DLL에 타입라이브러리가 포함되어 있지 않은것 같은데요... 일반적인 형...
    • 가르쳐주삼
      2008.07.09 23:09
      델파이로만든 DLL 파일도 안되는건가여??
    • 최용일
      2008.07.10 01:41
      DLL의 소스를 델파이에서 여는것이지 DLL파일 자체를 열지 않습니다.
    • 석주현
      2008.07.10 19:00
      그냥 open 으로 읽어 온다고 쓸 수 있는게 아니고요. DLL의 경우는 정적링크, 동적링크의 방법으로 사...
    • 가르쳐주삼
      2008.07.10 22:22
      정적링크랑 동적링크 방법은 찾아서 봤는데요.... dll 파일자체 열수 있지 않나해서요.....책은 틈틈히 ...
    • • • •
    • 돌고래
    • 2008.07.09 19:11
    • 1 COMMENTS
    • /
    • 0 LIKES
    • phono
      2008.07.10 18:43
      추측으론 사용처쪽 네트워크 영역에 방화벽 같은 것이 설치되어 있지 않나 싶네요.
    • 김성욱
      2008.07.19 04:39
      일단.. 델파이에서 PHP호출은 인디나 웹브라우저 호출해서 쓰시면 될듯하고요 그 밖에 방법이 많지만. ...
    • 후초보
    • 2008.07.08 21:03
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      2008.07.08 22:02
      안녕하세요.. 메인폼의 아래에 만드셨다는 Panel 의 Align 을 alBottom 으로 바꾸시고.. 다시 테스트 ...
    • 후초보
      2008.07.09 00:57
      물론 아래 Panel 은 Align 를 Bottom 으로 했습니다. 그리고 메린폼에 만든것이 아니고 mdiChild 폼에 ...
    • steps
      2008.07.09 02:04
      인스톨 콤포넌트는 패키지가 없이 pas파일로 된 하나의 컴포넌트(주로 자신이 만든)를 인스톨할때 씁니다...
    • 장종운
      2008.07.09 17:26
      답변 감사합니다 ^^/
    • 장종운
      2008.07.09 17:27
      고맙습니다~ 잘 보겠습니다.
    • 최용일
      2008.07.08 08:30
      디버깅중에 보실려면 Watch Window에 원하는 변수값을 넣으시면 Watch Window상에 보입니다. 굳이 ShowMe...
    • 가르쳐주삼
      2008.07.08 17:58
      감사합니다.
    • 최용일
      2008.07.08 08:32
      서버의 파일은... 클라이언트로 다운로드한 후에 델파이의 TImage같은객체에서 불러서 쓰시면 됩니다. ...
    • 김성욱
      2008.07.19 04:26
      <!--CodeS--> procedure TForm1.GetWebImage(AImageURL: String); var ImageStream: TMemoryS...
    • 신철우
    • 2008.07.07 23:56
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 석주현
      2008.07.08 00:07
      에러 메시지를 보면 위에 그 라인 문제는 아닌 것 같습니다. Double 타입에다가 스트링 형태를 넣어서...
    • 이정욱
      2008.07.08 12:21
      editplus 에서도 역시 html을 보여줄때는 IE를 사용하는것으로 알고 있는데요.. 특히 OCX를 보여주려면 ...
    • 유상국
      2008.07.16 01:04
      Font를 한글Font로 하고 ChartSet을 한글이나 디폴트로 하세요
    • 화이팅
    • 2008.07.06 19:41
    • 1 COMMENTS
    • /
    • 0 LIKES
    • phono
      2008.07.07 19:49
      혹시 양식틀이 있는 인쇄물을 인쇄 하는 것인지요? 만약 그런 것이라면.. 컬럼 밴드에.. 양식의 디...
    • 정경철
    • 2008.07.06 03:14
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 석주현
      2008.07.06 17:36
      "윈도우 화면 캡쳐에 관해서" 로 검색 하시면 기본적인 캡쳐에 관한건 나오고요. 그걸 조금만 응용하...
    • 정경철
      2008.07.07 18:03
      여기 한텔에는 검색 해도 나오지 않습니다..!! 어디에서 검색 해야 되는지 한번 더 부탁 합니다.
    • 석주현
      2008.07.07 18:41
      지금 화면에서 위에 검색버튼 옆에 넣고 해보세요. 잘되는데요. ^^ 거기 보면 함수가 있습니다. 바탕...
    • 석주현
      2008.07.07 18:43
      <!--CodeS--> procedure TForm1.WinCtrlToBitmap( srcHandle,destHandle : THandle; iWidth,iHeig...
    • 최용일
      2008.07.08 08:39
      1. 이전에 쓰던 피시의 레지스트리 백업(HKCU/Software/Borland, HKLM/Software/Borland) 2. 이전에 쓰...
    • 최용일
      2008.07.08 08:41
      뭐... GExpert와 같은 Add on중 몇가지는 레지스트리위치가 달라서 조금 충돌날 수도 있습니다만... 충돌...
    • 임정미
      2008.07.08 19:52
      감사합니다. 한번 시도해 봐야겠네요. ^^
    • 최용일
      2008.07.09 20:56
      한가지 빠졌는데... 5번전에 1번에 백업한 레지스트리도 새 피시에 복원해줘야 합니다.
    • 홍성락
      2008.07.06 11:02
      아래 내용을 보니 pas소스가 없이 dcu만 있는것만 같군요. 일단 급한데로 원본백업파일중 GLOBLIB.DCU원...