Q&A

  • [질문] Timer를 사용해서 KEY 입력값을 얻으려면 어떻게 해야죠?
실사용자는 사용하지 못하고 설치자나 개발자만은 암호를 입력받아서 암호가 맞으면 설정을 변경할 수 있게 만들고 싶습니다.
Timer를 50mSEC로 설정하고 50mSEC 마다 KEY 값을 입력받아서 암호가 맞는지 틀리는지 비교하려고 합니다.
후킹으로 해야 할 것 같은데, 후킹은 한번도 해본적이 없어서..., 후킹 찾아보니까 무슨 말인지 이해도 안되고, 간단히 KEY 입력값을 얻어서 처리할 수 있는 방법이 없을까요?
후킹을 하려면 인터럽트 처리해야 하기 때문에 DLL로 만들어야 한다고 하지만, 내 어플리케이션 폼내서 간단히 구현 할 수도 있다고 하던데, 아무리 찾아봐도 없네요.
간단하게 후킹이 아니라도 구현할 수 있는 방법이 있을까요?
2  COMMENTS
  • Profile
    장성호 2008.06.19 12:01

    "실사용자는 사용하지 못하고 설치자나 개발자만은 암호를 입력받아서 암호가 맞으면 설정을 변경할 수 있게 만들고 싶습니다."

    개인적으로 위와같은 기능은 Ctrl+Shift+ x 뭐 이런식으로 조합해서 구현하죠

    방법은?

    Form의 KeyPreview = true로 설정하시구요

    Form의 KeyPress 이벤트에서 처리하시면 됩니다.

    폼의 KeyPreview = true 로 설정하시면
    Form위의 어떤 Control에서 일어나는 Key-Event도 모두 Form의 KeyPress이벤트를 거쳐 갑니다.

    그럼..
  • Profile
    석주현 2008.06.19 20:13
    위에 방법을 이용하여 타이머로 하는 방법도 있겠고요.

    Additional 탭에 ApplicationEvent 컴포넌트를 이용하여 OnIdle 이벤트에서

    키 값을 읽어서 처리를 해도 됩니다.

    함수는 GetAsyncKeyState(Key 값) 이걸 써서 구현 가능할 겁니다.
    • 화이팅
    • 2008.06.22 06:26
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 정병선
    • 2008.06.23 08:05
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 화이팅
      2008.07.06 19:45
      감사합니다.. 많은 도움 되었습니다^^
    • 플루토
    • 2008.06.21 04:39
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      2008.06.21 03:12
      MSConnection이면 코어랩사의 MSDAC를 뜻하는 것이 맞는지요? 맞다면, 최신버전을 사용하시면 됩니다....
    • 이정욱
      2008.06.21 03:13
      하지만 ADO에서 왜 결과값이 나왔다 안나왔다 하는지는 잘 이해가 가질 않네요 ^^; qryTemp 한개를 가...
    • 신철우
      2008.06.21 03:51
      [자답] MSConnection에 MSQuery에서는 parameter를 1개 전달하여 sql문에서 복수조건에 사용가능하였는데...
    • cell
    • 2008.06.20 00:47
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 누룽지
    • 2008.06.19 20:12
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 석주현
      2008.06.19 20:31
      TEmbeddedWB.SaveToFile 을 쓰시면 될꺼 같은데요. ㅡ_ㅡ;; 모양도 그럭저럭 잘 나오는거 같습니다. ^^
    • 누룽지
      2008.06.19 22:28
      TEmbeddedWB.SaveToFile 로 해도 똑같네요 TEmbeddedWB.SaveDialog 로 하는것처럼 들여쓰기 내어쓰기가 ...
    • steps
      2008.06.20 20:33
      html파일을 메모장에서 보면 줄이 안맞아도 ultra edit나 edit plus 로 보면 줄이 잘 맞는데 혹 그런 경...
    • 정은철
    • 2008.06.19 18:14
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 신철우
      2008.06.21 01:27
      자답 : MSConnection을 ADOConnection으로 바꾸니까 되네요.
    • 오매가
    • 2008.06.19 10:22
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 장성호
      2008.06.19 12:01
      "실사용자는 사용하지 못하고 설치자나 개발자만은 암호를 입력받아서 암호가 맞으면 설정을 변경할 수...
    • 석주현
      2008.06.19 20:13
      위에 방법을 이용하여 타이머로 하는 방법도 있겠고요. Additional 탭에 ApplicationEvent 컴포넌트를...
    • steps
    • 2008.06.19 02:55
    • 1 COMMENTS
    • /
    • 0 LIKES
    • steps
      2008.06.20 03:42
      여기 팁란에 있는 전역핫키설정코드를 ActiveX Form에 적용하여 해결했습니다. procedure TaxBlockPri...
    • 강주현
    • 2008.06.18 21:48
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      2008.06.18 22:11
      안녕하세요.. 뭘 비교하시려는지 모르겠지만... TComboBox 의 Items 는 TStrings 입니다. 즉, I...
    • steps
      2008.06.19 00:53
      combobox.items itemindex| Names | Strings = values ________________________...
    • 석주현
      2008.06.19 02:29
      단순히 ComboBox 의 현재 값을 비교하려면 그냥 combobox1.text = 'all' 이렇게 하면 되겠죠. 지...
    • 구창민
      2008.06.18 21:54
      안녕하세요... 전부다 검색을 하셔야 하구요.. 많은 양의 레코드를 그리드에 뿌리셨다면 검색속도는 ...
    • 김원기
      2008.06.27 19:37
      어쩔수가 없네요 ㅠ DB에서 불러 오면 좋은데.. 출력된 데이터에서 다시 검색을 하려니... ㅠ MIN님 ...
    • 안인섭
    • 2008.06.17 22:16
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 양용성
      2008.06.17 23:33
      Fastreport 에서 그림을 그릴때 잘 그려야 합니다. 픽셜의 위치도 정확하게 구성해야 합니다. TEXT ...
    • steps
    • 2008.06.17 21:19
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      2008.06.17 21:28
      안녕하세요.. 아래코드를 참고하세요.. procedure TForm1.edit1KeyPress(Sender: TObject; var Key: ...
    • steps
      2008.06.17 21:47
      구창민님 정말 감사합니다. 지금 중문 윈도우xp에서 작업중인데요 그냥 editbox에서는 중문이 아닌 한글...
    • 구창민
      2008.06.17 21:45
      안녕하세요.. RichEdit 의 Lines.BeginUpdate 와 EndUpdate 를 사용하시면 조금은 향상이 있을거 같...
    • 누룽지
      2008.06.18 01:15
      KDDG_MIN님 말씀대로 Lines.BeginUpdate 와 EndUpdate를 사용하니까 속도향상이 있었습니다만 아직도 매...
    • 이정욱
      2008.06.17 02:10
      어떻게 하셨는지는 알수 없지만 아마도 MySQL의 에러처리로 델파이에 전달되는것 같습니다. 조금 더 ...
    • 초보임당
      2008.06.17 02:38
      --유효성 검증을 위한 로직 select * from master where mastercd = @mastercd --...
    • 이정욱
      2008.06.17 08:44
      -- -- Raise an error. -- CREATE PROCEDURE raise_error ( p_msg VARCHAR(128) ) BEGIN DEC...
    • 석주현
      2008.06.15 17:18
      리소스 파일 만들때 추가한 리소스의 이름을 FileName 부분에 넣어 주시면 됩니다.. WAVEFILE1 c:soun...
    • 오매가
      2008.06.16 00:05
      감사합니다^^
    • 오매가
      2008.06.17 20:54
      말씀하신뜻을 이해를 못해서 고생을 했습니다. ^^ [SOUND.rc] SOUND1 Wave sound.wav 로 만들고요 여...
    • 석주현
      2008.06.18 17:25
      ^^ 잘되셨다니 기쁘네요. 즐거운 프로그램 개발 하시길 빕니다.
    • 조영선
    • 2008.06.14 19:28
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      2008.06.17 02:11
      제 생각에는... 프린터가 고장났거나..ㅡㅡ; 또는 프린터 드라이버가 윈도우에 제데로 설치 안되어있거나...
    • 돌고래
      2008.06.19 23:37
      제가 알기로는 없습니다. 밴드가 가로로 배열이 된다면 가능하겠지만 그런 기능이 없거든요... 그래서 ...