델파이 마우스 아래의 윈도우 핸들 구하기
델파이 마우스 아래의 윈도우 핸들 구하기 // 아래처럼 타이머를 사용하지 않고 마우스 후킹을 사용하면 좀더 간결한 프로그램을 만들 수 있습니다 // SetWindowsHookEx(WH_MOUSE,...) 를 찾아보세요 unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TForm1 = class(TForm) Timer1: TTimer; Memo1: TMemo; procedure Button1Click(Sender: TObject); procedure Timer1Timer(Sender: TObject); private..
2021. 8. 15.
델파이 마우스 위치의 컨트롤
델파이 마우스 위치의 컨트롤 // 마우스 포인터 위치의 콘트롤(콤포넌트)의 이름을 폼의 Caption에 // 출력하는 예로 아래의 Label1, Edit1, Memo1, Button1 등은 임의로 // 올려놓으시고 테스트 해보세요 // Panel 안에 있는 콘트롤도 구분할 수 있습니다 unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Label1: TLabel; Edit1: TEdit; Memo1: TMemo; Button1: TButton; private { Private declarations } proce..
2021. 8. 14.
델파이 WM_USER 메시지
델파이 WM_USER 메시지 윈도우 시스템은, 메시지구동 시스템이죠. 모든 이벤트는 메세지의 발생에 의해서 처리됩니다. 리스트박스 윈도우, 콤보박스윈도우등 모든 이런 각각의 윈도우들은 내부적 메시지처리에의해 원하는 동작을 하게 되는데, 이런 메시지외에 사용자 정의 메시지가 필요할때가 많죠. 예를들어, 콤보에 값이 변경될때, 부모에게 뿐 아니라, 다른곳에도 알려줄 필요가 있거나 할때요. 그러면, 메시지의 값을 아무렇게나 정의해서 사용할수 없죠. #define WM_MY_TEST 100 처럼, 이런식으로 선언한다면, 이미 100이라는 값은 시스템이 내부적으로 예약해서 사용하는 메시지 상수일 수가 있습니다. 그래서, 사용자가 사용해도 되는 구역을 만들어뒀는데 그게 0x400 값부터 , 0x7FFF 까지 입..
2021. 8. 10.
Delphi 간단하게 키보드이벤트 발생하기
Delphi 간단하게 키보드이벤트 발생하기 윈도우API를 이용하여 키보드를 간단하게 제어해 보겠습니다. Keybd_Event(Ord('K'), MapVirtualKey(Ord('K'), 0), 0, 0); Keybd_Event(VK_ESCAPE, MapVirtualKey(VK_ESCAPE), 0), 0, 0); //첫번째 파라미터 : 키보드의 가상 키코드 //두번째 파라미터 : 키보드의 하드웨어 스캔코드 //세번째 파라미터 : 키보드의 상태제어 //참조 https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-keybd_event 키보드 클릭 Keybd_Event(VK_ESCAPE, MapVirtualKey(VK_ESCAPE), 0), ..
2021. 7. 26.