본문 바로가기

Delphi Tip/하드웨어7

CPU 종류 알아오기 CPU 종류 알아오기 레지스트리를 이용한 CPU 종류 알아오기 입니다. function GetCPUType: String; var Registry: TRegistry; begin Registry:=TRegistry.Create; try Registry.RootKey:=HKEY_LOCAL_MACHINE; Registry.OpenKey('HARDWARE\DESCRIPTION\System\CentralProcessor\0',False); if Registry.ValueExists('ProcessorNameString') then Result := Registry.ReadString('ProcessorNameString') else Result := Registry.ReadString('Identifier');.. 2024. 3. 15.
델파이 동작 없을 시 자동 로그아웃 델파이 동작 없을 시 자동 로그아웃 var Form1: TForm1; tm: integer; Crs: TPoint; implementation {$R *.dfm} procedure TForm1.AppMessage(var Msg: TMsg; var Handled: Boolean); var message: TWMKey; begin if Msg.message = WM_MOUSEMOVE then begin if (Abs(LOWORD(Msg.lParam) - crs.x) > 20) or (Abs(HIWORD(Msg.lParam) - crs.y) > 20) then // 마우스 움직임 감시 tm := 0; end else if (Msg.message = WM_KEYDOWN) or (Msg.message = WM_K.. 2021. 8. 23.
델파이 USB 인식 델파이 USB 인식 USB를 꽂거나 뺏을 때 이벤트 발생 해당 이벤트가 발생하면 처리하는 함수 구현 방법 1. 이벤트 발생 시 파라미터로 받을 데이터 타입 선언 type TWMDeviceChange = packed record Msg : Cardinal; Event: Word; dwData: Longword; Result : LongInt; end; 2. 메인 Form 클래스 안에 함수 선언 TfrmMain = class(TForm) public procedure WMDeviceChange(var Msg: TWMDeviceChange); message WM_DEVICECHANGE; end; 3. 함수 기능 구현 procedure TfrmMain.WMDeviceChange(var Msg: TWMDevice.. 2021. 8. 18.
델파이 마우스 아래의 윈도우 핸들 구하기 델파이 마우스 아래의 윈도우 핸들 구하기 // 아래처럼 타이머를 사용하지 않고 마우스 후킹을 사용하면 좀더 간결한 프로그램을 만들 수 있습니다 // 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.
델파이 하드디스크 시리얼 알아내기 델파이 하드디스크 시리얼 알아내기 function TF_Main.ReadHDDSerial: String; var MC, FL, PDW : DWord; begin GetVolumeInformation( nil, nil, 0, @pdw, mc, fl, nil, 0 ); Result := IntToStr(pdw); end; 2021. 8. 13.
델파이 모니터 전원 컨트롤 델파이 모니터 전원 컨트롤 // 전원상태를 절전모드로 유지한다. SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, 1); // 전원을 원래상태로 둔다. SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, -1); // 전원을 아예 shut off 시킨다. SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, 2); 2021. 8. 12.