아래에 있는 팁이 조금 복잡해 보여서 간단하게 처리하는 방법을 생각해 봤습니다.
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);
}
}
//---------------------------------------------------------------------------
귀잖은거 싫어하는 분들은
위 코드를 복사해서 쓰시면 됩니다.
델파이도 똑 같이 할 수 있습니다.
그럼.
|
*Method내에서 타입선언?
*FindWindowEx ?
*FreeONTerminate ?
이제 좀 가르쳐 주세요