ソス@ソスソスHotKeyソスソスgソスソスソスト右ソスRソスソスソスgソスソスソス[ソスソスソスLソス[ソス繪コソスソスPageUpDownソスソスソスソスソスソスソスソス
|
ソスEC/C++
ソスEDelphi
ソスEVisual BasicソスソスソスSソスソス
ソス@(VB2-VB6ソスソス.NETソスソスソスp)
ソスEVisual Basic(VB2-VB6)
ソスEVisual Basic .NET
ソスEVisual C++
ソスEpapy's softwarelibrary
ソスソスソスソスノゑソスソスヘ。
ソスEソスRソスソスソスgソスソスソス[ソスソスソスLソス[ソスニ、ソスJソス[ソス¥ソスソスソスLソス[ソスフ組ソスン搾ソスソスせソスソス
ソスzソスbソスgソスLソス[ソス動作さソスソスソスソスソスソスソスニ思ソスソスソスワゑソスソスソスソスB
ソスネゑソスソスソスソスニゑソスソスソスソスニ、dynabook UX ソスニゑソスソスソスソスlソスbソスgソスuソスbソスNソスソスFnソスLソス[ソスフ位置ソスソス
ソスソスソスソスソスソスソス謔ゥソスソスソスソスソスフで、
(ソス_ソスCソスiソスuソスbソスNソスVソスソスソス[ソスYソスヘ右ソスソスソスソスFnソスニゑソスソスソスソスフゑソスソスフ用ソスソスソスソストゑソスソスソス謔、ソスナゑソスソスソス)
ソスソスソスソスソスソスソスソスソスフノソス[ソスgPCソスナゑソスAソスヘ擬ソスIソスノまねでゑソスソスネゑソスソスソスソスニ思ソスソスソスソスソスソスソスソスナゑソスソスB
Ctrl+ソスソスソスEソスソスソスAソスソスAPageUpソスEPageDownソスAソスノ奇ソスソス闢厄ソスソス
Ctrl+ソスソスソスEソスソスソスAソスソスAHomeソスEEndソスLソス[ソスノ奇ソスソス闢厄ソストゑソスソスソスソスニ考ソスソスソストゑソスソスワゑソスソスB
ソスEソスノゑソスソスソスCtrlソスLソス[ソスソスソスソスソスナゑソスソスB
ソスニゑソスソスがソスA
ソスzソスbソスgソスLソス[ソスヘ、CtrlソスLソス[ソスフ搾ソスソスEソスソスハにゑソスソスト登ソス^ソスネどでゑソスソスネゑソス(ソス轤オソスソス)ソスフゑソス
ソスネゑソスソスネゑソスソスしソスソスソスソスソスソスソスナゑソスソストゑソスソスワゑソスソスソスB
ソスソスソスネゑソスソスソスソスソスソスソスソスソスソスソスナゑソスソスソスソスソスAソスソスソスソスソストゑソスソスソスソスソスソスソスソスB
ソスソスソスフコソス[ソスhソスソスソスソスソスソスソスソスフでゑソスソスソスソスAソスソスソスワゑソスソスソスソスソスソスワゑソスソスソスB
-----
unit Unit12;
interface
uses
ソス@Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
ソス@Dialogs;
type
ソス@TForm12 = class(TForm)
ソス@ソス@procedure FormCreate(Sender: TObject);
ソス@ソス@procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
ソス@private
ソス@ソス@procedure WMHotKey(var Msg: TWMHotKey); message WM_HOTKEY;
ソス@public
ソス@ソス@{ Public declarations }
ソス@end;
var
ソス@Form12: TForm12;
implementation
{$R *.dfm}
procedure SetHotKeyToOS(Handle: THandle; HotKeyNumber: Integer; VirtualKey: Word;
Shift, Ctrl, Alt, Win: Boolean);
var
ソス@Modifiers: Word;
begin
ソス@Modifiers := 0;
ソス@if Shift then Modifiers := Modifiers or MOD_SHIFT;
ソス@if Ctrl then Modifiers := Modifiers or MOD_CONTROL;
ソス@if Alt then Modifiers := Modifiers or MOD_ALT;
ソス@if Win then Modifiers := Modifiers or MOD_WIN;
ソス@RegisterHotKey(Handle, HotKeyNumber, Modifiers, VirtualKey);
end;
function GetAsyncKeyState_Delphi(iKey: Integer): Boolean;
begin
ソス@Result := BOOL(Hi(GetAsyncKeyState(iKey)));
end;
procedure TForm12.WMHotKey(var Msg: TWMHotKey);
begin
ソス@case Msg.HotKey of
ソス@ソス@1: begin
ソス@ソス@ソス@if GetAsyncKeyState_Delphi(VK_RCONTROL) then
ソス@ソス@ソス@begin
ソス@ソス@ソス@ソス@//keybd_event(VK_RCONTROL, 0, KEYEVENTF_KEYUP, 0);
ソス@ソス@ソス@ソス@keybd_event(VK_PRIOR , 0, 0, 0);
ソス@ソス@ソス@ソス@keybd_event(VK_PRIOR , 0, KEYEVENTF_KEYUP, 0);
ソス@ソス@ソス@ソス@//keybd_event(VK_RCONTROL, 0, 0, 0);
ソス@ソス@ソス@end else
ソス@ソス@ソス@begin
ソス@ソス@ソス@ソス@UnregisterHotKey(Self.Handle, 1);
ソス@ソス@ソス@ソス@keybd_event(VK_CONTROL, 0, 0, 0);
ソス@ソス@ソス@ソス@keybd_event(VK_UP , 0, 0, 0);
ソス@ソス@ソス@ソス@keybd_event(VK_UP , 0, KEYEVENTF_KEYUP, 0);
ソス@ソス@ソス@ソス@SethotKeyToOS(Self.Handle, 1, VK_UP, False, True, False, False);
ソス@ソス@ソス@end;
ソス@ソス@end;
ソス@ソス@2: begin
ソス@ソス@ソス@if GetAsyncKeyState_Delphi(VK_RCONTROL) then
ソス@ソス@ソス@begin
ソス@ソス@ソス@ソス@//keybd_event(VK_RCONTROL, 0, KEYEVENTF_KEYUP, 0);
ソス@ソス@ソス@ソス@keybd_event(VK_NEXT , 0, 0, 0);
ソス@ソス@ソス@ソス@keybd_event(VK_NEXT , 0, KEYEVENTF_KEYUP, 0);
ソス@ソス@ソス@ソス@//keybd_event(VK_RCONTROL, 0, 0, 0);
ソス@ソス@ソス@end else
ソス@ソス@ソス@begin
ソス@ソス@ソス@ソス@UnregisterHotKey(Self.Handle, 2);
ソス@ソス@ソス@ソス@keybd_event(VK_CONTROL, 0, 0, 0);
ソス@ソス@ソス@ソス@keybd_event(VK_DOWN , 0, 0, 0);
ソス@ソス@ソス@ソス@keybd_event(VK_DOWN , 0, KEYEVENTF_KEYUP, 0);
ソス@ソス@ソス@ソス@SethotKeyToOS(Self.Handle, 2, VK_DOWN, False, True, False, False);
ソス@ソス@ソス@end; end;
ソス@end;
end;
procedure TForm12.FormCreate(Sender: TObject);
begin
ソス@SethotKeyToOS(Self.Handle, 1, VK_UP, False, True, False, False);
ソス@SethotKeyToOS(Self.Handle, 2, VK_DOWN, False, True, False, False);
end;
procedure TForm12.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
ソス@if CanClose then
ソス@begin
ソス@ソス@UnregisterHotKey(Self.Handle, 1);
ソス@ソス@UnregisterHotKey(Self.Handle, 2);
ソス@end;
end;
end.
-----
ソスソスソスソスニゑソスソストは、ソスソスソスRソスソスソスgソスソスソス[ソスソスソスLソス[+ソス繪コソスLソス[ソスネゑソスAHOTKETソスソスソスソスソスソスソスソス
WMHOTKEYソスノ擾ソスソスソスソスソスソスソスソスソス
ソスソスソス゚てコソス[ソスhソスソスナ搾ソスソスRソスソスソスgソスソスソス[ソスソスソスLソス[+ソス繪コソスLソス[ソス送信ソスソスソストゑソスソスワゑソスソスB
ソスソスソスソスソスソスヘゑソスソスワゑソスソスソスソスソスソスソスソストゑソスソスワゑソスソスB
ソスEソスRソスソスソスgソスソスソス[ソスソスソスLソス[+ソス繪コソスLソス[ソスフ場合
ソスyソス[ソスWソスAソスbソスvソスAソス_ソスEソスソスソスソスソスソスソス送りたソスソスソスフゑソス
ソスRソス[ソスhソスナ撰ソスソス艪オソス謔、ソスニゑソスソストゑソスA
ソスRソスソスソスgソスソスソス[ソスソスソスLソス[+ソスyソス[ソスWソスAソスbソスvソス_ソスEソスソスソスノなゑソスソストゑソスソスワゑソスソスワゑソスソスB
keybd_eventソスソスソスAVK_RCONTROLソスソスVK_LCONTROLソスニゑソス
ソスソスハ出ソスソスソスネゑソスソス謔、ソスネのでゑソスソスソスソスA
ソスソスソスソスソス謔「ソスソスソスソスソスソスソスソスソスソスmソスナゑソスソスソスソス迢ウソスソスソストゑソスソスソスソスソスソスソスソスB
ソスソスしソスソスソスソスソス閧「ソスソスソスワゑソスソスB
ソスソスソスいソスソスHソスvソスソスソスソスソスソスナゑソスソスソスソスAソスソスソスワゑソスソスソスソスソスソスネゑソスソスソスナゑソスソスソスソス....
GetKeyState()ソスナキソス[ソスフ擾ソスヤゑソスソスソスソスソスニ思ソスソスソスワゑソスソスソスソスEソスEソスE
if GetKeyState( VK_RCONTROL ) and $8000 <> 0 then begin
ShowMessage('R-CONTROL');
end;
http://delfusa.main.jp/delfusafloor/archive/www.nifty.ne.jp_forum_fdelphi/faq/00259.htm
ソスソス
ソスQソスlソスノなゑソスワゑソスソスか?
ソスソスソス゚ゑソスネゑソスソスソスソスB
VK_RCONTROLソスソスソスEソスソスソスネゑソスソスじゑソスネゑソスソスソスソスソスソスナゑソスソスヒ。
ソスソスソス痰「ソスソスソストゑソスソスワゑソスソスワゑソスソスソスソスB
ソスソスソスソスソスネゑソスナゑソスソスソスB
ソスEソスRソスソスソスgソスソスソス[ソスソスソスLソス[ソスヘ拾ソスソスソスソスフでゑソスソスソスソスAソスソスソスソスノゑソスソスソスソス
ソスソスソスフキソス[ソスフ会ソスソスソスソスソスソスマなゑソスソスソスヤゑソスソスソスソスソスソスソスソスソスソスフでゑソスソスB
ソスECtrl+[ソスソスソスフ連ソスソス]ソスナゑソスAPageUpソスフ連ソスナ、ソスソス
ソスソスソスソスソス@ソス¥ソスノでゑソスソスソスソス轤「ソスソスソスネと、ソスvソスソスソスフでゑソスソスソスソスAソスネゑソスソスネゑソスソスしソスソスソスB
ソスナゑソスワゑソスソスAソスLソス[ソスフ難ソスソスソスソスソスソスソスソスソスソスソスノゑソスAsyncソスナなゑソスGetKeyStateソスソスgソスソスソスフゑソスソスソスソスソスソスソスソスナゑソスソスヒ。
ソスツゑソスソスナに、keybd_eventソスヘゑソスソスソステゑソスソスANTソスネ降ソスソスSendInputソスソスgソスソスソスニゑソスソスソスソスソスソスニになゑソスソストゑソスソスソス謔、ソスナゑソスソスソスソスAソスソスソスソスソスソスヘ趣ソスソスソスソストみゑソスソスナゑソスソス蛯、ソスソス?
> keybd_eventソスソスソスAVK_RCONTROLソスソスVK_LCONTROLソスニゑソスソスハ出ソスソスソスネゑソスソス謔、ソスネのでゑソスソスソス
ソスソスソスロゑソスソスソスソスソスソスニゑソスソスソスソスソスAソスソス2ソスソスソスソスソスフスソスLソスソスソスソスソスRソス[ソスhソスソスwソス閧オソストみゑソスフはどゑソスソスナゑソスソス蛯、ソスB
ソスiソスLソス[ソスRソス[ソスhソスノ対ゑソスソスソスXソスLソスソスソスソスソスRソス[ソスhソスソスMapVirtualKeyソスナ難ソスソスソスソスワゑソスソスj
ソスソスソスニは、ソスECtrlソスヘ後かソスソスヌ会ソスソスLソス[ソスソスソスソスソスソスKEYEVENTF_EXTENDEDKEYソスソスwソス閧キソスソスニゑソスソスソスソスソスAソスニゑソスソスソスソスソスソスソスソスソス謔、ソスナゑソスソスヒ。
ソスヌゑソスソス轤ゥソスニゑソスソスソスソスニ、ソスソスソスノキソス[ソスソスソスソスソスソスソスソストゑソスソスソスフゑソスkeybd_eventソスナ「ソスソスソスソスソスソストゑソスソスネゑソスソスvソスソスソスニにでゑソスソスソスフゑソスソスヌゑソスソスソスソスAソスニゑソスソスソスソス_ソスソスソスCソスノなゑソスワゑソスソスソスソスcソスc
ソスMソスdソスネ擾ソスありがソスニゑソスソスソスソスソスソスソスソスワゑソスソスB
>ソスLソス[ソスフ難ソスソスソスソスソスソスソスソスソスソスソスノゑソスAsyncソスナなゑソスGetKeyStateソスソスgソスソスソスフゑソスソスソスソスソスソスソスソスナゑソスソスヒ。
ソスソスソスソスヘ、ソスソスソスソスソスAソスソス源ゑソスソスソスソスソスフでゑソスソス蛯、ソスソスソスB
ソスヌゑソスソスソスソスソスgソスソスソスニゑソスソスソスソスニゑソスソスBソステゑソスOSソスソスソスソスソスニゑソスソスネゑソスニゑソス,,,
> ソスツゑソスソスナに、keybd_eventソスヘゑソスソスソステゑソスソスANTソスネ降ソスソスSendInputソスソスgソスソスソスニゑソスソスソスソスソスソスニになゑソスソストゑソスソスソス謔、ソスナゑソスソスソスソスAソスソスソスソスソスソスヘ趣ソスソスソスソストみゑソスソスナゑソスソス蛯、ソスソス?
ソスソスソスソスソスAソスSソスRソスmソスソスワゑソスソスソスナゑソスソスソスソスB
ソスEソスEソスEソスナ・ソスEソスEソスソスI
KEYEVENTF_EXTENDEDKEY
ソスソスソスソスソスAソスヌ会ソスソスソスソストみゑソスソス迪ゥソスソスソスノ難ソスソスソスソスワゑソスソスソスソスIソスI
ソスソスソス閧ェソスニゑソスソスソスソスソスソスソスソスワゑソスソスB
ソス¥ソス[ソスXソスソス
function GetAsyncKeyState_Delphi(iKey: Integer): Boolean;
begin
Result := BOOL(Hi(GetAsyncKeyState(iKey)));
end;
function GetKeyState_Delphi(VKey: Integer): Boolean;
begin
Result := (GetKeyState( VKey ) and $8000 <> 0)
end;
procedure TForm12.WMHotKey(var Msg: TWMHotKey);
begin
case Msg.HotKey of
1: begin
if GetKeyState_Delphi(VK_RCONTROL) then
begin
keybd_event(VK_RCONTROL, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
keybd_event(VK_PRIOR , 0, 0, 0);
keybd_event(VK_PRIOR , 0, KEYEVENTF_KEYUP, 0);
keybd_event(VK_RCONTROL, 0, KEYEVENTF_EXTENDEDKEY, 0);
end else
begin
UnregisterHotKey(Self.Handle, 1);
keybd_event(VK_UP , 0, 0, 0);
keybd_event(VK_UP , 0, KEYEVENTF_KEYUP, 0);
SethotKeyToOS(Self.Handle, 1, VK_UP, False, True, False, False);
end;
end;
2: begin
if GetKeyState_Delphi(VK_RCONTROL) then
begin
keybd_event(VK_RCONTROL, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
keybd_event(VK_NEXT , 0, 0, 0);
keybd_event(VK_NEXT , 0, KEYEVENTF_KEYUP, 0);
keybd_event(VK_RCONTROL, 0, KEYEVENTF_EXTENDEDKEY, 0);
end else
begin
UnregisterHotKey(Self.Handle, 2);
keybd_event(VK_DOWN , 0, 0, 0);
keybd_event(VK_DOWN , 0, KEYEVENTF_KEYUP, 0);
SethotKeyToOS(Self.Handle, 2, VK_DOWN, False, True, False, False);
end; end;
end;
end;
ソスソスソスフようソスノゑソスソスソスニ、
ソスソスCtrl+ソスソスソスソスソスネゑソスAソスソスソスフまま、Ctrl+ソスソスソスソスソスフ機ソス¥
ソスECtrl+ソスソスソスソスソスネゑソスAPgUp PgDn ソスフ機ソス¥
ソスソスソスソスソスソスソスナゑソスソスワゑソスソスソスソスI
KEYEVENTF_EXTENDEDKEYソスヘ知ソスソスソストゑソスソスソスソスフでゑソスソスソスソスAソスソスソスソスソスソスソス閧オソストゑソスソスワゑソスソスソスソスソスB
ソスソスソス閧ェソスニゑソスソスソスソスソスソスソスソスワゑソスソスB
GetAsyncKeyState_DelphiソスソスGetKeyState_Delphiソスソス
ソスソスソスフ場合ソスナは、ソスヌゑソスソスソスソスソスソスソスソスソスソスソスソスソスソストゑソスソスワゑソスソスB
ソスソスソスソスソスソスソスソス謔、ソスナ会ソスソスソスソスナゑソスソスB
>>ソスLソス[ソスフ難ソスソスソスソスソスソスソスソスソスソスソスノゑソスAsyncソスナなゑソスGetKeyStateソスソスgソスソスソスフゑソスソスソスソスソスソスソスソスナゑソスソスヒ。
>ソスソスソスソスヘ、ソスソスソスソスソスAソスソス源ゑソスソスソスソスソスフでゑソスソス蛯、ソスソスソスB
>ソスヌゑソスソスソスソスソスgソスソスソスニゑソスソスソスソスニゑソスソスBソステゑソスOSソスソスソスソスソスニゑソスソスネゑソスニゑソス,,,
ソス皷橸ソスAMSDNソスソスGetKeyStateソスフ擾ソスソスナ会ソスソスソスソスソストはゑソスソスワゑソスソスソスソスA
ソスソスソス黷セソスソスソスフ撰ソスソスソスナは必ソスRソスソスソスソスソス`ソスソスソスノゑソスソスソスソスソスソスソスソスソスソスワゑソスソスソスヒ…
ソスソスソス[ソスニ、ソスソスソス[ソスUソスソスソスLソス[ソスソス}ソスEソスXソス操作すソスソスソス
(1) ソスCソスxソスソスソスgソスソスソスソスソスbソスZソス[ソスWソスLソスソスソス[ソスノ難ソスソスソス
(2) ソスAソスvソスソスソスPソス[ソスVソスソスソスソスソスソスソスソスソスbソスZソス[ソスWソスソスソスソスoソスソス
(3) ソスソスソスbソスZソス[ソスWソスnソスソスソスhソスソスソスノ渡ソスソスソスソスソス
ソスニゑソスソスソスソスソスソスソスナ擾ソスソスソスソスソスソスソスワゑソスソスB
GetKeyStateソスナゑソス(1)ソスニ一緒ソスノ保托ソスソスソスソス黷スソスソスヤゑソスソスニゑソスワゑソスソスソスソスA
Asyncソスソスソスニ関撰ソスソスソストんだ趣ソスソス_ソスAソスツまゑソス(3)ソスフ擾ソスヤになゑソスフゑソス
ソス^ソスCソス‾ソスソスソスOソスソスソスソスナは趣ソスソスロに行ソスソス黷スソスソスソスソスニ異なる判ソスソスソスソスソストゑソスソスワゑソスソスワゑソスソスB
ソスiソス痰ヲソスソス 1+2=3 ソスニタソスCソスvソスソスソスソスソスヘゑソスソスネのゑソス 1;"-# ソスノなゑソスニゑソスソスソスソスソスソスソスソスニゑソスソスNソスソスソスソスワゑソスソスj
ソスソスソスbソスZソス[ソスWソスnソスソスソスhソスソスソスニゑソスソスソスソスフゑソスソスAソスソスソスソスソスノわかソスソスワゑソスソスソス
PostMessageソスソスSendMessageソスフ違いソスソスソスソスソスネんだゑソスソスンゑソスソスソスソスネゑソスソスナゑソスソスソスソスヒ。
GetKeyStateソスソスgソスソスソストゑソスソスソスソストゑソスソスソスソスワゑソスソスB
ソスソスソスソス`ソスFソスbソスNソスソスYソスソストゑソスソスワゑソスソスソスソスB
ソスソスソスノ、ソスソスソス閧ェソスニゑソスソスソスソスソスソスソスソスワゑソスソスB