안녕하세요.
procedure TForm1.FormCreate(Sender: TObject);
begin
FAtom := GlobalAddAtom('hotkey Test24');
if Registerhotkey(Handle, FAtom, 0, VK_F11)=false then
showmessage('hotkey_false')
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
Unregisterhotkey(Handle, FAtom);
GlobalDeleteAtom(FAtom);
end;
문법적으로 전혀 이상이 없는 문장입니다. 위의 formcreate문에서 registerhotkey를 사용하는데 자꾸 false가 나와서 메시지 창이 뜨네요. 됐다가 안됐다가 그래요. 아마 윈도우 레지스터에 등록이 되어버리기 때문에 그런 것 같기도 한데... 도대체 무슨 문제가 있는 거죠...
위에 handle은 데스크탑 핸들인가요? 설마... 하여간 재부팅하고나면 되곤 한답니다. 가끔...
registerhotkey함수가 실행되면 리턴값이 true,false가 나오는데, 정확히 매개변수를 이용해서 어떤 일을 하는지가 궁금하구여... 혹시 저같은 에러를 경험해보신 분 계시면 어떤 식으로 해결하셨는지 도움 부탁드려요...
private
{ Private declarations }
FAtom: TAtom;
procedure WMHotKey(var M: TMessage); message WM_hotkey;
private에 등록을 했었구여, WMHotKey함수에 문제는 없어요.