2008/04/07
C++ Builder 에서 System Global Hotkey 사용하기
이전 글에서 프로그램에 시스템 레벨의 Hotkey를 할당하는 팁을 올렸었다.
이는 Win32 API를 이용하는 것으로 예제는 Visual C++에 맞추어 있지만 이를 C++ Builder에도 쉽게 응용할 수 있다.
적용 절차는 Visual C++과 크게 다를게 없으며 메세지 핸들링하는 부분만 VCL에 맞게 해주면 된다.
이는 Win32 API를 이용하는 것으로 예제는 Visual C++에 맞추어 있지만 이를 C++ Builder에도 쉽게 응용할 수 있다.
적용 절차는 Visual C++과 크게 다를게 없으며 메세지 핸들링하는 부분만 VCL에 맞게 해주면 된다.
// Header (.h)
ATOM GolbalKeyID;
void __fastcall OnHotKey(TWMHotKey &hotkey);
BEGIN_MESSAGE_MAP
VCL_MESSAGE_HANDLER(WM_HOTKEY, TWMHotKey, OnHotKey);
END_MESSAGE_MAP(TForm)
// Source (.cpp)
void __fastcall TForm1::FormCreate(TObject *Sender)
{
GolbalKeyID = GlobalAddAtom("MyKey");
RegisterHotKey(this->Handle, GolbalKeyID, MOD_WIN, 65 );
}
//------------------------------------------------------------------------
void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
UnregisterHotKey(this->Handle, GolbalKeyID);
GlobalDeleteAtom(GolbalKeyID);
}
//------------------------------------------------------------------------
void __fastcall TForm1::OnHotKey(TWMHotKey& hotkey)
{
if (WindowState == wsMinimized)
Application->Restore();
ShowMessage("Global Hotkey pressed");
}
//------------------------------------------------------------------------
Original Post : http://neodreamer-dev.tistory.com/90
Labels:
C++ Builder
,
GlobalAddAtom
,
Hotkey
,
RegisterHotkey
,
TistoryOldPost
,
Turbo C++
,
UnregisterHotKey
,
VCL
Subscribe to:
Post Comments
(
Atom
)
No comments :
Post a Comment