├── .gitattributes ├── .github ├── ISSUE_TEMPLATE.md └── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md ├── .gitignore ├── AboutSEB.png ├── InstallShield 2012 Spring Projects ├── SafeExamBrowser │ └── Professional │ │ └── SafeExamBrowserInstaller │ │ └── DiskImages │ │ └── DISK1 │ │ └── ISSetupPrerequisites │ │ └── {72D7E3D1-C9DF-4FA6-9F9B-4E5117AB2919} │ │ └── dotnetfx45_full_x86_x64.exe ├── SafeExamBrowser_2016.ism └── SafeExamBrowser_2016.ism.776 ├── README.md ├── SEBDocumentIcon.ico ├── SEBWindowsServiceContracts ├── Properties │ └── AssemblyInfo.cs ├── RegistryServiceContract.cs └── SEBWindowsServiceContracts.csproj ├── SEBicon.ico ├── SebBackgroundLeftSemi.png ├── SebBanner.bmp ├── SebBanner.jpg ├── SebGlobalDialogBanner.bmp ├── SebGlobalDialogImage.bmp ├── SebRegistryResetter ├── App.config ├── Program.cs ├── Properties │ └── AssemblyInfo.cs └── SebRegistryResetter.csproj ├── SebWindowsBrowser ├── xul_seb │ ├── chrome.manifest │ ├── chrome │ │ ├── branding.jar │ │ ├── branding.manifest │ │ ├── content │ │ │ ├── seb │ │ │ │ ├── css │ │ │ │ │ └── seb.css │ │ │ │ ├── err.xul │ │ │ │ ├── images │ │ │ │ │ ├── loader.gif │ │ │ │ │ └── loader_stop.gif │ │ │ │ ├── load.xul │ │ │ │ ├── seb.properties │ │ │ │ ├── seb.xul │ │ │ │ └── sounds │ │ │ │ │ ├── snapshot.mp3 │ │ │ │ │ ├── snapshot.ogg │ │ │ │ │ └── snapshot.wav │ │ │ └── xullib │ │ │ │ ├── js │ │ │ │ └── onload.js │ │ │ │ └── window.xul │ │ ├── defaults │ │ │ └── seb │ │ │ │ ├── .gitignore │ │ │ │ ├── config.debug.json │ │ │ │ ├── config.demo.json │ │ │ │ ├── config.demo.left.json │ │ │ │ ├── config.demo.nat.json │ │ │ │ ├── config.demo.right.json │ │ │ │ ├── config.json │ │ │ │ ├── config.local.json │ │ │ │ ├── config.macctrl.json │ │ │ │ ├── config.winctrl.json │ │ │ │ ├── linuxctrl.json │ │ │ │ ├── macctrl.json │ │ │ │ ├── preferences │ │ │ │ ├── debug.js │ │ │ │ └── prefs.js │ │ │ │ ├── profile │ │ │ │ ├── cert8.db │ │ │ │ ├── cert_override.txt │ │ │ │ ├── key3.db │ │ │ │ └── mimeTypes.rdf │ │ │ │ └── winctrl.json │ │ ├── locale │ │ │ └── seb │ │ │ │ ├── de-DE │ │ │ │ ├── seb.dtd │ │ │ │ └── seb.properties │ │ │ │ ├── en-US │ │ │ │ ├── seb.dtd │ │ │ │ └── seb.properties │ │ │ │ └── fr-FR │ │ │ │ ├── seb.dtd │ │ │ │ └── seb.properties │ │ ├── seb.manifest │ │ └── xullib.manifest │ ├── components │ │ └── xulApplication.js │ ├── modules │ │ ├── linuxctrl.jsm │ │ ├── macctrl.jsm │ │ ├── screen.jsm │ │ ├── seb.jsm │ │ ├── winctrl.jsm │ │ └── xullib.jsm │ └── seb.ini └── xulrunner │ ├── AccessibleMarshal.dll │ ├── D3DCompiler_43.dll │ ├── IA2Marshal.dll │ ├── LICENSE │ ├── README.xulrunner │ ├── breakpadinjector.dll │ ├── crashreporter.exe │ ├── crashreporter.ini │ ├── d3dcompiler_47.dll │ ├── dependentlibs.list │ ├── dictionaries │ ├── en-US.aff │ └── en-US.dic │ ├── freebl3.chk │ ├── freebl3.dll │ ├── gmp-clearkey │ └── 0.1 │ │ ├── clearkey.dll │ │ └── clearkey.info │ ├── gmp-fake │ └── 1.0 │ │ ├── fake.dll │ │ ├── fake.info │ │ └── fake.voucher │ ├── gmp-fakeopenh264 │ └── 1.0 │ │ ├── fakeopenh264.dll │ │ ├── fakeopenh264.info │ │ └── fakeopenh264.voucher │ ├── icudt52.dll │ ├── icuin52.dll │ ├── icuuc52.dll │ ├── js-gdb.py │ ├── js.exe │ ├── libEGL.dll │ ├── libGLESv2.dll │ ├── mozglue.dll │ ├── msvcp120.dll │ ├── msvcr120.dll │ ├── nss3.dll │ ├── nssckbi.dll │ ├── nssdbm3.chk │ ├── nssdbm3.dll │ ├── omni.ja │ ├── platform.ini │ ├── plugin-container.exe │ ├── plugin-hang-ui.exe │ ├── precomplete │ ├── redit.exe │ ├── sandboxbroker.dll │ ├── softokn3.chk │ ├── softokn3.dll │ ├── updater.exe │ ├── wow_helper.exe │ ├── xul.dll │ ├── xulrunner-stub.exe │ └── xulrunner.exe ├── SebWindowsClient ├── MetroFramework │ └── MetroFramework │ │ ├── Animation │ │ ├── AnimationBase.cs │ │ ├── ColorBlendAnimation.cs │ │ ├── DelayedCall.cs │ │ ├── ExpandAnimation.cs │ │ ├── MoveAnimation.cs │ │ └── TransitionType.cs │ │ ├── Components │ │ ├── MetroStyleExtender.cs │ │ ├── MetroStyleManager.cs │ │ └── MetroToolTip.cs │ │ ├── Controls │ │ ├── MetroButton.cs │ │ ├── MetroCheckBox.cs │ │ ├── MetroComboBox.cs │ │ ├── MetroContextMenu.cs │ │ ├── MetroDateTime.cs │ │ ├── MetroGrid.cs │ │ ├── MetroGrid.designer.cs │ │ ├── MetroGrid.resx │ │ ├── MetroLabel.cs │ │ ├── MetroLink.cs │ │ ├── MetroPanel.cs │ │ ├── MetroProgressBar.cs │ │ ├── MetroProgressSpinner.cs │ │ ├── MetroRadioButton.cs │ │ ├── MetroScrollBar.cs │ │ ├── MetroTabControl.cs │ │ ├── MetroTabPage.cs │ │ ├── MetroTextBox.cs │ │ ├── MetroTile.cs │ │ ├── MetroTilePart.cs │ │ ├── MetroToggle.cs │ │ ├── MetroTrackBar.cs │ │ └── MetroUserControl.cs │ │ ├── Drawing │ │ ├── Html │ │ │ ├── CssAnonymousBlockBox.cs │ │ │ ├── CssAnonymousBox.cs │ │ │ ├── CssBlock.cs │ │ │ ├── CssBox.cs │ │ │ ├── CssBoxWord.cs │ │ │ ├── CssBoxWordSplitter.cs │ │ │ ├── CssConstants.cs │ │ │ ├── CssDefaults.cs │ │ │ ├── CssDrawingHelper.cs │ │ │ ├── CssLayoutEngine.cs │ │ │ ├── CssLength.cs │ │ │ ├── CssLineBox.cs │ │ │ ├── CssPropertyAttribute.cs │ │ │ ├── CssPropertyInheritedAttribute.cs │ │ │ ├── CssRectangle.cs │ │ │ ├── CssTable.cs │ │ │ ├── CssValue.cs │ │ │ ├── HtmlConstants.cs │ │ │ ├── HtmlLabel.cs │ │ │ ├── HtmlPanel.cs │ │ │ ├── HtmlRenderer.cs │ │ │ ├── HtmlTag.cs │ │ │ ├── HtmlToolTip.cs │ │ │ ├── InitialContainer.cs │ │ │ └── Parser.cs │ │ ├── MetroBackBuffer.cs │ │ └── MetroPaint.cs │ │ ├── Forms │ │ ├── MetroForm.cs │ │ ├── MetroMessageBox.cs │ │ └── MetroTaskWindow.cs │ │ ├── Interfaces │ │ ├── IMetroComponent.cs │ │ ├── IMetroControl.cs │ │ └── IMetroForm.cs │ │ ├── Localization │ │ ├── MetroLocalize.cs │ │ ├── de │ │ │ └── MetroToggle.xml │ │ ├── en │ │ │ └── MetroToggle.xml │ │ └── tr │ │ │ └── MetroToggle.xml │ │ ├── MessageBox │ │ ├── MetroMessageBox.cs │ │ ├── MetroMessageBoxControl.Designer.cs │ │ ├── MetroMessageBoxControl.cs │ │ ├── MetroMessageBoxControl.resx │ │ └── MetroMessageBoxProperties.cs │ │ ├── MetroBrushes.cs │ │ ├── MetroColorStyle.cs │ │ ├── MetroColors.cs │ │ ├── MetroDefaults.cs │ │ ├── MetroFonts.cs │ │ ├── MetroFramework.csproj │ │ ├── MetroImage.cs │ │ ├── MetroPens.cs │ │ ├── MetroThemeStyle.cs │ │ ├── Native │ │ ├── DwmApi.cs │ │ ├── SubClass.cs │ │ ├── Taskbar.cs │ │ ├── WinApi.cs │ │ └── WinCaret.cs │ │ └── Properties │ │ ├── AssemblyInfo.cs │ │ ├── Resources.Designer.cs │ │ ├── Resources.resx │ │ ├── Settings.Designer.cs │ │ └── Settings.settings └── SebWindowsClient │ ├── App.config │ ├── BlockShortcutsUtils │ └── SebKeyCapture.cs │ ├── ConfigurationUtils │ ├── Plist.cs │ ├── SEBClientInfo.cs │ ├── SEBConfigFileManager.cs │ ├── SEBGlobalConstants.cs │ ├── SEBMessageBox.cs │ ├── SEBPropertyList.cs │ ├── SEBSettings.cs │ └── SEBXulRunnerSettings.cs │ ├── CryptographyUtils │ └── SEBProtectionController.cs │ ├── DesktopUtils │ ├── SEBDesktopController.cs │ └── SEBDesktopWallpaper.cs │ ├── DiagnosticsUtils │ ├── Logger.cs │ └── OSVersion.cs │ ├── Fleck │ ├── Fleck.csproj │ ├── FleckLog.cs │ ├── FrameType.cs │ ├── HandlerFactory.cs │ ├── Handlers │ │ ├── ComposableHandler.cs │ │ ├── Draft76Handler.cs │ │ └── Hybi13Handler.cs │ ├── HandshakeException.cs │ ├── IntExtensions.cs │ ├── Interfaces │ │ ├── IHandler.cs │ │ ├── ISocket.cs │ │ ├── IWebSocketConnection.cs │ │ ├── IWebSocketConnectionInfo.cs │ │ └── IWebSocketServer.cs │ ├── ReadState.cs │ ├── RequestParser.cs │ ├── SocketWrapper.cs │ ├── SubProtocolNegotiationFailureException.cs │ ├── SubProtocolNegotiator.cs │ ├── WebSocketConnection.cs │ ├── WebSocketConnectionInfo.cs │ ├── WebSocketException.cs │ ├── WebSocketHttpRequest.cs │ ├── WebSocketServer.cs │ └── WebSocketStatusCodes.cs │ ├── IconLib │ └── IconLib │ │ ├── IconLib.csproj │ │ ├── Properties │ │ └── AssemblyInfo.cs │ │ ├── Resources │ │ └── EmptyDll.dll │ │ └── System │ │ └── Drawing │ │ └── IconLib │ │ ├── AuthorAttribute.cs │ │ ├── BitmapEncoders │ │ ├── BMPEncoder.cs │ │ ├── ImageEncoder.cs │ │ └── PNGEncoder.cs │ │ ├── ColorProcessing │ │ ├── EuclideanQuantizer.cs │ │ ├── FloydSteinbergDithering.cs │ │ ├── IColorQuantizer.cs │ │ ├── IDithering.cs │ │ ├── IPaletteQuantizer.cs │ │ └── OctreeQuantizer.cs │ │ ├── Enums.cs │ │ ├── Exceptions │ │ ├── IconNameAlreadyExistException.cs │ │ ├── ImageAlreadyExistsException.cs │ │ ├── ImageTooBigException.cs │ │ ├── InvalidFileException.cs │ │ ├── InvalidICLFileException.cs │ │ ├── InvalidIconFormatSelectionException.cs │ │ ├── InvalidIconSelectionException.cs │ │ ├── InvalidMultiIconFileException.cs │ │ ├── InvalidMultiIconMaskBitmap.cs │ │ └── InvalidPixelFormatException.cs │ │ ├── IconImage.cs │ │ ├── LibraryFormats │ │ ├── ILibraryFormat.cs │ │ ├── IconFormat.cs │ │ ├── NEFormat.cs │ │ └── PEFormat.cs │ │ ├── MultiIcon.cs │ │ ├── Resource.Designer.cs │ │ ├── Resource.resx │ │ ├── SingleIcon.cs │ │ ├── Structs.cs │ │ ├── Tools.cs │ │ └── Win32.cs │ ├── Intptr.cs │ ├── ProcessUtils │ ├── ExecutableInfo.cs │ ├── ProcessInfo.cs │ ├── SEBClipboard.cs │ ├── SEBNotAllowedProcessController.cs │ ├── SEBProcessHandler.cs │ └── SEBWindowHandler.cs │ ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings │ ├── Resources │ ├── SEBCloseWindowIcon.png │ ├── SebGlobalDialogImage.bmp │ ├── battery.png │ ├── keyboard.png │ ├── keyboard_old.png │ ├── loading.gif │ ├── quit.png │ ├── quit_1024.png │ ├── quit_old.png │ ├── reload.png │ ├── restartExam.png │ ├── signalstrength │ │ ├── 0.png │ │ ├── 0_old.png │ │ ├── 100.png │ │ ├── 100_old.png │ │ ├── 33.png │ │ ├── 33_old.png │ │ ├── 66.png │ │ ├── 66_old.png │ │ ├── nointerface.png │ │ └── nointerface_old.png │ └── skipBack.png │ ├── SEBException.cs │ ├── SEBLoading.Designer.cs │ ├── SEBLoading.cs │ ├── SEBLoading.resx │ ├── SEBSplashScreen.Designer.cs │ ├── SEBSplashScreen.cs │ ├── SEBSplashScreen.resx │ ├── SEBUIStrings.Designer.cs │ ├── SEBUIStrings.de.Designer.cs │ ├── SEBUIStrings.de.resx │ ├── SEBUIStrings.resx │ ├── SEBicon.ico │ ├── SebApplicationChooserForm.Designer.cs │ ├── SebApplicationChooserForm.cs │ ├── SebApplicationChooserForm.resx │ ├── SebClient.seb │ ├── SebCloseDialogForm.Designer.cs │ ├── SebCloseDialogForm.cs │ ├── SebCloseDialogForm.de.resx │ ├── SebCloseDialogForm.resx │ ├── SebPasswordDialogForm.Designer.cs │ ├── SebPasswordDialogForm.cs │ ├── SebPasswordDialogForm.de.resx │ ├── SebPasswordDialogForm.resx │ ├── SebWindowsClient.csproj │ ├── SebWindowsClientForm.Designer.cs │ ├── SebWindowsClientForm.cs │ ├── SebWindowsClientForm.de.resx │ ├── SebWindowsClientForm.resx │ ├── SebWindowsClientMain.cs │ ├── ServiceUtils │ └── SEBWindowsServiceController.cs │ ├── ThreadedDialog.cs │ ├── UI │ ├── IconExtractor.cs │ ├── SEBBatterylifeToolStripButton.cs │ ├── SEBBatterylifeToolStripButton.resx │ ├── SEBInputLanguageToolStripButton.cs │ ├── SEBInputLanguageToolStripButton.resx │ ├── SEBOnScreenKeyboardToolStripButton.cs │ ├── SEBOnScreenKeyboardToolStripButton.resx │ ├── SEBQuitToolStripButton.cs │ ├── SEBQuitToolStripButton.resx │ ├── SEBReloadBrowserToolStripButton.cs │ ├── SEBReloadBrowserToolStripButton.resx │ ├── SEBRestartExamToolStripButton.cs │ ├── SEBRestartExamToolStripButton.resx │ ├── SEBToolStripButton.cs │ ├── SEBToolStripButton.resx │ ├── SEBWatchToolStripButton.cs │ ├── SEBWatchToolStripButton.resx │ ├── SEBWlanToolStripButton.cs │ ├── SEBWlanToolStripButton.resx │ └── SEBWorkingAreaHandler.cs │ ├── WindowChooser.Designer.cs │ ├── WindowChooser.cs │ ├── WindowChooser.resx │ ├── WlanUtils │ ├── SEBWlanNetworkSelector.Designer.cs │ ├── SEBWlanNetworkSelector.cs │ ├── SEBWlanNetworkSelector.de.resx │ ├── SEBWlanNetworkSelector.resx │ ├── WlanApi.cs │ └── interop.cs │ ├── XULRunnerCommunication │ └── SEBXULRunnerWebSocketServer.cs │ ├── app.manifest │ ├── refresh.png │ └── taskbarToolStrip.cs ├── SebWindowsConfig ├── PermittedApplicationInformation.cs ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings ├── SEBConfigToolIcon.ico ├── SebWindowsConfig.csproj ├── SebWindowsConfigForm.Designer.cs ├── SebWindowsConfigForm.cs ├── SebWindowsConfigForm.resx ├── SebWindowsConfigGUIManagement.cs ├── SebWindowsConfigProgram.cs ├── TabIcons │ └── 32x32 │ │ ├── IconHelp.png │ │ ├── Icon_01_General.png │ │ ├── Icon_02_ConfigFile.png │ │ ├── Icon_03_Appearance.png │ │ ├── Icon_04_Browser.png │ │ ├── Icon_05_DownUploads.png │ │ ├── Icon_06_Exam.png │ │ ├── Icon_07_Applications.png │ │ ├── Icon_08_Network.png │ │ ├── Icon_09_Security.png │ │ ├── Icon_10_Registry.png │ │ └── Icon_11_HookedKeys.png └── app.config ├── SebWindowsInstallLicence.rtf ├── SebWindowsPackage.sln └── SebWindowsServiceWCF ├── App.config ├── OSVersion.cs ├── Program.cs ├── ProjectInstaller.Designer.cs ├── ProjectInstaller.cs ├── ProjectInstaller.resx ├── Properties └── AssemblyInfo.cs ├── RegistryHandler └── RegistryEntry.cs ├── SEBicon.ico ├── SebWindowsServiceWCF.Designer.cs ├── SebWindowsServiceWCF.cs ├── SebWindowsServiceWCF.csproj └── ServiceImplementations ├── Logger.cs ├── PersistentRegistryFile.cs ├── RegistryService.cs └── SIDHandler.cs /.gitattributes: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # Set default behavior to automatically normalize line endings. 3 | ############################################################################### 4 | * text=auto 5 | 6 | ############################################################################### 7 | # Set default behavior for command prompt diff. 8 | # 9 | # This is need for earlier builds of msysgit that does not have it on by 10 | # default for csharp files. 11 | # Note: This is only used by command line 12 | ############################################################################### 13 | #*.cs diff=csharp 14 | 15 | ############################################################################### 16 | # Set the merge driver for project and solution files 17 | # 18 | # Merging from the command prompt will add diff markers to the files if there 19 | # are conflicts (Merging from VS is not affected by the settings below, in VS 20 | # the diff markers are never inserted). Diff markers may cause the following 21 | # file extensions to fail to load in VS. An alternative would be to treat 22 | # these files as binary and thus will always conflict and require user 23 | # intervention with every merge. To do so, just uncomment the entries below 24 | ############################################################################### 25 | #*.sln merge=binary 26 | #*.csproj merge=binary 27 | #*.vbproj merge=binary 28 | #*.vcxproj merge=binary 29 | #*.vcproj merge=binary 30 | #*.dbproj merge=binary 31 | #*.fsproj merge=binary 32 | #*.lsproj merge=binary 33 | #*.wixproj merge=binary 34 | #*.modelproj merge=binary 35 | #*.sqlproj merge=binary 36 | #*.wwaproj merge=binary 37 | 38 | ############################################################################### 39 | # behavior for image files 40 | # 41 | # image files are treated as binary by default. 42 | ############################################################################### 43 | #*.jpg binary 44 | #*.png binary 45 | #*.gif binary 46 | 47 | ############################################################################### 48 | # diff behavior for common document formats 49 | # 50 | # Convert binary document formats to text before diffing them. This feature 51 | # is only available from the command line. Turn it on by uncommenting the 52 | # entries below. 53 | ############################################################################### 54 | #*.doc diff=astextplain 55 | #*.DOC diff=astextplain 56 | #*.docx diff=astextplain 57 | #*.DOCX diff=astextplain 58 | #*.dot diff=astextplain 59 | #*.DOT diff=astextplain 60 | #*.pdf diff=astextplain 61 | #*.PDF diff=astextplain 62 | #*.rtf diff=astextplain 63 | #*.RTF diff=astextplain 64 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | # ~ISSUE TITLE HERE~ 2 | 3 | **IMPORTANT** 4 | Please _always_ consult the documentation first before creating an issue! 5 | https://safeexambrowser.org/windows/win_usermanual_en.html 6 | 7 | ### Description 8 | 9 | ~YOUR ISSUE DESCRIPTION HERE...~ 10 | 11 | ### Environment & Version 12 | 13 | ~Computer description, e.g. manufacturer, device name, hardware specs etc.~ 14 | 15 | - [ ] Mac 16 | - [x] Windows 17 | 18 | OS-Version: X.X(.X) \ 19 | SEB-Version: X.X(.X) 20 | 21 | ### Steps to Reproduce 22 | 23 | 1. ~INSTRUCTION STEP 1~ 24 | 2. ~INSTRUCTION STEP 2~ 25 | 3. ~...~ 26 | 27 | > ***Information:** 28 | Please replace all placeholders (~PLACEHOLDER~) and version numbers according to your situation. The more detailed information you provide, the easier it will be for us to detect and reliably fix the issue. Feel free to delete this comment before submitting the issue report...* 29 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve Safe Exam Browser 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **IMPORTANT** 11 | Please _always_ consult the documentation first before creating a bug report! 12 | https://safeexambrowser.org/windows/win_usermanual_en.html 13 | 14 | **Describe the Bug** 15 | A clear and concise description of what the bug is. 16 | 17 | **Steps to Reproduce** 18 | Steps to reproduce the behavior: 19 | 1. Go to '...' 20 | 2. Click on '....' 21 | 3. Scroll down to '....' 22 | 4. See error 23 | 24 | **Expected Behavior** 25 | A clear and concise description of what you expected to happen. 26 | 27 | **Screenshots** 28 | If applicable, add screenshots to help explain your problem. 29 | 30 | **Version Information** 31 | - OS: [e.g. Windows 10 Professional, Version 1803] 32 | - SEB-Version [e.g. SEB 2.2.2] 33 | 34 | **Additional Context** 35 | Add any other context about the problem here. 36 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for Safe Exam Browser 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Is your feature request related to a problem? Please describe.** 11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 12 | 13 | **Describe the solution you'd like** 14 | A clear and concise description of what you want to happen. 15 | 16 | **Describe alternatives you've considered** 17 | A clear and concise description of any alternative solutions or features you've considered. 18 | 19 | **Additional context** 20 | Add any other context or screenshots about the feature request here. 21 | -------------------------------------------------------------------------------- /AboutSEB.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/AboutSEB.png -------------------------------------------------------------------------------- /InstallShield 2012 Spring Projects/SafeExamBrowser/Professional/SafeExamBrowserInstaller/DiskImages/DISK1/ISSetupPrerequisites/{72D7E3D1-C9DF-4FA6-9F9B-4E5117AB2919}/dotnetfx45_full_x86_x64.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/InstallShield 2012 Spring Projects/SafeExamBrowser/Professional/SafeExamBrowserInstaller/DiskImages/DISK1/ISSetupPrerequisites/{72D7E3D1-C9DF-4FA6-9F9B-4E5117AB2919}/dotnetfx45_full_x86_x64.exe -------------------------------------------------------------------------------- /InstallShield 2012 Spring Projects/SafeExamBrowser_2016.ism: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/InstallShield 2012 Spring Projects/SafeExamBrowser_2016.ism -------------------------------------------------------------------------------- /InstallShield 2012 Spring Projects/SafeExamBrowser_2016.ism.776: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/InstallShield 2012 Spring Projects/SafeExamBrowser_2016.ism.776 -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # seb-win 2 | Safe Exam Browser for Windows (Legacy Version) 3 | 4 | Please note that the SEB 2.x version for Windows is deprecated and is no longer being developed further, as Mozilla stopped supporting the XUL runtime used for embedding Firefox into SEB. Therefore also the embedded Firefox version 52 ESR cannot be updated to a newer version. Please transition to SEB 3.x, the code and releases can be found in the repository https://github.com/SafeExamBrowser/seb-win-refactoring. 5 | 6 | We can only give very limited support for SEB 2.x for Windows and cannot solve bigger issues. Please post feature requests for missing features in SEB 3.x here: https://github.com/SafeExamBrowser/seb-win-refactoring/issues 7 | -------------------------------------------------------------------------------- /SEBDocumentIcon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SEBDocumentIcon.ico -------------------------------------------------------------------------------- /SEBWindowsServiceContracts/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("SEBWindowsServiceContracts")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("SEBWindowsServiceContracts")] 13 | [assembly: AssemblyCopyright("Copyright © 2010-2017 ETH Zurich, Educational Development and Technology (LET)")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("402d93a6-890d-4ace-a092-800ee9c49be9")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("2.1.*")] 36 | [assembly: AssemblyInformationalVersion("2.1.7")] 37 | -------------------------------------------------------------------------------- /SEBWindowsServiceContracts/RegistryServiceContract.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.ServiceModel; 3 | 4 | namespace SEBWindowsServiceContracts 5 | { 6 | /// 7 | /// The contact for the WCF Service 8 | /// 9 | [ServiceContract] 10 | public interface IRegistryServiceContract 11 | { 12 | [OperationContract] 13 | bool TestServiceConnetcion(); 14 | 15 | [OperationContract] 16 | bool SetRegistryEntries(Dictionary registryValues, string sid, string username); 17 | 18 | [OperationContract] 19 | bool Reset(); 20 | 21 | [OperationContract] 22 | bool DisableWindowsUpdate(); 23 | } 24 | 25 | /// 26 | /// The possible registry identifiers 27 | /// 28 | /// Don't add a value without creating the corresponding subclass of RegistryEntry 29 | public enum RegistryIdentifiers 30 | { 31 | DisableChromeNotifications, 32 | DisableLockWorkstation, 33 | DisableTaskMgr, 34 | DisableChangePassword, 35 | HideFastUserSwitching, 36 | NoLogoff, 37 | NoClose, 38 | EnableShade, 39 | EnableShadeHorizon, 40 | EaseOfAccess, 41 | DontDisplayNetworkSelectionUI 42 | } 43 | 44 | } 45 | -------------------------------------------------------------------------------- /SEBWindowsServiceContracts/SEBWindowsServiceContracts.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {5B604609-4125-4704-BE64-D1DDACF252A0} 8 | Library 9 | Properties 10 | SEBWindowsServiceContracts 11 | SEBWindowsServiceContracts 12 | v4.5 13 | 512 14 | 15 | 16 | true 17 | full 18 | false 19 | bin\Debug\ 20 | DEBUG;TRACE 21 | prompt 22 | 4 23 | 24 | 25 | pdbonly 26 | true 27 | bin\Release\ 28 | TRACE 29 | prompt 30 | 4 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 54 | -------------------------------------------------------------------------------- /SEBicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SEBicon.ico -------------------------------------------------------------------------------- /SebBackgroundLeftSemi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebBackgroundLeftSemi.png -------------------------------------------------------------------------------- /SebBanner.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebBanner.bmp -------------------------------------------------------------------------------- /SebBanner.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebBanner.jpg -------------------------------------------------------------------------------- /SebGlobalDialogBanner.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebGlobalDialogBanner.bmp -------------------------------------------------------------------------------- /SebGlobalDialogImage.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebGlobalDialogImage.bmp -------------------------------------------------------------------------------- /SebRegistryResetter/App.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /SebRegistryResetter/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("SebRegistryResetter")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("ETH Zurich")] 12 | [assembly: AssemblyProduct("SebRegistryResetter")] 13 | [assembly: AssemblyCopyright("Copyright © 2010-2017 ETH Zurich, Educational Development and Technology (LET)")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("77b18366-98f2-4894-a6ee-a00f5baaf6fa")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("2.1.*")] 36 | [assembly: AssemblyInformationalVersion("2.1.8")] 37 | -------------------------------------------------------------------------------- /SebWindowsBrowser/xul_seb/chrome.manifest: -------------------------------------------------------------------------------- 1 | component {2971c315-b871-32cd-b33f-bfee4fcbf682} components/xulApplication.js 2 | contract @mozilla.org/commandlinehandler/profile-after-change;1?type=xulApplication {2971c315-b871-32cd-b33f-bfee4fcbf682} 3 | category command-line-handler m-xul-application @mozilla.org/commandlinehandler/profile-after-change;1?type=xulApplication 4 | resource modules file:modules/ 5 | manifest chrome/xullib.manifest 6 | manifest chrome/seb.manifest 7 | manifest chrome/branding.manifest 8 | -------------------------------------------------------------------------------- /SebWindowsBrowser/xul_seb/chrome/branding.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xul_seb/chrome/branding.jar -------------------------------------------------------------------------------- /SebWindowsBrowser/xul_seb/chrome/branding.manifest: -------------------------------------------------------------------------------- 1 | locale branding en-US jar:branding.jar!/locale/branding/ 2 | locale branding de-DE jar:branding.jar!/locale/branding/ 3 | locale branding fr-FR jar:branding.jar!/locale/branding/ 4 | content branding jar:branding.jar!/branding/ 5 | # locale branding en-US locale/branding/ 6 | # content branding branding/ 7 | -------------------------------------------------------------------------------- /SebWindowsBrowser/xul_seb/chrome/content/seb/css/seb.css: -------------------------------------------------------------------------------- 1 | @import url(chrome://global/skin/) 2 | @namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); 3 | #sebBackground { 4 | background-color : #3A6EA5; 5 | } 6 | 7 | #toolbar { 8 | max-height: 38px; 9 | min-height: 38px; 10 | } 11 | 12 | #sebWindow { 13 | background-color : #3A6EA5; 14 | } 15 | 16 | #sebErrPage { 17 | background-color : #3A6EA5; 18 | } 19 | 20 | #sebLoadPage { 21 | background-color : #3A6EA5; 22 | background-image: url("chrome://seb/content/images/loader.gif"); 23 | background-repeat: no-repeat; 24 | background-position: 50% 50%; 25 | } 26 | 27 | #imgLoader { 28 | list-style-image: url("chrome://seb/content/images/loader.gif"); 29 | margin-top: 3px; 30 | margin-bottom: 3px; 31 | margin-right: 10px; 32 | max-width: 32px; 33 | max-height: 32px; 34 | } 35 | 36 | #imgLoaderStop { 37 | list-style-image: url("chrome://seb/content/images/loader_stop.gif"); 38 | margin-top: 3px; 39 | margin-bottom: 3px; 40 | margin-right: 10px; 41 | max-width: 32px; 42 | max-height: 32px; 43 | } 44 | 45 | #errBody { 46 | font-family: courier, system; 47 | color: white; 48 | font-weight: bold; 49 | font-size: 120%; 50 | width: 50%; 51 | line-height: 2em; 52 | } 53 | 54 | #errForm { 55 | padding-top: 20%; 56 | padding-left: 20%; 57 | } 58 | 59 | .errBtn { 60 | width: 10em; 61 | } 62 | -------------------------------------------------------------------------------- /SebWindowsBrowser/xul_seb/chrome/content/seb/err.xul: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /SebWindowsBrowser/xul_seb/chrome/content/seb/images/loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xul_seb/chrome/content/seb/images/loader.gif -------------------------------------------------------------------------------- /SebWindowsBrowser/xul_seb/chrome/content/seb/images/loader_stop.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xul_seb/chrome/content/seb/images/loader_stop.gif -------------------------------------------------------------------------------- /SebWindowsBrowser/xul_seb/chrome/content/seb/load.xul: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /SebWindowsBrowser/xul_seb/chrome/content/seb/seb.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xul_seb/chrome/content/seb/seb.properties -------------------------------------------------------------------------------- /SebWindowsBrowser/xul_seb/chrome/content/seb/seb.xul: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | %sebDtdLocal; 7 | 8 | %sebDtdConst; 9 | ]> 10 | 19 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | -------------------------------------------------------------------------------- /SebWindowsBrowser/xul_seb/chrome/content/seb/sounds/snapshot.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xul_seb/chrome/content/seb/sounds/snapshot.mp3 -------------------------------------------------------------------------------- /SebWindowsBrowser/xul_seb/chrome/content/seb/sounds/snapshot.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xul_seb/chrome/content/seb/sounds/snapshot.ogg -------------------------------------------------------------------------------- /SebWindowsBrowser/xul_seb/chrome/content/seb/sounds/snapshot.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xul_seb/chrome/content/seb/sounds/snapshot.wav -------------------------------------------------------------------------------- /SebWindowsBrowser/xul_seb/chrome/content/xullib/js/onload.js: -------------------------------------------------------------------------------- 1 | /* 2 | This program is free software; you can redistribute it and/or modify 3 | it under the terms of the GNU General Public License as published by 4 | the Free Software Foundation; version 2 of the License. 5 | 6 | This program is distributed in the hope that it will be useful, 7 | but WITHOUT ANY WARRANTY; without even the implied warranty of 8 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 9 | GNU General Public License for more details. 10 | 11 | You should have received a copy of the GNU General Public License 12 | along with this program; if not, write to the Free Software 13 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 14 | 15 | Stefan Schneider 2012 16 | */ 17 | 18 | /* 19 | a "-window 1|true" commandline param is required for autoloading this xullib.window 20 | with embedded browser element. 21 | 22 | If your application wants to use the default xullib.window, 23 | just hook your module inside (see commented code example). 24 | 25 | */ 26 | Components.utils.import("resource://modules/xullib.jsm"); 27 | // Components.utils.import("resource://modules/yourmodule.jsm"); 28 | function onload(win) { 29 | xullib.initXullibWin(win); 30 | //yourmodule.init(); 31 | } 32 | -------------------------------------------------------------------------------- /SebWindowsBrowser/xul_seb/chrome/content/xullib/window.xul: -------------------------------------------------------------------------------- 1 | 2 | 3 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /SebWindowsBrowser/xul_seb/chrome/defaults/seb/.gitignore: -------------------------------------------------------------------------------- 1 | # ignore test configs 2 | *ilias* 3 | *test* 4 | *nat* 5 | *local* 6 | -------------------------------------------------------------------------------- /SebWindowsBrowser/xul_seb/chrome/defaults/seb/config.demo.nat.json: -------------------------------------------------------------------------------- 1 | { 2 | "prefs" : { 3 | "general.useragent.override" : "SEBKEY", 4 | "network.proxy.type" : 0, 5 | "network.proxy.autoconfig_url" : "", 6 | "network.proxy.http" : "", 7 | "network.proxy.http_port" : 3128, 8 | "network.proxy.ssl" : "", 9 | "network.proxy.ssl_port" : 0, 10 | "network.proxy.ftp" : "", 11 | "network.proxy.ftp_port" : 0, 12 | "network.proxy.socks" : "", 13 | "network.proxy.socks_port" : 0, 14 | "network.proxy.no_proxies_on" : "localhost,127.0.0.1" 15 | }, 16 | "seb.url" : "https://localhost:8444/demo/index.html", 17 | "seb.request.header" : "X-SafeExamBrowser-RequestHash", 18 | "seb.request.key" : "71aad4ab9dfd447cc479e6b4a7c9a544e2cafc7f3adeb68b2a21efad68eca4dc", 19 | "seb.request.salt" : false, 20 | "seb.mainWindow.titlebar.enabled" : true, 21 | "seb.trusted.content" : true, 22 | "seb.pattern.regex" : false, 23 | "seb.blacklist.pattern" : "", 24 | "seb.whitelist.pattern" : "", 25 | "seb.locked" : false, 26 | "seb.lock.keycode" : "VK_F2", 27 | "seb.lock.modifiers" : "control shift", 28 | "seb.unlock.enabled" : false, 29 | "seb.unlock.keycode" : "VK_F3", 30 | "seb.unlock.modifiers" : "control shift", 31 | "seb.shutdown.keycode" : "VK_F4", 32 | "seb.shutdown.modifiers" : "control shift", 33 | "seb.load" : "", 34 | "seb.load.referrer.instring" : "", 35 | "seb.load.keycode" : "VK_F6", 36 | "seb.load.modifiers" : "control shift", 37 | "seb.reload.keycode" : "VK_F5", 38 | "seb.reload.modifiers" : "", 39 | "seb.reload.warning" : true, 40 | "seb.navigation.enabled" : true, 41 | "seb.back.keycode" : "VK_LEFT", 42 | "seb.back.modifiers" : "control", 43 | "seb.restart.keycode" : "VK_F9", 44 | "seb.restart.modifiers" : "control shift", 45 | "seb.forward.keycode" : "VK_RIGHT", 46 | "seb.forward.modifiers" : "control", 47 | "seb.net.tries.enabled" : false, 48 | "seb.net.max.times" : 3, 49 | "seb.net.timeout" : 10000, 50 | "seb.restart.mode" : 2, 51 | "seb.popupWindows.titlebar.enabled" : false, 52 | "seb.openwin.width" : 800, 53 | "seb.openwin.height" : 600, 54 | "seb.showall.keycode" : "VK_F1", 55 | "seb.distinct.popup" : true, 56 | "seb.bypass.cache" : true, 57 | "seb.removeProfile" : true, 58 | "seb.screenshot.controller" : true, 59 | "seb.alert.controller" : true, 60 | "sc.image.mimetype" : "image/jpeg", 61 | "sc.sound" : true, 62 | "seb.togglehidden.enabled" : true, 63 | "seb.togglehidden.keycode" : "VK_F10", 64 | "seb.togglehidden.modifiers" : "", 65 | "seb.server.enabled" : true, 66 | "seb.server" : { 67 | "url" : "https://localhost:8444/websocket", 68 | "socket" : "wss://localhost:8444/websocket" 69 | }, 70 | "seb.restart.url" : "", 71 | "seb.touch.optimized" : false, 72 | "seb.embedded.certs" : "" 73 | } 74 | } 75 | -------------------------------------------------------------------------------- /SebWindowsBrowser/xul_seb/chrome/defaults/seb/linuxctrl.json: -------------------------------------------------------------------------------- 1 | { 2 | "startURL":"http://safeexambrowser.org", 3 | "browserExamKey":"SEBKEY", 4 | "browserURLSalt":true, 5 | "browserLanguage":"en-US", 6 | "browserViewMode":1, 7 | "mainBrowserWindowWidth":"100%", 8 | "mainBrowserWindowHeight":"100%", 9 | "mainBrowserWindowPositioning":0, 10 | "newBrowserWindowByLinkPolicy":2, 11 | "newBrowserWindowByLinkWidth":"800", 12 | "newBrowserWindowByLinkHeight":"600", 13 | "newBrowserWindowByLinkPositioning":1, 14 | "showTaskBar":false, 15 | "taskBarHeight":40, 16 | "allowQuit":true, 17 | "quitURL":"http:\/\/safeexambrowser.org\/quit", 18 | "hashedQuitPassword":"5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8", 19 | "allowBrowsingBackForward":true, 20 | "allowFlashFullscreen":false, 21 | "enableURLContentFilter":false, 22 | "enableJava":false, 23 | "downloadPDFFiles":false, 24 | "allowDownUploads":false, 25 | "hideBrowserWindowToolbar":true, 26 | "enableJavaScript":true, 27 | "sendBrowserExamKey":true, 28 | "enableURLFilter":false, 29 | "chooseFileToUploadPolicy":0, 30 | "hashedAdminPassword":"5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8", 31 | "embeddedCertificates": 32 | [ 33 | { 34 | "certificateData":"", 35 | "type":0, 36 | "name":"miner.ethz.ch" 37 | } 38 | ], 39 | "URLFilterRules": 40 | [ 41 | { 42 | "active":true, 43 | "expression":"Allow .seb files only from safeexambrowser.org and https:\/\/exams.ethz.ch", 44 | "ruleActions": 45 | [ 46 | { 47 | "action":4, 48 | "active":true, 49 | "expression":"safeexambrowser.org" 50 | }, 51 | { 52 | "action":2, 53 | "active":true, 54 | "expression":"https:\/\/exams.ethz.ch" 55 | }, 56 | { 57 | "active":true, 58 | "expression":"*\/*.seb" 59 | } 60 | ] 61 | }, 62 | { 63 | "active":true, 64 | "expression":"Allow maps.google.*, block google.* and all other subdomains", 65 | "ruleActions": 66 | [ 67 | { 68 | "action":1, 69 | "active":true, 70 | "expression":"maps.google.*" 71 | }, 72 | { 73 | "active":true, 74 | "expression":"google.*" 75 | } 76 | ] 77 | }, 78 | { 79 | "active":true, 80 | "expression":"Allow all other domains", 81 | "ruleActions": 82 | [ 83 | { 84 | "action":1, 85 | "active":true, 86 | "expression":"*" 87 | } 88 | ] 89 | } 90 | ], 91 | "showMenuBar":true, 92 | "newBrowserWindowByScriptBlockForeign":false, 93 | "enableLogging":false, 94 | "logDirectoryWIN":"", 95 | "monitorProcesses":false, 96 | "downloadDirectoryWIN":"", 97 | "downloadAndOpenSebConfig":true, 98 | "newBrowserWindowByLinkBlockForeign":false, 99 | "enableBrowserWindowToolbar":true, 100 | "proxies":{}, 101 | "blockPopUpWindows":false, 102 | "enablePlugIns":true, 103 | "newBrowserWindowByScriptPolicy":2, 104 | "openDownloads":false 105 | } 106 | -------------------------------------------------------------------------------- /SebWindowsBrowser/xul_seb/chrome/defaults/seb/preferences/debug.js: -------------------------------------------------------------------------------- 1 | # Mozilla User Preferences 2 | 3 | /* Do not edit this file. 4 | * 5 | * If you make changes to this file while the application is running, 6 | * the changes will be overwritten when the application exits. 7 | * 8 | * To make a manual change to preferences, you can visit the URL about:config 9 | */ 10 | 11 | user_pref("app.update.auto", false); 12 | user_pref("app.update.enabled", false); 13 | user_pref("browser.chromeURL", "chrome://seb/content/seb.xul"); 14 | user_pref("browser.dom.window.dump.enabled", true); 15 | user_pref("browser.download.manager.retention", 0); 16 | user_pref("browser.download.manager.useWindow", false); 17 | user_pref("browser.link.open_newwindow", 2); 18 | user_pref("browser.startup.homepage_override.mstone", "ignore"); 19 | user_pref("extensions.update.enabled", false); 20 | user_pref("javascript.options.showInConsole", true); 21 | user_pref("javascript.options.strict", true); 22 | user_pref("mousewheel.withaltkey.action", 3); 23 | user_pref("nglayout.debug.disable_xul_cache", true); 24 | user_pref("nglayout.debug.disable_xul_fastload", true); 25 | user_pref("privacy.popups.firstTime", false); 26 | user_pref("privacy.popups.policy", 1); 27 | user_pref("toolkit.defaultChromeURI", "chrome://seb/content/seb.xul"); 28 | user_pref("toolkit.defaultChromeFeatures", "chrome,dialog=no,resizable=yes,scrollbars=yes"); 29 | user_pref("toolkit.singletonWindowType", "main"); 30 | -------------------------------------------------------------------------------- /SebWindowsBrowser/xul_seb/chrome/defaults/seb/preferences/prefs.js: -------------------------------------------------------------------------------- 1 | # Mozilla User Preferences 2 | 3 | /* Do not edit this file. 4 | * 5 | * If you make changes to this file while the application is running, 6 | * the changes will be overwritten when the application exits. 7 | * 8 | * To make a manual change to preferences, you can visit the URL about:config 9 | */ 10 | 11 | user_pref("accessibility.browsewithcaret_shortcut.enabled", false); 12 | user_pref("app.update.auto", false); 13 | user_pref("app.update.enabled", false); 14 | user_pref("browser.chromeURL", "chrome://seb/content/seb.xul"); 15 | user_pref("browser.startup.homepage_override.mstone", "ignore"); 16 | user_pref("browser.dom.window.dump.enabled", true); 17 | user_pref("browser.download.folderList", 2); 18 | user_pref("browser.download.useDownloadDir", true); 19 | user_pref("browser.download.manager.openDelay", 0); 20 | user_pref("browser.download.manager.retention", 0); 21 | user_pref("browser.download.manager.showAlertInterval", 0); 22 | user_pref("browser.download.manager.showAlertOnComplete", true); 23 | user_pref("browser.download.manager.showWhenStarting", false); 24 | user_pref("browser.download.manager.useWindow", false); 25 | user_pref("browser.helperApps.alwaysAsk.force", false); 26 | user_pref("browser.link.open_newwindow", 2); 27 | user_pref("browser.startup.homepage_override.mstone", "ignore"); 28 | user_pref("dom.ipc.plugins.flash.disable-protected-mode", true); 29 | user_pref("extensions.update.enabled", false); 30 | user_pref("javascript.options.showInConsole", true); 31 | user_pref("javascript.options.strict", true); 32 | user_pref("mousewheel.withaltkey.action", 3); 33 | user_pref("mousewheel.withcontrolkey.action", 1); 34 | user_pref("network.cookie.prefsMigrated", true); 35 | user_pref("nglayout.debug.disable_xul_cache", true); 36 | user_pref("nglayout.debug.disable_xul_fastload", true); 37 | user_pref("privacy.popups.firstTime", false); 38 | user_pref("privacy.popups.policy", 1); 39 | user_pref("security.default_personal_cert", "Select Automatically"); 40 | user_pref("toolkit.defaultChromeURI", "chrome://seb/content/seb.xul"); 41 | user_pref("toolkit.defaultChromeFeatures", "chrome,dialog=no,resizable=yes,scrollbars=yes"); 42 | user_pref("toolkit.singletonWindowType", "main"); 43 | user_pref("full-screen-api.enabled", true); 44 | user_pref("gfx.direct2d.disabled", false); 45 | user_pref("layers.acceleration.disabled", false); 46 | user_pref("browser.display.use_document_fonts", 1); 47 | user_pref("dom.serviceWorkers.enabled", true); 48 | user_pref("media.navigator.permission.disabled", true); 49 | -------------------------------------------------------------------------------- /SebWindowsBrowser/xul_seb/chrome/defaults/seb/profile/cert8.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xul_seb/chrome/defaults/seb/profile/cert8.db -------------------------------------------------------------------------------- /SebWindowsBrowser/xul_seb/chrome/defaults/seb/profile/key3.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xul_seb/chrome/defaults/seb/profile/key3.db -------------------------------------------------------------------------------- /SebWindowsBrowser/xul_seb/chrome/defaults/seb/profile/mimeTypes.rdf: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 10 | 11 | 12 | 14 | 15 | 16 | 18 | 19 | 20 | 21 | 24 | 27 | 28 | 29 | 30 | 33 | 34 | 35 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /SebWindowsBrowser/xul_seb/chrome/locale/seb/de-DE/seb.dtd: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /SebWindowsBrowser/xul_seb/chrome/locale/seb/de-DE/seb.properties: -------------------------------------------------------------------------------- 1 | seb.title=Safe Exam Browser (DE) 2 | seb.url.blocked=Der Aufruf dieser Adresse ist nicht erlaubt. 3 | seb.shutdown.warning.title=Safe Exam Browser beenden 4 | seb.shutdown.warning=SEB wirklich beenden? 5 | seb.password.title=Safe Exam Browser beenden 6 | seb.password.text=Bitte geben Sie das Beenden-Passwort ein: 7 | seb.password.wrong=SEB kann nur nach Eingabe des korrekten Passworts beendet werden. Fragen Sie Ihren Prüfungs-Supporter nach dem Passwort. FÜHREN SIE KEINEN NEUSTART/RESET DURCH! Dies könnte unerwünschte Effekte auf Ihre Systemeinstellungen haben (siehe www.safeexambrowser.org/faq) 8 | seb.reload.warning.title=Seite neu laden 9 | seb.reload.warning=Wollen Sie die Webseite wirklich neu laden? 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /SebWindowsBrowser/xul_seb/chrome/locale/seb/en-US/seb.dtd: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /SebWindowsBrowser/xul_seb/chrome/locale/seb/en-US/seb.properties: -------------------------------------------------------------------------------- 1 | seb.title=Safe Exam Browser (US) 2 | seb.url.blocked=The requested address is not allowed. 3 | seb.shutdown.warning.title=Quit Safe Exam Browser 4 | seb.shutdown.warning=Are you sure you want to quit SEB? 5 | seb.password.title=Quit Safe Exam Browser 6 | seb.password.text=Please enter the quit password: 7 | seb.password.wrong=You can only quit SEB by entering the correct quit password. Ask your exam supporter for the correct password. DO NOT RESET YOUR MACHINE! This may have undesired effects on your system's settings (see www.safeexambrowser.org/faq). 8 | seb.reload.warning.title=Reload Current Page 9 | seb.reload.warning=Do you really want to reload the current web page? 10 | -------------------------------------------------------------------------------- /SebWindowsBrowser/xul_seb/chrome/locale/seb/fr-FR/seb.dtd: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /SebWindowsBrowser/xul_seb/chrome/locale/seb/fr-FR/seb.properties: -------------------------------------------------------------------------------- 1 | seb.title=Safe Exam Browser (US) 2 | seb.url.blocked=The requested address is not allowed. 3 | seb.shutdown.warning.title=Quit Safe Exam Browser 4 | seb.shutdown.warning=Are you sure you want to quit SEB? 5 | seb.password.title=Quit Safe Exam Browser 6 | seb.password.text=Please enter the quit password: 7 | seb.password.wrong=You can only quit SEB by entering the correct quit password. Ask your exam supporter for the correct password. DO NOT RESET YOUR MACHINE! This may have undesired effects on your system's settings (see www.safeexambrowser.org/faq). 8 | seb.reload.warning.title=Reload Current Page 9 | seb.reload.warning=Do you really want to reload the current web page? 10 | -------------------------------------------------------------------------------- /SebWindowsBrowser/xul_seb/chrome/seb.manifest: -------------------------------------------------------------------------------- 1 | content seb file:content/seb/ 2 | locale seb en-US file:locale/seb/en-US/ 3 | locale seb de-DE file:locale/seb/de-DE/ 4 | locale seb fr-FR file:locale/seb/fr-FR/ -------------------------------------------------------------------------------- /SebWindowsBrowser/xul_seb/chrome/xullib.manifest: -------------------------------------------------------------------------------- 1 | content xullib file:content/xullib/ 2 | -------------------------------------------------------------------------------- /SebWindowsBrowser/xul_seb/components/xulApplication.js: -------------------------------------------------------------------------------- 1 | const Cc = Components.classes; 2 | const Ci = Components.interfaces; 3 | 4 | Components.utils.import("resource://gre/modules/XPCOMUtils.jsm"); 5 | Components.utils.import("resource://gre/modules/Services.jsm"); 6 | Components.utils.import("resource://modules/xullib.jsm"); 7 | var xulApplication = function () {}; 8 | 9 | xulApplication.prototype = { 10 | classDescription: "xulApplication", 11 | classID: Components.ID('{2971c315-b871-32cd-b33f-bfee4fcbf682}'), 12 | contractID: "@mozilla.org/commandlinehandler/profile-after-change;1?type=xulApplication", 13 | _xpcom_categories: [{ 14 | category: "command-line-handler", 15 | entry: "m-xul-application" 16 | }], 17 | QueryInterface: XPCOMUtils.generateQI([Ci.nsICommandLineHandler]), 18 | handle : function clh_handle(cmdLine) { 19 | try { 20 | // dump(xullib.XULLIB_WIN+"\n\r"); 21 | // var w = Services.ww.openWindow(null,xullib.XULLIB_WIN,"xullibwin","chrome,extrachrome,menubar,toolbar,status,resizable,dialog=no",null); 22 | // dump(w+"\n\r"); 23 | xullib.init(cmdLine); 24 | cmdLine.preventDefault = false; // what about p2pdf or apps without a main window event loop? 25 | /* 26 | if (Services.appinfo.name === "Firefox") { // don't hook into default BrowserHandler! 27 | cmdLine.preventDefault = false; 28 | } 29 | else { // custom app 30 | cmdLine.preventDefault = true; 31 | } 32 | */ 33 | } 34 | catch (e) { 35 | dump(e+"\n"); 36 | //this.err(e); 37 | } 38 | }, 39 | // CHANGEME: change the help info as appropriate, but 40 | // follow the guidelines in nsICommandLineHandler.idl 41 | // specifically, flag descriptions should start at 42 | // character 24, and lines should be wrapped at 43 | // 72 characters with embedded newlines, 44 | // and finally, the string should end with a newline 45 | helpInfo : " -debug set debug true|false\n" + 46 | " -config additional json object url,\n" + 47 | " wrapping this description\n" 48 | }; 49 | var NSGetFactory = XPCOMUtils.generateNSGetFactory([xulApplication]); 50 | -------------------------------------------------------------------------------- /SebWindowsBrowser/xul_seb/seb.ini: -------------------------------------------------------------------------------- 1 | [App] 2 | Vendor=eqsoft 3 | Name=seb 4 | Version=2.0 5 | BuildID=16062008 6 | Copyright=Copyright (c) 2012 Stefan Schneider 7 | ID=f23bee90-c208-4dba-b923-173940c32bd8 8 | [Gecko] 9 | MinVersion=10.+ 10 | MaxVersion=1000.+ 11 | -------------------------------------------------------------------------------- /SebWindowsBrowser/xulrunner/AccessibleMarshal.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xulrunner/AccessibleMarshal.dll -------------------------------------------------------------------------------- /SebWindowsBrowser/xulrunner/D3DCompiler_43.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xulrunner/D3DCompiler_43.dll -------------------------------------------------------------------------------- /SebWindowsBrowser/xulrunner/IA2Marshal.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xulrunner/IA2Marshal.dll -------------------------------------------------------------------------------- /SebWindowsBrowser/xulrunner/LICENSE: -------------------------------------------------------------------------------- 1 | Please see the file toolkit/content/license.html for the copyright licensing 2 | conditions attached to this codebase, including copies of the licenses 3 | concerned. 4 | 5 | You are not granted rights or licenses to the trademarks of the 6 | Mozilla Foundation or any party, including without limitation the 7 | Firefox name or logo. 8 | 9 | For more information, see: http://www.mozilla.org/foundation/licensing.html 10 | -------------------------------------------------------------------------------- /SebWindowsBrowser/xulrunner/README.xulrunner: -------------------------------------------------------------------------------- 1 | XULRunner is a package which can be used to run applications written in HTML 2 | or XUL. It can also be used to embed the gecko rendering engine into 3 | binary applications. 4 | 5 | XULRunner is not a product; it is a tool which can be used to create products. 6 | It is a byproduct of Firefox development and the Mozilla community does not 7 | have a strong commitment to support XULRunner development apart from Firefox 8 | development. 9 | 10 | For more information about using XULRunner or how to use this binary package, 11 | see the Mozilla Developer Center article: 12 | 13 | https://developer.mozilla.org/en/XULRunner 14 | -------------------------------------------------------------------------------- /SebWindowsBrowser/xulrunner/breakpadinjector.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xulrunner/breakpadinjector.dll -------------------------------------------------------------------------------- /SebWindowsBrowser/xulrunner/crashreporter.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xulrunner/crashreporter.exe -------------------------------------------------------------------------------- /SebWindowsBrowser/xulrunner/d3dcompiler_47.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xulrunner/d3dcompiler_47.dll -------------------------------------------------------------------------------- /SebWindowsBrowser/xulrunner/dependentlibs.list: -------------------------------------------------------------------------------- 1 | mozglue.dll 2 | nss3.dll 3 | sandboxbroker.dll 4 | xul.dll 5 | -------------------------------------------------------------------------------- /SebWindowsBrowser/xulrunner/freebl3.chk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xulrunner/freebl3.chk -------------------------------------------------------------------------------- /SebWindowsBrowser/xulrunner/freebl3.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xulrunner/freebl3.dll -------------------------------------------------------------------------------- /SebWindowsBrowser/xulrunner/gmp-clearkey/0.1/clearkey.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xulrunner/gmp-clearkey/0.1/clearkey.dll -------------------------------------------------------------------------------- /SebWindowsBrowser/xulrunner/gmp-clearkey/0.1/clearkey.info: -------------------------------------------------------------------------------- 1 | Name: clearkey 2 | Description: ClearKey Gecko Media Plugin 3 | Version: 1 4 | APIs: eme-decrypt-v7[org.w3.clearkey], decode-audio[aac:org.w3.clearkey], decode-video[h264:org.w3.clearkey] 5 | Libraries: dxva2.dll, d3d9.dll, msmpeg2vdec.dll, msmpeg2adec.dll, MSAudDecMFT.dll, evr.dll, mfheaacdec.dll, mfh264dec.dll, mfplat.dll 6 | -------------------------------------------------------------------------------- /SebWindowsBrowser/xulrunner/gmp-fake/1.0/fake.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xulrunner/gmp-fake/1.0/fake.dll -------------------------------------------------------------------------------- /SebWindowsBrowser/xulrunner/gmp-fake/1.0/fake.info: -------------------------------------------------------------------------------- 1 | Name: fake 2 | Description: Fake GMP Plugin 3 | Version: 1.0 4 | APIs: decode-video[h264:broken], eme-decrypt-v7[fake] 5 | Libraries: dxva2.dll 6 | -------------------------------------------------------------------------------- /SebWindowsBrowser/xulrunner/gmp-fake/1.0/fake.voucher: -------------------------------------------------------------------------------- 1 | gmp-fake placeholder voucher -------------------------------------------------------------------------------- /SebWindowsBrowser/xulrunner/gmp-fakeopenh264/1.0/fakeopenh264.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xulrunner/gmp-fakeopenh264/1.0/fakeopenh264.dll -------------------------------------------------------------------------------- /SebWindowsBrowser/xulrunner/gmp-fakeopenh264/1.0/fakeopenh264.info: -------------------------------------------------------------------------------- 1 | Name: fakeopenh264 2 | Description: Fake GMP Plugin 3 | Version: 1.0 4 | APIs: encode-video[h264:fake], decode-video[h264:fake] 5 | -------------------------------------------------------------------------------- /SebWindowsBrowser/xulrunner/gmp-fakeopenh264/1.0/fakeopenh264.voucher: -------------------------------------------------------------------------------- 1 | gmp-fakeopenh264 placeholder voucher 2 | -------------------------------------------------------------------------------- /SebWindowsBrowser/xulrunner/icudt52.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xulrunner/icudt52.dll -------------------------------------------------------------------------------- /SebWindowsBrowser/xulrunner/icuin52.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xulrunner/icuin52.dll -------------------------------------------------------------------------------- /SebWindowsBrowser/xulrunner/icuuc52.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xulrunner/icuuc52.dll -------------------------------------------------------------------------------- /SebWindowsBrowser/xulrunner/js-gdb.py: -------------------------------------------------------------------------------- 1 | """ GDB Python customization auto-loader for js shell """ 2 | 3 | import os.path 4 | sys.path[0:0] = [os.path.join('c:/builds/moz2_slave/rel-m-rel-xr_w32_bld-000000000/build/js/src', 'gdb')] 5 | 6 | import mozilla.autoload 7 | mozilla.autoload.register(gdb.current_objfile()) 8 | 9 | import mozilla.asmjs 10 | mozilla.asmjs.install() 11 | -------------------------------------------------------------------------------- /SebWindowsBrowser/xulrunner/js.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xulrunner/js.exe -------------------------------------------------------------------------------- /SebWindowsBrowser/xulrunner/libEGL.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xulrunner/libEGL.dll -------------------------------------------------------------------------------- /SebWindowsBrowser/xulrunner/libGLESv2.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xulrunner/libGLESv2.dll -------------------------------------------------------------------------------- /SebWindowsBrowser/xulrunner/mozglue.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xulrunner/mozglue.dll -------------------------------------------------------------------------------- /SebWindowsBrowser/xulrunner/msvcp120.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xulrunner/msvcp120.dll -------------------------------------------------------------------------------- /SebWindowsBrowser/xulrunner/msvcr120.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xulrunner/msvcr120.dll -------------------------------------------------------------------------------- /SebWindowsBrowser/xulrunner/nss3.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xulrunner/nss3.dll -------------------------------------------------------------------------------- /SebWindowsBrowser/xulrunner/nssckbi.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xulrunner/nssckbi.dll -------------------------------------------------------------------------------- /SebWindowsBrowser/xulrunner/nssdbm3.chk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xulrunner/nssdbm3.chk -------------------------------------------------------------------------------- /SebWindowsBrowser/xulrunner/nssdbm3.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xulrunner/nssdbm3.dll -------------------------------------------------------------------------------- /SebWindowsBrowser/xulrunner/omni.ja: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xulrunner/omni.ja -------------------------------------------------------------------------------- /SebWindowsBrowser/xulrunner/platform.ini: -------------------------------------------------------------------------------- 1 | [Build] 2 | BuildID=20150929144111 3 | Milestone=41.0.1 4 | SourceStamp=76aad04b2a72 5 | SourceRepository=https://hg.mozilla.org/releases/mozilla-release 6 | -------------------------------------------------------------------------------- /SebWindowsBrowser/xulrunner/plugin-container.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xulrunner/plugin-container.exe -------------------------------------------------------------------------------- /SebWindowsBrowser/xulrunner/plugin-hang-ui.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xulrunner/plugin-hang-ui.exe -------------------------------------------------------------------------------- /SebWindowsBrowser/xulrunner/precomplete: -------------------------------------------------------------------------------- 1 | remove "xulrunner.exe" 2 | remove "xulrunner-stub.exe" 3 | remove "xul.dll" 4 | remove "wow_helper.exe" 5 | remove "updater.exe" 6 | remove "softokn3.dll" 7 | remove "softokn3.chk" 8 | remove "sandboxbroker.dll" 9 | remove "redit.exe" 10 | remove "precomplete" 11 | remove "plugin-hang-ui.exe" 12 | remove "plugin-container.exe" 13 | remove "platform.ini" 14 | remove "omni.ja" 15 | remove "nssdbm3.dll" 16 | remove "nssdbm3.chk" 17 | remove "nssckbi.dll" 18 | remove "nss3.dll" 19 | remove "msvcr120.dll" 20 | remove "msvcp120.dll" 21 | remove "mozglue.dll" 22 | remove "libGLESv2.dll" 23 | remove "libEGL.dll" 24 | remove "js.exe" 25 | remove "js-gdb.py" 26 | remove "icuuc52.dll" 27 | remove "icuin52.dll" 28 | remove "icudt52.dll" 29 | remove "gmp-fakeopenh264/1.0/fakeopenh264.voucher" 30 | remove "gmp-fakeopenh264/1.0/fakeopenh264.info" 31 | remove "gmp-fakeopenh264/1.0/fakeopenh264.dll" 32 | remove "gmp-fake/1.0/fake.voucher" 33 | remove "gmp-fake/1.0/fake.info" 34 | remove "gmp-fake/1.0/fake.dll" 35 | remove "gmp-clearkey/0.1/clearkey.info" 36 | remove "gmp-clearkey/0.1/clearkey.dll" 37 | remove "freebl3.dll" 38 | remove "freebl3.chk" 39 | remove "dictionaries/en-US.dic" 40 | remove "dictionaries/en-US.aff" 41 | remove "dependentlibs.list" 42 | remove "d3dcompiler_47.dll" 43 | remove "crashreporter.ini" 44 | remove "crashreporter.exe" 45 | remove "breakpadinjector.dll" 46 | remove "README.xulrunner" 47 | remove "LICENSE" 48 | remove "IA2Marshal.dll" 49 | remove "D3DCompiler_43.dll" 50 | remove "AccessibleMarshal.dll" 51 | rmdir "gmp-fakeopenh264/1.0/" 52 | rmdir "gmp-fakeopenh264/" 53 | rmdir "gmp-fake/1.0/" 54 | rmdir "gmp-fake/" 55 | rmdir "gmp-clearkey/0.1/" 56 | rmdir "gmp-clearkey/" 57 | rmdir "dictionaries/" 58 | -------------------------------------------------------------------------------- /SebWindowsBrowser/xulrunner/redit.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xulrunner/redit.exe -------------------------------------------------------------------------------- /SebWindowsBrowser/xulrunner/sandboxbroker.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xulrunner/sandboxbroker.dll -------------------------------------------------------------------------------- /SebWindowsBrowser/xulrunner/softokn3.chk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xulrunner/softokn3.chk -------------------------------------------------------------------------------- /SebWindowsBrowser/xulrunner/softokn3.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xulrunner/softokn3.dll -------------------------------------------------------------------------------- /SebWindowsBrowser/xulrunner/updater.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xulrunner/updater.exe -------------------------------------------------------------------------------- /SebWindowsBrowser/xulrunner/wow_helper.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xulrunner/wow_helper.exe -------------------------------------------------------------------------------- /SebWindowsBrowser/xulrunner/xul.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xulrunner/xul.dll -------------------------------------------------------------------------------- /SebWindowsBrowser/xulrunner/xulrunner-stub.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xulrunner/xulrunner-stub.exe -------------------------------------------------------------------------------- /SebWindowsBrowser/xulrunner/xulrunner.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xulrunner/xulrunner.exe -------------------------------------------------------------------------------- /SebWindowsClient/MetroFramework/MetroFramework/Animation/ExpandAnimation.cs: -------------------------------------------------------------------------------- 1 | /** 2 | * MetroFramework - Modern UI for WinForms 3 | * 4 | * The MIT License (MIT) 5 | * Copyright (c) 2011 Sven Walter, http://github.com/viperneo 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 8 | * this software and associated documentation files (the "Software"), to deal in the 9 | * Software without restriction, including without limitation the rights to use, copy, 10 | * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, 11 | * and to permit persons to whom the Software is furnished to do so, subject to the 12 | * following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, 18 | * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 19 | * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 20 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF 21 | * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE 22 | * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | */ 24 | using System.Drawing; 25 | using System.Windows.Forms; 26 | 27 | namespace MetroFramework.Animation 28 | { 29 | public sealed class ExpandAnimation : AnimationBase 30 | { 31 | public void Start(Control control, Size targetSize, TransitionType transitionType, int duration) 32 | { 33 | base.Start(control, transitionType, duration, 34 | delegate 35 | { 36 | int width = DoExpandAnimation(control.Width, targetSize.Width); 37 | int height = DoExpandAnimation(control.Height, targetSize.Height); 38 | 39 | control.Size = new Size(width, height); 40 | }, 41 | delegate 42 | { 43 | return (control.Size.Equals(targetSize)); 44 | }); 45 | } 46 | 47 | private int DoExpandAnimation(int startSize, int targetSize) 48 | { 49 | float t = (float)counter - startTime; 50 | float b = (float)startSize; 51 | float c = (float)targetSize - startSize; 52 | float d = (float)targetTime - startTime; 53 | 54 | return MakeTransition(t, b, d, c); 55 | } 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /SebWindowsClient/MetroFramework/MetroFramework/Animation/MoveAnimation.cs: -------------------------------------------------------------------------------- 1 | /** 2 | * MetroFramework - Modern UI for WinForms 3 | * 4 | * The MIT License (MIT) 5 | * Copyright (c) 2011 Sven Walter, http://github.com/viperneo 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 8 | * this software and associated documentation files (the "Software"), to deal in the 9 | * Software without restriction, including without limitation the rights to use, copy, 10 | * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, 11 | * and to permit persons to whom the Software is furnished to do so, subject to the 12 | * following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, 18 | * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 19 | * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 20 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF 21 | * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE 22 | * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | */ 24 | using System.Drawing; 25 | using System.Windows.Forms; 26 | 27 | namespace MetroFramework.Animation 28 | { 29 | public sealed class MoveAnimation : AnimationBase 30 | { 31 | public void Start(Control control, Point targetPoint, TransitionType transitionType, int duration) 32 | { 33 | base.Start(control, transitionType, duration, 34 | delegate 35 | { 36 | int x = DoMoveAnimation(control.Location.X, targetPoint.X); 37 | int y = DoMoveAnimation(control.Location.Y, targetPoint.Y); 38 | 39 | control.Location = new Point(x, y); 40 | }, 41 | delegate 42 | { 43 | return (control.Location.Equals(targetPoint)); 44 | }); 45 | } 46 | 47 | private int DoMoveAnimation(int startPos, int targetPos) 48 | { 49 | float t = (float)counter - startTime; 50 | float b = (float)startPos; 51 | float c = (float)targetPos - startPos; 52 | float d = (float)targetTime - startTime; 53 | 54 | return MakeTransition(t, b, d, c); 55 | } 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /SebWindowsClient/MetroFramework/MetroFramework/Animation/TransitionType.cs: -------------------------------------------------------------------------------- 1 | /** 2 | * MetroFramework - Modern UI for WinForms 3 | * 4 | * The MIT License (MIT) 5 | * Copyright (c) 2011 Sven Walter, http://github.com/viperneo 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 8 | * this software and associated documentation files (the "Software"), to deal in the 9 | * Software without restriction, including without limitation the rights to use, copy, 10 | * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, 11 | * and to permit persons to whom the Software is furnished to do so, subject to the 12 | * following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, 18 | * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 19 | * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 20 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF 21 | * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE 22 | * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | */ 24 | namespace MetroFramework.Animation 25 | { 26 | public enum TransitionType 27 | { 28 | Linear, 29 | EaseInQuad, 30 | EaseOutQuad, 31 | EaseInOutQuad, 32 | EaseInCubic, 33 | EaseOutCubic, 34 | EaseInOutCubic, 35 | EaseInQuart, 36 | EaseInExpo, 37 | EaseOutExpo, 38 | NotApplicable 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/CssAnonymousBlockBox.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/CssAnonymousBlockBox.cs -------------------------------------------------------------------------------- /SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/CssAnonymousBox.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/CssAnonymousBox.cs -------------------------------------------------------------------------------- /SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/CssBlock.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/CssBlock.cs -------------------------------------------------------------------------------- /SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/CssBox.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/CssBox.cs -------------------------------------------------------------------------------- /SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/CssBoxWord.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/CssBoxWord.cs -------------------------------------------------------------------------------- /SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/CssBoxWordSplitter.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/CssBoxWordSplitter.cs -------------------------------------------------------------------------------- /SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/CssConstants.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/CssConstants.cs -------------------------------------------------------------------------------- /SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/CssDefaults.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/CssDefaults.cs -------------------------------------------------------------------------------- /SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/CssDrawingHelper.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/CssDrawingHelper.cs -------------------------------------------------------------------------------- /SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/CssLayoutEngine.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/CssLayoutEngine.cs -------------------------------------------------------------------------------- /SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/CssLength.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/CssLength.cs -------------------------------------------------------------------------------- /SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/CssLineBox.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/CssLineBox.cs -------------------------------------------------------------------------------- /SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/CssPropertyAttribute.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/CssPropertyAttribute.cs -------------------------------------------------------------------------------- /SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/CssPropertyInheritedAttribute.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/CssPropertyInheritedAttribute.cs -------------------------------------------------------------------------------- /SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/CssRectangle.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/CssRectangle.cs -------------------------------------------------------------------------------- /SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/CssTable.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/CssTable.cs -------------------------------------------------------------------------------- /SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/CssValue.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/CssValue.cs -------------------------------------------------------------------------------- /SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/HtmlConstants.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/HtmlConstants.cs -------------------------------------------------------------------------------- /SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/HtmlLabel.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/HtmlLabel.cs -------------------------------------------------------------------------------- /SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/HtmlPanel.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/HtmlPanel.cs -------------------------------------------------------------------------------- /SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/HtmlRenderer.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/HtmlRenderer.cs -------------------------------------------------------------------------------- /SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/HtmlTag.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/HtmlTag.cs -------------------------------------------------------------------------------- /SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/HtmlToolTip.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/HtmlToolTip.cs -------------------------------------------------------------------------------- /SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/InitialContainer.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/InitialContainer.cs -------------------------------------------------------------------------------- /SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/Parser.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/Parser.cs -------------------------------------------------------------------------------- /SebWindowsClient/MetroFramework/MetroFramework/Drawing/MetroBackBuffer.cs: -------------------------------------------------------------------------------- 1 | /** 2 | * MetroFramework - Modern UI for WinForms 3 | * 4 | * The MIT License (MIT) 5 | * Copyright (c) 2011 Sven Walter, http://github.com/viperneo 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 8 | * this software and associated documentation files (the "Software"), to deal in the 9 | * Software without restriction, including without limitation the rights to use, copy, 10 | * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, 11 | * and to permit persons to whom the Software is furnished to do so, subject to the 12 | * following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, 18 | * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 19 | * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 20 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF 21 | * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE 22 | * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | */ 24 | using System; 25 | using System.Collections.Generic; 26 | using System.Text; 27 | using System.Drawing; 28 | using System.Drawing.Drawing2D; 29 | using System.Drawing.Imaging; 30 | using System.Drawing.Text; 31 | 32 | namespace MetroFramework.Drawing 33 | { 34 | internal sealed class MetroBackBuffer 35 | { 36 | private Bitmap backBuffer; 37 | 38 | public MetroBackBuffer(Size bufferSize) 39 | { 40 | backBuffer = new Bitmap(bufferSize.Width, bufferSize.Height, PixelFormat.Format32bppArgb); 41 | } 42 | 43 | public Graphics CreateGraphics() 44 | { 45 | Graphics g = Graphics.FromImage(backBuffer); 46 | 47 | g.CompositingMode = CompositingMode.SourceOver; 48 | g.CompositingQuality = CompositingQuality.HighQuality; 49 | g.InterpolationMode = InterpolationMode.High; 50 | g.PixelOffsetMode = PixelOffsetMode.HighQuality; 51 | g.SmoothingMode = SmoothingMode.AntiAlias; 52 | 53 | g.TextRenderingHint = TextRenderingHint.ClearTypeGridFit; 54 | 55 | return g; 56 | } 57 | 58 | public void Draw(Graphics g) 59 | { 60 | g.DrawImageUnscaled(backBuffer, Point.Empty); 61 | } 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /SebWindowsClient/MetroFramework/MetroFramework/Forms/MetroMessageBox.cs: -------------------------------------------------------------------------------- 1 | /** 2 | * MetroFramework - Modern UI for WinForms 3 | * 4 | * The MIT License (MIT) 5 | * Copyright (c) 2011 Sven Walter, http://github.com/viperneo 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 8 | * this software and associated documentation files (the "Software"), to deal in the 9 | * Software without restriction, including without limitation the rights to use, copy, 10 | * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, 11 | * and to permit persons to whom the Software is furnished to do so, subject to the 12 | * following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, 18 | * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 19 | * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 20 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF 21 | * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE 22 | * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | */ 24 | namespace MetroFramework.Forms 25 | { 26 | public sealed class MetroMessageBox : MetroForm 27 | { 28 | 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /SebWindowsClient/MetroFramework/MetroFramework/Interfaces/IMetroComponent.cs: -------------------------------------------------------------------------------- 1 | /** 2 | * MetroFramework - Modern UI for WinForms 3 | * 4 | * The MIT License (MIT) 5 | * Copyright (c) 2011 Sven Walter, http://github.com/viperneo 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 8 | * this software and associated documentation files (the "Software"), to deal in the 9 | * Software without restriction, including without limitation the rights to use, copy, 10 | * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, 11 | * and to permit persons to whom the Software is furnished to do so, subject to the 12 | * following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, 18 | * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 19 | * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 20 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF 21 | * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE 22 | * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | */ 24 | using MetroFramework.Components; 25 | 26 | namespace MetroFramework.Interfaces 27 | { 28 | public interface IMetroComponent 29 | { 30 | MetroColorStyle Style { get; set; } 31 | MetroThemeStyle Theme { get; set; } 32 | 33 | MetroStyleManager StyleManager { get; set; } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /SebWindowsClient/MetroFramework/MetroFramework/Interfaces/IMetroControl.cs: -------------------------------------------------------------------------------- 1 | /** 2 | * MetroFramework - Modern UI for WinForms 3 | * 4 | * The MIT License (MIT) 5 | * Copyright (c) 2011 Sven Walter, http://github.com/viperneo 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 8 | * this software and associated documentation files (the "Software"), to deal in the 9 | * Software without restriction, including without limitation the rights to use, copy, 10 | * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, 11 | * and to permit persons to whom the Software is furnished to do so, subject to the 12 | * following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, 18 | * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 19 | * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 20 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF 21 | * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE 22 | * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | */ 24 | using System; 25 | using System.Windows.Forms; 26 | 27 | using MetroFramework.Drawing; 28 | using MetroFramework.Components; 29 | 30 | namespace MetroFramework.Interfaces 31 | { 32 | public interface IMetroControl 33 | { 34 | event EventHandler CustomPaintBackground; 35 | event EventHandler CustomPaint; 36 | event EventHandler CustomPaintForeground; 37 | 38 | MetroColorStyle Style { get; set; } 39 | MetroThemeStyle Theme { get; set; } 40 | 41 | MetroStyleManager StyleManager { get; set; } 42 | 43 | bool UseCustomBackColor { get; set; } 44 | bool UseCustomForeColor { get; set; } 45 | bool UseStyleColors { get; set; } 46 | bool UseSelectable { get; set; } 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /SebWindowsClient/MetroFramework/MetroFramework/Interfaces/IMetroForm.cs: -------------------------------------------------------------------------------- 1 | /** 2 | * MetroFramework - Modern UI for WinForms 3 | * 4 | * The MIT License (MIT) 5 | * Copyright (c) 2011 Sven Walter, http://github.com/viperneo 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 8 | * this software and associated documentation files (the "Software"), to deal in the 9 | * Software without restriction, including without limitation the rights to use, copy, 10 | * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, 11 | * and to permit persons to whom the Software is furnished to do so, subject to the 12 | * following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, 18 | * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 19 | * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 20 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF 21 | * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE 22 | * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | */ 24 | using MetroFramework.Components; 25 | 26 | namespace MetroFramework.Interfaces 27 | { 28 | public interface IMetroForm 29 | { 30 | MetroColorStyle Style { get; set; } 31 | MetroThemeStyle Theme { get; set; } 32 | 33 | MetroStyleManager StyleManager { get; set; } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /SebWindowsClient/MetroFramework/MetroFramework/Localization/de/MetroToggle.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | StatusOn 5 | An 6 | 7 | 8 | StatusOff 9 | Aus 10 | 11 | -------------------------------------------------------------------------------- /SebWindowsClient/MetroFramework/MetroFramework/Localization/en/MetroToggle.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | StatusOn 5 | On 6 | 7 | 8 | StatusOff 9 | Off 10 | 11 | -------------------------------------------------------------------------------- /SebWindowsClient/MetroFramework/MetroFramework/Localization/tr/MetroToggle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | StatusOn 5 | Açık 6 | 7 | 8 | StatusOff 9 | Kapalı 10 | 11 | 12 | -------------------------------------------------------------------------------- /SebWindowsClient/MetroFramework/MetroFramework/MessageBox/MetroMessageBoxProperties.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Diagnostics; 4 | using System.Text; 5 | using System.Windows.Forms; 6 | 7 | namespace MetroFramework 8 | { 9 | /// 10 | /// Message box overlay display properties. 11 | /// 12 | public class MetroMessageBoxProperties 13 | { 14 | 15 | /// 16 | /// Creates a new instance of MessageBoxOverlayProperties. 17 | /// 18 | /// 19 | public MetroMessageBoxProperties(MetroMessageBoxControl owner) 20 | { _owner = owner; } 21 | 22 | /// 23 | /// Gets or sets the message box buttons in the message box overlay. 24 | /// 25 | public MessageBoxButtons Buttons 26 | { get; set; } 27 | 28 | /// 29 | /// Gets or sets the message box default button. 30 | /// 31 | public MessageBoxDefaultButton DefaultButton 32 | { get; set; } 33 | 34 | /// 35 | /// Gets or sets the message box overlay icon. 36 | /// 37 | public MessageBoxIcon Icon 38 | { get; set; } 39 | 40 | /// 41 | /// Gets or sets the message box overlay message contents. 42 | /// 43 | public string Message 44 | { get; set; } 45 | 46 | [DebuggerBrowsable(DebuggerBrowsableState.Never)] 47 | private MetroMessageBoxControl _owner = null; 48 | 49 | /// 50 | /// Gets the property owner. 51 | /// 52 | public MetroMessageBoxControl Owner 53 | { get { return _owner; } } 54 | 55 | /// 56 | /// Gets or sets the message box overlat title. 57 | /// 58 | public string Title 59 | { get; set; } 60 | 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /SebWindowsClient/MetroFramework/MetroFramework/MetroColorStyle.cs: -------------------------------------------------------------------------------- 1 | /** 2 | * MetroFramework - Modern UI for WinForms 3 | * 4 | * The MIT License (MIT) 5 | * Copyright (c) 2011 Sven Walter, http://github.com/viperneo 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 8 | * this software and associated documentation files (the "Software"), to deal in the 9 | * Software without restriction, including without limitation the rights to use, copy, 10 | * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, 11 | * and to permit persons to whom the Software is furnished to do so, subject to the 12 | * following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, 18 | * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 19 | * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 20 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF 21 | * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE 22 | * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | */ 24 | namespace MetroFramework 25 | { 26 | public enum MetroColorStyle 27 | { 28 | Default, 29 | Black, 30 | White, 31 | Silver, 32 | Blue, 33 | Green, 34 | Lime, 35 | Teal, 36 | Orange, 37 | Brown, 38 | Pink, 39 | Magenta, 40 | Purple, 41 | Red, 42 | Yellow 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /SebWindowsClient/MetroFramework/MetroFramework/MetroDefaults.cs: -------------------------------------------------------------------------------- 1 | /** 2 | * MetroFramework - Modern UI for WinForms 3 | * 4 | * The MIT License (MIT) 5 | * Copyright (c) 2011 Sven Walter, http://github.com/viperneo 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 8 | * this software and associated documentation files (the "Software"), to deal in the 9 | * Software without restriction, including without limitation the rights to use, copy, 10 | * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, 11 | * and to permit persons to whom the Software is furnished to do so, subject to the 12 | * following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, 18 | * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 19 | * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 20 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF 21 | * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE 22 | * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | */ 24 | using System; 25 | 26 | namespace MetroFramework 27 | { 28 | internal static class MetroDefaults 29 | { 30 | public const MetroColorStyle Style = MetroColorStyle.Blue; 31 | public const MetroThemeStyle Theme = MetroThemeStyle.Light; 32 | 33 | public static class PropertyCategory 34 | { 35 | public const string Appearance = "Metro Appearance"; 36 | public const string Behaviour = "Metro Behaviour"; 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /SebWindowsClient/MetroFramework/MetroFramework/MetroImage.cs: -------------------------------------------------------------------------------- 1 | /** 2 | * MetroFramework - Modern UI for WinForms 3 | * 4 | * The MIT License (MIT) 5 | * Copyright (c) 2011 Sven Walter, http://github.com/viperneo 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 8 | * this software and associated documentation files (the "Software"), to deal in the 9 | * Software without restriction, including without limitation the rights to use, copy, 10 | * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, 11 | * and to permit persons to whom the Software is furnished to do so, subject to the 12 | * following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, 18 | * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 19 | * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 20 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF 21 | * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE 22 | * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | */ 24 | using System; 25 | using System.Drawing; 26 | 27 | namespace MetroFramework 28 | { 29 | class MetroImage 30 | { 31 | public static Image ResizeImage(Image imgToResize, Rectangle maxOffset) 32 | { 33 | int sourceWidth = imgToResize.Width; 34 | int sourceHeight = imgToResize.Height; 35 | 36 | float nPercent = 0; 37 | float nPercentW = 0; 38 | float nPercentH = 0; 39 | 40 | nPercentW = (float)maxOffset.Width / sourceWidth; 41 | nPercentH = (float)maxOffset.Height / sourceHeight; 42 | 43 | nPercent = nPercentH < nPercentW ? nPercentH : nPercentW; 44 | 45 | int destWidth = (int)(sourceWidth * nPercent); 46 | int destHeight = (int)(sourceHeight * nPercent); 47 | 48 | return imgToResize.GetThumbnailImage(destWidth, destHeight, null, IntPtr.Zero); 49 | } 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /SebWindowsClient/MetroFramework/MetroFramework/MetroThemeStyle.cs: -------------------------------------------------------------------------------- 1 | /** 2 | * MetroFramework - Modern UI for WinForms 3 | * 4 | * The MIT License (MIT) 5 | * Copyright (c) 2011 Sven Walter, http://github.com/viperneo 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 8 | * this software and associated documentation files (the "Software"), to deal in the 9 | * Software without restriction, including without limitation the rights to use, copy, 10 | * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, 11 | * and to permit persons to whom the Software is furnished to do so, subject to the 12 | * following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, 18 | * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 19 | * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 20 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF 21 | * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE 22 | * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | */ 24 | namespace MetroFramework 25 | { 26 | public enum MetroThemeStyle 27 | { 28 | Default, 29 | Light, 30 | Dark 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /SebWindowsClient/MetroFramework/MetroFramework/Native/WinCaret.cs: -------------------------------------------------------------------------------- 1 | /** 2 | * MetroFramework - Modern UI for WinForms 3 | * 4 | * The MIT License (MIT) 5 | * Copyright (c) 2011 Sven Walter, http://github.com/viperneo 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 8 | * this software and associated documentation files (the "Software"), to deal in the 9 | * Software without restriction, including without limitation the rights to use, copy, 10 | * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, 11 | * and to permit persons to whom the Software is furnished to do so, subject to the 12 | * following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, 18 | * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 19 | * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 20 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF 21 | * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE 22 | * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | */ 24 | using System; 25 | using System.Runtime.InteropServices; 26 | using System.Security; 27 | 28 | namespace MetroFramework.Native 29 | { 30 | [SuppressUnmanagedCodeSecurity] 31 | internal sealed class WinCaret 32 | { 33 | [DllImport("User32.dll")] 34 | private static extern bool CreateCaret(IntPtr hWnd, int hBitmap, int nWidth, int nHeight); 35 | 36 | [DllImport("User32.dll")] 37 | private static extern bool SetCaretPos(int x, int y); 38 | 39 | [DllImport("User32.dll")] 40 | private static extern bool DestroyCaret(); 41 | 42 | [DllImport("User32.dll")] 43 | private static extern bool ShowCaret(IntPtr hWnd); 44 | 45 | [DllImport("User32.dll")] 46 | public static extern bool HideCaret(IntPtr hWnd); 47 | 48 | private IntPtr controlHandle; 49 | 50 | public WinCaret(IntPtr ownerHandle) 51 | { 52 | controlHandle = ownerHandle; 53 | } 54 | 55 | public bool Create(int width, int height) 56 | { 57 | return CreateCaret(controlHandle, 0, width, height); 58 | } 59 | public void Hide() 60 | { 61 | HideCaret(controlHandle); 62 | } 63 | public void Show() 64 | { 65 | ShowCaret(controlHandle); 66 | } 67 | public bool SetPosition(int x, int y) 68 | { 69 | return SetCaretPos(x, y); 70 | } 71 | public void Destroy() 72 | { 73 | DestroyCaret(); 74 | } 75 | } 76 | } 77 | -------------------------------------------------------------------------------- /SebWindowsClient/MetroFramework/MetroFramework/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // Dieser Code wurde von einem Tool generiert. 4 | // Laufzeitversion:4.0.30319.296 5 | // 6 | // Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn 7 | // der Code erneut generiert wird. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace MetroFramework.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /SebWindowsClient/MetroFramework/MetroFramework/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 |
6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 1 32 | MsgHook.dll 33 | 1 34 | 0 35 | notepad,OUTLOOK 36 | 1 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/ConfigurationUtils/SEBPropertyList.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Xml.Serialization; 6 | 7 | namespace SebWindowsClient.ConfigurationUtils 8 | { 9 | public class SEBPropertyList 10 | { 11 | [XmlElement("MovieName")] 12 | public string Title 13 | { get; set; } 14 | 15 | [XmlElement("MovieRating")] 16 | public float Rating 17 | { get; set; } 18 | 19 | [XmlElement("MovieReleaseDate")] 20 | public DateTime ReleaseDate 21 | { get; set; } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/DesktopUtils/SEBDesktopWallpaper.cs: -------------------------------------------------------------------------------- 1 | // ------------------------------------------------------------- 2 | // Viktor tomas 3 | // BFH-TI, http://www.ti.bfh.ch 4 | // Biel, 2012 5 | // ------------------------------------------------------------- 6 | using System; 7 | using System.Collections.Generic; 8 | using System.Linq; 9 | using System.Text; 10 | using System.Runtime.InteropServices; 11 | using Microsoft.Win32; 12 | 13 | namespace SebWindowsClient.DesktopUtils 14 | { 15 | public static class SEBDesktopWallpaper 16 | { 17 | const int SPI_SETDESKWALLPAPER = 20; 18 | const int SPIF_UPDATEINIFILE = 0x01; 19 | const int SPIF_SENDWININICHANGE = 0x02; 20 | const int SPI_GETDESKWALLPAPER = 0x73; 21 | const int MAX_PATH = 260; 22 | 23 | [DllImport("user32.dll", CharSet = CharSet.Auto)] 24 | static extern int SystemParametersInfo( 25 | int uAction, int uParam, string lpvParam, int fuWinIni); 26 | 27 | private static string _currentWallpaper = null; 28 | 29 | public enum Style : int 30 | { 31 | Tiled, Centered, Stretched 32 | } 33 | 34 | public static void BlankWallpaper() 35 | { 36 | //if (_currentWallpaper == null) 37 | // _currentWallpaper = GetWallpaper(); 38 | 39 | //SetWallpaper(""); 40 | } 41 | 42 | public static void Reset() 43 | { 44 | //if(_currentWallpaper != null) 45 | // SetWallpaper(_currentWallpaper); 46 | } 47 | 48 | private static string GetWallpaper() 49 | { 50 | var currentWallpaper = new string('\0', MAX_PATH); 51 | SystemParametersInfo(SPI_GETDESKWALLPAPER, currentWallpaper.Length, currentWallpaper, 0); 52 | return currentWallpaper.Substring(0, currentWallpaper.IndexOf('\0')); 53 | } 54 | 55 | private static void SetWallpaper(string path) 56 | { 57 | SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, path, SPIF_UPDATEINIFILE | SPIF_SENDWININICHANGE); 58 | } 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/DiagnosticsUtils/OSVersion.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.Win32; 2 | 3 | namespace SebWindowsClient.DiagnosticsUtils 4 | { 5 | public static class OSVersion 6 | { 7 | private static string HKLM_GetString(string path, string key) 8 | { 9 | try 10 | { 11 | RegistryKey rk = Registry.LocalMachine.OpenSubKey(path); 12 | if (rk == null) return ""; 13 | return (string)rk.GetValue(key); 14 | } 15 | catch { return ""; } 16 | } 17 | 18 | public static string FriendlyName() 19 | { 20 | string ProductName = HKLM_GetString(@"SOFTWARE\Microsoft\Windows NT\CurrentVersion", "ProductName"); 21 | string CSDVersion = HKLM_GetString(@"SOFTWARE\Microsoft\Windows NT\CurrentVersion", "CSDVersion"); 22 | if (ProductName != "") 23 | { 24 | return (ProductName.StartsWith("Microsoft") ? "" : "Microsoft ") + ProductName + 25 | (CSDVersion != "" ? " " + CSDVersion : ""); 26 | } 27 | return ""; 28 | } 29 | 30 | public static bool IsWindows7 31 | { 32 | get 33 | { 34 | return OSVersion.FriendlyName().Contains("7"); 35 | } 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/Fleck/FleckLog.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Fleck 4 | { 5 | public enum LogLevel 6 | { 7 | Debug, 8 | Info, 9 | Warn, 10 | Error 11 | } 12 | 13 | public class FleckLog 14 | { 15 | public static LogLevel Level = LogLevel.Info; 16 | 17 | public static Action LogAction = (level, message, ex) => 18 | { 19 | if (level >= Level) 20 | Console.WriteLine("{0} [{1}] {2} {3}", DateTime.Now, level, message, ex); 21 | }; 22 | 23 | public static void Warn(string message, Exception ex = null) 24 | { 25 | LogAction(LogLevel.Warn, message, ex); 26 | } 27 | 28 | public static void Error(string message, Exception ex = null) 29 | { 30 | LogAction(LogLevel.Error, message, ex); 31 | } 32 | 33 | public static void Debug(string message, Exception ex = null) 34 | { 35 | LogAction(LogLevel.Debug, message, ex); 36 | } 37 | 38 | public static void Info(string message, Exception ex = null) 39 | { 40 | LogAction(LogLevel.Info, message, ex); 41 | } 42 | 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/Fleck/FrameType.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Fleck 4 | { 5 | public enum FrameType : byte 6 | { 7 | Continuation, 8 | Text, 9 | Binary, 10 | Close = 8, 11 | Ping = 9, 12 | Pong = 10, 13 | } 14 | } 15 | 16 | -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/Fleck/HandlerFactory.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Fleck.Handlers; 3 | 4 | namespace Fleck 5 | { 6 | public class HandlerFactory 7 | { 8 | public static IHandler BuildHandler(WebSocketHttpRequest request, Action onMessage, Action onClose, Action onBinary, Action onPing, Action onPong) 9 | { 10 | var version = GetVersion(request); 11 | 12 | switch (version) 13 | { 14 | case "76": 15 | return Draft76Handler.Create(request, onMessage); 16 | case "7": 17 | case "8": 18 | case "13": 19 | return Hybi13Handler.Create(request, onMessage, onClose, onBinary, onPing, onPong); 20 | } 21 | 22 | throw new WebSocketException(WebSocketStatusCodes.UnsupportedDataType); 23 | } 24 | 25 | public static string GetVersion(WebSocketHttpRequest request) 26 | { 27 | string version; 28 | if (request.Headers.TryGetValue("Sec-WebSocket-Version", out version)) 29 | return version; 30 | 31 | if (request.Headers.TryGetValue("Sec-WebSocket-Draft", out version)) 32 | return version; 33 | 34 | if (request.Headers.ContainsKey("Sec-WebSocket-Key1")) 35 | return "76"; 36 | 37 | return "75"; 38 | } 39 | } 40 | } 41 | 42 | -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/Fleck/Handlers/ComposableHandler.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace Fleck.Handlers 5 | { 6 | public class ComposableHandler : IHandler 7 | { 8 | public Func Handshake = s => new byte[0]; 9 | public Func TextFrame = x => new byte[0]; 10 | public Func BinaryFrame = x => new byte[0]; 11 | public Action> ReceiveData = delegate { }; 12 | public Func PingFrame = i => new byte[0]; 13 | public Func PongFrame = i => new byte[0]; 14 | public Func CloseFrame = i => new byte[0]; 15 | 16 | private readonly List _data = new List(); 17 | 18 | public byte[] CreateHandshake(string subProtocol = null) 19 | { 20 | return Handshake(subProtocol); 21 | } 22 | 23 | public void Receive(IEnumerable data) 24 | { 25 | _data.AddRange(data); 26 | 27 | ReceiveData(_data); 28 | } 29 | 30 | public byte[] FrameText(string text) 31 | { 32 | return TextFrame(text); 33 | } 34 | 35 | public byte[] FrameBinary(byte[] bytes) 36 | { 37 | return BinaryFrame(bytes); 38 | } 39 | 40 | public byte[] FramePing(byte[] bytes) 41 | { 42 | return PingFrame(bytes); 43 | } 44 | 45 | public byte[] FramePong(byte[] bytes) 46 | { 47 | return PongFrame(bytes); 48 | } 49 | 50 | public byte[] FrameClose(int code) 51 | { 52 | return CloseFrame(code); 53 | } 54 | } 55 | } 56 | 57 | -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/Fleck/HandshakeException.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Fleck 4 | { 5 | public class HandshakeException : Exception 6 | { 7 | public HandshakeException() : base() { } 8 | 9 | public HandshakeException(string message) : base(message) {} 10 | 11 | public HandshakeException(string message, Exception innerException) : base(message, innerException) {} 12 | } 13 | } 14 | 15 | -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/Fleck/IntExtensions.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Fleck 4 | { 5 | public static class IntExtensions 6 | { 7 | public static byte[] ToBigEndianBytes(this int source) 8 | { 9 | byte[] bytes; 10 | 11 | var type = typeof(T); 12 | if (type == typeof(ushort)) 13 | bytes = BitConverter.GetBytes((ushort)source); 14 | else if (type == typeof(ulong)) 15 | bytes = BitConverter.GetBytes((ulong)source); 16 | else if (type == typeof(int)) 17 | bytes = BitConverter.GetBytes(source); 18 | else 19 | throw new InvalidCastException("Cannot be cast to T"); 20 | 21 | if (BitConverter.IsLittleEndian) 22 | Array.Reverse(bytes); 23 | return bytes; 24 | } 25 | 26 | public static int ToLittleEndianInt(this byte[] source) 27 | { 28 | if(BitConverter.IsLittleEndian) 29 | Array.Reverse(source); 30 | 31 | if(source.Length == 2) 32 | return BitConverter.ToUInt16(source, 0); 33 | 34 | if(source.Length == 8) 35 | return (int)BitConverter.ToUInt64(source, 0); 36 | 37 | throw new ArgumentException("Unsupported Size"); 38 | } 39 | } 40 | } 41 | 42 | -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/Fleck/Interfaces/IHandler.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace Fleck 4 | { 5 | public interface IHandler 6 | { 7 | byte[] CreateHandshake(string subProtocol = null); 8 | void Receive(IEnumerable data); 9 | byte[] FrameText(string text); 10 | byte[] FrameBinary(byte[] bytes); 11 | byte[] FramePing(byte[] bytes); 12 | byte[] FramePong(byte[] bytes); 13 | byte[] FrameClose(int code); 14 | } 15 | } 16 | 17 | -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/Fleck/Interfaces/ISocket.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Net; 3 | using System.Security.Cryptography.X509Certificates; 4 | using System.Threading.Tasks; 5 | using System.IO; 6 | 7 | namespace Fleck 8 | { 9 | public interface ISocket 10 | { 11 | bool Connected { get; } 12 | string RemoteIpAddress { get; } 13 | int RemotePort { get; } 14 | Stream Stream { get; } 15 | bool NoDelay { get; set; } 16 | 17 | Task Accept(Action callback, Action error); 18 | Task Send(byte[] buffer, Action callback, Action error); 19 | Task Receive(byte[] buffer, Action callback, Action error, int offset = 0); 20 | Task Authenticate(X509Certificate2 certificate, Action callback, Action error); 21 | 22 | void Dispose(); 23 | void Close(); 24 | 25 | void Bind(EndPoint ipLocal); 26 | void Listen(int backlog); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/Fleck/Interfaces/IWebSocketConnection.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Fleck 4 | { 5 | public interface IWebSocketConnection 6 | { 7 | Action OnOpen { get; set; } 8 | Action OnClose { get; set; } 9 | Action OnMessage { get; set; } 10 | Action OnBinary { get; set; } 11 | Action OnPing { get; set; } 12 | Action OnPong { get; set; } 13 | Action OnError { get; set; } 14 | void Send(string message); 15 | void Send(byte[] message); 16 | void SendPing(byte[] message); 17 | void SendPong(byte[] message); 18 | void Close(); 19 | IWebSocketConnectionInfo ConnectionInfo { get; } 20 | bool IsAvailable { get; } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/Fleck/Interfaces/IWebSocketConnectionInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System; 3 | 4 | namespace Fleck 5 | { 6 | public interface IWebSocketConnectionInfo 7 | { 8 | string SubProtocol { get; } 9 | string Origin { get; } 10 | string Host { get; } 11 | string Path { get; } 12 | string ClientIpAddress { get; } 13 | int ClientPort { get; } 14 | IDictionary Cookies { get; } 15 | Guid Id { get; } 16 | string NegotiatedSubProtocol { get; } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/Fleck/Interfaces/IWebSocketServer.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Fleck 4 | { 5 | public interface IWebSocketServer : IDisposable 6 | { 7 | void Start(Action config); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/Fleck/ReadState.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace Fleck 5 | { 6 | public class ReadState 7 | { 8 | public ReadState() 9 | { 10 | Data = new List(); 11 | } 12 | public List Data { get; private set; } 13 | public FrameType? FrameType { get; set; } 14 | public void Clear() 15 | { 16 | Data.Clear(); 17 | FrameType = null; 18 | } 19 | } 20 | } 21 | 22 | -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/Fleck/RequestParser.cs: -------------------------------------------------------------------------------- 1 | using System.Text; 2 | using System.Text.RegularExpressions; 3 | 4 | namespace Fleck 5 | { 6 | public class RequestParser 7 | { 8 | const string pattern = @"^(?[^\s]+)\s(?[^\s]+)\sHTTP\/1\.1\r\n" + // request line 9 | @"((?[^:\r\n]+):\s(?[^\r\n]*)\r\n)+" + //headers 10 | @"\r\n" + //newline 11 | @"(?.+)?"; 12 | 13 | private static readonly Regex _regex = new Regex(pattern, RegexOptions.IgnoreCase | RegexOptions.Compiled); 14 | 15 | public static WebSocketHttpRequest Parse(byte[] bytes) 16 | { 17 | return Parse(bytes, "ws"); 18 | } 19 | 20 | public static WebSocketHttpRequest Parse(byte[] bytes, string scheme) 21 | { 22 | var body = Encoding.UTF8.GetString(bytes); 23 | Match match = _regex.Match(body); 24 | 25 | if (!match.Success) 26 | return null; 27 | 28 | var request = new WebSocketHttpRequest 29 | { 30 | Method = match.Groups["method"].Value, 31 | Path = match.Groups["path"].Value, 32 | Body = match.Groups["body"].Value, 33 | Bytes = bytes, 34 | Scheme = scheme 35 | }; 36 | 37 | var fields = match.Groups["field_name"].Captures; 38 | var values = match.Groups["field_value"].Captures; 39 | for (var i = 0; i < fields.Count; i++) 40 | { 41 | var name = fields[i].ToString(); 42 | var value = values[i].ToString(); 43 | request.Headers[name] = value; 44 | } 45 | 46 | return request; 47 | } 48 | } 49 | } 50 | 51 | -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/Fleck/SubProtocolNegotiationFailureException.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Fleck 4 | { 5 | public class SubProtocolNegotiationFailureException : Exception 6 | { 7 | public SubProtocolNegotiationFailureException() : base() { } 8 | 9 | public SubProtocolNegotiationFailureException(string message) : base(message) {} 10 | 11 | public SubProtocolNegotiationFailureException(string message, Exception innerException) : base(message, innerException) {} 12 | } 13 | } 14 | 15 | -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/Fleck/SubProtocolNegotiator.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Linq; 3 | using System.Collections.Generic; 4 | 5 | namespace Fleck 6 | { 7 | public static class SubProtocolNegotiator 8 | { 9 | public static string Negotiate(IEnumerable server, IEnumerable client) 10 | { 11 | if (!server.Any() || !client.Any()) { 12 | return null; 13 | } 14 | 15 | var matches = client.Intersect(server); 16 | if (!matches.Any()) { 17 | throw new SubProtocolNegotiationFailureException("Unable to negotiate a subprotocol"); 18 | } 19 | return matches.First(); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/Fleck/WebSocketConnectionInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Text.RegularExpressions; 3 | using System; 4 | 5 | namespace Fleck 6 | { 7 | public class WebSocketConnectionInfo : IWebSocketConnectionInfo 8 | { 9 | const string CookiePattern = @"((;\s)*(?[^=]+)=(?[^\;]+))+"; 10 | private static readonly Regex CookieRegex = new Regex(CookiePattern, RegexOptions.Compiled); 11 | 12 | public static WebSocketConnectionInfo Create(WebSocketHttpRequest request, string clientIp, int clientPort, string negotiatedSubprotocol) 13 | { 14 | var info = new WebSocketConnectionInfo 15 | { 16 | Origin = request["Origin"] ?? request["Sec-WebSocket-Origin"], 17 | Host = request["Host"], 18 | SubProtocol = request["Sec-WebSocket-Protocol"], 19 | Path = request.Path, 20 | ClientIpAddress = clientIp, 21 | ClientPort = clientPort, 22 | NegotiatedSubProtocol = negotiatedSubprotocol 23 | }; 24 | var cookieHeader = request["Cookie"]; 25 | 26 | if (cookieHeader != null) 27 | { 28 | var match = CookieRegex.Match(cookieHeader); 29 | var fields = match.Groups["cookie_name"].Captures; 30 | var values = match.Groups["cookie_value"].Captures; 31 | for (var i = 0; i < fields.Count; i++) 32 | { 33 | var name = fields[i].ToString(); 34 | var value = values[i].ToString(); 35 | info.Cookies[name] = value; 36 | } 37 | } 38 | 39 | return info; 40 | } 41 | 42 | 43 | WebSocketConnectionInfo() 44 | { 45 | Cookies = new Dictionary(); 46 | Id = Guid.NewGuid(); 47 | } 48 | 49 | public string NegotiatedSubProtocol { get; private set; } 50 | public string SubProtocol { get; private set; } 51 | public string Origin { get; private set; } 52 | public string Host { get; private set; } 53 | public string Path { get; private set; } 54 | public string ClientIpAddress { get; set; } 55 | public int ClientPort { get; set; } 56 | public Guid Id { get; set; } 57 | 58 | public IDictionary Cookies { get; private set; } 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/Fleck/WebSocketException.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | namespace Fleck 3 | { 4 | public class WebSocketException : Exception 5 | { 6 | public WebSocketException(ushort statusCode) : base() 7 | { 8 | StatusCode = statusCode; 9 | } 10 | 11 | public WebSocketException(ushort statusCode, string message) : base(message) 12 | { 13 | StatusCode = statusCode; 14 | } 15 | 16 | public WebSocketException(ushort statusCode, string message, Exception innerException) : base(message, innerException) 17 | { 18 | StatusCode = statusCode; 19 | } 20 | 21 | public ushort StatusCode { get; private set;} 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/Fleck/WebSocketHttpRequest.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System; 3 | 4 | namespace Fleck 5 | { 6 | public class WebSocketHttpRequest 7 | { 8 | private readonly IDictionary _headers = new Dictionary(System.StringComparer.InvariantCultureIgnoreCase); 9 | 10 | public string Method { get; set; } 11 | 12 | public string Path { get; set; } 13 | 14 | public string Body { get; set; } 15 | 16 | public string Scheme { get; set; } 17 | 18 | public byte[] Bytes { get; set; } 19 | 20 | public string this[string name] 21 | { 22 | get 23 | { 24 | string value; 25 | return _headers.TryGetValue(name, out value) ? value : default(string); 26 | } 27 | } 28 | 29 | public IDictionary Headers 30 | { 31 | get 32 | { 33 | return _headers; 34 | } 35 | } 36 | 37 | public string[] SubProtocols { 38 | get 39 | { 40 | string value; 41 | return _headers.TryGetValue("Sec-WebSocket-Protocol", out value) 42 | ? value.Split(new []{',', ' '}, StringSplitOptions.RemoveEmptyEntries) 43 | : new string[0]; 44 | } 45 | } 46 | } 47 | } 48 | 49 | -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/Fleck/WebSocketStatusCodes.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Fleck 4 | { 5 | public static class WebSocketStatusCodes 6 | { 7 | public const ushort NormalClosure = 1000; 8 | public const ushort GoingAway = 1001; 9 | public const ushort ProtocolError = 1002; 10 | public const ushort UnsupportedDataType = 1003; 11 | public const ushort NoStatusReceived = 1005; 12 | public const ushort AbnormalClosure = 1006; 13 | public const ushort InvalidFramePayloadData = 1007; 14 | public const ushort PolicyViolation = 1008; 15 | public const ushort MessageTooBig = 1009; 16 | public const ushort MandatoryExt = 1010; 17 | public const ushort InternalServerError = 1011; 18 | public const ushort TLSHandshake = 1015; 19 | 20 | public const ushort ApplicationError = 3000; 21 | 22 | public static ushort[] ValidCloseCodes = new []{ 23 | NormalClosure, GoingAway, ProtocolError, UnsupportedDataType, 24 | InvalidFramePayloadData, PolicyViolation, MessageTooBig, 25 | MandatoryExt, InternalServerError 26 | }; 27 | } 28 | } 29 | 30 | -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/IconLib/IconLib/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("IconLib")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("IconLib")] 13 | [assembly: AssemblyCopyright("Copyright © Franco, Gustavo 2006")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("648f0c95-df6f-4556-ae00-f9e17be4c056")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Revision and Build Numbers 33 | // by using the '*' as shown below: 34 | [assembly: AssemblyVersion("0.73.*")] 35 | //[assembly: AssemblyFileVersion("0.73.*")] 36 | -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/IconLib/IconLib/Resources/EmptyDll.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/SebWindowsClient/IconLib/IconLib/Resources/EmptyDll.dll -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/IconLib/IconLib/System/Drawing/IconLib/AuthorAttribute.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2006, Gustavo Franco 2 | // Email: gustavo_franco@hotmail.com 3 | // All rights reserved. 4 | 5 | // Redistribution and use in source and binary forms, with or without modification, 6 | // are permitted provided that the following conditions are met: 7 | 8 | // Redistributions of source code must retain the above copyright notice, 9 | // this list of conditions and the following disclaimer. 10 | // Redistributions in binary form must reproduce the above copyright notice, 11 | // this list of conditions and the following disclaimer in the documentation 12 | // and/or other materials provided with the distribution. 13 | 14 | // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY 15 | // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE 16 | // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR 17 | // PURPOSE. IT CAN BE DISTRIBUTED FREE OF CHARGE AS LONG AS THIS HEADER 18 | // REMAINS UNCHANGED. 19 | using System; 20 | using System.Collections.Generic; 21 | using System.Text; 22 | 23 | namespace System.Drawing.IconLib 24 | { 25 | [AttributeUsage(AttributeTargets.Class | 26 | AttributeTargets.Enum | 27 | AttributeTargets.Interface | 28 | AttributeTargets.Struct, 29 | AllowMultiple = true)] 30 | [Author("Franco, Gustavo")] 31 | internal class AuthorAttribute : Attribute 32 | { 33 | #region Constructors 34 | public AuthorAttribute(string authorName) 35 | { 36 | } 37 | #endregion 38 | } 39 | } 40 | 41 | -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/IconLib/IconLib/System/Drawing/IconLib/ColorProcessing/IColorQuantizer.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2006, Gustavo Franco 2 | // Email: gustavo_franco@hotmail.com 3 | // All rights reserved. 4 | 5 | // Redistribution and use in source and binary forms, with or without modification, 6 | // are permitted provided that the following conditions are met: 7 | 8 | // Redistributions of source code must retain the above copyright notice, 9 | // this list of conditions and the following disclaimer. 10 | // Redistributions in binary form must reproduce the above copyright notice, 11 | // this list of conditions and the following disclaimer in the documentation 12 | // and/or other materials provided with the distribution. 13 | 14 | // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY 15 | // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE 16 | // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR 17 | // PURPOSE. IT CAN BE DISTRIBUTED FREE OF CHARGE AS LONG AS THIS HEADER 18 | // REMAINS UNCHANGED. 19 | using System; 20 | using System.Text; 21 | using System.Drawing.Imaging; 22 | using System.Collections.Generic; 23 | 24 | namespace System.Drawing.IconLib.ColorProcessing 25 | { 26 | [Author("Franco, Gustavo")] 27 | public interface IColorQuantizer 28 | { 29 | #region Methods 30 | Bitmap Convert(Bitmap source, PixelFormat outputFormat); 31 | #endregion 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/IconLib/IconLib/System/Drawing/IconLib/ColorProcessing/IDithering.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2006, Gustavo Franco 2 | // Email: gustavo_franco@hotmail.com 3 | // All rights reserved. 4 | 5 | // Redistribution and use in source and binary forms, with or without modification, 6 | // are permitted provided that the following conditions are met: 7 | 8 | // Redistributions of source code must retain the above copyright notice, 9 | // this list of conditions and the following disclaimer. 10 | // Redistributions in binary form must reproduce the above copyright notice, 11 | // this list of conditions and the following disclaimer in the documentation 12 | // and/or other materials provided with the distribution. 13 | 14 | // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY 15 | // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE 16 | // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR 17 | // PURPOSE. IT CAN BE DISTRIBUTED FREE OF CHARGE AS LONG AS THIS HEADER 18 | // REMAINS UNCHANGED. 19 | using System; 20 | using System.Text; 21 | using System.Drawing; 22 | using System.Drawing.IconLib; 23 | using System.Collections.Generic; 24 | 25 | namespace System.Drawing.IconLib.ColorProcessing 26 | { 27 | [Author("Franco, Gustavo")] 28 | public interface IDithering 29 | { 30 | #region Methods 31 | unsafe void Disperse(byte* pixelSource, int x, int y, byte bpp, int stride, int width, int height, Color colorEntry); 32 | #endregion 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/IconLib/IconLib/System/Drawing/IconLib/ColorProcessing/IPaletteQuantizer.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2006, Gustavo Franco 2 | // Email: gustavo_franco@hotmail.com 3 | // All rights reserved. 4 | 5 | // Redistribution and use in source and binary forms, with or without modification, 6 | // are permitted provided that the following conditions are met: 7 | 8 | // Redistributions of source code must retain the above copyright notice, 9 | // this list of conditions and the following disclaimer. 10 | // Redistributions in binary form must reproduce the above copyright notice, 11 | // this list of conditions and the following disclaimer in the documentation 12 | // and/or other materials provided with the distribution. 13 | 14 | // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY 15 | // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE 16 | // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR 17 | // PURPOSE. IT CAN BE DISTRIBUTED FREE OF CHARGE AS LONG AS THIS HEADER 18 | // REMAINS UNCHANGED. 19 | using System; 20 | using System.Text; 21 | using System.Drawing; 22 | using System.Drawing.Imaging; 23 | using System.Collections.Generic; 24 | 25 | namespace System.Drawing.IconLib.ColorProcessing 26 | { 27 | [Author("Franco, Gustavo")] 28 | public interface IPaletteQuantizer 29 | { 30 | #region Methods 31 | ColorPalette CreatePalette(Bitmap image, int maxColors, int bitsPerPixel); 32 | #endregion 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/IconLib/IconLib/System/Drawing/IconLib/Exceptions/IconNameAlreadyExistException.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2006, Gustavo Franco 2 | // Email: gustavo_franco@hotmail.com 3 | // All rights reserved. 4 | 5 | // Redistribution and use in source and binary forms, with or without modification, 6 | // are permitted provided that the following conditions are met: 7 | 8 | // Redistributions of source code must retain the above copyright notice, 9 | // this list of conditions and the following disclaimer. 10 | // Redistributions in binary form must reproduce the above copyright notice, 11 | // this list of conditions and the following disclaimer in the documentation 12 | // and/or other materials provided with the distribution. 13 | 14 | // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY 15 | // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE 16 | // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR 17 | // PURPOSE. IT CAN BE DISTRIBUTED FREE OF CHARGE AS LONG AS THIS HEADER 18 | // REMAINS UNCHANGED. 19 | namespace System.Drawing.IconLib.Exceptions 20 | { 21 | [Author("Franco, Gustavo")] 22 | public class IconNameAlreadyExistException : Exception 23 | { 24 | #region Constructors 25 | public IconNameAlreadyExistException() : base ("Icon name already exist in the collection") 26 | { 27 | } 28 | #endregion 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/IconLib/IconLib/System/Drawing/IconLib/Exceptions/ImageAlreadyExistsException.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2006, Gustavo Franco 2 | // Email: gustavo_franco@hotmail.com 3 | // All rights reserved. 4 | 5 | // Redistribution and use in source and binary forms, with or without modification, 6 | // are permitted provided that the following conditions are met: 7 | 8 | // Redistributions of source code must retain the above copyright notice, 9 | // this list of conditions and the following disclaimer. 10 | // Redistributions in binary form must reproduce the above copyright notice, 11 | // this list of conditions and the following disclaimer in the documentation 12 | // and/or other materials provided with the distribution. 13 | 14 | // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY 15 | // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE 16 | // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR 17 | // PURPOSE. IT CAN BE DISTRIBUTED FREE OF CHARGE AS LONG AS THIS HEADER 18 | // REMAINS UNCHANGED. 19 | namespace System.Drawing.IconLib.Exceptions 20 | { 21 | [Author("Franco, Gustavo")] 22 | public class ImageAlreadyExistsException : Exception 23 | { 24 | #region Constructors 25 | public ImageAlreadyExistsException() : base ("Image with same size and format already exists") 26 | { 27 | } 28 | #endregion 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/IconLib/IconLib/System/Drawing/IconLib/Exceptions/ImageTooBigException.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2006, Gustavo Franco 2 | // Email: gustavo_franco@hotmail.com 3 | // All rights reserved. 4 | 5 | // Redistribution and use in source and binary forms, with or without modification, 6 | // are permitted provided that the following conditions are met: 7 | 8 | // Redistributions of source code must retain the above copyright notice, 9 | // this list of conditions and the following disclaimer. 10 | // Redistributions in binary form must reproduce the above copyright notice, 11 | // this list of conditions and the following disclaimer in the documentation 12 | // and/or other materials provided with the distribution. 13 | 14 | // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY 15 | // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE 16 | // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR 17 | // PURPOSE. IT CAN BE DISTRIBUTED FREE OF CHARGE AS LONG AS THIS HEADER 18 | // REMAINS UNCHANGED. 19 | namespace System.Drawing.IconLib.Exceptions 20 | { 21 | [Author("Franco, Gustavo")] 22 | public class ImageTooBigException : Exception 23 | { 24 | #region Constructors 25 | public ImageTooBigException() : base ("Image width and height cannot be bigger than 256 pixels.") 26 | { 27 | } 28 | #endregion 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/IconLib/IconLib/System/Drawing/IconLib/Exceptions/InvalidFileException.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2006, Gustavo Franco 2 | // Email: gustavo_franco@hotmail.com 3 | // All rights reserved. 4 | 5 | // Redistribution and use in source and binary forms, with or without modification, 6 | // are permitted provided that the following conditions are met: 7 | 8 | // Redistributions of source code must retain the above copyright notice, 9 | // this list of conditions and the following disclaimer. 10 | // Redistributions in binary form must reproduce the above copyright notice, 11 | // this list of conditions and the following disclaimer in the documentation 12 | // and/or other materials provided with the distribution. 13 | 14 | // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY 15 | // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE 16 | // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR 17 | // PURPOSE. IT CAN BE DISTRIBUTED FREE OF CHARGE AS LONG AS THIS HEADER 18 | // REMAINS UNCHANGED. 19 | namespace System.Drawing.IconLib.Exceptions 20 | { 21 | [Author("Franco, Gustavo")] 22 | public class InvalidFileException : Exception 23 | { 24 | #region Constructors 25 | public InvalidFileException() : base ("Format not recognized by IconLib") 26 | { 27 | } 28 | #endregion 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/IconLib/IconLib/System/Drawing/IconLib/Exceptions/InvalidICLFileException.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2006, Gustavo Franco 2 | // Email: gustavo_franco@hotmail.com 3 | // All rights reserved. 4 | 5 | // Redistribution and use in source and binary forms, with or without modification, 6 | // are permitted provided that the following conditions are met: 7 | 8 | // Redistributions of source code must retain the above copyright notice, 9 | // this list of conditions and the following disclaimer. 10 | // Redistributions in binary form must reproduce the above copyright notice, 11 | // this list of conditions and the following disclaimer in the documentation 12 | // and/or other materials provided with the distribution. 13 | 14 | // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY 15 | // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE 16 | // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR 17 | // PURPOSE. IT CAN BE DISTRIBUTED FREE OF CHARGE AS LONG AS THIS HEADER 18 | // REMAINS UNCHANGED. 19 | 20 | namespace System.Drawing.IconLib.Exceptions 21 | { 22 | [Author("Franco, Gustavo")] 23 | public class InvalidICLFileException : Exception 24 | { 25 | #region Constructors 26 | public InvalidICLFileException() : base ("Invalid ICL file.") 27 | { 28 | } 29 | #endregion 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/IconLib/IconLib/System/Drawing/IconLib/Exceptions/InvalidIconFormatSelectionException.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2006, Gustavo Franco 2 | // Email: gustavo_franco@hotmail.com 3 | // All rights reserved. 4 | 5 | // Redistribution and use in source and binary forms, with or without modification, 6 | // are permitted provided that the following conditions are met: 7 | 8 | // Redistributions of source code must retain the above copyright notice, 9 | // this list of conditions and the following disclaimer. 10 | // Redistributions in binary form must reproduce the above copyright notice, 11 | // this list of conditions and the following disclaimer in the documentation 12 | // and/or other materials provided with the distribution. 13 | 14 | // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY 15 | // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE 16 | // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR 17 | // PURPOSE. IT CAN BE DISTRIBUTED FREE OF CHARGE AS LONG AS THIS HEADER 18 | // REMAINS UNCHANGED. 19 | namespace System.Drawing.IconLib.Exceptions 20 | { 21 | [Author("Franco, Gustavo")] 22 | public class InvalidIconFormatSelectionException : Exception 23 | { 24 | #region Constructors 25 | public InvalidIconFormatSelectionException() : base ("Invalid IconImageFormat selection") 26 | { 27 | } 28 | #endregion 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/IconLib/IconLib/System/Drawing/IconLib/Exceptions/InvalidIconSelectionException.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2006, Gustavo Franco 2 | // Email: gustavo_franco@hotmail.com 3 | // All rights reserved. 4 | 5 | // Redistribution and use in source and binary forms, with or without modification, 6 | // are permitted provided that the following conditions are met: 7 | 8 | // Redistributions of source code must retain the above copyright notice, 9 | // this list of conditions and the following disclaimer. 10 | // Redistributions in binary form must reproduce the above copyright notice, 11 | // this list of conditions and the following disclaimer in the documentation 12 | // and/or other materials provided with the distribution. 13 | 14 | // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY 15 | // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE 16 | // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR 17 | // PURPOSE. IT CAN BE DISTRIBUTED FREE OF CHARGE AS LONG AS THIS HEADER 18 | // REMAINS UNCHANGED. 19 | namespace System.Drawing.IconLib.Exceptions 20 | { 21 | [Author("Franco, Gustavo")] 22 | public class InvalidIconSelectionException : Exception 23 | { 24 | #region Constructors 25 | public InvalidIconSelectionException() : base ("Selected Icon is invalid") 26 | { 27 | } 28 | #endregion 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/IconLib/IconLib/System/Drawing/IconLib/Exceptions/InvalidMultiIconFileException.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2006, Gustavo Franco 2 | // Email: gustavo_franco@hotmail.com 3 | // All rights reserved. 4 | 5 | // Redistribution and use in source and binary forms, with or without modification, 6 | // are permitted provided that the following conditions are met: 7 | 8 | // Redistributions of source code must retain the above copyright notice, 9 | // this list of conditions and the following disclaimer. 10 | // Redistributions in binary form must reproduce the above copyright notice, 11 | // this list of conditions and the following disclaimer in the documentation 12 | // and/or other materials provided with the distribution. 13 | 14 | // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY 15 | // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE 16 | // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR 17 | // PURPOSE. IT CAN BE DISTRIBUTED FREE OF CHARGE AS LONG AS THIS HEADER 18 | // REMAINS UNCHANGED. 19 | namespace System.Drawing.IconLib.Exceptions 20 | { 21 | [Author("Franco, Gustavo")] 22 | public class InvalidMultiIconFileException : Exception 23 | { 24 | #region Constructors 25 | public InvalidMultiIconFileException() : base ("Invalid icon file. Signature does not match") 26 | { 27 | } 28 | #endregion 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/IconLib/IconLib/System/Drawing/IconLib/Exceptions/InvalidMultiIconMaskBitmap.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2006, Gustavo Franco 2 | // Email: gustavo_franco@hotmail.com 3 | // All rights reserved. 4 | 5 | // Redistribution and use in source and binary forms, with or without modification, 6 | // are permitted provided that the following conditions are met: 7 | 8 | // Redistributions of source code must retain the above copyright notice, 9 | // this list of conditions and the following disclaimer. 10 | // Redistributions in binary form must reproduce the above copyright notice, 11 | // this list of conditions and the following disclaimer in the documentation 12 | // and/or other materials provided with the distribution. 13 | 14 | // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY 15 | // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE 16 | // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR 17 | // PURPOSE. IT CAN BE DISTRIBUTED FREE OF CHARGE AS LONG AS THIS HEADER 18 | // REMAINS UNCHANGED. 19 | namespace System.Drawing.IconLib.Exceptions 20 | { 21 | [Author("Franco, Gustavo")] 22 | public class InvalidMultiIconMaskBitmap : Exception 23 | { 24 | #region Constructors 25 | public InvalidMultiIconMaskBitmap() : base ("Invalid mask bitmap. Mask must be same size as the bitmap and PixelFormat must be Format1bppIndexed") 26 | { 27 | } 28 | #endregion 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/IconLib/IconLib/System/Drawing/IconLib/Exceptions/InvalidPixelFormatException.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2006, Gustavo Franco 2 | // Email: gustavo_franco@hotmail.com 3 | // All rights reserved. 4 | 5 | // Redistribution and use in source and binary forms, with or without modification, 6 | // are permitted provided that the following conditions are met: 7 | 8 | // Redistributions of source code must retain the above copyright notice, 9 | // this list of conditions and the following disclaimer. 10 | // Redistributions in binary form must reproduce the above copyright notice, 11 | // this list of conditions and the following disclaimer in the documentation 12 | // and/or other materials provided with the distribution. 13 | 14 | // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY 15 | // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE 16 | // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR 17 | // PURPOSE. IT CAN BE DISTRIBUTED FREE OF CHARGE AS LONG AS THIS HEADER 18 | // REMAINS UNCHANGED. 19 | using System.Drawing.Imaging; 20 | namespace System.Drawing.IconLib.Exceptions 21 | { 22 | [Author("Franco, Gustavo")] 23 | public class InvalidPixelFormatException : Exception 24 | { 25 | #region Constructors 26 | public InvalidPixelFormatException(PixelFormat invalid, PixelFormat expected) : base (invalid != PixelFormat.Undefined ? 27 | "PixelFormat " + invalid.ToString() + " is invalid" : 28 | expected != PixelFormat.Undefined ? 29 | "PixelFormat " + expected.ToString() + " expected" : 30 | "Invalid PixelFormat") 31 | { 32 | } 33 | #endregion 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/IconLib/IconLib/System/Drawing/IconLib/LibraryFormats/ILibraryFormat.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2006, Gustavo Franco 2 | // Email: gustavo_franco@hotmail.com 3 | // All rights reserved. 4 | 5 | // Redistribution and use in source and binary forms, with or without modification, 6 | // are permitted provided that the following conditions are met: 7 | 8 | // Redistributions of source code must retain the above copyright notice, 9 | // this list of conditions and the following disclaimer. 10 | // Redistributions in binary form must reproduce the above copyright notice, 11 | // this list of conditions and the following disclaimer in the documentation 12 | // and/or other materials provided with the distribution. 13 | 14 | // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY 15 | // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE 16 | // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR 17 | // PURPOSE. IT CAN BE DISTRIBUTED FREE OF CHARGE AS LONG AS THIS HEADER 18 | // REMAINS UNCHANGED. 19 | using System; 20 | using System.IO; 21 | using System.Text; 22 | using System.Collections.Generic; 23 | 24 | namespace System.Drawing.IconLib.EncodingFormats 25 | { 26 | public interface ILibraryFormat 27 | { 28 | bool IsRecognizedFormat(Stream stream); 29 | void Save(MultiIcon singleIcon, Stream stream); 30 | MultiIcon Load(Stream stream); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/Intptr.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace SebWindowsClient 7 | { 8 | class Intptr 9 | { 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/ProcessUtils/ExecutableInfo.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace SebWindowsClient.ProcessUtils 4 | { 5 | public class ExecutableInfo 6 | { 7 | public int? ProcessId { get; } 8 | public string Name { get; } 9 | public string OriginalName { get; } 10 | 11 | public ExecutableInfo(string name, string originalName = null, int? processId = null) 12 | { 13 | Name = name ?? string.Empty; 14 | OriginalName = originalName ?? string.Empty; 15 | ProcessId = processId; 16 | } 17 | 18 | public bool HasName 19 | { 20 | get { return !String.IsNullOrEmpty(Name); } 21 | } 22 | 23 | public bool HasOriginalName 24 | { 25 | get { return !String.IsNullOrEmpty(OriginalName); } 26 | } 27 | 28 | public bool NamesAreEqual 29 | { 30 | get { return Name.Equals(OriginalName, StringComparison.InvariantCultureIgnoreCase); } 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/ProcessUtils/SEBClipboard.cs: -------------------------------------------------------------------------------- 1 | // ------------------------------------------------------------- 2 | // Viktor tomas 3 | // BFH-TI, http://www.ti.bfh.ch 4 | // Biel, 2012 5 | // ------------------------------------------------------------- 6 | using System; 7 | using System.Collections.Generic; 8 | using System.Linq; 9 | using System.Text; 10 | using System.Windows.Forms; 11 | using SebWindowsClient.DiagnosticsUtils; 12 | using System.Threading; 13 | using System.Runtime.InteropServices; 14 | 15 | namespace SebWindowsClient.ProcessUtils 16 | { 17 | public class SEBClipboard 18 | { 19 | [DllImport("user32.dll")] 20 | static extern bool EmptyClipboard(); 21 | 22 | [DllImport("user32.dll", SetLastError = true)] 23 | static extern bool OpenClipboard(IntPtr hWndNewOwner); 24 | 25 | [DllImport("user32.dll", SetLastError = true)] 26 | static extern bool CloseClipboard(); 27 | /// ---------------------------------------------------------------------------------------- 28 | /// 29 | /// Clean clipboard. 30 | /// 31 | /// ---------------------------------------------------------------------------------------- 32 | public static void CleanClipboard() 33 | { 34 | try 35 | { 36 | //Clipboard.Clear(); 37 | //IntPtr handleWnd = GetOpenClipboardWindow(); 38 | OpenClipboard(IntPtr.Zero); 39 | EmptyClipboard(); 40 | CloseClipboard(); 41 | } 42 | catch (Exception ex) 43 | { 44 | Logger.AddError("Error ocurred by cleaning Clipboard.", null, ex, ex.Message); 45 | 46 | } 47 | 48 | } 49 | 50 | /// ---------------------------------------------------------------------------------------- 51 | /// 52 | /// Clean clipboard. 53 | /// 54 | /// ---------------------------------------------------------------------------------------- 55 | //public static void CleanClipboard() 56 | //{ 57 | // Thread staThread = new Thread(SEBClipboard._CleanClipboard); 58 | // staThread.SetApartmentState(ApartmentState.STA); 59 | // staThread.Start(); 60 | // staThread.Join(); 61 | //} 62 | 63 | } 64 | } 65 | -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | 4 | // General Information about an assembly is controlled through the following 5 | // set of attributes. Change these attribute values to modify the information 6 | // associated with an assembly. 7 | [assembly: AssemblyTitle("Safe Exam Browser")] 8 | [assembly: AssemblyDescription("Safe Exam Browser")] 9 | [assembly: AssemblyConfiguration("")] 10 | [assembly: AssemblyCompany("ETH Zurich")] 11 | [assembly: AssemblyProduct("Safe Exam Browser")] 12 | [assembly: AssemblyCopyright("Copyright © 2010-2017 ETH Zurich, Educational Development and Technology (LET)")] 13 | [assembly: AssemblyTrademark("")] 14 | [assembly: AssemblyCulture("")] 15 | 16 | // Setting ComVisible to false makes the types in this assembly not visible 17 | // to COM components. If you need to access a type in this assembly from 18 | // COM, set the ComVisible attribute to true on that type. 19 | [assembly: ComVisible(false)] 20 | 21 | // The following GUID is for the ID of the typelib if this project is exposed to COM 22 | [assembly: Guid("f378d07d-ef62-43c8-994b-e2a5788f7af2")] 23 | 24 | // Version information for an assembly consists of the following four values: 25 | // 26 | // Major Version 27 | // Minor Version 28 | // Build Number 29 | // Revision 30 | // 31 | // You can specify all the values or you can default the Build and Revision Numbers 32 | // by using the '*' as shown below: 33 | [assembly: AssemblyVersion("2.1.*")] 34 | [assembly: AssemblyInformationalVersion("2.1.8.1")] 35 | -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.34011 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace SebWindowsClient.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "12.0.0.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/Resources/SEBCloseWindowIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/SebWindowsClient/Resources/SEBCloseWindowIcon.png -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/Resources/SebGlobalDialogImage.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/SebWindowsClient/Resources/SebGlobalDialogImage.bmp -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/Resources/battery.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/SebWindowsClient/Resources/battery.png -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/Resources/keyboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/SebWindowsClient/Resources/keyboard.png -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/Resources/keyboard_old.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/SebWindowsClient/Resources/keyboard_old.png -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/Resources/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/SebWindowsClient/Resources/loading.gif -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/Resources/quit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/SebWindowsClient/Resources/quit.png -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/Resources/quit_1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/SebWindowsClient/Resources/quit_1024.png -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/Resources/quit_old.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/SebWindowsClient/Resources/quit_old.png -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/Resources/reload.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/SebWindowsClient/Resources/reload.png -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/Resources/restartExam.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/SebWindowsClient/Resources/restartExam.png -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/Resources/signalstrength/0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/SebWindowsClient/Resources/signalstrength/0.png -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/Resources/signalstrength/0_old.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/SebWindowsClient/Resources/signalstrength/0_old.png -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/Resources/signalstrength/100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/SebWindowsClient/Resources/signalstrength/100.png -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/Resources/signalstrength/100_old.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/SebWindowsClient/Resources/signalstrength/100_old.png -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/Resources/signalstrength/33.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/SebWindowsClient/Resources/signalstrength/33.png -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/Resources/signalstrength/33_old.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/SebWindowsClient/Resources/signalstrength/33_old.png -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/Resources/signalstrength/66.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/SebWindowsClient/Resources/signalstrength/66.png -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/Resources/signalstrength/66_old.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/SebWindowsClient/Resources/signalstrength/66_old.png -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/Resources/signalstrength/nointerface.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/SebWindowsClient/Resources/signalstrength/nointerface.png -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/Resources/signalstrength/nointerface_old.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/SebWindowsClient/Resources/signalstrength/nointerface_old.png -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/Resources/skipBack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/SebWindowsClient/Resources/skipBack.png -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/SEBException.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | // ------------------------------------------------------------- 4 | // Viktor Tomas 5 | // BFH-TI, http://www.ti.bfh.ch 6 | // Biel, 2012 7 | // ------------------------------------------------------------- 8 | 9 | namespace SebWindowsClient 10 | { 11 | /// --------------------------------------------------------------------------------------- 12 | /// 13 | /// This exception is thrown when an exception specific to the SEB occurs. 14 | /// 15 | /// --------------------------------------------------------------------------------------- 16 | public class SEBException : ApplicationException 17 | { 18 | /// --------------------------------------------------------------------------------------- 19 | /// 20 | /// Initialize a new instance of the SEBException exception. 21 | /// 22 | /// The error message that explains the reason for the exception. 23 | /// The exception that is the cause of the current exception. 24 | /// --------------------------------------------------------------------------------------- 25 | public SEBException(string message, Exception innerException = null) 26 | : base(message, innerException) 27 | { 28 | 29 | } 30 | 31 | /// --------------------------------------------------------------------------------------- 32 | /// 33 | /// Get or set the source of the exception. 34 | /// 35 | /// --------------------------------------------------------------------------------------- 36 | public override string Source 37 | { 38 | get { return "SEB"; } 39 | set { base.Source = value; } 40 | } 41 | } 42 | 43 | public class SEBNotAllowedToRunEception : Exception 44 | { 45 | public SEBNotAllowedToRunEception(string message) : base(message) 46 | { 47 | } 48 | } 49 | } -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/SEBLoading.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Windows.Forms; 3 | using SebWindowsClient.ConfigurationUtils; 4 | using SebWindowsClient.DesktopUtils; 5 | using SebWindowsClient.DiagnosticsUtils; 6 | 7 | namespace SebWindowsClient 8 | { 9 | public partial class SEBLoading : Form 10 | { 11 | #region instance 12 | public SEBLoading() 13 | { 14 | InitializeComponent(); 15 | } 16 | 17 | /// 18 | /// Close the window - invoked via CloseLoading() 19 | /// 20 | /// 21 | /// 22 | public void KillMe(object o, EventArgs e) 23 | { 24 | this.Close(); 25 | } 26 | 27 | #endregion 28 | 29 | #region static Thread Access 30 | 31 | private static SEBLoading loading; 32 | 33 | /// 34 | /// Call via separate thread 35 | /// var thread = new Thread(SEBLoading.StartLoading); 36 | /// thread.Start(); 37 | /// 38 | static public void StartLoading() 39 | { 40 | // Set the threads desktop to the new desktop if "Create new Desktop" is activated 41 | if ((Boolean)SEBClientInfo.getSebSetting(SEBSettings.KeyCreateNewDesktop)[SEBSettings.KeyCreateNewDesktop] || SEBClientInfo.CreateNewDesktopOldValue) 42 | { 43 | SEBDesktopController.SetCurrent(SEBClientInfo.SEBNewlDesktop); 44 | } 45 | else 46 | { 47 | SEBDesktopController.SetCurrent(SEBClientInfo.OriginalDesktop); 48 | } 49 | 50 | // Instance a loading screen form given the image names 51 | loading = new SEBLoading(); 52 | // Run the form 53 | Application.Run(loading); 54 | } 55 | 56 | /// 57 | /// Invokes the running thread with the windows and closes it 58 | /// 59 | public static void CloseLoading() 60 | { 61 | if (loading == null) 62 | return; 63 | try 64 | { 65 | Logger.AddInformation("shutting down loading screen"); 66 | // Shut down the loading screen 67 | if(loading.InvokeRequired) 68 | { 69 | loading.Invoke(new EventHandler(loading.KillMe)); 70 | } 71 | else 72 | { 73 | loading.Close(); 74 | } 75 | //loading.Dispose(); 76 | Logger.AddInformation("loading screen shut down"); 77 | } 78 | catch (Exception) 79 | { } 80 | } 81 | 82 | #endregion 83 | } 84 | } 85 | -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/SEBUIStrings.de.Designer.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/SebWindowsClient/SEBUIStrings.de.Designer.cs -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/SEBicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/SebWindowsClient/SEBicon.ico -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/UI/IconExtractor.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Drawing; 4 | using System.Drawing.IconLib; 5 | using System.Linq; 6 | using System.Text; 7 | using System.Threading.Tasks; 8 | using System.Windows.Automation.Peers; 9 | using System.Windows.Forms; 10 | 11 | namespace SebWindowsClient.UI 12 | { 13 | public static class Iconextractor 14 | { 15 | public static Bitmap ExtractHighResIconImage(string path, int? size = null) 16 | { 17 | var mi = new MultiIcon(); 18 | mi.Load(path); 19 | var si = mi.FirstOrDefault(); 20 | if (si != null) 21 | { 22 | IconImage icon; 23 | if (size != null) 24 | { 25 | if (size.Value <= 32) 26 | { 27 | try 28 | { 29 | return Icon.ExtractAssociatedIcon(path).ToBitmap(); 30 | } 31 | catch 32 | { 33 | } 34 | } 35 | icon = si.Where(x => x.Size.Height >= size.Value).OrderBy(x => x.Size.Height).FirstOrDefault(); 36 | if (icon != null) 37 | return icon.Icon.ToBitmap(); 38 | } 39 | var max = si.Max(_i => _i.Size.Height); 40 | icon = si.FirstOrDefault(i => i.Size.Height == max); 41 | if(icon != null) 42 | return icon.Transparent; 43 | } 44 | return null; 45 | } 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/UI/SEBBatterylifeToolStripButton.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Drawing; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | using System.Windows; 8 | using System.Windows.Forms; 9 | using SebWindowsClient.Properties; 10 | using FontStyle = System.Drawing.FontStyle; 11 | 12 | namespace SebWindowsClient.UI 13 | { 14 | public class SEBBatterylifeToolStripButton : SEBToolStripButton 15 | { 16 | private PowerStatus powerStatus = SystemInformation.PowerStatus; 17 | private Timer timer; 18 | 19 | public SEBBatterylifeToolStripButton() 20 | { 21 | InitializeComponent(); 22 | 23 | timer = new Timer(); 24 | timer.Tick += OnTimerTick; 25 | timer.Interval = 5000; 26 | timer.Start(); 27 | Update(); 28 | } 29 | 30 | private void OnTimerTick(object sender, EventArgs e) 31 | { 32 | Update(); 33 | } 34 | 35 | private void Update() 36 | { 37 | this.Visible = SystemInformation.PowerStatus.PowerLineStatus == System.Windows.Forms.PowerLineStatus.Offline; 38 | this.Text = String.Format(" {0}%", powerStatus.BatteryLifePercent*100); 39 | } 40 | 41 | protected override void Dispose(bool disposing) 42 | { 43 | timer.Tick -= OnTimerTick; 44 | timer.Stop(); 45 | timer = null; 46 | base.Dispose(disposing); 47 | } 48 | 49 | private void InitializeComponent() 50 | { 51 | // 52 | // SEBBatterylifeToolStripButton 53 | // 54 | base.Image = (Bitmap)Resources.ResourceManager.GetObject("battery"); 55 | base.TextImageRelation = TextImageRelation.Overlay; 56 | this.Alignment = ToolStripItemAlignment.Right; 57 | base.ForeColor = Color.Black; 58 | base.Font = new Font("Arial", (int)(base.FontSize * 0.7), FontStyle.Bold); 59 | base.Enabled = false; 60 | } 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/UI/SEBQuitToolStripButton.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Drawing; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | using System.Windows.Forms; 8 | using SebWindowsClient.ConfigurationUtils; 9 | using SebWindowsClient.DiagnosticsUtils; 10 | using SebWindowsClient.Properties; 11 | using SebWindowsClient.WlanUtils; 12 | 13 | namespace SebWindowsClient.UI 14 | { 15 | public class SEBQuitToolStripButton : SEBToolStripButton 16 | { 17 | 18 | public SEBQuitToolStripButton() 19 | { 20 | this.ToolTipText = SEBUIStrings.confirmQuitting; 21 | this.Alignment = ToolStripItemAlignment.Right; 22 | base.Image = (Bitmap) Resources.ResourceManager.GetObject("quit"); 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/UI/SEBReloadBrowserToolStripButton.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Drawing; 3 | using System.Linq; 4 | using System.Windows.Forms; 5 | using SebWindowsClient.ConfigurationUtils; 6 | using SebWindowsClient.ProcessUtils; 7 | using SebWindowsClient.Properties; 8 | using SebWindowsClient.XULRunnerCommunication; 9 | 10 | 11 | namespace SebWindowsClient.UI 12 | { 13 | public class SEBReloadBrowserToolStripButton : SEBToolStripButton 14 | { 15 | public SEBReloadBrowserToolStripButton() 16 | { 17 | this.ToolTipText = SEBUIStrings.reloadPage; 18 | base.Image = (Bitmap)Resources.ResourceManager.GetObject("reload"); 19 | this.BackColor = Color.White; 20 | this.Alignment = ToolStripItemAlignment.Right; 21 | } 22 | 23 | protected override void OnClick(EventArgs e) 24 | { 25 | try 26 | { 27 | SEBWindowHandler.BringWindowToTop( 28 | SEBWindowHandler.GetOpenWindows() 29 | .First(w => w.Key.GetProcess().GetExecutableName().Contains("xul")).Key); 30 | 31 | if ((bool) SEBSettings.settingsCurrent[SEBSettings.KeyTouchOptimized]) 32 | { 33 | if ((bool) SEBSettings.settingsCurrent[SEBSettings.KeyShowReloadWarning]) 34 | { 35 | if ( 36 | SEBMessageBox.Show(SEBUIStrings.reloadPage, SEBUIStrings.reloadPageMessage, 37 | MessageBoxIcon.Warning, MessageBoxButtons.YesNo) == DialogResult.Yes) 38 | { 39 | SEBXULRunnerWebSocketServer.SendReloadPage(); 40 | } 41 | } 42 | else 43 | { 44 | SEBXULRunnerWebSocketServer.SendReloadPage(); 45 | } 46 | } 47 | else 48 | { 49 | SEBXULRunnerWebSocketServer.SendReloadPage(); 50 | } 51 | } 52 | catch{} 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/UI/SEBToolStripButton.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using System.Windows.Forms; 7 | using SebWindowsClient.ConfigurationUtils; 8 | 9 | namespace SebWindowsClient.UI 10 | { 11 | public class SEBToolStripButton : ToolStripButton 12 | { 13 | public SEBToolStripButton() 14 | { 15 | this.ImageScaling = ToolStripItemImageScaling.SizeToFit; 16 | } 17 | 18 | public string Identifier 19 | { get; set; } 20 | 21 | public string WindowHandlingProcess 22 | { get; set; } 23 | 24 | public int FontSize 25 | { 26 | get 27 | { 28 | float sebTaskBarHeight = (int) SEBSettings.valueForDictionaryKey(SEBSettings.settingsCurrent, SEBSettings.KeyTaskBarHeight); 29 | float fontSize = 10 * (sebTaskBarHeight/40) * SEBClientInfo.scaleFactor; 30 | if ((Boolean) SEBClientInfo.getSebSetting(SEBSettings.KeyTouchOptimized)[SEBSettings.KeyTouchOptimized]) 31 | { 32 | return (int)Math.Round(1.7 * fontSize); 33 | } 34 | else 35 | { 36 | return (int) Math.Round(fontSize); 37 | } 38 | } 39 | } 40 | 41 | protected override void OnMouseHover(EventArgs e) 42 | { 43 | if (this.Parent != null) 44 | Parent.Focus(); 45 | base.OnMouseHover(e); 46 | } 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/UI/SEBWatchToolStripButton.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Drawing; 3 | using System.Windows.Forms; 4 | using FontStyle = System.Drawing.FontStyle; 5 | 6 | namespace SebWindowsClient.UI 7 | { 8 | public class SEBWatchToolStripButton : SEBToolStripButton 9 | { 10 | private Timer timer; 11 | 12 | public SEBWatchToolStripButton() 13 | { 14 | InitializeComponent(); 15 | 16 | timer = new Timer(); 17 | timer.Tick += OnTimerTick; 18 | timer.Interval = 10000; 19 | timer.Start(); 20 | Update(); 21 | } 22 | 23 | private void OnTimerTick(object sender, EventArgs e) 24 | { 25 | Update(); 26 | } 27 | 28 | private void Update() 29 | { 30 | this.Text = DateTime.Now.ToShortTimeString(); 31 | } 32 | 33 | protected override void Dispose(bool disposing) 34 | { 35 | timer.Tick -= OnTimerTick; 36 | timer.Stop(); 37 | timer = null; 38 | base.Dispose(disposing); 39 | } 40 | 41 | private void InitializeComponent() 42 | { 43 | this.Alignment = ToolStripItemAlignment.Right; 44 | base.ForeColor = Color.Black; 45 | base.Font = new Font("Arial", base.FontSize, FontStyle.Bold); 46 | base.Enabled = false; 47 | } 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/refresh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/SebWindowsClient/refresh.png -------------------------------------------------------------------------------- /SebWindowsClient/SebWindowsClient/taskbarToolStrip.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Windows.Forms; 6 | 7 | namespace SebWindowsClient 8 | { 9 | /// ---------------------------------------------------------------------------------------- 10 | /// 11 | /// Custom ToolStrip class which activates and handles click in once. 12 | /// 13 | /// ---------------------------------------------------------------------------------------- 14 | class TaskbarToolStrip : ToolStrip 15 | { 16 | protected override void WndProc(ref System.Windows.Forms.Message m) 17 | { 18 | //WM_MOUSEACTIVATE = 0x21 19 | if (m.Msg == 0x21 && this.CanFocus && !this.Focused) 20 | this.Focus(); 21 | base.WndProc(ref m); 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /SebWindowsConfig/PermittedApplicationInformation.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace SebWindowsConfig 8 | { 9 | public class PermittedApplicationInformation 10 | { 11 | public string Title { get; set; } 12 | public string Executable { get; set; } 13 | public string OriginalName { get; set; } 14 | public string Path { get; set; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /SebWindowsConfig/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("SEB Config Tool")] 9 | [assembly: AssemblyDescription("SEB Configuration Tool")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("ETH Zurich")] 12 | [assembly: AssemblyProduct("SEB Config Tool")] 13 | [assembly: AssemblyCopyright("Copyright © 2010-2017 ETH Zurich, Educational Development and Technology (LET)")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("f7e6a767-de76-46c8-9ec7-387ff2a120c0")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("2.1.*")] 36 | [assembly: AssemblyInformationalVersion("2.1.8")] 37 | -------------------------------------------------------------------------------- /SebWindowsConfig/Properties/Resources.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.34011 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace SebWindowsConfig.Properties { 12 | using System; 13 | 14 | 15 | /// 16 | /// A strongly-typed resource class, for looking up localized strings, etc. 17 | /// 18 | // This class was auto-generated by the StronglyTypedResourceBuilder 19 | // class via a tool like ResGen or Visual Studio. 20 | // To add or remove a member, edit your .ResX file then rerun ResGen 21 | // with the /str option, or rebuild your VS project. 22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] 23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 25 | internal class Resources { 26 | 27 | private static global::System.Resources.ResourceManager resourceMan; 28 | 29 | private static global::System.Globalization.CultureInfo resourceCulture; 30 | 31 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] 32 | internal Resources() { 33 | } 34 | 35 | /// 36 | /// Returns the cached ResourceManager instance used by this class. 37 | /// 38 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 39 | internal static global::System.Resources.ResourceManager ResourceManager { 40 | get { 41 | if (object.ReferenceEquals(resourceMan, null)) { 42 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("SebWindowsConfig.Properties.Resources", typeof(Resources).Assembly); 43 | resourceMan = temp; 44 | } 45 | return resourceMan; 46 | } 47 | } 48 | 49 | /// 50 | /// Overrides the current thread's CurrentUICulture property for all 51 | /// resource lookups using this strongly typed resource class. 52 | /// 53 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 54 | internal static global::System.Globalization.CultureInfo Culture { 55 | get { 56 | return resourceCulture; 57 | } 58 | set { 59 | resourceCulture = value; 60 | } 61 | } 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /SebWindowsConfig/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.34011 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace SebWindowsConfig.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "12.0.0.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /SebWindowsConfig/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /SebWindowsConfig/SEBConfigToolIcon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsConfig/SEBConfigToolIcon.ico -------------------------------------------------------------------------------- /SebWindowsConfig/SebWindowsConfigProgram.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Windows.Forms; 5 | 6 | // 7 | // SEBWindowsClientForm.cs 8 | // SafeExamBrowser 9 | // 10 | // Copyright (c) 2010-2017 Viktor Tomas, Dirk Bauer, Daniel R. Schneider, Pascal Wyss, 11 | // ETH Zurich, Educational Development and Technology (LET), 12 | // based on the original idea of Safe Exam Browser 13 | // by Stefan Schneider, University of Giessen 14 | // Project concept: Thomas Piendl, Daniel R. Schneider, 15 | // Dirk Bauer, Kai Reuter, Tobias Halbherr, Karsten Burger, Marco Lehre, 16 | // Brigitte Schmucki, Oliver Rahs. French localization: Nicolas Dunand 17 | // 18 | // ``The contents of this file are subject to the Mozilla Public License 19 | // Version 1.1 (the "License"); you may not use this file except in 20 | // compliance with the License. You may obtain a copy of the License at 21 | // http://www.mozilla.org/MPL/ 22 | // 23 | // Software distributed under the License is distributed on an "AS IS" 24 | // basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the 25 | // License for the specific language governing rights and limitations 26 | // under the License. 27 | // 28 | // The Original Code is Safe Exam Browser for Windows. 29 | // 30 | // The Initial Developers of the Original Code are Viktor Tomas, 31 | // Dirk Bauer, Daniel R. Schneider, Pascal Wyss. 32 | // Portions created by Viktor Tomas, Dirk Bauer, Daniel R. Schneider, Pascal Wyss 33 | // are Copyright (c) 2010-2017 Viktor Tomas, Dirk Bauer, Daniel R. Schneider, 34 | // Pascal Wyss, ETH Zurich, Educational Development and Technology (LET), 35 | // based on the original idea of Safe Exam Browser 36 | // by Stefan Schneider, University of Giessen. All Rights Reserved. 37 | // 38 | // Contributor(s): ______________________________________. 39 | // 40 | 41 | namespace SebWindowsConfig 42 | { 43 | static class SebWindowsConfigProgram 44 | { 45 | /// 46 | /// The main entry point for the application. 47 | /// 48 | [STAThread] 49 | static void Main() 50 | { 51 | Application.EnableVisualStyles(); 52 | Application.SetCompatibleTextRenderingDefault(false); 53 | Application.Run(new SebWindowsConfigForm()); 54 | } 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /SebWindowsConfig/TabIcons/32x32/IconHelp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsConfig/TabIcons/32x32/IconHelp.png -------------------------------------------------------------------------------- /SebWindowsConfig/TabIcons/32x32/Icon_01_General.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsConfig/TabIcons/32x32/Icon_01_General.png -------------------------------------------------------------------------------- /SebWindowsConfig/TabIcons/32x32/Icon_02_ConfigFile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsConfig/TabIcons/32x32/Icon_02_ConfigFile.png -------------------------------------------------------------------------------- /SebWindowsConfig/TabIcons/32x32/Icon_03_Appearance.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsConfig/TabIcons/32x32/Icon_03_Appearance.png -------------------------------------------------------------------------------- /SebWindowsConfig/TabIcons/32x32/Icon_04_Browser.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsConfig/TabIcons/32x32/Icon_04_Browser.png -------------------------------------------------------------------------------- /SebWindowsConfig/TabIcons/32x32/Icon_05_DownUploads.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsConfig/TabIcons/32x32/Icon_05_DownUploads.png -------------------------------------------------------------------------------- /SebWindowsConfig/TabIcons/32x32/Icon_06_Exam.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsConfig/TabIcons/32x32/Icon_06_Exam.png -------------------------------------------------------------------------------- /SebWindowsConfig/TabIcons/32x32/Icon_07_Applications.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsConfig/TabIcons/32x32/Icon_07_Applications.png -------------------------------------------------------------------------------- /SebWindowsConfig/TabIcons/32x32/Icon_08_Network.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsConfig/TabIcons/32x32/Icon_08_Network.png -------------------------------------------------------------------------------- /SebWindowsConfig/TabIcons/32x32/Icon_09_Security.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsConfig/TabIcons/32x32/Icon_09_Security.png -------------------------------------------------------------------------------- /SebWindowsConfig/TabIcons/32x32/Icon_10_Registry.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsConfig/TabIcons/32x32/Icon_10_Registry.png -------------------------------------------------------------------------------- /SebWindowsConfig/TabIcons/32x32/Icon_11_HookedKeys.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsConfig/TabIcons/32x32/Icon_11_HookedKeys.png -------------------------------------------------------------------------------- /SebWindowsConfig/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /SebWindowsInstallLicence.rtf: -------------------------------------------------------------------------------- 1 | {\rtf1\ansi\ansicpg1252\deff0\nouicompat{\fonttbl{\f0\fswiss\fcharset0 ArialMT;}} 2 | {\colortbl ;\red0\green0\blue255;} 3 | {\*\generator Riched20 10.0.15063}\viewkind4\uc1 4 | \pard\b\f0\fs20\lang7 Licenses\b0\par 5 | \par 6 | \b Safe Exam Browser for Windows 2.1.8\b0\par 7 | \par 8 | \'a9 2010-2017 Damian B\'fcchel, Daniel R. Schneider, Dirk Bauer, \b ETH Zurich, Educational Development and Technology (LET)\b0 , Pascal Wyss, Viktor Tomas, Stefan Schneider, Oliver Rahs, based on the original idea of Safe Exam Browser by Stefan Schneider, University of Giessen.\par 9 | \par 10 | Project concept: Dr. Thomas Piendl, Daniel R. Schneider, Damian B\'fcchel, Dr. Dirk Bauer, Kai Reuter, Tobias Halbherr, Stefan Schneider, Karsten Burger, Marco Lehre, Brigitte Schmucki, Oliver Rahs.\par 11 | \par 12 | Safe Exam Browser and the contents of the browser component files (based on XULRunner) of this project are subject to the \b Mozilla Public License Version 1.1\b0 (the "License"); you may only use these files in compliance with the License. You may obtain a copy of the License at {{\field{\*\fldinst{HYPERLINK http://www.mozilla.org/MPL/ }}{\fldrslt{http://www.mozilla.org/MPL/\ul0\cf0}}}}\f0\fs20 .\par 13 | \par 14 | Important parts of this project have been carried out as part of the program "AAA/SWITCH \endash e-Infrastructure for e-Science" lead by SWITCH, the Swiss National Research and Education Network and the cooperative project "Learning Infrastructure" (part of the CRUS program "Information scientifique: acc\'e8s, traitement et sauvegarde") coordinated by SWITCH, and was supported by funds from the ETH Board and the State Secretariat for Education, Research and Innovation (SERI).\par 15 | } 16 | -------------------------------------------------------------------------------- /SebWindowsServiceWCF/App.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /SebWindowsServiceWCF/OSVersion.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.Win32; 2 | 3 | namespace SebWindowsServiceWCF 4 | { 5 | public static class OSVersion 6 | { 7 | private static string HKLM_GetString(string path, string key) 8 | { 9 | try 10 | { 11 | RegistryKey rk = Registry.LocalMachine.OpenSubKey(path); 12 | if (rk == null) return ""; 13 | return (string)rk.GetValue(key); 14 | } 15 | catch { return ""; } 16 | } 17 | 18 | public static string FriendlyName() 19 | { 20 | string ProductName = HKLM_GetString(@"SOFTWARE\Microsoft\Windows NT\CurrentVersion", "ProductName"); 21 | string CSDVersion = HKLM_GetString(@"SOFTWARE\Microsoft\Windows NT\CurrentVersion", "CSDVersion"); 22 | if (ProductName != "") 23 | { 24 | return (ProductName.StartsWith("Microsoft") ? "" : "Microsoft ") + ProductName + 25 | (CSDVersion != "" ? " " + CSDVersion : ""); 26 | } 27 | return ""; 28 | } 29 | 30 | public static bool IsWindows7 31 | { 32 | get 33 | { 34 | return OSVersion.FriendlyName().Contains("7"); 35 | } 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /SebWindowsServiceWCF/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.ServiceProcess; 3 | using SebWindowsServiceWCF.ServiceImplementations; 4 | 5 | namespace SebWindowsServiceWCF 6 | { 7 | static class Program 8 | { 9 | /// 10 | /// The main entry point for the application. 11 | /// 12 | static void Main() 13 | { 14 | try 15 | { 16 | ServiceBase[] ServicesToRun; 17 | ServicesToRun = new ServiceBase[] 18 | { 19 | new SebWindowsServiceWCF() 20 | }; 21 | ServiceBase.Run(ServicesToRun); 22 | } 23 | catch (Exception ex) 24 | { 25 | Logger.Log(ex,"Unable to run the service!"); 26 | } 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /SebWindowsServiceWCF/ProjectInstaller.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace SebWindowsServiceWCF 2 | { 3 | partial class ProjectInstaller 4 | { 5 | /// 6 | /// Required designer variable. 7 | /// 8 | private System.ComponentModel.IContainer components = null; 9 | 10 | /// 11 | /// Clean up any resources being used. 12 | /// 13 | /// true if managed resources should be disposed; otherwise, false. 14 | protected override void Dispose(bool disposing) 15 | { 16 | if (disposing && (components != null)) 17 | { 18 | components.Dispose(); 19 | } 20 | base.Dispose(disposing); 21 | } 22 | 23 | #region Component Designer generated code 24 | 25 | /// 26 | /// Required method for Designer support - do not modify 27 | /// the contents of this method with the code editor. 28 | /// 29 | private void InitializeComponent() 30 | { 31 | this.SebServiceProcessInstaller = new System.ServiceProcess.ServiceProcessInstaller(); 32 | this.SebServiceInstaller = new System.ServiceProcess.ServiceInstaller(); 33 | // 34 | // SebServiceProcessInstaller 35 | // 36 | this.SebServiceProcessInstaller.Account = System.ServiceProcess.ServiceAccount.LocalSystem; 37 | this.SebServiceProcessInstaller.Password = null; 38 | this.SebServiceProcessInstaller.Username = null; 39 | // 40 | // SebServiceInstaller 41 | // 42 | this.SebServiceInstaller.ServiceName = "SebWindowsService"; 43 | this.SebServiceInstaller.StartType = System.ServiceProcess.ServiceStartMode.Automatic; 44 | //this.SebServiceInstaller.Committed += new System.Configuration.Install.InstallEventHandler(this.SebServiceInstaller_Committed); 45 | //this.SebServiceInstaller.AfterUninstall += new System.Configuration.Install.InstallEventHandler(this.SebServiceInstaller_AfterUninstall); 46 | //this.SebServiceInstaller.BeforeUninstall += new System.Configuration.Install.InstallEventHandler(this.SebServiceInstaller_BeforeUninstall); 47 | // 48 | // ProjectInstaller 49 | // 50 | this.Installers.AddRange(new System.Configuration.Install.Installer[] { 51 | this.SebServiceProcessInstaller, 52 | this.SebServiceInstaller}); 53 | 54 | } 55 | 56 | #endregion 57 | 58 | private System.ServiceProcess.ServiceProcessInstaller SebServiceProcessInstaller; 59 | private System.ServiceProcess.ServiceInstaller SebServiceInstaller; 60 | } 61 | } -------------------------------------------------------------------------------- /SebWindowsServiceWCF/ProjectInstaller.cs: -------------------------------------------------------------------------------- 1 | using System.ComponentModel; 2 | 3 | namespace SebWindowsServiceWCF 4 | { 5 | [RunInstaller(true)] 6 | public partial class ProjectInstaller : System.Configuration.Install.Installer 7 | { 8 | 9 | public ProjectInstaller() 10 | { 11 | InitializeComponent(); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /SebWindowsServiceWCF/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("SEB Windows Service with WCF")] 9 | [assembly: AssemblyDescription("Part of Safe Exam Browser")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("ETH Zurich")] 12 | [assembly: AssemblyProduct("SEB Windows Service WCF")] 13 | [assembly: AssemblyCopyright("Copyright © 2010-2017 ETH Zurich, Educational Development and Technology (LET)")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("840b7729-87be-448b-aafb-04e0ccc941f1")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("2.1.*")] 36 | [assembly: AssemblyInformationalVersion("2.1.8")] 37 | -------------------------------------------------------------------------------- /SebWindowsServiceWCF/SEBicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsServiceWCF/SEBicon.ico -------------------------------------------------------------------------------- /SebWindowsServiceWCF/SebWindowsServiceWCF.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace SebWindowsServiceWCF 2 | { 3 | partial class SebWindowsServiceWCF 4 | { 5 | /// 6 | /// Required designer variable. 7 | /// 8 | private System.ComponentModel.IContainer components = null; 9 | 10 | /// 11 | /// Clean up any resources being used. 12 | /// 13 | /// true if managed resources should be disposed; otherwise, false. 14 | protected override void Dispose(bool disposing) 15 | { 16 | if (disposing && (components != null)) 17 | { 18 | components.Dispose(); 19 | } 20 | base.Dispose(disposing); 21 | } 22 | 23 | #region Component Designer generated code 24 | 25 | /// 26 | /// Required method for Designer support - do not modify 27 | /// the contents of this method with the code editor. 28 | /// 29 | private void InitializeComponent() 30 | { 31 | components = new System.ComponentModel.Container(); 32 | this.ServiceName = "Service1"; 33 | } 34 | 35 | #endregion 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /SebWindowsServiceWCF/SebWindowsServiceWCF.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.ServiceModel; 3 | using System.ServiceProcess; 4 | using System.Threading; 5 | using SEBWindowsServiceContracts; 6 | using SebWindowsServiceWCF.ServiceImplementations; 7 | 8 | namespace SebWindowsServiceWCF 9 | { 10 | public partial class SebWindowsServiceWCF : ServiceBase 11 | { 12 | private ServiceHost host; 13 | public SebWindowsServiceWCF() 14 | { 15 | InitializeComponent(); 16 | 17 | this.ServiceName = "SebWindowsService"; 18 | } 19 | 20 | private void InitializeHost() 21 | { 22 | if (host == null) 23 | { 24 | try 25 | { 26 | host = new ServiceHost( 27 | typeof(RegistryService)); 28 | host.AddServiceEndpoint(typeof(IRegistryServiceContract), 29 | new NetNamedPipeBinding(NetNamedPipeSecurityMode.Transport), 30 | "net.pipe://localhost/SebWindowsServiceWCF/service"); 31 | } 32 | catch (Exception ex) 33 | { 34 | Logger.Log(ex,"Unable to initialize service host!"); 35 | } 36 | 37 | } 38 | } 39 | 40 | protected override void OnStart(string[] args) 41 | { 42 | InitializeHost(); 43 | try 44 | { 45 | host.Open(); 46 | 47 | using (var service = new RegistryService()) 48 | { 49 | while (!service.Reset()) 50 | { 51 | Thread.Sleep(1000); 52 | } 53 | } 54 | } 55 | catch (Exception ex) 56 | { 57 | Logger.Log(ex,"Unable to start service host!"); 58 | } 59 | } 60 | 61 | protected override void OnStop() 62 | { 63 | try 64 | { 65 | if (host != null) 66 | host.Close(); 67 | 68 | using (var service = new RegistryService()) 69 | { 70 | service.Reset(); 71 | } 72 | } 73 | catch (Exception ex) 74 | { 75 | Logger.Log(ex,"Unable to stop service host!"); 76 | } 77 | } 78 | } 79 | } 80 | -------------------------------------------------------------------------------- /SebWindowsServiceWCF/ServiceImplementations/Logger.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Reflection; 4 | 5 | namespace SebWindowsServiceWCF.ServiceImplementations 6 | { 7 | /// 8 | /// Static implementation of a file logger 9 | /// 10 | public static class Logger 11 | { 12 | private static string _filepath; 13 | 14 | /// 15 | /// Logg the content of the exception together with a message 16 | /// 17 | /// Exception 18 | /// Message 19 | public static void Log(Exception ex, string content) 20 | { 21 | Log(String.Format("{3} {0}: {1}\n{2}", ex.Message, content, ex.StackTrace, ex.ToString())); 22 | } 23 | 24 | /// 25 | /// Log a message 26 | /// 27 | /// Message 28 | public static void Log(string content) 29 | { 30 | try 31 | { 32 | //The logfile is stored where the executable of the service is 33 | _filepath = String.Format(@"{0}\sebwindowsservice.log", Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)); 34 | if (!File.Exists(_filepath)) 35 | File.Create(_filepath); 36 | 37 | using (var file = new StreamWriter(_filepath, true)) 38 | { 39 | file.WriteLine(String.Format("*******\n{1}:{0}\n",content,DateTime.Now.ToLocalTime())); 40 | } 41 | } 42 | //If unable to log, you're lost... 43 | catch { } 44 | } 45 | } 46 | } 47 | --------------------------------------------------------------------------------