2011-02-14 51 views

回答

6

试试这个在您的FORMCREATE:

procedure TForm1.FormCreate(Sender: TObject); 
var 
    MyKeys: array of tagInput; 
begin 
    setLength(MyKeys, 2); 
    MyKeys[0].Itype:=INPUT_KEYBOARD; 
    MyKeys[0].ki.wVk:=VK_CAPITAL; 
    MyKeys[0].ki.wScan:=0; 
    MyKeys[0].ki.dwFlags:=4; 
    MyKeys[0].ki.time:=0; 
    MyKeys[0].ki.dwExtraInfo:=0; 

    MyKeys[1].Itype:=INPUT_KEYBOARD; 
    MyKeys[1].ki.wVk:=VK_CAPITAL; 
    MyKeys[1].ki.wScan:=0; 
    MyKeys[1].ki.dwFlags:=4+2; 
    MyKeys[1].ki.time:=0; 
    MyKeys[1].ki.dwExtraInfo:=0; 
    SendInput(2, MyKeys[0], sizeof(tagInput)); 
end; 

您可以在msdn

+0

该代码获取更多*印刷机*本大写锁定键。您可能想要添加另一个键盘事件来模拟密钥的*版本*。 –

+0

@Rob:对,谢谢。 – CloudyMarble

+0

这不适合我。如果有问题,我正在使用XP家庭版。 –