/* * Copyright (c) 2024 ETH Zürich, IT Services * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ using System; using System.Runtime.InteropServices; namespace SafeExamBrowser.WindowsApi.Types { /// /// See http://www.pinvoke.net/default.aspx/Structures/KBDLLHOOKSTRUCT.html. /// [StructLayout(LayoutKind.Sequential)] internal struct KBDLLHOOKSTRUCT { /// /// A virtual-key code. The code must be a value in the range 1 to 254. /// internal uint KeyCode; /// /// A hardware scan code for the key. /// internal uint ScanCode; /// /// The extended-key flag, event-injected flags, context code, and transition-state flag. This member is specified as follows. An /// application can use the following values to test the keystroke flags. Testing LLKHF_INJECTED (bit 4) will tell you whether the /// event was injected. If it was, then testing LLKHF_LOWER_IL_INJECTED (bit 1) will tell you whether or not the event was injected /// from a process running at lower integrity level. /// internal KBDLLHOOKSTRUCTFlags Flags; /// /// The time stamp for this message, equivalent to what GetMessageTime would return for this message. /// internal uint Time; /// /// Additional information associated with the message. /// internal IntPtr DwExtraInfo; } }