Restore SEBPatch
This commit is contained in:
20
SafeExamBrowser.WindowsApi/Types/Bounds.cs
Normal file
20
SafeExamBrowser.WindowsApi/Types/Bounds.cs
Normal file
@@ -0,0 +1,20 @@
|
||||
/*
|
||||
* 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 SafeExamBrowser.WindowsApi.Contracts;
|
||||
|
||||
namespace SafeExamBrowser.WindowsApi.Types
|
||||
{
|
||||
internal class Bounds : IBounds
|
||||
{
|
||||
public int Left { get; set; }
|
||||
public int Top { get; set; }
|
||||
public int Right { get; set; }
|
||||
public int Bottom { get; set; }
|
||||
}
|
||||
}
|
25
SafeExamBrowser.WindowsApi/Types/EXECUTION_STATE.cs
Normal file
25
SafeExamBrowser.WindowsApi/Types/EXECUTION_STATE.cs
Normal file
@@ -0,0 +1,25 @@
|
||||
/*
|
||||
* 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;
|
||||
|
||||
namespace SafeExamBrowser.WindowsApi.Types
|
||||
{
|
||||
/// <remarks>
|
||||
/// See http://www.pinvoke.net/default.aspx/kernel32/SetThreadExecutionState.html.
|
||||
/// See https://msdn.microsoft.com/en-us/library/aa373208(v=vs.85).aspx.
|
||||
/// </remarks>
|
||||
[Flags]
|
||||
public enum EXECUTION_STATE : uint
|
||||
{
|
||||
AWAYMODE_REQUIRED = 0x00000040,
|
||||
CONTINUOUS = 0x80000000,
|
||||
DISPLAY_REQUIRED = 0x00000002,
|
||||
SYSTEM_REQUIRED = 0x00000001
|
||||
}
|
||||
}
|
48
SafeExamBrowser.WindowsApi/Types/KBDLLHOOKSTRUCT.cs
Normal file
48
SafeExamBrowser.WindowsApi/Types/KBDLLHOOKSTRUCT.cs
Normal file
@@ -0,0 +1,48 @@
|
||||
/*
|
||||
* 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
|
||||
{
|
||||
/// <remarks>
|
||||
/// See http://www.pinvoke.net/default.aspx/Structures/KBDLLHOOKSTRUCT.html.
|
||||
/// </remarks>
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
internal struct KBDLLHOOKSTRUCT
|
||||
{
|
||||
/// <summary>
|
||||
/// A virtual-key code. The code must be a value in the range 1 to 254.
|
||||
/// </summary>
|
||||
internal uint KeyCode;
|
||||
|
||||
/// <summary>
|
||||
/// A hardware scan code for the key.
|
||||
/// </summary>
|
||||
internal uint ScanCode;
|
||||
|
||||
/// <summary>
|
||||
/// 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.
|
||||
/// </summary>
|
||||
internal KBDLLHOOKSTRUCTFlags Flags;
|
||||
|
||||
/// <summary>
|
||||
/// The time stamp for this message, equivalent to what <c>GetMessageTime</c> would return for this message.
|
||||
/// </summary>
|
||||
internal uint Time;
|
||||
|
||||
/// <summary>
|
||||
/// Additional information associated with the message.
|
||||
/// </summary>
|
||||
internal IntPtr DwExtraInfo;
|
||||
}
|
||||
}
|
36
SafeExamBrowser.WindowsApi/Types/KBDLLHOOKSTRUCTFlags.cs
Normal file
36
SafeExamBrowser.WindowsApi/Types/KBDLLHOOKSTRUCTFlags.cs
Normal file
@@ -0,0 +1,36 @@
|
||||
/*
|
||||
* 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/.
|
||||
*/
|
||||
|
||||
namespace SafeExamBrowser.WindowsApi.Types
|
||||
{
|
||||
/// <remarks>
|
||||
/// See http://www.pinvoke.net/default.aspx/Structures/KBDLLHOOKSTRUCT.html.
|
||||
/// </remarks>
|
||||
internal enum KBDLLHOOKSTRUCTFlags
|
||||
{
|
||||
/// <summary>
|
||||
/// Test the extended-key flag.
|
||||
/// </summary>
|
||||
LLKHF_EXTENDED = 0x01,
|
||||
|
||||
/// <summary>
|
||||
/// Test the event-injected (from any process) flag.
|
||||
/// </summary>
|
||||
LLKHF_INJECTED = 0x10,
|
||||
|
||||
/// <summary>
|
||||
/// Test the context code.
|
||||
/// </summary>
|
||||
LLKHF_ALTDOWN = 0x20,
|
||||
|
||||
/// <summary>
|
||||
/// Test the transition-state flag.
|
||||
/// </summary>
|
||||
LLKHF_UP = 0x80
|
||||
}
|
||||
}
|
23
SafeExamBrowser.WindowsApi/Types/MSLLHOOKSTRUCT.cs
Normal file
23
SafeExamBrowser.WindowsApi/Types/MSLLHOOKSTRUCT.cs
Normal file
@@ -0,0 +1,23 @@
|
||||
/*
|
||||
* 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
|
||||
{
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
internal struct MSLLHOOKSTRUCT
|
||||
{
|
||||
internal POINT Point;
|
||||
internal int MouseData;
|
||||
internal int Flags;
|
||||
internal int Time;
|
||||
internal UIntPtr DwExtraInfo;
|
||||
}
|
||||
}
|
19
SafeExamBrowser.WindowsApi/Types/POINT.cs
Normal file
19
SafeExamBrowser.WindowsApi/Types/POINT.cs
Normal file
@@ -0,0 +1,19 @@
|
||||
/*
|
||||
* 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.Runtime.InteropServices;
|
||||
|
||||
namespace SafeExamBrowser.WindowsApi.Types
|
||||
{
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
internal struct POINT
|
||||
{
|
||||
internal int X;
|
||||
internal int Y;
|
||||
}
|
||||
}
|
26
SafeExamBrowser.WindowsApi/Types/PROCESS_INFORMATION.cs
Normal file
26
SafeExamBrowser.WindowsApi/Types/PROCESS_INFORMATION.cs
Normal file
@@ -0,0 +1,26 @@
|
||||
/*
|
||||
* 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
|
||||
{
|
||||
/// <remarks>
|
||||
/// See http://pinvoke.net/default.aspx/Structures/PROCESS_INFORMATION.html.
|
||||
/// See https://msdn.microsoft.com/en-us/library/ms684873(VS.85).aspx.
|
||||
/// </remarks>
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
internal struct PROCESS_INFORMATION
|
||||
{
|
||||
public IntPtr hProcess;
|
||||
public IntPtr hThread;
|
||||
public int dwProcessId;
|
||||
public int dwThreadId;
|
||||
}
|
||||
}
|
36
SafeExamBrowser.WindowsApi/Types/RECT.cs
Normal file
36
SafeExamBrowser.WindowsApi/Types/RECT.cs
Normal file
@@ -0,0 +1,36 @@
|
||||
/*
|
||||
* 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.Runtime.InteropServices;
|
||||
using SafeExamBrowser.WindowsApi.Contracts;
|
||||
|
||||
namespace SafeExamBrowser.WindowsApi.Types
|
||||
{
|
||||
/// <remarks>
|
||||
/// See https://msdn.microsoft.com/en-us/library/windows/desktop/dd162897(v=vs.85).aspx.
|
||||
/// </remarks>
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
internal struct RECT
|
||||
{
|
||||
internal int Left;
|
||||
internal int Top;
|
||||
internal int Right;
|
||||
internal int Bottom;
|
||||
|
||||
internal IBounds ToBounds()
|
||||
{
|
||||
return new Bounds
|
||||
{
|
||||
Left = Left,
|
||||
Top = Top,
|
||||
Right = Right,
|
||||
Bottom = Bottom
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
39
SafeExamBrowser.WindowsApi/Types/STARTUPINFO.cs
Normal file
39
SafeExamBrowser.WindowsApi/Types/STARTUPINFO.cs
Normal file
@@ -0,0 +1,39 @@
|
||||
/*
|
||||
* 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
|
||||
{
|
||||
/// <remarks>
|
||||
/// See https://msdn.microsoft.com/en-us/library/windows/desktop/ms686331(v=vs.85).aspx.
|
||||
/// </remarks>
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
internal struct STARTUPINFO
|
||||
{
|
||||
public int cb;
|
||||
public string lpReserved;
|
||||
public string lpDesktop;
|
||||
public string lpTitle;
|
||||
public int dwX;
|
||||
public int dwY;
|
||||
public int dwXSize;
|
||||
public int dwYSize;
|
||||
public int dwXCountChars;
|
||||
public int dwYCountChars;
|
||||
public int dwFillAttribute;
|
||||
public int dwFlags;
|
||||
public short wShowWindow;
|
||||
public short cbReserved2;
|
||||
public IntPtr lpReserved2;
|
||||
public IntPtr hStdInput;
|
||||
public IntPtr hStdOutput;
|
||||
public IntPtr hStdError;
|
||||
}
|
||||
}
|
23
SafeExamBrowser.WindowsApi/Types/STICKYKEYS.cs
Normal file
23
SafeExamBrowser.WindowsApi/Types/STICKYKEYS.cs
Normal file
@@ -0,0 +1,23 @@
|
||||
/*
|
||||
* 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.Runtime.InteropServices;
|
||||
using SafeExamBrowser.WindowsApi.Constants;
|
||||
|
||||
namespace SafeExamBrowser.WindowsApi.Types
|
||||
{
|
||||
/// <remarks>
|
||||
/// See https://learn.microsoft.com/en-us/windows/win32/api/winuser/ns-winuser-stickykeys.
|
||||
/// </remarks>
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
internal struct STICKYKEYS
|
||||
{
|
||||
internal int cbSize;
|
||||
internal StickyKeysFlags dwFlags;
|
||||
}
|
||||
}
|
22
SafeExamBrowser.WindowsApi/Types/StickyKeysState.cs
Normal file
22
SafeExamBrowser.WindowsApi/Types/StickyKeysState.cs
Normal file
@@ -0,0 +1,22 @@
|
||||
/*
|
||||
* 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 SafeExamBrowser.WindowsApi.Constants;
|
||||
using SafeExamBrowser.WindowsApi.Contracts;
|
||||
|
||||
namespace SafeExamBrowser.WindowsApi.Types
|
||||
{
|
||||
public class StickyKeysState : IStickyKeysState
|
||||
{
|
||||
internal StickyKeysFlags Flags { get; set; }
|
||||
|
||||
public bool IsAvailable { get; internal set; }
|
||||
public bool IsEnabled { get; internal set; }
|
||||
public bool IsHotkeyActive { get; internal set; }
|
||||
}
|
||||
}
|
22
SafeExamBrowser.WindowsApi/Types/WINDOWPLACEMENT.cs
Normal file
22
SafeExamBrowser.WindowsApi/Types/WINDOWPLACEMENT.cs
Normal file
@@ -0,0 +1,22 @@
|
||||
/*
|
||||
* 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.Drawing;
|
||||
|
||||
namespace SafeExamBrowser.WindowsApi.Types
|
||||
{
|
||||
internal struct WINDOWPLACEMENT
|
||||
{
|
||||
public int length;
|
||||
public int flags;
|
||||
public int showCmd;
|
||||
public Point ptMinPosition;
|
||||
public Point ptMaxPosition;
|
||||
public Rectangle rcNormalPosition;
|
||||
}
|
||||
}
|
18
SafeExamBrowser.WindowsApi/Types/Window.cs
Normal file
18
SafeExamBrowser.WindowsApi/Types/Window.cs
Normal file
@@ -0,0 +1,18 @@
|
||||
/*
|
||||
* 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;
|
||||
|
||||
namespace SafeExamBrowser.WindowsApi.Types
|
||||
{
|
||||
internal struct Window
|
||||
{
|
||||
internal IntPtr Handle { get; set; }
|
||||
internal string Title { get; set; }
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user