I need to be able to detect that the shift key is being held, but I don\'t want to use events or global variables to determine that. Is there an API in C# that lets you ask
Not sure if this available in C# but you can call GetAsyncKeyState. This method returns the state of a key at the time the method is called.
To call it from C# you'll need to use interop like any other Win32 API.