안녕하세요 좋은생각입니다.
간단하게 태스트 프로그램을 만들었는데요...
도움이 될찌unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Grids;
type
TKeyState = (kbOn, kbOff);
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
StringGrid1: TStringGrid;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure StringGrid1Enter(Sender: TObject);
procedure StringGrid1Exit(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure SetCapsLock( value : TKeyState );
procedure SetNumLock( value : TKeyState );
procedure SetScrollLock( value : TKeyState );
procedure SetSystemKey( value : TKeyState );
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.SetCapsLock( value : TKeyState );
Var
KeyState : TKeyBoardState;
begin
GetKeyboardState(KeyState);
case value of
kbOn : KeyState[VK_CAPITAL] := 1;
kbOff : KeyState[VK_CAPITAL] := 0;
end;
SetKeyboardState(KeyState);
end;
procedure TForm1.SetNumLock( value : TKeyState );
Var
KeyState : TKeyBoardState;
begin
GetKeyboardState(KeyState);
case value of
kbOn : KeyState[VK_NUMLOCK] := 1;
kbOff : KeyState[VK_NUMLOCK] := 0;
end;
SetKeyboardState(KeyState);
end;
procedure TForm1.SetScrollLock( value : TKeyState );
Var
KeyState : TKeyBoardState;
begin
GetKeyboardState(KeyState);
case value of
kbOn : KeyState[VK_SCROLL] := 1;
kbOff : KeyState[VK_SCROLL] := 0;
end;
SetKeyboardState(KeyState);
end;
procedure TForm1.SetSystemKey( value : TKeyState );
var
NoUse : integer;
begin
case value of
kbOn : SystemParametersInfo( SPI_SCREENSAVERRUNNING, 0, @NoUse, 0);
kbOff : SystemParametersInfo( SPI_SCREENSAVERRUNNING, 1, @NoUse, 0);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
SetCapsLock(kbOn);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
SetCapsLock(kbOff);
end;
procedure TForm1.StringGrid1Enter(Sender: TObject);
begin
SetCapsLock(kbOn);
end;
procedure TForm1.StringGrid1Exit(Sender: TObject);
begin
SetCapsLock(kbOff);
end;
end.
뭐 이것 저것 비슷한 사항두 같이 추가 했어요...
위를 프로퍼티로 선언해서 쓰시면 훨씬 편하게 쓸수 있을 겁니다.
그럼 조은 하루 되세요...
꿈을 가진 소년 /좋/은/생/각/
|