C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 팁&트릭
C++Builder Programming Tip&Tricks
[670] InputQuery에 패스워드를 입력받자.
김태선 [cppbuilder] 7501 읽음    2007-07-12 11:08
아래에 있는 팁이 조금 복잡해 보여서 간단하게 처리하는 방법을 생각해 봤습니다.

inputQuery 폼에 패스워드를 입력받을 수 있습니다.

아래 팁은 매우 중요한 테크닉이 포함 되어 있는데
잘 분석해보세요... ㅎㅎ;
그게 뭔지 맞추실 분께는 소정의 감사의 말씀을 드립니다.

//---------------------------------------------------------------------------
// InputQuery에 패스워드를 입력받자.

void __fastcall TForm1::Button1Click(TObject *Sender)
{
    class TInputPassword : TThread
    {
    public:
        __fastcall TInputPassword() : TThread(false) { }
        void __fastcall Execute()
        {
            FreeOnTerminate = true;
            HWND  hWnd;
            while((hWnd = FindWindow("TForm", "암호")) == NULL)
                Sleep(40);
            SendMessage(FindWindowEx(hWnd, 0, "TEdit", NULL), EM_SETPASSWORDCHAR, '*', 0);
        }
    };

    String PassWord;
    TInputPassword*  pTemp = new TInputPassword(); pTemp;    // 컴파일 Warning 방지용.
    if (InputQuery("암호", "암호를 입력 하세요.    ", PassWord))
    {
        ShowMessage(PassWord);
    }

}
//---------------------------------------------------------------------------

귀잖은거 싫어하는 분들은
위 코드를 복사해서 쓰시면 됩니다.
델파이도 똑 같이 할 수 있습니다.

그럼.
장성호 [nasilso]   2007-07-16 10:14 X
아무리 봐도 모르겠네요.. 매우 중요한 테크닉이라는것이?

*Method내에서 타입선언?
*FindWindowEx ?
*FreeONTerminate ?

이제 좀 가르쳐 주세요
김권영 [devilica]   2007-07-16 10:39 X
핸들값이 넘어올때까지 40밀리세컨드 기다려주는거? 혹시 이건가요?^^
외랑 [jaehuns]   2007-07-20 10:25 X
InputQuery 내에서 TEdit를 쓰레드에서
EM_SETPASSWORDCHAR, '*',  해서 입력을 *로 바꿔주는게 중요한 거 맞죠????
알고파요~~~
김태선 [cppbuilder]   2007-07-20 18:57 X
답변이 늦어서 지송합니다...
저 위쪽의 "지정 함수를 쓰레드에서 실행시키는 클래스" 팁을 답변 삼아 보시기
바랍니다.

+ -

관련 글 리스트
670 InputQuery에 패스워드를 입력받자. 김태선 7501 2007/07/12
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.