Well just do the shift state yourself then. global var FStupidWinKeyDown: Boolean; OnKeyDown Event if not FStupidWinKeyDown then FStupidWinKeyDown := (Key = vk_lwin); if FStupidWinKeyDown and (Key = ord('D')) then do my win + d processing here OnKeyUp Event FStupidWinKeyDown := not (Key = vk_lwin); Untried and Untested etc, etc. JED PS: i hate those extra keys... gets in the way when gaming ;-) >> yeah thats easy...down that...I want the key combo. >> I.e. vk_lwin+m or vk_lwin+d etc --------------------------------------------------------------------------- New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED] Website: http://www.delphi.org.nz To UnSub, send email to: [EMAIL PROTECTED] with body of "unsubscribe delphi"