programmet · web viewprogrammet fungerer ved at man kørere .exe filen hvor efter login boksen...

30
Programmering Mathias Hauge, Casper Lundqvist, Tobias Brissing

Upload: phamthu

Post on 11-May-2018

227 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: Programmet · Web viewProgrammet fungerer ved at man kørere .exe filen hvor efter login boksen starter. Denne login boks består af 1 textbox som hedder txtUsername, 1 passwordbox

ProgrammeringMathias Hauge, Casper Lundqvist, Tobias Brissing

Page 2: Programmet · Web viewProgrammet fungerer ved at man kørere .exe filen hvor efter login boksen starter. Denne login boks består af 1 textbox som hedder txtUsername, 1 passwordbox

2

Aarhustech Programmering Mathias HaugeTobias Brissing

Casper Lundqvist

IndholdsfortegnelseProgrammet.....................................................................................................................................................3

SQL Database....................................................................................................................................................6

C#.....................................................................................................................................................................7

Windows Presentation Foundation..................................................................................................................9

Nedarvning.....................................................................................................................................................10

Loginscreen.xaml............................................................................................................................................12

LoginScreen.xaml.cs.......................................................................................................................................13

MainWindow.xaml.........................................................................................................................................15

MainWindow.xaml.cs.....................................................................................................................................19

MSI Installer (WIX Toolset).............................................................................................................................23

Page 3: Programmet · Web viewProgrammet fungerer ved at man kørere .exe filen hvor efter login boksen starter. Denne login boks består af 1 textbox som hedder txtUsername, 1 passwordbox

3

Aarhustech Programmering Mathias HaugeTobias Brissing

Casper Lundqvist

Programmet

Vores program som vi har lavet, er det program vi beskrev at vi ville lave i vores udviklings uge. Det er et program til en Service Desk som skal bruges til at effektivisere deres arbejdsgang ved at ha’ de genveje og programmer som de bruger mest til deres rådighed.

For at få adgang til genvejene og programmerne er applikationen programmeret sådan at den promter for brugernavn og password. Dette bliver holdt oppe imod en SQL database hvor ID, Username og password er gemt. Hvis det de skriver ind bliver fundet som match i SQL databasen så får de lov til at komme videre ind til programmet. Hvis der ikke bliver fundet en match, så vil der forekomme en popup med teksten ” Brugernavn eller Password er forkert”.

I programmet er følgende:

Sikkerhed:

Username Box Password box SQL database check

Genveje:

Computer Management Device Manager Display Settings Program and Features Regedit User Account Control Event Viewer Internet Properties Task Manager Network Settings Remote Desktop Connection Internet Explorer CMD Powershell Control Panel

Notepad Windows Remote Assistance

Programmer (eksekverbare .exe)

Speedtest Teamviewer 10 Putty Advanced Uninstaller Network Scanner Wireless Key Viewer Wireless Info Viewer Program Debugger Storage Size Analyser Internet Connectivity Monitor

Page 4: Programmet · Web viewProgrammet fungerer ved at man kørere .exe filen hvor efter login boksen starter. Denne login boks består af 1 textbox som hedder txtUsername, 1 passwordbox

4

Aarhustech Programmering Mathias HaugeTobias Brissing

Casper Lundqvist

Programmet fungerer ved at man kørere .exe filen hvor efter login boksen starter. Denne login boks består af 1 textbox som hedder txtUsername, 1 passwordbox som hedder txtPassword og en button som hedder btnSubmit. I de 2 boxe skrives brugernavn og password som bliver sendt via submit button til vores SQL database med strengen "SELECT COUNT(1) FROM tblUser WHERE UserName=@UserName AND Password=@Password". Hvis vores SQL data melder tilbage at der er en match bliver man sendt videre til vore MainWindows med applikationen med denne streng if (count == 1) {MainWindow dashboard = new MainWindow();dashboard.Show();this.Close(); }.

Man kan logge ind via submit knappen, men vi ville også gerne have at man kunne logge ind når man stod i password boxen og klikkede enter. For at gøre dette lavede vi en refactor af funktionen til submit knappen private void btnSubmit_Click(object sender, RoutedEventArgs e) {Login();} og kaldte på denne funktion igen med private void Window_KeyUp(object sender, KeyEventArgs e) { if (e.Key == Key.Enter) Login(); }

Vores program består bland andet af genveje, fx bliver taskmanager kørt med linjen private void Button8_Click(object sender, RoutedEventArgs e){System.Diagnostics.Process.Start("taskmgr");}. Nogle af de mere komplexe ting bliver kørt gennem en hidden cmd. Fx bliver internet propperties kørt med linjen private void Button7_Click(object sender, RoutedEventArgs e) { System.Diagnostics.Process process = new System.Diagnostics.Process(); System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo(); startInfo.CreateNoWindow = true; startInfo.UseShellExecute = false; startInfo.RedirectStandardOutput = true; startInfo.FileName = "CMD.exe"; startInfo.Arguments = "/c control inetcpl.cpl"; process.StartInfo = startInfo; process.Start(); process.WaitForExit(); }

For at få exe filerne med som resourcer bliver de via en .msi installer compilet med Wix Toolset fra RED. Dette gør at vores single executed .exe filer bliver installeret som resourcer i en folder hvor vi kan kalde på dem. Fx Putty kaldes med linjenprivate void Button19_Click(object sender, RoutedEventArgs e) { System.Diagnostics.Process.Start("C:/Program Files (x86)/DDS Toolbox/putty.exe"); }

Page 5: Programmet · Web viewProgrammet fungerer ved at man kørere .exe filen hvor efter login boksen starter. Denne login boks består af 1 textbox som hedder txtUsername, 1 passwordbox

5

Aarhustech Programmering Mathias HaugeTobias Brissing

Casper Lundqvist

Ved at bruge Wix Toolset kunne vi lave en MSI installer hvor vi kunne ha’ vores single .exe filer og vores database fil med over i. Dette gør at man kan køre programmet og de single .exe filer som vi har lagt som resourcer i vores msi pakke.

Der er også lavet en license.rtf fil med teksten til vores installer, billedet og andet ligger i resources mappen.

Page 6: Programmet · Web viewProgrammet fungerer ved at man kørere .exe filen hvor efter login boksen starter. Denne login boks består af 1 textbox som hedder txtUsername, 1 passwordbox

6

Aarhustech Programmering Mathias HaugeTobias Brissing

Casper Lundqvist

SQL DatabaseTil vores projekt gør vi brug af en SQL database, som indeholder en tabel med vores login oplysninger til programmer som ses i billedet nedenfor. SQL står for Structured Query Language og den udgave af SQL vi valgte at benytter er MSSQL 2014 som er udviklet af Microsoft.

tblUser

Her er tabellen som vores application holder sig op imod for at tjekke om brugernavn og password stemmer.

Page 7: Programmet · Web viewProgrammet fungerer ved at man kørere .exe filen hvor efter login boksen starter. Denne login boks består af 1 textbox som hedder txtUsername, 1 passwordbox

7

Aarhustech Programmering Mathias HaugeTobias Brissing

Casper Lundqvist

C#

C# er Microsofts multi-purpose languages som er et programmeringssprog, det bliver udviklet og vedligeholdt af Microsoft. C# gør det muligt for udviklere at opbygge en række sikre og robuste applikationer, der kører på .NET Framework. Du kan bruge C # til at oprette Windows-klientprogrammer, XML-webtjenester, distribuerede komponenter, klient-serverprogrammer, databaseapplikationer og meget mere. Visual C # giver en avanceret kode editor, praktiske brugergrænseflade designere, integreret debugger og mange andre værktøjer til at gøre det lettere at udvikle applikationer baseret på C # og .NET Framework.

C # det nemt at udvikle softwarekomponenter gennem flere innovative sprogkonstruktioner, herunder følgende:

Encapsulated method: signaturer kaldes delegerede, som muliggør typebeskyttede begivenhedsmeddelelser.

Properties: der tjener som accessors for private member variabler. Attributes: der giver deklarative metadata om typer i løbetid. Inline XML dokumentation kommentarer. Language-Integrated Query (LINQ): der indeholder indbyggede forespørgselsfunktioner på tværs af

forskellige datakilder.

Page 8: Programmet · Web viewProgrammet fungerer ved at man kørere .exe filen hvor efter login boksen starter. Denne login boks består af 1 textbox som hedder txtUsername, 1 passwordbox

8

Aarhustech Programmering Mathias HaugeTobias Brissing

Casper Lundqvist

C # -programmer kører på .NET Framework, en integreret del af Windows, der indeholder et virtuelt eksekveringssystem kaldet Common Language runtime (CLR) og et samlet sæt klassebiblioteker. CLR er den kommercielle implementering af Microsoft af den fælles sproginfrastruktur (CLI), en international standard, der er grundlaget for at skabe eksekverings- og udviklingsmiljøer, hvor sprog og biblioteker arbejder sammen problemfrit. Kildekode skrevet i C # er udarbejdet i et mellemsprog (IL), der er i overensstemmelse med CLI-specifikationen. IL-koden og ressourcerne, såsom bitmaps og strenge, gemmes på disk i en eksekverbar fil kaldet en samling, typisk med en udvidelse af .exe eller .dll. En samling indeholder et manifest, der giver information om samlingens typer, version, kultur og sikkerhedskrav. Når C # -programmet udføres, indlæses samlingen i CLR, som kan tage forskellige handlinger baseret på informationerne i manifestet. Derefter, hvis sikkerhedskravene er opfyldt, udfører CLR just-in-time (JIT) -samlingen for at konvertere IL-koden til indfødte maskininstruktioner. CLR tilbyder også andre tjenester i forbindelse med automatisk affaldsindsamling, undtagelseshåndtering og ressourceforvaltning. Kode, der udføres af CLR, kaldes undertiden som "administreret kode" i modsætning til "ustyret kode", som er kompileret til modersmålsprog, der er målrettet mod et specifikt system. Følgende diagram illustrerer kompileringstid og run-time-relationer for C # kildekodefiler, .NET Framework-klassebiblioteker, samlinger og CLR.

Page 9: Programmet · Web viewProgrammet fungerer ved at man kørere .exe filen hvor efter login boksen starter. Denne login boks består af 1 textbox som hedder txtUsername, 1 passwordbox

9

Aarhustech Programmering Mathias HaugeTobias Brissing

Casper Lundqvist

Windows Presentation Foundation

WPF, som står for Windows Presentation Foundation, som er Microsofts seneste tilgang til en GUI-ramme, der bruges sammen med .NET-framework.

Men hvad er en GUI-ramme? GUI står for grafisk brugergrænseflade. Windows har en GUI til at arbejde med din computer, og din browser, der giver dig mulighed for at surfe på nettet.

En GUI-framework giver dig mulighed for at oprette en applikation med en bred vifte af GUI-elementer, som etiketter, tekstbokse og andre velkendte elementer. Uden en GUI-framework skal du trække disse elementer manuelt og håndtere alle brugerinteraktionsscenarier som tekst og mus input. Dette er en masse arbejde, så de fleste udviklere vil i stedet bruge en GUI, som gør alt det grundlæggende arbejde og giver udviklerne mulighed for at fokusere på at lave gode applikationer.

Der er mange GUI-framework derude, men for .NET-udviklere er de mest interessante dem i øjeblikket WinForms og WPF. WPF er den nyeste, men Microsoft opretholder og understøtter fortsat WinForms.

Fordele ved at bruge WPF.

• Det er nyere og dermed mere i overensstemmelse med gældende standarder

• Microsoft bruger det til mange nye applikationer, f.eks. Visual Studio

• Det er mere fleksibelt, så du kan gøre flere ting uden at skulle skrive eller købe nye kontroller

• Når du skal bruge 3rd party controls, vil udviklerne af disse kontroller sandsynligvis være mere fokuserede på WPF fordi det er nyere

• XAML gør det nemt at oprette og redigere din GUI, og gør det muligt for arbejdet at blive delt mellem en designer (XAML) og en programmør (C #, VB.NET etc.)

• Databinding, som giver dig mulighed for at få en mere ren adskillelse af data og layout

• Bruger hardwareacceleration til tegning af GUI, for bedre ydeevne

• Det giver dig mulighed for at lave brugergrænseflader til både Windows-applikationer og webapplikationer (Silverlight / XBAP)

Page 10: Programmet · Web viewProgrammet fungerer ved at man kørere .exe filen hvor efter login boksen starter. Denne login boks består af 1 textbox som hedder txtUsername, 1 passwordbox

10

Aarhustech Programmering Mathias HaugeTobias Brissing

Casper Lundqvist

Nedarvning

Et af de vigtigste begreber i objektorienteret programmering er nedarvning eller inheritance. nedarvning giver os mulighed for at definere en Class i form af en anden Class, hvilket gør det lettere at oprette og vedligeholde et stykke software. Dette giver også mulighed for at genbruge kodefunktionaliteten og fremskynde implementeringstiden.

Når du opretter en Class, kan du i stedet for at skrive helt ny data member og member functions. Den nye Class skal nedarve member af en eksisterende Class. Denne eksisterende Class kaldes Base Class, og den nye Class betegnes som den Derived Class.

Eksempel for nedarvning:

Eksempel nedenfor viser hvordan nedarvning virker i forhold til den Class med navnet Shape og de andre underliggende Classes er Child Class.

Page 11: Programmet · Web viewProgrammet fungerer ved at man kørere .exe filen hvor efter login boksen starter. Denne login boks består af 1 textbox som hedder txtUsername, 1 passwordbox

11

Aarhustech Programmering Mathias HaugeTobias Brissing

Casper Lundqvist

I følgende billede nedenfor kan der ses brugen af disse Classes til nedarvning i praksis

Page 12: Programmet · Web viewProgrammet fungerer ved at man kørere .exe filen hvor efter login boksen starter. Denne login boks består af 1 textbox som hedder txtUsername, 1 passwordbox

12

Aarhustech Programmering Mathias HaugeTobias Brissing

Casper Lundqvist

Loginscreen.xaml

<Window x:Class="wpfloginscreen.LoginScreen" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:wpfloginscreen" mc:Ignorable="d" Title="Aarhustech App Login" Height="300" Width="300" FontSize="14" Background="#04c582" KeyUp="Window_KeyUp"> <Border Background="Black" CornerRadius="20" Margin="20"> <StackPanel Margin="20"> <Label Content="IT Support" Foreground="White" FontSize="25" HorizontalAlignment="Center"/> <Separator></Separator> <Label Content="Brugernavn" Foreground="White" FontSize="13" /> <TextBox Name="txtUsername" Background="#545d6a" Foreground="White" FontSize="18"/> <Label Content="Password" Foreground="White" FontSize="13" /> <PasswordBox Name="txtPassword" Background="#545d6a" Foreground="White" FontSize="18"/> <Button Name="btnSubmit" Click="btnSubmit_Click" Content="Login" Margin="60 10" Background="#545d6a" Foreground="White" FontSize="13"/> </StackPanel> </Border></Window>

Page 13: Programmet · Web viewProgrammet fungerer ved at man kørere .exe filen hvor efter login boksen starter. Denne login boks består af 1 textbox som hedder txtUsername, 1 passwordbox

13

Aarhustech Programmering Mathias HaugeTobias Brissing

Casper Lundqvist

LoginScreen.xaml.cs

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows;using System.Windows.Controls;using System.Windows.Data;using System.Windows.Documents;using System.Windows.Input;using System.Windows.Media;using System.Windows.Media.Imaging;using System.Windows.Shapes;using System.Data.SqlClient;

namespace wpfloginscreen{ /// <summary> /// Interaction logic for LoginScreen.xaml /// </summary> public partial class LoginScreen : Window { public LoginScreen() { InitializeComponent(); }

private void btnSubmit_Click(object sender, RoutedEventArgs e) { Login();

}

private void Login() { SqlConnection sqlcon = new SqlConnection(@"Data Source=DESKTOP-G1B7T9B\SQLEXPRESS; Initial Catalog=LoginDB; Integrated Security = true;"); try { if (sqlcon.State == System.Data.ConnectionState.Closed) sqlcon.Open(); string querry = "SELECT COUNT(1) FROM tblUser WHERE UserName=@UserName AND Password=@Password"; SqlCommand sqlCmd = new SqlCommand(querry, sqlcon); sqlCmd.CommandType = System.Data.CommandType.Text; sqlCmd.Parameters.AddWithValue("@UserName", txtUsername.Text); sqlCmd.Parameters.AddWithValue("@Password", txtPassword.Password); int count = Convert.ToInt32(sqlCmd.ExecuteScalar()); if (count == 1) { MainWindow dashboard = new MainWindow(); dashboard.Show(); this.Close(); } else

Page 14: Programmet · Web viewProgrammet fungerer ved at man kørere .exe filen hvor efter login boksen starter. Denne login boks består af 1 textbox som hedder txtUsername, 1 passwordbox

14

Aarhustech Programmering Mathias HaugeTobias Brissing

Casper Lundqvist

{ MessageBox.Show("Brugernavn eller Password er forkert"); } } catch (Exception ex) { MessageBox.Show(ex.Message); } }

private void Window_KeyUp(object sender, KeyEventArgs e) { if (e.Key == Key.Enter) Login(); } }}

Page 15: Programmet · Web viewProgrammet fungerer ved at man kørere .exe filen hvor efter login boksen starter. Denne login boks består af 1 textbox som hedder txtUsername, 1 passwordbox

15

Aarhustech Programmering Mathias HaugeTobias Brissing

Casper Lundqvist

MainWindow.xaml

Page 16: Programmet · Web viewProgrammet fungerer ved at man kørere .exe filen hvor efter login boksen starter. Denne login boks består af 1 textbox som hedder txtUsername, 1 passwordbox

16

Aarhustech Programmering Mathias HaugeTobias Brissing

Casper Lundqvist

<Window x:Class="wpfloginscreen.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:wpfloginscreen" xmlns:tb="http://www.hardcodet.net/taskbar" mc:Ignorable="d" WindowStartupLocation="Manual" WindowStyle="ToolWindow" Title="Udvilking projekt Aarhustech" MinWidth="178" Width="178" MinHeight="700" SizeToContent="Height" Icon="Resources/Martz90-Hex-Settings.ico" Topmost="True"> <Window.Resources> <Style x:Key="DarkBtn" TargetType="{x:Type Button}"> <Setter Property="Margin" Value="0,0,5,3"/> <Setter Property="BorderBrush" Value="{x:Null}"/> <Setter Property="Foreground" Value="White"/> <Setter Property="Background" Value="#FF474747"/> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type Button}"> <Border Background="{TemplateBinding Background}"> <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/> </Border> </ControlTemplate> </Setter.Value> </Setter> <Style.Triggers> <Trigger Property="IsMouseOver" Value="True"> <Setter Property="Background" Value="#FF323131"/> </Trigger> <Trigger Property="IsPressed" Value="True"> <Trigger.EnterActions> <BeginStoryboard> <Storyboard> <ColorAnimation Storyboard.TargetProperty="(Control.Background).(SolidColorBrush.Color)" To="DarkGray"/> </Storyboard> </BeginStoryboard> </Trigger.EnterActions> </Trigger> </Style.Triggers> </Style> <ControlTemplate x:Key="ButtonControlTemplate1" TargetType="{x:Type Button}"> <Grid/> </ControlTemplate> </Window.Resources> <Grid x:Name="Computer_Management" Margin="10" Background="#FFF3F3F3"> <Grid.RowDefinitions> <RowDefinition Height="Auto"/> <RowDefinition Height="Auto"/> <RowDefinition Height="1*"/> </Grid.RowDefinitions> <Grid.OpacityMask> <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"> <GradientStop Color="Black" Offset="0"/>

Page 17: Programmet · Web viewProgrammet fungerer ved at man kørere .exe filen hvor efter login boksen starter. Denne login boks består af 1 textbox som hedder txtUsername, 1 passwordbox

17

Aarhustech Programmering Mathias HaugeTobias Brissing

Casper Lundqvist

<GradientStop Color="#FFB8B8B8" Offset="1"/> </LinearGradientBrush> </Grid.OpacityMask> <TextBlock x:Name="label" Text="Udvikling Projekt" HorizontalAlignment="Left" VerticalAlignment="Top" FontFamily="Open Sans" FontSize="18" Foreground="Black" Grid.Column="0" TextWrapping="Wrap"/> <Image x:Name="Aarhustech_png" Grid.Row="1 " Source="Resources/Aarhustech.png" Stretch="None"/> <WrapPanel Grid.Row="2" Grid.ColumnSpan="2" Orientation="Vertical" Margin="0,10,0,0"> <Button Content="Computer Management" Style="{StaticResource DarkBtn}" Click="Button_Click"/> <Button Content="Device Manager" Style="{StaticResource DarkBtn}" Click="Button1_Click"/> <Button Content="Display Settings" Style="{StaticResource DarkBtn}" Click="Button3_Click"/> <Button Content="Program and Features" Style="{StaticResource DarkBtn}" Click="Button2_Click"/> <Button Content="Regedit" Style="{StaticResource DarkBtn}" Click="Button4_Click"/>

<Button Content="User Account Control" Style="{StaticResource DarkBtn}" Click="Button5_Click"/>

<Button Content="Event Viewer" Style="{StaticResource DarkBtn}" Click="Button6_Click"/>

<Button Content="Internet Properties" Style="{StaticResource DarkBtn}" Click="Button7_Click"/>

<Button Content="Task Manager" Style="{StaticResource DarkBtn}" Click="Button8_Click"/>

<Button Content="Network Settings" Style="{StaticResource DarkBtn}" Click="Button9_Click"/>

<Button Content="Remote Desktop Connection" Style="{StaticResource DarkBtn}" Click="Button10_Click"/>

<Button Content="Internet Explorer" Style="{StaticResource DarkBtn}" Click="Button11_Click"/>

<Button Content="CMD" Style="{StaticResource DarkBtn}" Click="Button12_Click"/>

<Button Content="Powershell" Style="{StaticResource DarkBtn}" Click="Button13_Click"/>

<Button Content="Control Panel" Style="{StaticResource DarkBtn}" Click="Button15_Click"/>

<Button Content="Speedtest" Style="{StaticResource DarkBtn}" Click="Button16_Click"/>

<Button Content="Teamviewer 10" Style="{StaticResource DarkBtn}" Click="Button17_Click"/>

<Button Content="Windows Remote Assistance" Style="{StaticResource DarkBtn}" Click="Button18_Click"/>

Page 18: Programmet · Web viewProgrammet fungerer ved at man kørere .exe filen hvor efter login boksen starter. Denne login boks består af 1 textbox som hedder txtUsername, 1 passwordbox

18

Aarhustech Programmering Mathias HaugeTobias Brissing

Casper Lundqvist

<Button Content="Putty" Style="{StaticResource DarkBtn}" Click="Button19_Click"/>

<Button Content="Advanced Uninstaller" Style="{StaticResource DarkBtn}" Click="Button20_Click"/>

<Button Content="Network Scanner" Style="{StaticResource DarkBtn}" Click="Button21_Click"/>

<Button Content="Wireless Key Viewer" Style="{StaticResource DarkBtn}" Click="Button22_Click"/>

<Button Content="Notepad" Style="{StaticResource DarkBtn}" Click="Button23_Click"/>

<Button Content="Wireless Info Viewer" Style="{StaticResource DarkBtn}" Click="Button24_Click"/>

<Button Content="Program Debugger" Style="{StaticResource DarkBtn}" Click="Button25_Click"/>

<Button Content="Storage Size Analyser" Style="{StaticResource DarkBtn}" Click="Button26_Click"/>

<Button Content="Internet Connectivity Monitor" Style="{StaticResource DarkBtn}" Click="Button27_Click"/>

</WrapPanel> </Grid></Window>

Page 19: Programmet · Web viewProgrammet fungerer ved at man kørere .exe filen hvor efter login boksen starter. Denne login boks består af 1 textbox som hedder txtUsername, 1 passwordbox

19

Aarhustech Programmering Mathias HaugeTobias Brissing

Casper Lundqvist

MainWindow.xaml.cs

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows;using System.Windows.Controls;using System.Windows.Data;using System.Windows.Documents;using System.Windows.Input;using System.Windows.Media;using System.Windows.Media.Imaging;using System.Windows.Navigation;using System.Windows.Shapes;

namespace wpfloginscreen{ /// <summary> /// Interaction logic for MainWindow.xaml /// </summary> public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); this.Loaded += new RoutedEventHandler(MainWindow_Loaded); }

void MainWindow_Loaded(object sender, RoutedEventArgs e) { this.Left = System.Windows.Forms.Screen.PrimaryScreen.WorkingArea.Right - this.Width; this.Top = 0; }

private void Computer_Management_Click(object sender, RoutedEventArgs e) {

}

private void Button_Click(object sender, RoutedEventArgs e) { System.Diagnostics.Process.Start("compmgmt.msc"); } private void Button1_Click(object sender, RoutedEventArgs e) { System.Diagnostics.Process.Start("devmgmt.msc"); }

private void Button2_Click(object sender, RoutedEventArgs e) { System.Diagnostics.Process.Start("appwiz.cpl"); }

Page 20: Programmet · Web viewProgrammet fungerer ved at man kørere .exe filen hvor efter login boksen starter. Denne login boks består af 1 textbox som hedder txtUsername, 1 passwordbox

20

Aarhustech Programmering Mathias HaugeTobias Brissing

Casper Lundqvist

private void Button3_Click(object sender, RoutedEventArgs e) { System.Diagnostics.Process.Start("desk.cpl"); }

private void Button4_Click(object sender, RoutedEventArgs e) { System.Diagnostics.Process.Start("Regedit.exe"); }

private void Button5_Click(object sender, RoutedEventArgs e) { System.Diagnostics.Process process = new System.Diagnostics.Process(); System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo(); startInfo.CreateNoWindow = true; startInfo.UseShellExecute = false; startInfo.RedirectStandardOutput = true; startInfo.FileName = "CMD.exe"; startInfo.Arguments = "/c Control nusrmgr.cpl"; process.StartInfo = startInfo; process.Start(); process.WaitForExit(); }

private void Button6_Click(object sender, RoutedEventArgs e) { System.Diagnostics.Process.Start("eventvwr"); }

private void Button7_Click(object sender, RoutedEventArgs e) { System.Diagnostics.Process process = new System.Diagnostics.Process(); System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo(); startInfo.CreateNoWindow = true; startInfo.UseShellExecute = false; startInfo.RedirectStandardOutput = true; startInfo.FileName = "CMD.exe"; startInfo.Arguments = "/c control inetcpl.cpl"; process.StartInfo = startInfo; process.Start(); process.WaitForExit(); }

private void Button8_Click(object sender, RoutedEventArgs e) { System.Diagnostics.Process.Start("taskmgr"); }

private void Button9_Click(object sender, RoutedEventArgs e) { System.Diagnostics.Process.Start("ncpa.cpl"); }

private void Button10_Click(object sender, RoutedEventArgs e) { System.Diagnostics.Process.Start("mstsc"); }

Page 21: Programmet · Web viewProgrammet fungerer ved at man kørere .exe filen hvor efter login boksen starter. Denne login boks består af 1 textbox som hedder txtUsername, 1 passwordbox

21

Aarhustech Programmering Mathias HaugeTobias Brissing

Casper Lundqvist

private void Button11_Click(object sender, RoutedEventArgs e) { System.Diagnostics.Process.Start("iexplore"); }

private void Button12_Click(object sender, RoutedEventArgs e) { System.Diagnostics.Process.Start("CMD.exe"); }

private void Button13_Click(object sender, RoutedEventArgs e) { System.Diagnostics.Process.Start("Powershell.exe"); }

private void button14_Click(object sender, RoutedEventArgs e) { System.Diagnostics.Process.Start("http://www.Aarhustech.dk"); }

private void Button15_Click(object sender, RoutedEventArgs e) { System.Diagnostics.Process.Start("control"); }

private void Button16_Click(object sender, RoutedEventArgs e) { System.Diagnostics.Process.Start("http://openspeedtest.com/Get-widget.php"); }

private void Button17_Click(object sender, RoutedEventArgs e) { System.Diagnostics.Process.Start("http://download.teamviewer.com/download/version_10x/TeamViewer_Setup.exe"); }

private void Button18_Click(object sender, RoutedEventArgs e) { System.Diagnostics.Process.Start("msra"); }

private void Button19_Click(object sender, RoutedEventArgs e) { System.Diagnostics.Process.Start("C:/Program Files (x86)/DDS Toolbox/putty.exe"); }

private void Button20_Click(object sender, RoutedEventArgs e) { System.Diagnostics.Process.Start("C:/Program Files (x86)/DDS Toolbox/geek.exe"); }

private void Button21_Click(object sender, RoutedEventArgs e) { System.Diagnostics.Process.Start("C:/Program Files (x86)/DDS Toolbox/netscan.exe"); }

Page 22: Programmet · Web viewProgrammet fungerer ved at man kørere .exe filen hvor efter login boksen starter. Denne login boks består af 1 textbox som hedder txtUsername, 1 passwordbox

22

Aarhustech Programmering Mathias HaugeTobias Brissing

Casper Lundqvist

private void Button22_Click(object sender, RoutedEventArgs e) { System.Diagnostics.Process.Start("C:/Program Files (x86)/DDS Toolbox/WirelessKeyView.exe"); }

private void Button23_Click(object sender, RoutedEventArgs e) { System.Diagnostics.Process.Start("notepad"); }

private void Button24_Click(object sender, RoutedEventArgs e) { System.Diagnostics.Process.Start("C:/Program Files (x86)/DDS Toolbox/WifiInfoView.exe"); }

private void Button25_Click(object sender, RoutedEventArgs e) { System.Diagnostics.Process.Start("C:/Program Files (x86)/DDS Toolbox/SimpleProgramDebugger.exe"); }

private void Button26_Click(object sender, RoutedEventArgs e) { System.Diagnostics.Process.Start("C:/Program Files (x86)/DDS Toolbox/TreeSizeFree.exe"); }

private void Button27_Click(object sender, RoutedEventArgs e) { System.Diagnostics.Process.Start("C:/Program Files (x86)/DDS Toolbox/InternetConnectivityMonitor.exe"); } }}

Page 23: Programmet · Web viewProgrammet fungerer ved at man kørere .exe filen hvor efter login boksen starter. Denne login boks består af 1 textbox som hedder txtUsername, 1 passwordbox

23

Aarhustech Programmering Mathias HaugeTobias Brissing

Casper Lundqvist

MSI Installer (WIX Toolset)

<?xml version="1.0" encoding="UTF-8"?><Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:ui="http://schemas.microsoft.com/wix/UIExtension"><?define wpfloginscreen_TargetDir=$(var.wpfloginscreen.TargetDir)?> <Product Id="*" Name="Aarhus Tech Programmering" Language="1033" Version="1.0.0.0" Manufacturer="Mathias, Casper, Tobias" UpgradeCode="147659a0-698c-4cec-99d1-14556a2f90d6"> <Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" /> <WixVariable Id="WixUILicenseRtf" Value="C:\Users\MHN\Documents\Visual Studio 2015\Projects\wpfloginscreen\wpfloginscreen\Resources\License.rtf" /> <WixVariable Id="WixUIDialogBmp" Value="C:\Users\MHN\Documents\Visual Studio 2015\Projects\wpfloginscreen\wpfloginscreen\Resources\Background.bmp" /> <WixVariable Id="WixUIBannerBmp" Value="C:\Users\MHN\Documents\Visual Studio 2015\Projects\wpfloginscreen\wpfloginscreen\Resources\Banner.bmp" /> <WixVariable Id="WixUIExclamationIco" Value="C:\Users\MHN\Documents\Visual Studio 2015\Projects\wpfloginscreen\wpfloginscreen\Resources\Setupikon.ico" /> <WixVariable Id="WixUIInfoIco" Value="C:\Users\MHN\Documents\Visual Studio 2015\Projects\wpfloginscreen\wpfloginscreen\Resources\Setupikon.ico" /> <WixVariable Id="WixUINewIco" Value="C:\Users\MHN\Documents\Visual Studio 2015\Projects\wpfloginscreen\wpfloginscreen\Resources\DDSIkon.ico" /> <WixVariable Id="WixUIUpIco" Value="C:\Users\MHN\Documents\Visual Studio 2015\Projects\wpfloginscreen\wpfloginscreen\Resources\DDSIkon.ico" /> <Property Id="WixUI_Minimal" Value="INSTALLFOLDER" />

<UIRef Id="WixUI_Minimal" /> <Icon Id="DDSIkon.ico" SourceFile="C:\Users\MHN\Documents\Visual Studio 2015\Projects\wpfloginscreen\wpfloginscreen\Resources\DDSIkon.ico" /> <Property Id="ARPPRODUCTICON" Value="DDSIkon.ico" />

<MajorUpgrade DowngradeErrorMessage="A newer version of Aarhus Tech Programmering is already installed." /> <MediaTemplate EmbedCab="yes" />

<Feature Id="ProductFeature" Title="Aarhus Tech Programmering" Level="1"> <ComponentGroupRef Id="ProductComponents" /> <ComponentRef Id="ApplicationShortcut" /> <ComponentRef Id="ApplicationShortcutDesktop" /> </Feature> </Product>

<Fragment> <Directory Id="TARGETDIR" Name="SourceDir"> <Directory Id="ProgramFilesFolder"> <Directory Id="INSTALLFOLDER" Name="Aarhus Tech Programmering"> <Directory Id="ENRESOURCESFOLDER" Name="en" /> </Directory> </Directory> <Directory Id="ProgramMenuFolder"> <Directory Id="ApplicationProgramsFolder" Name="Aarhus Tech Programmering" /> </Directory> <Directory Id="DesktopFolder" Name="Desktop"></Directory> </Directory> </Fragment> <Fragment> <DirectoryRef Id="ApplicationProgramsFolder">

Page 24: Programmet · Web viewProgrammet fungerer ved at man kørere .exe filen hvor efter login boksen starter. Denne login boks består af 1 textbox som hedder txtUsername, 1 passwordbox

24

Aarhustech Programmering Mathias HaugeTobias Brissing

Casper Lundqvist

<Component Id="ApplicationShortcut" Guid="386ea464-8ad8-433c-bca9-f6f7276c4a17"> <Shortcut Id="ApplicationStartMenuShortcut" Name="Aarhus Tech Programmering" Description="Aarhus Tech Programmering" Target="[INSTALLFOLDER]wpfloginscreen.exe" WorkingDirectory="INSTALLFOLDER" /> <RemoveFolder Id="RemoveApplicationProgramsFolder" Directory="ApplicationProgramsFolder" On="uninstall" /> <RegistryValue Root="HKCU" Key="Software\DDS" Name="installed" Type="integer" Value="1" KeyPath="yes" /> </Component> </DirectoryRef> <DirectoryRef Id="DesktopFolder"> <Component Id="ApplicationShortcutDesktop" Guid="f113f6d6-a136-4537-9f90-d50b8d7012f6"> <Shortcut Id="ApplicationDesktopShortcut" Name="ATP" Description="Aarhus Tech Programmering" Target="[INSTALLFOLDER]wpfloginscreen.exe" WorkingDirectory="INSTALLFOLDER" /> <RemoveFolder Id="RemoveDesktopFolder" Directory="DesktopFolder" On="uninstall" /> <RegistryValue Root="HKCU" Key="Software\DDS" Name="installed" Type="integer" Value="1" KeyPath="yes" />

</Component> </DirectoryRef>

</Fragment>

<Fragment> <ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER"> <Component Id="CMP_DDSToolboxSetup" Guid="{6F44232F-1C0B-4278-AB2B-BFD34FAE863C}"> <File Id="DDSToolbox.exe" Source="C:\Users\MHN\Documents\Visual Studio 2015\Projects\wpfloginscreen\wpfloginscreen\bin\Debug\wpfloginscreen.exe" KeyPath="yes" /> <File Id="Hardcodet.Wpf.TaskbarNotification.dll" Source="C:\Users\MHN\Documents\Visual Studio 2015\Projects\wpfloginscreen\wpfloginscreen\bin\Debug\Hardcodet.Wpf.TaskbarNotification.dll" /> <File Id="putty.exe" Source="C:\Users\MHN\Documents\Visual Studio 2015\Projects\wpfloginscreen\wpfloginscreen\Resources\putty.exe" /> <File Id="geek.exe" Source="C:\Users\MHN\Documents\Visual Studio 2015\Projects\wpfloginscreen\wpfloginscreen\Resources\geek.exe" /> <File Id="netscan.exe" Source="C:\Users\MHN\Documents\Visual Studio 2015\Projects\wpfloginscreen\wpfloginscreen\Resources\netscan.exe" /> <File Id="WirelessKeyView.exe" Source="C:\Users\MHN\Documents\Visual Studio 2015\Projects\wpfloginscreen\wpfloginscreen\Resources\WirelessKeyView.exe" /> <File Id="WifiIntoView.exe" Source="C:\Users\MHN\Documents\Visual Studio 2015\Projects\wpfloginscreen\wpfloginscreen\Resources\WifiInfoView.exe" /> <File Id="SimpleProgramDebugger.exe" Source="C:\Users\MHN\Documents\Visual Studio 2015\Projects\wpfloginscreen\wpfloginscreen\Resources\SimpleProgramDebugger.exe" /> <File Id="TreeSizeFree.exe" Source="C:\Users\MHN\Documents\Visual Studio 2015\Projects\wpfloginscreen\wpfloginscreen\Resources\TreeSizeFree.exe" /> <File Id="InternetConnectivityMonitor.exe" Source="C:\Users\MHN\Documents\Visual Studio 2015\Projects\wpfloginscreen\wpfloginscreen\Resources\InternetConnectivityMonitor.exe" /> </Component> <Component Id="wpfloginscreen.exe" Guid="3cf516e7-767a-4940-9be6-6adfddc1f39e"> <File Id="wpfloginscreen.exe" Name="wpfloginscreen.exe" Source="$(var.wpfloginscreen_TargetDir)wpfloginscreen.exe" />

Page 25: Programmet · Web viewProgrammet fungerer ved at man kørere .exe filen hvor efter login boksen starter. Denne login boks består af 1 textbox som hedder txtUsername, 1 passwordbox

25

Aarhustech Programmering Mathias HaugeTobias Brissing

Casper Lundqvist

</Component> <Component Id="wpfloginscreen.exe.config" Guid="a9611f4c-f27c-4b1b-8b7c-d3e9a76d4f94"> <File Id="wpfloginscreen.exe.config" Name="wpfloginscreen.exe.config" Source="$(var.wpfloginscreen_TargetDir)wpfloginscreen.exe.config" /> </Component> </ComponentGroup> </Fragment>

</Wix>

Programmerings rapport Lavet af:

Mathias Hauge

Tobias Brissing

Casper Lundqvist