Initial
This commit is contained in:
31
WOLWin.sln
Normal file
31
WOLWin.sln
Normal file
@@ -0,0 +1,31 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 17
|
||||
VisualStudioVersion = 17.0.32126.317
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WOLWin", "WOLWin\WOLWin.csproj", "{A4A619AA-8A67-47F5-B27E-68C0F7079AAA}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Debug|x64 = Debug|x64
|
||||
Release|Any CPU = Release|Any CPU
|
||||
Release|x64 = Release|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{A4A619AA-8A67-47F5-B27E-68C0F7079AAA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{A4A619AA-8A67-47F5-B27E-68C0F7079AAA}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{A4A619AA-8A67-47F5-B27E-68C0F7079AAA}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{A4A619AA-8A67-47F5-B27E-68C0F7079AAA}.Debug|x64.Build.0 = Debug|x64
|
||||
{A4A619AA-8A67-47F5-B27E-68C0F7079AAA}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{A4A619AA-8A67-47F5-B27E-68C0F7079AAA}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{A4A619AA-8A67-47F5-B27E-68C0F7079AAA}.Release|x64.ActiveCfg = Release|x64
|
||||
{A4A619AA-8A67-47F5-B27E-68C0F7079AAA}.Release|x64.Build.0 = Release|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {236D8640-971F-4DC9-AA77-675144983D4D}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
18
WOLWin/App.config
Normal file
18
WOLWin/App.config
Normal file
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<configSections>
|
||||
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<section name="WOLWin.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false"/>
|
||||
</sectionGroup>
|
||||
</configSections>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/>
|
||||
</startup>
|
||||
<userSettings>
|
||||
<WOLWin.Properties.Settings>
|
||||
<setting name="PathToMacs" serializeAs="String">
|
||||
<value>Assets\RQ_MAC.csv</value>
|
||||
</setting>
|
||||
</WOLWin.Properties.Settings>
|
||||
</userSettings>
|
||||
</configuration>
|
||||
10
WOLWin/AppSettings.json
Normal file
10
WOLWin/AppSettings.json
Normal file
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"exclude": [
|
||||
"**/bin",
|
||||
"**/bower_components",
|
||||
"**/jspm_packages",
|
||||
"**/node_modules",
|
||||
"**/obj",
|
||||
"**/platforms"
|
||||
]
|
||||
}
|
||||
17
WOLWin/Assets/README.txt
Normal file
17
WOLWin/Assets/README.txt
Normal file
@@ -0,0 +1,17 @@
|
||||
Das Programm weckt einen beliebigen Rechner auf.
|
||||
Es prüft anschließend 10s lang, ob der Rechner online verfügbar ist
|
||||
und gibt eine entsprechende Meldung aus.
|
||||
|
||||
Voraussetzungen:
|
||||
-Netzwerkkarte ist für das Aufwecken konfiguriert
|
||||
-Rechner befindet sich im Energiespar-Modus
|
||||
-Rechner war vor Kurzem im Netzwerk
|
||||
|
||||
Sollte der Rechner nicht aufgeweckt werden können:
|
||||
-befindet er sich nicht im Energiespar-Modus oder
|
||||
-es besteht keine Netzwerkverbindung oder
|
||||
-Netzwerkkarte empfängt keine Magic Packets oder
|
||||
-es liegt ein anderes Problem vor
|
||||
|
||||
Rückfragen zum Programm bitte an: mkoebis-riedel@stadtdo.de
|
||||
Zu allen weiteren Problemen bitte an: IT61@stadtdo.de
|
||||
306
WOLWin/Assets/RQ_MAC.csv
Normal file
306
WOLWin/Assets/RQ_MAC.csv
Normal file
@@ -0,0 +1,306 @@
|
||||
172.16.87.255;172.19.139.255;10.250.139.255;10.250.87.255;172.16.139.255
|
||||
RQ610000;04:D4:C4:EC:EB:FF;
|
||||
RQ610001;48:89:E7:4A:9F:89;54:05:3E:E3:18:0E
|
||||
RQ610003;BC:83:85:F0:4B:E9;
|
||||
RQ610367;14:AB:C5:1F:91:C7;54:F9:26:CF:37:01
|
||||
RQ610384;60:F6:77:85:C6:9F;98:29:A6:83:6A:A1
|
||||
RQ610393;C4:9D:ED:2A:C2:E9;
|
||||
RQ610400;40:A3:CC:4E:0A:66;54:63:9D:55:39:01
|
||||
RQ610404;10:62:E5:A5:D3:56;
|
||||
RQ610405;74:70:FD:F5:3B:74;
|
||||
RQ610407;04:92:26:C1:7C:1F;
|
||||
RQ610420;40:B0:76:5C:3B:CA;
|
||||
RQ610421;40:B0:76:5C:40:07;
|
||||
RQ610422;40:B0:76:5C:3B:B9;
|
||||
RQ610424;40:B0:76:5C:40:DB;
|
||||
RQ610425;40:B0:76:5C:3C:B7;
|
||||
RQ610426;40:B0:76:5C:3E:4E;
|
||||
RQ610427;40:B0:76:5C:3E:E2;
|
||||
RQ610428;40:B0:76:5C:3D:DA;
|
||||
RQ610429;40:B0:76:5C:40:1B;
|
||||
RQ610430;40:B0:76:5C:40:85;
|
||||
RQ610431;40:B0:76:5C:40:51;
|
||||
RQ610432;40:B0:76:5C:3C:9E;
|
||||
RQ610433;18:31:BF:E0:66:C5;
|
||||
RQ610434;40:B0:76:5C:40:63;
|
||||
RQ610435;40:B0:76:5C:3F:0A;
|
||||
RQ610436;40:B0:76:5C:3F:1B;
|
||||
RQ610437;40:B0:76:5C:3D:66;
|
||||
RQ610438;40:B0:76:5C:40:DC;
|
||||
RQ610440;40:B0:76:5C:40:AB;
|
||||
RQ610441;40:B0:76:5C:3D:E1;
|
||||
RQ610442;40:B0:76:5C:3D:E8;
|
||||
RQ610443;40:B0:76:5C:3C:A0;
|
||||
RQ610444;40:B0:76:5C:3B:73;
|
||||
RQ610445;40:B0:76:5C:3D:0A;
|
||||
RQ610446;40:B0:76:5C:3B:61;
|
||||
RQ610447;40:B0:76:5C:3E:33;
|
||||
RQ610449;40:B0:76:5C:3E:2E;
|
||||
RQ610450;40:B0:76:5C:3F:AC;
|
||||
RQ610451;40:B0:76:5C:3B:55;
|
||||
RQ610453;40:B0:76:5C:3A:E6;
|
||||
RQ610455;40:B0:76:5C:3B:4D;
|
||||
RQ610457;40:B0:76:5C:3E:3A;
|
||||
RQ610461;40:B0:76:5C:3B:84;
|
||||
RQ610463;40:B0:76:5C:3F:F9;
|
||||
RQ610468;40:B0:76:5C:3D:FC;
|
||||
RQ610470;40:B0:76:5C:3E:17;
|
||||
RQ610471;40:B0:76:5C:3E:B9;
|
||||
RQ610503;90:2B:34:B8:56:58;
|
||||
RQ610505;40:B0:76:5C:3A:AF;
|
||||
RQ610506;40:B0:76:5C:40:73;
|
||||
RQ610507;94:DE:80:13:25:04;
|
||||
RQ610510;40:B0:76:5C:3E:5E;
|
||||
RQ610512;40:B0:76:5C:3C:38;
|
||||
RQ610513;40:B0:76:5C:40:D1;
|
||||
RQ610530;40:B0:76:5C:40:3F;
|
||||
RQ610531;40:B0:76:5C:3B:9B;
|
||||
RQ610532;40:B0:76:5C:3E:3F;
|
||||
RQ610533;40:B0:76:5C:3D:0B;
|
||||
RQ610535;40:B0:76:5C:3D:58;
|
||||
RQ610536;40:B0:76:5C:3E:31;
|
||||
RQ610537;40:B0:76:5C:40:D2;
|
||||
RQ610538;40:B0:76:5B:D3:C2;
|
||||
RQ610539;40:B0:76:5C:3F:DA;
|
||||
RQ610540;40:B0:76:5C:3E:89;
|
||||
RQ610541;40:B0:76:5C:3B:21;
|
||||
RQ610543;40:B0:76:5C:40:DE;
|
||||
RQ610544;40:B0:76:5C:3B:52;
|
||||
RQ610545;40:B0:76:5C:3E:1D;
|
||||
RQ610547;40:B0:76:5C:3B:00;
|
||||
RQ610549;40:B0:76:5C:3B:45;
|
||||
RQ610552;40:B0:76:5C:3B:A6;
|
||||
RQ610554;40:B0:76:5C:3B:44;
|
||||
RQ610555;40:B0:76:5C:3C:35;
|
||||
RQ610556;40:B0:76:5C:3C:32;
|
||||
RQ610557;40:B0:76:5C:3F:C7;
|
||||
RQ610558;40:B0:76:5C:3B:D2;
|
||||
RQ610559;40:B0:76:5C:3C:33;
|
||||
RQ610560;40:B0:76:5C:3B:A2;
|
||||
RQ610561;40:B0:76:5C:3E:A5;
|
||||
RQ610562;40:B0:76:5C:3B:94;
|
||||
RQ610566;40:B0:76:5C:3E:2C;
|
||||
RQ610569;40:B0:76:5C:3A:E8;
|
||||
RQ610571;40:B0:76:5C:3C:A7;
|
||||
RQ610572;40:B0:76:5C:3E:2D;
|
||||
RQ610573;40:B0:76:5C:3B:79;
|
||||
RQ610574;40:B0:76:5C:3B:66;
|
||||
RQ610575;40:B0:76:5C:3B:60;
|
||||
RQ610578;40:B0:76:5C:3E:FF;
|
||||
RQ610579;40:B0:76:5B:D5:56;
|
||||
RQ610580;40:B0:76:5C:3D:1A;
|
||||
RQ610582;40:B0:76:5C:3A:EF;
|
||||
RQ610583;40:B0:76:5C:3B:6A;
|
||||
RQ610585;40:B0:76:5C:3E:F8;
|
||||
RQ610586;40:B0:76:5C:40:05;
|
||||
RQ610587;40:B0:76:5C:3B:B5;
|
||||
RQ610589;40:B0:76:5C:3D:04;
|
||||
RQ610590;40:B0:76:5C:3F:53;
|
||||
RQ610591;40:B0:76:5C:3D:73;
|
||||
RQ610592;40:B0:76:5C:3B:4E;
|
||||
RQ610593;40:B0:76:5C:3E:F7;
|
||||
RQ610595;40:B0:76:5C:3E:3D;
|
||||
RQ610596;40:B0:76:5C:3C:6A;
|
||||
RQ610599;40:B0:76:5C:3C:11;
|
||||
RQ610601;18:31:BF:E0:61:EF;
|
||||
RQ610603;40:B0:76:5C:3E:FA;
|
||||
RQ610604;40:B0:76:5C:3E:22;
|
||||
RQ610605;40:B0:76:5C:3F:93;
|
||||
RQ610606;40:B0:76:5C:3B:12;
|
||||
RQ610607;40:B0:76:5C:40:CF;
|
||||
RQ610608;40:B0:76:5C:3D:85;
|
||||
RQ610609;40:B0:76:5C:3D:67;
|
||||
RQ610610;18:31:BF:E0:69:5A;
|
||||
RQ610611;18:31:BF:E0:61:55;
|
||||
RQ610613;40:B0:76:5B:D6:9F;
|
||||
RQ610614;40:B0:76:5C:3A:D3;
|
||||
RQ610618;40:B0:76:5C:3D:E7;
|
||||
RQ610620;40:B0:76:5C:40:7D;
|
||||
RQ610622;40:B0:76:5C:3A:D6;
|
||||
RQ610624;40:B0:76:5C:3B:AB;
|
||||
RQ610625;40:B0:76:5C:3B:CE;
|
||||
RQ610627;40:B0:76:5C:3D:83;
|
||||
RQ610628;40:B0:76:5C:3E:EA;
|
||||
RQ610630;40:B0:76:5C:40:1F;
|
||||
RQ610633;04:D4:C4:EC:EC:27;
|
||||
RQ610639;04:D4:C4:EC:EC:62;
|
||||
RQ610640;04:D4:C4:EC:EB:D9;
|
||||
RQ610641;04:D4:C4:04:1C:C8;
|
||||
RQ610642;40:B0:76:5C:3C:07;
|
||||
RQ610643;40:B0:76:5C:3B:96;
|
||||
RQ610644;40:B0:76:5C:3E:AB;
|
||||
RQ610645;04:D4:C4:04:1C:8D;
|
||||
RQ610646;40:B0:76:5C:3D:DE;
|
||||
RQ610647;48:89:E7:56:9F:AF;54:06:4A:1D:18:01
|
||||
RQ610648;34:29:8F:72:A4:49;54:03:9C:EA:5F:01
|
||||
RQ610649;40:B0:76:5C:40:F6;
|
||||
RQ610650;40:B0:76:5C:3B:90;
|
||||
RQ610655;3C:F0:11:BF:B0:D5;54:FD:18:2A:54:01
|
||||
RQ610656;40:B0:76:5C:3B:22;
|
||||
RQ610661;40:B0:76:5C:3C:B9;
|
||||
RQ610665;40:B0:76:5C:3C:34;
|
||||
RQ610666;9C:7B:EF:A2:D1:C6;
|
||||
RQ610667;40:B0:76:5C:3D:7F;
|
||||
RQ610668;40:B0:76:5C:3F:C2;
|
||||
RQ610669;40:B0:76:5C:3B:D0;
|
||||
RQ610670;40:B0:76:5C:40:6C;
|
||||
RQ610671;48:89:E7:4F:21:35;54:CC:FD:07:8E:01
|
||||
RQ610672;40:B0:76:5C:40:C9;
|
||||
RQ610673;40:B0:76:5C:3F:57;
|
||||
RQ610674;40:B0:76:5C:3C:92;
|
||||
RQ610675;40:B0:76:5C:3B:3D;
|
||||
RQ610677;40:B0:76:5C:3C:82;
|
||||
RQ610679;40:B0:76:5C:3B:AF;
|
||||
RQ610683;40:B0:76:5C:3B:B2;
|
||||
RQ610684;40:B0:76:5C:3B:49;
|
||||
RQ610685;40:B0:76:5C:3B:1E;
|
||||
RQ610686;40:B0:76:5C:40:3D;
|
||||
RQ610687;40:B0:76:5C:3F:D4;
|
||||
RQ610689;40:B0:76:5C:3B:C8;
|
||||
RQ610690;40:B0:76:5C:40:79;
|
||||
RQ610693;54:A9:2E:B9:42:07;DC:71:96:4C:C4:35
|
||||
RQ610694;40:B0:76:5C:40:6D;
|
||||
RQ610695;40:B0:76:5C:3E:25;
|
||||
RQ610696;40:B0:76:5C:3D:64;
|
||||
RQ610698;40:B0:76:5C:3C:E5;54:9F:A7:AE:97:02
|
||||
RQ610699;40:B0:76:5C:3F:74;
|
||||
RQ610701;40:B0:76:5C:3F:D2;
|
||||
RQ610705;40:B0:76:5C:3D:45;
|
||||
RQ610709;54:66:C1:83:33:01;E8:6F:38:38:67:25
|
||||
RQ610717;40:B0:76:5C:3C:C5;
|
||||
RQ610719;40:B0:76:5C:3D:76;
|
||||
RQ610723;40:B0:76:5C:3C:5F;
|
||||
RQ610726;40:B0:76:5C:40:F3;
|
||||
RQ610730;18:31:BF:E0:68:D8;
|
||||
RQ610731;40:B0:76:5C:3C:85;
|
||||
RQ610733;40:B0:76:5C:3E:23;
|
||||
RQ610734;40:B0:76:5C:3E:08;
|
||||
RQ610735;40:B0:76:5C:3E:F4;
|
||||
RQ610740;40:B0:76:5C:3B:41;
|
||||
RQ610741;40:B0:76:5C:3E:13;
|
||||
RQ610742;40:B0:76:5B:D4:45;
|
||||
RQ610743;40:B0:76:5C:3A:F1;
|
||||
RQ610744;40:B0:76:5C:40:70;
|
||||
RQ610745;40:B0:76:5C:3A:FD;
|
||||
RQ610746;40:B0:76:5C:3A:DC;
|
||||
RQ610747;18:31:BF:E0:68:DF;
|
||||
RQ610748;40:B0:76:5C:3E:6C;
|
||||
RQ610750;40:B0:76:5C:3C:B4;
|
||||
RQ610754;54:5D:23:DE:70:09;60:36:DD:E9:0D:A4
|
||||
RQ610756;40:B0:76:5C:3B:6F;
|
||||
RQ610757;40:B0:76:5C:3E:8F;
|
||||
RQ610758;40:B0:76:5C:3B:03;
|
||||
RQ610759;40:B0:76:5C:3E:47;
|
||||
RQ610760;40:B0:76:5C:40:9C;
|
||||
RQ610761;40:B0:76:5C:3B:1D;
|
||||
RQ610762;40:B0:76:5C:3E:58;
|
||||
RQ610764;40:B0:76:5C:3B:87;
|
||||
RQ610765;40:B0:76:5C:3B:DE;
|
||||
RQ610766;18:31:BF:E0:1F:FD;
|
||||
RQ610767;40:B0:76:5C:3F:A8;
|
||||
RQ610768;D4:5D:64:25:4A:18;
|
||||
RQ610769;40:B0:76:5C:3F:AA;
|
||||
RQ610770;40:B0:76:5C:3A:D0;
|
||||
RQ610771;40:B0:76:5C:3E:15;
|
||||
RQ610772;40:B0:76:5C:40:D3;
|
||||
RQ610774;40:B0:76:5C:3E:D4;
|
||||
RQ610775;40:B0:76:5C:3C:52;
|
||||
RQ610776;40:B0:76:5C:3F:29;
|
||||
RQ610777;40:B0:76:5C:40:C5;
|
||||
RQ610779;04:92:26:5B:E4:03;
|
||||
RQ610780;40:B0:76:5C:3E:34;
|
||||
RQ610781;40:B0:76:5C:40:CE;
|
||||
RQ610782;40:B0:76:5C:3C:97;
|
||||
RQ610783;40:B0:76:5C:3E:10;
|
||||
RQ610784;40:B0:76:5C:3E:0B;
|
||||
RQ610786;40:B0:76:5C:3B:8D;
|
||||
RQ610787;40:B0:76:5C:3D:6D;
|
||||
RQ610788;40:B0:76:5C:3C:A3;
|
||||
RQ610789;40:B0:76:5C:3F:7D;
|
||||
RQ610790;40:B0:76:5C:3D:C8;
|
||||
RQ610791;40:B0:76:5C:3F:F1;
|
||||
RQ610792;40:B0:76:5C:40:BE;
|
||||
RQ610793;40:B0:76:5C:3C:30;
|
||||
RQ610794;40:B0:76:5C:3D:07;
|
||||
RQ610796;40:B0:76:5C:3E:21;
|
||||
RQ610797;18:31:BF:E0:6A:1A;
|
||||
RQ610798;18:31:BF:E0:60:A0;
|
||||
RQ610799;40:B0:76:5C:3A:BD;
|
||||
RQ610800;18:31:BF:E0:65:6B;
|
||||
RQ610801;40:B0:76:5B:D7:2D;
|
||||
RQ610802;18:31:BF:E0:60:EE;
|
||||
RQ610803;40:B0:76:5C:3F:F4;
|
||||
RQ610804;18:31:BF:E0:20:5B;
|
||||
RQ610805;40:B0:76:5C:40:46;
|
||||
RQ610806;40:B0:76:5C:3D:EF;
|
||||
RQ610807;40:B0:76:5C:3A:CB;
|
||||
RQ610808;40:B0:76:5C:3E:A8;
|
||||
RQ610809;40:B0:76:5C:3F:48;
|
||||
RQ610810;40:B0:76:5C:3B:BE;
|
||||
RQ610811;40:B0:76:5C:3E:57;
|
||||
RQ610812;40:B0:76:5C:3C:9F;
|
||||
RQ610813;40:B0:76:5C:3E:E7;
|
||||
RQ610814;40:B0:76:5C:3C:28;
|
||||
RQ610815;40:B0:76:5C:40:1C;
|
||||
RQ610816;40:B0:76:5C:3E:26;
|
||||
RQ610817;40:B0:76:5C:3A:F8;
|
||||
RQ610818;40:B0:76:5C:40:10;
|
||||
RQ610819;40:B0:76:5C:3E:A1;
|
||||
RQ610820;40:B0:76:5C:3B:67;
|
||||
RQ610821;40:B0:76:5C:3A:FF;
|
||||
RQ610822;40:B0:76:5C:3B:89;
|
||||
RQ610823;40:B0:76:5C:3B:DA;
|
||||
RQ610824;40:B0:76:5C:3E:BC;
|
||||
RQ610825;40:B0:76:5C:3B:5C;
|
||||
RQ610826;40:B0:76:5C:3C:36;
|
||||
RQ610827;40:B0:76:5C:3C:E2;
|
||||
RQ610828;40:B0:76:5C:3E:BF;
|
||||
RQ610831;40:B0:76:5C:3C:AB;
|
||||
RQ610832;40:B0:76:5C:3D:29;
|
||||
RQ610833;40:B0:76:5C:3F:03;
|
||||
RQ610834;40:B0:76:5C:3E:FD;
|
||||
RQ610835;40:B0:76:5C:3B:A3;
|
||||
RQ610836;40:B0:76:5C:3C:6F;
|
||||
RQ610837;40:B0:76:5C:3B:6C;
|
||||
RQ610838;1C:BF:CE:48:32:96;54:18:FD:FF:2E:01
|
||||
RQ610839;40:B0:76:5C:3E:19;
|
||||
RQ610840;40:B0:76:5C:3D:DD;
|
||||
RQ610841;40:B0:76:5C:3B:7F;
|
||||
RQ610842;40:B0:76:5C:3B:D8;
|
||||
RQ610843;40:B0:76:5C:3B:D6;
|
||||
RQ610844;40:B0:76:5C:3B:05;
|
||||
RQ610845;40:B0:76:5C:3E:3B;
|
||||
RQ610846;40:B0:76:5C:3A:D2;
|
||||
RQ610847;40:B0:76:5C:3E:0E;
|
||||
RQ610848;40:B0:76:5C:3B:6B;
|
||||
RQ610861;40:B0:76:5C:3F:8D;
|
||||
RQ610869;B0:0C:D1:36:48:44;
|
||||
RQ610871;C4:65:16:8E:21:64;
|
||||
RQ610872;54:69:FA:AE:6B:01;D0:C6:37:6D:9E:9E
|
||||
RQ610874;54:A1:2E:B5:8E:01;7C:D3:0A:70:FD:A3
|
||||
RQ610875;D0:C6:37:6D:F3:A8;
|
||||
RQ610876;D0:C6:37:6D:68:2A;
|
||||
RQ610877;54:AF:15:25:1B:01;D0:C6:37:6B:F2:33
|
||||
RQ610878;54:AA:C7:33:66:0E;D0:C6:37:6D:67:CB
|
||||
RQ610880;7C:D3:0A:70:1E:3D;
|
||||
RQ610882;40:B0:76:5C:40:22;
|
||||
RQ610883;40:B0:76:5C:3B:80;
|
||||
RQ610885;40:B0:76:5C:3C:22;
|
||||
RQ610887;54:FB:86:21:7B:01;84:C5:A6:89:12:5A
|
||||
RQ610888;54:A0:78:EF:70:01;84:C5:A6:8A:D0:7C
|
||||
RQ610889;54:60:F2:77:4F:01;84:C5:A6:87:5F:D2
|
||||
RQ610890;64:C9:01:B2:82:7F;
|
||||
RQ610892;54:B6:A6:C9:53:01;E8:6F:38:88:97:BD
|
||||
RQ610893;54:11:A0:83:49:01;64:C9:01:A4:C5:C2
|
||||
RQ610895;E8:D8:D1:46:1A:35;
|
||||
RQ610897;E8:6F:38:38:75:CF;
|
||||
RQ610898;54:58:BB:AB:59:01;64:C9:01:A4:D5:04
|
||||
RQ610900;54:53:63:71:67:10;E8:D8:D1:63:34:B4
|
||||
RQ610901;E8:6F:38:88:4A:4F;
|
||||
RQ610903;34:F3:9A:85:C8:E8;54:28:2B:10:3B:01
|
||||
RQ610905;54:77:49:61:83:07;70:B5:E8:B1:FB:B7
|
||||
RQ610911;40:B0:76:A5:34:CE;
|
||||
RQ610927;04:6C:59:7B:D1:E9;
|
||||
RQ610931;54:E0:A5:B3:52:0F;68:3E:26:0A:DA:39
|
||||
RQ610952;54:AB:70:32:17:07;DC:41:A9:AF:04:42
|
||||
RQ610965;54:33:DB:96:31:08;DC:41:A9:AF:E9:B6
|
||||
|
BIN
WOLWin/Assets/Wappen_StDO.ico
Normal file
BIN
WOLWin/Assets/Wappen_StDO.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 263 KiB |
139
WOLWin/Forms/Form1.Designer.cs
generated
Normal file
139
WOLWin/Forms/Form1.Designer.cs
generated
Normal file
@@ -0,0 +1,139 @@
|
||||
using System;
|
||||
|
||||
namespace WOLWin
|
||||
{
|
||||
partial class Form1
|
||||
{
|
||||
/// <summary>
|
||||
/// Erforderliche Designervariable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Verwendete Ressourcen bereinigen.
|
||||
/// </summary>
|
||||
/// <param name="disposing">True, wenn verwaltete Ressourcen gelöscht werden sollen; andernfalls False.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Vom Windows Form-Designer generierter Code
|
||||
|
||||
/// <summary>
|
||||
/// Erforderliche Methode für die Designerunterstützung.
|
||||
/// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1));
|
||||
this.button1 = new System.Windows.Forms.Button();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.textBox1 = new System.Windows.Forms.TextBox();
|
||||
this.toolTip1 = new System.Windows.Forms.ToolTip(this.components);
|
||||
this.listBox1 = new System.Windows.Forms.ListBox();
|
||||
this.checkBox1 = new System.Windows.Forms.CheckBox();
|
||||
this.progressBar1 = new System.Windows.Forms.ProgressBar();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// button1
|
||||
//
|
||||
this.button1.Location = new System.Drawing.Point(12, 51);
|
||||
this.button1.Name = "button1";
|
||||
this.button1.Size = new System.Drawing.Size(80, 23);
|
||||
this.button1.TabIndex = 2;
|
||||
this.button1.Text = "Aufwecken";
|
||||
this.button1.UseVisualStyleBackColor = true;
|
||||
this.button1.Click += new System.EventHandler(this.button1_Click);
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(13, 9);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(65, 13);
|
||||
this.label1.TabIndex = 0;
|
||||
this.label1.Text = "RQ-Nummer";
|
||||
//
|
||||
// textBox1
|
||||
//
|
||||
this.textBox1.ForeColor = System.Drawing.SystemColors.WindowText;
|
||||
this.textBox1.Location = new System.Drawing.Point(12, 25);
|
||||
this.textBox1.Name = "textBox1";
|
||||
this.textBox1.Size = new System.Drawing.Size(80, 20);
|
||||
this.textBox1.TabIndex = 1;
|
||||
this.toolTip1.SetToolTip(this.textBox1, "RQ-Nummer z.B. RQ610586");
|
||||
//
|
||||
// listBox1
|
||||
//
|
||||
this.listBox1.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed;
|
||||
this.listBox1.Location = new System.Drawing.Point(12, 89);
|
||||
this.listBox1.Name = "listBox1";
|
||||
this.listBox1.Size = new System.Drawing.Size(202, 121);
|
||||
this.listBox1.TabIndex = 4;
|
||||
this.listBox1.DrawItem += new System.Windows.Forms.DrawItemEventHandler(this.listBox1_DrawItem);
|
||||
//
|
||||
// checkBox1
|
||||
//
|
||||
this.checkBox1.AutoSize = true;
|
||||
this.checkBox1.Location = new System.Drawing.Point(109, 55);
|
||||
this.checkBox1.Name = "checkBox1";
|
||||
this.checkBox1.Size = new System.Drawing.Size(58, 17);
|
||||
this.checkBox1.TabIndex = 5;
|
||||
this.checkBox1.Text = "Details";
|
||||
this.checkBox1.UseVisualStyleBackColor = true;
|
||||
this.checkBox1.CheckedChanged += new System.EventHandler(this.checkBox1_CheckedChanged);
|
||||
//
|
||||
// progressBar1
|
||||
//
|
||||
this.progressBar1.Location = new System.Drawing.Point(12, 76);
|
||||
this.progressBar1.Name = "progressBar1";
|
||||
this.progressBar1.Size = new System.Drawing.Size(158, 10);
|
||||
this.progressBar1.Style = System.Windows.Forms.ProgressBarStyle.Marquee;
|
||||
this.progressBar1.TabIndex = 6;
|
||||
this.progressBar1.Visible = false;
|
||||
//
|
||||
// Form1
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(179, 89);
|
||||
this.Controls.Add(this.progressBar1);
|
||||
this.Controls.Add(this.checkBox1);
|
||||
this.Controls.Add(this.listBox1);
|
||||
this.Controls.Add(this.textBox1);
|
||||
this.Controls.Add(this.label1);
|
||||
this.Controls.Add(this.button1);
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
|
||||
this.HelpButton = true;
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.MaximizeBox = false;
|
||||
this.MinimizeBox = false;
|
||||
this.Name = "Form1";
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
||||
this.Text = "WOL";
|
||||
this.HelpButtonClicked += new System.ComponentModel.CancelEventHandler(this.Form1_HelpButtonClicked);
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Button button1;
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.TextBox textBox1;
|
||||
private System.Windows.Forms.ToolTip toolTip1;
|
||||
private System.Windows.Forms.ListBox listBox1;
|
||||
private System.Windows.Forms.CheckBox checkBox1;
|
||||
private System.Windows.Forms.ProgressBar progressBar1;
|
||||
}
|
||||
}
|
||||
|
||||
195
WOLWin/Forms/Form1.cs
Normal file
195
WOLWin/Forms/Form1.cs
Normal file
@@ -0,0 +1,195 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using System.Drawing;
|
||||
using System.Reflection;
|
||||
using System.IO;
|
||||
|
||||
namespace WOLWin
|
||||
{
|
||||
public partial class Form1 : Form
|
||||
{
|
||||
public readonly string macsPath = Properties.Settings.Default.PathToMacs;
|
||||
|
||||
bool verfügbar;
|
||||
List<string> macs;
|
||||
string host;
|
||||
Readme_Form readme;
|
||||
List<string>multicastAddr;
|
||||
|
||||
private delegate void ProgressBarUpdate(int progress);
|
||||
|
||||
public Form1()
|
||||
{
|
||||
macs = new List<string>();
|
||||
multicastAddr = WOLLib.GetMulticastAddresses(macsPath);
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
public List<string> ObtainMACFromList()
|
||||
{
|
||||
macs = WOLLib.GetMac(host, macsPath);
|
||||
foreach (var item in macs)
|
||||
{
|
||||
this.listBox1.Items.Add("INFO: MAC für " + host + " gefunden: ");
|
||||
this.listBox1.Items.Add(item.ToString());
|
||||
}
|
||||
|
||||
return macs;
|
||||
}
|
||||
|
||||
private void button1_Click(object sender, EventArgs e)
|
||||
{
|
||||
verfügbar = false;
|
||||
listBox1.Items.Clear();
|
||||
listBox1.Refresh();
|
||||
|
||||
int result = 0;
|
||||
try
|
||||
{
|
||||
this.host = textBox1.Text.ToUpper();
|
||||
string pattern = @"^RQ61[0-9][0-9][0-9][0-9]$";
|
||||
|
||||
Match m = Regex.Match(textBox1.Text, pattern, RegexOptions.IgnoreCase);
|
||||
|
||||
if (m.Success && host.Length == 8)
|
||||
{
|
||||
listBox1.Items.Add("INFO: Suche MAC...");
|
||||
macs = ObtainMACFromList();
|
||||
|
||||
if (macs.Count == 0)
|
||||
{
|
||||
listBox1.Items.Add("FEHLER: Keine MAC gefunden.");
|
||||
MessageBox.Show("Keine MAC zu " + host + " gefunden.", "Fehler", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
//Im neuen Thread laufen lassen
|
||||
progressBar1.Visible = true;
|
||||
|
||||
Thread t = new Thread(() => CheckOnlineStatus(45));
|
||||
t.IsBackground = true;
|
||||
|
||||
foreach (var mac in macs)
|
||||
{
|
||||
listBox1.Items.Add("INFO: Aufwecken... ");
|
||||
result = Task.Run(() => WOLLib.WakeOnLanAsync(mac, multicastAddr)).Result;
|
||||
}
|
||||
if (result != 0)
|
||||
{
|
||||
listBox1.Items.Add("INFO: Magic Packet gesendet.");
|
||||
listBox1.Items.Add("INFO: Prüfe Status. BITTE WARTEN...");
|
||||
t.Start();
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox.Show("Bitte Eingabe prüfen.", "Fehler", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageBox.Show(ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
private void checkBox1_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
listBox1.Visible = checkBox1.Checked;
|
||||
if (checkBox1.Checked)
|
||||
{
|
||||
checkBox1.Location = new Point(156, 55);
|
||||
this.MaximumSize = new Size(245, 262);
|
||||
this.Size = new Size(245, 262);
|
||||
this.progressBar1.Size = new Size(202, 10);
|
||||
}
|
||||
else
|
||||
{
|
||||
checkBox1.Location = new Point(109, 55);
|
||||
this.MaximumSize = new Size(195, 128);
|
||||
this.Size = new Size(195, 128);
|
||||
this.progressBar1.Size = new Size(158, 10);
|
||||
}
|
||||
}
|
||||
|
||||
private void Form1_HelpButtonClicked(object sender, System.ComponentModel.CancelEventArgs e)
|
||||
{
|
||||
if ((Application.OpenForms["Readme_Form"]) != null)
|
||||
{
|
||||
this.readme.BringToFront();
|
||||
}
|
||||
else
|
||||
{
|
||||
this.readme = new Readme_Form();
|
||||
this.readme.Show();
|
||||
}
|
||||
}
|
||||
|
||||
private void CheckOnlineStatus(int secTimeOut)
|
||||
{
|
||||
var cancellationToken = new CancellationTokenSource(TimeSpan.FromSeconds(secTimeOut)).Token;
|
||||
|
||||
int i = 0;
|
||||
while (!verfügbar && !cancellationToken.IsCancellationRequested)
|
||||
{
|
||||
verfügbar = WOLLib.PingHost(host);
|
||||
UpdateProgressBar(i++);
|
||||
}
|
||||
|
||||
listBox1.BeginInvoke(new Action(() =>
|
||||
{
|
||||
listBox1.Items.Add(verfügbar ? "INFO: " + host + " online." : "FEHLER: " + host + " offline. Bitte prüfen.");
|
||||
|
||||
}));
|
||||
progressBar1.BeginInvoke(new Action(()=>
|
||||
{
|
||||
progressBar1.Visible = false;
|
||||
}));
|
||||
|
||||
if (verfügbar)
|
||||
MessageBox.Show(host + " wurde aufgeweckt.", "Info", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||
else
|
||||
MessageBox.Show(host + " konnte nicht geweckt werden.", "Fehler", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
}
|
||||
|
||||
private void UpdateProgressBar(int progress)
|
||||
{
|
||||
if (progressBar1.InvokeRequired)
|
||||
{
|
||||
progressBar1.Invoke(new ProgressBarUpdate(UpdateProgressBar), new object[] { progress });
|
||||
return;
|
||||
}
|
||||
|
||||
progressBar1.Value = progress;
|
||||
}
|
||||
|
||||
//Schreibt eigene Items mit Farbe, Schriftart etc.
|
||||
private void listBox1_DrawItem(object sender, DrawItemEventArgs e)
|
||||
{
|
||||
string selectedItem = listBox1.Items[e.Index].ToString();
|
||||
|
||||
SolidBrush solidBrush = new SolidBrush(e.ForeColor);
|
||||
|
||||
if (!verfügbar && e.Index > 5)
|
||||
{
|
||||
solidBrush = new SolidBrush(Color.Red);
|
||||
}
|
||||
else if (verfügbar && e.Index > 5)
|
||||
{
|
||||
solidBrush = new SolidBrush(Color.Green);
|
||||
}
|
||||
|
||||
int left = e.Bounds.Left;
|
||||
int top = e.Bounds.Top;
|
||||
|
||||
e.DrawBackground();
|
||||
|
||||
e.Graphics.DrawString(selectedItem, e.Font, solidBrush, left, top);
|
||||
}
|
||||
}
|
||||
}
|
||||
4621
WOLWin/Forms/Form1.resx
Normal file
4621
WOLWin/Forms/Form1.resx
Normal file
File diff suppressed because it is too large
Load Diff
92
WOLWin/Forms/Readme_Form.Designer.cs
generated
Normal file
92
WOLWin/Forms/Readme_Form.Designer.cs
generated
Normal file
@@ -0,0 +1,92 @@
|
||||
namespace WOLWin
|
||||
{
|
||||
partial class Readme_Form
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Readme_Form));
|
||||
this.readme = new System.Windows.Forms.TextBox();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// readme
|
||||
//
|
||||
this.readme.Location = new System.Drawing.Point(13, 13);
|
||||
this.readme.Multiline = true;
|
||||
this.readme.Name = "readme";
|
||||
this.readme.ReadOnly = true;
|
||||
this.readme.Size = new System.Drawing.Size(327, 288);
|
||||
this.readme.TabIndex = 0;
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(291, 304);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(35, 13);
|
||||
this.label1.TabIndex = 1;
|
||||
this.label1.Text = "label1";
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.AutoSize = true;
|
||||
this.label2.Location = new System.Drawing.Point(12, 304);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(35, 13);
|
||||
this.label2.TabIndex = 2;
|
||||
this.label2.Text = "label2";
|
||||
//
|
||||
// Readme_Form
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(353, 321);
|
||||
this.Controls.Add(this.label2);
|
||||
this.Controls.Add(this.label1);
|
||||
this.Controls.Add(this.readme);
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.MaximizeBox = false;
|
||||
this.MinimizeBox = false;
|
||||
this.Name = "Readme_Form";
|
||||
this.ShowInTaskbar = false;
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
||||
this.Text = "Info";
|
||||
this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.Readme_Form_FormClosed);
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.TextBox readme;
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.Label label2;
|
||||
}
|
||||
}
|
||||
55
WOLWin/Forms/Readme_Form.cs
Normal file
55
WOLWin/Forms/Readme_Form.cs
Normal file
@@ -0,0 +1,55 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using System.Reflection;
|
||||
|
||||
namespace WOLWin
|
||||
{
|
||||
public partial class Readme_Form : Form
|
||||
{
|
||||
bool help = false;
|
||||
public Readme_Form()
|
||||
{
|
||||
InitializeComponent();
|
||||
label1.Text = Assembly.GetExecutingAssembly().GetName().Version.ToString();
|
||||
label2.Text = Convert.ToChar(169) + "Stadtplanungs- und Bauordnungsamt Dortmund";
|
||||
if (!help)
|
||||
{
|
||||
readme.Text = "Das Programm weckt einen beliebigen Rechner im StA61 auf.\r\n\r\n" +
|
||||
|
||||
"Es prüft nach Klick auf 'Aufwecken' 45s lang, ob der Rechner online verfügbar ist " +
|
||||
"und gibt eine entsprechende Meldung aus." +
|
||||
"\r\n\r\n" +
|
||||
"Voraussetzungen:\r\n" +
|
||||
"- Netzwerkkarte des Rechners ist für das Aufwecken konfiguriert\r\n" +
|
||||
"- Rechner ist ausgeschaltet oder im Energiespar-Modus\r\n" +
|
||||
"- Rechner war vor Kurzem im Netzwerk angemeldet\r\n" +
|
||||
"\r\n" +
|
||||
"Sollte der Rechner nicht aufgeweckt werden können:\r\n" +
|
||||
"- besteht keine Netzwerkverbindung oder\r\n" +
|
||||
"- Netzwerkkarte empfängt keine Magic Packets oder\r\n" +
|
||||
"- es liegt ein anderes Problem vor\r\n" +
|
||||
"\r\n" +
|
||||
"Rückfragen bitte an: IT61@stadtdo.de\r\n";
|
||||
|
||||
readme.SelectionStart = 0;
|
||||
help = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
readme.BringToFront();
|
||||
}
|
||||
}
|
||||
|
||||
private void Readme_Form_FormClosed(object sender, FormClosedEventArgs e)
|
||||
{
|
||||
help = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
4618
WOLWin/Forms/Readme_Form.resx
Normal file
4618
WOLWin/Forms/Readme_Form.resx
Normal file
File diff suppressed because it is too large
Load Diff
182
WOLWin/Logic/WOLLib.cs
Normal file
182
WOLWin/Logic/WOLLib.cs
Normal file
@@ -0,0 +1,182 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Net.NetworkInformation;
|
||||
using System.Net.Sockets;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace WOLWin
|
||||
{
|
||||
public static class WOLLib
|
||||
{
|
||||
/// <summary>
|
||||
/// Liest MAC-Adresse des Host aus Liste
|
||||
/// </summary>
|
||||
/// <param name="host">RQ-Nummer des Zielrechners</param>
|
||||
/// <param name="pathToMacs">Dateipfad zur MAC-Liste</param>
|
||||
/// <returns></returns>
|
||||
public static List<string> GetMac(string host, string pathToMacs)
|
||||
{
|
||||
List<string> macs = new List<string>();
|
||||
|
||||
using (StreamReader sr = new StreamReader(pathToMacs))
|
||||
{
|
||||
sr.ReadLine();
|
||||
string line;
|
||||
|
||||
while ((line = sr.ReadLine()) != null)
|
||||
{
|
||||
if (!line.StartsWith("RQ"))
|
||||
continue;
|
||||
|
||||
string[] splitted = line.Split(';');
|
||||
|
||||
if (splitted[0] == host)
|
||||
{
|
||||
if (splitted[2] != "")
|
||||
{
|
||||
macs.Add(splitted[1] + ";" + splitted[2]);
|
||||
}
|
||||
else
|
||||
{
|
||||
macs.Add(splitted[1]);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return macs;
|
||||
}
|
||||
|
||||
public static List<string> GetMulticastAddresses(string pathToMacs)
|
||||
{
|
||||
using (StreamReader sr = new StreamReader(pathToMacs))
|
||||
{
|
||||
string line = sr.ReadLine();
|
||||
var addresses = new List<string>();
|
||||
|
||||
foreach (var addr in line.Split(';'))
|
||||
{
|
||||
addresses.Add(addr);
|
||||
}
|
||||
|
||||
return addresses;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Weckt entfernten Rechner aus dem Energiesparmodus auf
|
||||
/// </summary>
|
||||
/// <param name="mac">MAC-Adresse des Zielrechners</param>
|
||||
/// <returns></returns>
|
||||
public static async Task<int> WakeOnLanAsync(string mac, List<string> multicastAddr)
|
||||
{
|
||||
int result = 0;
|
||||
byte[] magicPacket = CreateMagicPacket(mac);
|
||||
|
||||
foreach (NetworkInterface networkInterface in NetworkInterface.GetAllNetworkInterfaces().Where(n => n.NetworkInterfaceType != NetworkInterfaceType.Loopback && n.OperationalStatus == OperationalStatus.Up))
|
||||
{
|
||||
IPInterfaceProperties ipProps = networkInterface.GetIPProperties();
|
||||
|
||||
for (int i = 0; i < multicastAddr.Count; i++)
|
||||
{
|
||||
IPAddress multiCastAdr = IPAddress.Parse(multicastAddr[i]);
|
||||
|
||||
UnicastIPAddressInformation unicastIPAddressInformation = ipProps.UnicastAddresses.Where(u => u.Address.AddressFamily == AddressFamily.InterNetwork && !ipProps.GetIPv4Properties().IsAutomaticPrivateAddressingActive).FirstOrDefault();
|
||||
if (unicastIPAddressInformation != null)
|
||||
{
|
||||
result = await SendUdpAsync(unicastIPAddressInformation.Address, multiCastAdr, magicPacket);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Erstellt Magic Packet anhand MAC-Adresse des Zielrechners
|
||||
/// </summary>
|
||||
/// <param name="macAdress">MAC-Adresse des Zielrechners</param>
|
||||
/// <returns></returns>
|
||||
private static byte[] CreateMagicPacket(string macAdress)
|
||||
{
|
||||
var macAdressNorm = Regex.Replace(macAdress, "[: -]", "");
|
||||
byte[] macBytes = new byte[6];
|
||||
for (int i = 0; i < 6; i++)
|
||||
{
|
||||
//i to hex to byte
|
||||
macBytes[i] = Convert.ToByte(macAdressNorm.Substring(i * 2, 2), 16);
|
||||
}
|
||||
|
||||
using (MemoryStream memStream = new MemoryStream())
|
||||
{
|
||||
using (BinaryWriter binWriter = new BinaryWriter(memStream))
|
||||
{
|
||||
//Beginne Paket mit 6x 255
|
||||
for (int i = 0; i < 6; i++)
|
||||
{
|
||||
binWriter.Write((byte)0xff);
|
||||
|
||||
}
|
||||
//Füge Paket 16x MAC des Zielrechners hinzu
|
||||
for (int i = 0; i < 16; i++)
|
||||
{
|
||||
binWriter.Write(macBytes);
|
||||
}
|
||||
}
|
||||
return memStream.ToArray();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sendet Magic Packet in UDP-Paket aus
|
||||
/// </summary>
|
||||
/// <param name="adr">Lokale IP</param>
|
||||
/// <param name="multicastIp">Multicast IP</param>
|
||||
/// <param name="magicPacket">Magic Packet enthält MAC des Ziels</param>
|
||||
/// <returns></returns>
|
||||
private static async Task<int> SendUdpAsync(IPAddress adr, IPAddress multicastIp, byte[] magicPacket)
|
||||
{
|
||||
int count;
|
||||
DateTime dt = new DateTime();
|
||||
|
||||
//Sendet UDP an Port 0
|
||||
using (UdpClient client = new UdpClient(new IPEndPoint(adr, 0)))
|
||||
{
|
||||
count = await client.SendAsync(magicPacket, magicPacket.Length, multicastIp.ToString(), 9);
|
||||
dt = DateTime.Now;
|
||||
}
|
||||
return count;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Prüft, ob Rechner erfolgreich aufgeweckt wurde
|
||||
/// </summary>
|
||||
/// <param name="host">RQ-Nummer des Zielrechners</param>
|
||||
/// <returns></returns>
|
||||
public static bool PingHost(string host)
|
||||
{
|
||||
bool pinged = false;
|
||||
|
||||
try
|
||||
{
|
||||
Ping p = new Ping();
|
||||
PingReply reply = p.Send(host, 1000);
|
||||
if (reply != null && reply.Status == IPStatus.Success)
|
||||
{
|
||||
pinged = true;
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
pinged = false;
|
||||
}
|
||||
|
||||
return pinged;
|
||||
}
|
||||
}
|
||||
}
|
||||
34
WOLWin/Program.cs
Normal file
34
WOLWin/Program.cs
Normal file
@@ -0,0 +1,34 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
|
||||
|
||||
|
||||
namespace WOLWin
|
||||
{
|
||||
internal static class Program
|
||||
{
|
||||
/// <summary>
|
||||
/// Der Haupteinstiegspunkt für die Anwendung.
|
||||
/// </summary>
|
||||
[STAThread]
|
||||
static void Main()
|
||||
{
|
||||
var builder = new ConfigurationBuilder();
|
||||
IConfiguration configuration = builder.SetBasePath(Directory.GetCurrentDirectory()).AddJsonFile("appsettings.json",optional:false, reloadOnChange:true).Build();
|
||||
|
||||
if (!File.Exists(Properties.Settings.Default.PathToMacs))
|
||||
{
|
||||
MessageBox.Show("MAC-Datei nicht gefunden. Bitte prüfen.", "Fehler", MessageBoxButtons.OK, MessageBoxIcon.Error); ;
|
||||
return;
|
||||
}
|
||||
Application.EnableVisualStyles();
|
||||
Application.SetCompatibleTextRenderingDefault(false);
|
||||
Application.Run(new Form1());
|
||||
}
|
||||
}
|
||||
}
|
||||
36
WOLWin/Properties/AssemblyInfo.cs
Normal file
36
WOLWin/Properties/AssemblyInfo.cs
Normal file
@@ -0,0 +1,36 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// Allgemeine Informationen über eine Assembly werden über die folgenden
|
||||
// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
|
||||
// die einer Assembly zugeordnet sind.
|
||||
[assembly: AssemblyTitle("WOLWin")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("Stadt Dortmund")]
|
||||
[assembly: AssemblyProduct("WOLWin")]
|
||||
[assembly: AssemblyCopyright("Copyright © Stadt Dortmund 2022")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Durch Festlegen von ComVisible auf FALSE werden die Typen in dieser Assembly
|
||||
// für COM-Komponenten unsichtbar. Wenn Sie auf einen Typ in dieser Assembly von
|
||||
// COM aus zugreifen müssen, sollten Sie das ComVisible-Attribut für diesen Typ auf "True" festlegen.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird
|
||||
[assembly: Guid("a4a619aa-8a67-47f5-b27e-68c0f7079aaa")]
|
||||
|
||||
// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
|
||||
//
|
||||
// Hauptversion
|
||||
// Nebenversion
|
||||
// Buildnummer
|
||||
// Revision
|
||||
//
|
||||
// Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden,
|
||||
// indem Sie "*" wie unten gezeigt eingeben:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
//[assembly: AssemblyVersion("1.0.0.0")]
|
||||
//[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
5
WOLWin/Properties/BuildVersion.cs
Normal file
5
WOLWin/Properties/BuildVersion.cs
Normal file
@@ -0,0 +1,5 @@
|
||||
|
||||
using System.Reflection;
|
||||
|
||||
[assembly: AssemblyVersion("1.23.4.26")]
|
||||
|
||||
15
WOLWin/Properties/BuildVersion.tt
Normal file
15
WOLWin/Properties/BuildVersion.tt
Normal file
@@ -0,0 +1,15 @@
|
||||
<#@ template debug="false" hostspecific="false" language="C#" #>
|
||||
<#@ output extension=".cs" #>
|
||||
|
||||
using System.Reflection;
|
||||
|
||||
[assembly: AssemblyVersion("<#= this.Major #>.<#= this.CurrDay #>.<#= this.CurrMonth #>.<#= this.CurrYear #>")]
|
||||
|
||||
<#+
|
||||
|
||||
int Major = 1;
|
||||
|
||||
int CurrMonth = DateTime.Now.Date.Month;
|
||||
int CurrDay = DateTime.Now.Date.Day;
|
||||
int CurrYear = Convert.ToInt32(DateTime.Now.Year.ToString().Substring(2, 2));
|
||||
#>
|
||||
63
WOLWin/Properties/Resources.Designer.cs
generated
Normal file
63
WOLWin/Properties/Resources.Designer.cs
generated
Normal file
@@ -0,0 +1,63 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// Dieser Code wurde von einem Tool generiert.
|
||||
// Laufzeitversion:4.0.30319.42000
|
||||
//
|
||||
// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
|
||||
// der Code erneut generiert wird.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace WOLWin.Properties {
|
||||
using System;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
|
||||
/// </summary>
|
||||
// Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert
|
||||
// -Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert.
|
||||
// Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen
|
||||
// mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu.
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
internal class Resources {
|
||||
|
||||
private static global::System.Resources.ResourceManager resourceMan;
|
||||
|
||||
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||
|
||||
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||
internal Resources() {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Resources.ResourceManager ResourceManager {
|
||||
get {
|
||||
if (object.ReferenceEquals(resourceMan, null)) {
|
||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("WOLWin.Properties.Resources", typeof(Resources).Assembly);
|
||||
resourceMan = temp;
|
||||
}
|
||||
return resourceMan;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
|
||||
/// Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Globalization.CultureInfo Culture {
|
||||
get {
|
||||
return resourceCulture;
|
||||
}
|
||||
set {
|
||||
resourceCulture = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
121
WOLWin/Properties/Resources.resx
Normal file
121
WOLWin/Properties/Resources.resx
Normal file
@@ -0,0 +1,121 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
</root>
|
||||
38
WOLWin/Properties/Settings.Designer.cs
generated
Normal file
38
WOLWin/Properties/Settings.Designer.cs
generated
Normal file
@@ -0,0 +1,38 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// Dieser Code wurde von einem Tool generiert.
|
||||
// Laufzeitversion:4.0.30319.42000
|
||||
//
|
||||
// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
|
||||
// der Code erneut generiert wird.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace WOLWin.Properties {
|
||||
|
||||
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.14.0.0")]
|
||||
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
|
||||
|
||||
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
||||
|
||||
public static Settings Default {
|
||||
get {
|
||||
return defaultInstance;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("Assets\\RQ_MAC.csv")]
|
||||
public string PathToMacs {
|
||||
get {
|
||||
return ((string)(this["PathToMacs"]));
|
||||
}
|
||||
set {
|
||||
this["PathToMacs"] = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
9
WOLWin/Properties/Settings.settings
Normal file
9
WOLWin/Properties/Settings.settings
Normal file
@@ -0,0 +1,9 @@
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="WOLWin.Properties" GeneratedClassName="Settings">
|
||||
<Profiles />
|
||||
<Settings>
|
||||
<Setting Name="PathToMacs" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)">Assets\RQ_MAC.csv</Value>
|
||||
</Setting>
|
||||
</Settings>
|
||||
</SettingsFile>
|
||||
73
WOLWin/Properties/app.manifest
Normal file
73
WOLWin/Properties/app.manifest
Normal file
@@ -0,0 +1,73 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<assemblyIdentity version="1.0.0.0" name="MyApplication.app" />
|
||||
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
|
||||
<security>
|
||||
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
|
||||
<!-- UAC-Manifestoptionen
|
||||
Wenn Sie die Ebene der Benutzerkontensteuerung für Windows ändern möchten, ersetzen Sie den
|
||||
Knoten "requestedExecutionLevel" wie folgt.
|
||||
|
||||
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
|
||||
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
|
||||
<requestedExecutionLevel level="highestAvailable" uiAccess="false" />
|
||||
|
||||
Durch Angabe des Elements "requestedExecutionLevel" wird die Datei- und Registrierungsvirtualisierung deaktiviert.
|
||||
Entfernen Sie dieses Element, wenn diese Virtualisierung aus Gründen der Abwärtskompatibilität
|
||||
für die Anwendung erforderlich ist.
|
||||
-->
|
||||
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
|
||||
</requestedPrivileges>
|
||||
<applicationRequestMinimum>
|
||||
<PermissionSet class="System.Security.PermissionSet" version="1" Unrestricted="true" ID="Custom" SameSite="site" />
|
||||
<defaultAssemblyRequest permissionSetReference="Custom" />
|
||||
</applicationRequestMinimum>
|
||||
</security>
|
||||
</trustInfo>
|
||||
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
|
||||
<application>
|
||||
<!-- Eine Liste der Windows-Versionen, unter denen diese Anwendung getestet
|
||||
und für die sie entwickelt wurde. Wenn Sie die Auskommentierung der entsprechenden Elemente aufheben,
|
||||
wird von Windows automatisch die kompatibelste Umgebung ausgewählt. -->
|
||||
<!-- Windows Vista -->
|
||||
<!--<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />-->
|
||||
<!-- Windows 7 -->
|
||||
<!--<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />-->
|
||||
<!-- Windows 8 -->
|
||||
<!--<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />-->
|
||||
<!-- Windows 8.1 -->
|
||||
<!--<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />-->
|
||||
<!-- Windows 10 -->
|
||||
<!--<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />-->
|
||||
</application>
|
||||
</compatibility>
|
||||
<!-- Gibt an, dass die Anwendung mit DPI-Werten kompatibel ist und von Windows nicht automatisch auf höhere
|
||||
DPI-Werte skaliert wird. WPF-Anwendungen (Windows Presentation Foundation) sind automatisch mit DPI-Werten kompatibel, eine Aktivierung
|
||||
ist nicht erforderlich. Für Windows Forms-Anwendungen für .NET Framework 4.6, die diese Einstellung aktivieren, muss
|
||||
auch die Einstellung "'EnableWindowsFormsHighDpiAutoResizing" in der Datei "app.config" auf TRUE festgelegt werden.
|
||||
|
||||
Hierdurch können für die Anwendung lange Pfade verwendet werden. Weitere Informationen finden Sie unter https://docs.microsoft.com/windows/win32/fileio/maximum-file-path-limitation.-->
|
||||
<!--
|
||||
<application xmlns="urn:schemas-microsoft-com:asm.v3">
|
||||
<windowsSettings>
|
||||
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
|
||||
<longPathAware xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">true</longPathAware>
|
||||
</windowsSettings>
|
||||
</application>
|
||||
-->
|
||||
<!-- Designs für allgemeine Windows-Steuerelemente und -Dialogfelder (Windows XP und höher) aktivieren -->
|
||||
<!--
|
||||
<dependency>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity
|
||||
type="win32"
|
||||
name="Microsoft.Windows.Common-Controls"
|
||||
version="6.0.0.0"
|
||||
processorArchitecture="*"
|
||||
publicKeyToken="6595b64144ccf1df"
|
||||
language="*"
|
||||
/>
|
||||
</dependentAssembly>
|
||||
</dependency>
|
||||
-->
|
||||
</assembly>
|
||||
259
WOLWin/WOLWin.csproj
Normal file
259
WOLWin/WOLWin.csproj
Normal file
@@ -0,0 +1,259 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{A4A619AA-8A67-47F5-B27E-68C0F7079AAA}</ProjectGuid>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<RootNamespace>WOLWin</RootNamespace>
|
||||
<AssemblyName>WOLWin</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
|
||||
<Deterministic>true</Deterministic>
|
||||
<IsWebBootstrapper>false</IsWebBootstrapper>
|
||||
<TargetFrameworkProfile />
|
||||
<PublishUrl>C:\Test\</PublishUrl>
|
||||
<Install>true</Install>
|
||||
<InstallFrom>Disk</InstallFrom>
|
||||
<UpdateEnabled>false</UpdateEnabled>
|
||||
<UpdateMode>Foreground</UpdateMode>
|
||||
<UpdateInterval>7</UpdateInterval>
|
||||
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
|
||||
<UpdatePeriodically>false</UpdatePeriodically>
|
||||
<UpdateRequired>false</UpdateRequired>
|
||||
<MapFileExtensions>true</MapFileExtensions>
|
||||
<ApplicationRevision>2</ApplicationRevision>
|
||||
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
|
||||
<UseApplicationTrust>false</UseApplicationTrust>
|
||||
<PublishWizardCompleted>true</PublishWizardCompleted>
|
||||
<BootstrapperEnabled>true</BootstrapperEnabled>
|
||||
<NuGetPackageImportStamp>
|
||||
</NuGetPackageImportStamp>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<TransformOnBuild>true</TransformOnBuild>
|
||||
<OverwriteReadOnlyOutputFiles>true</OverwriteReadOnlyOutputFiles>
|
||||
<TransformOutOfDateOnly>false</TransformOutOfDateOnly>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DebugType>none</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<TransformOnBuild>true</TransformOnBuild>
|
||||
<OverwriteReadOnlyOutputFiles>true</OverwriteReadOnlyOutputFiles>
|
||||
<TransformOutOfDateOnly>false</TransformOutOfDateOnly>
|
||||
<DebugSymbols>false</DebugSymbols>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<OutputPath>bin\x64\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<LangVersion>7.3</LangVersion>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<Prefer32Bit>true</Prefer32Bit>
|
||||
<Optimize>true</Optimize>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
|
||||
<OutputPath>bin\x64\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<Optimize>true</Optimize>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<LangVersion>7.3</LangVersion>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<Prefer32Bit>true</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<ManifestCertificateThumbprint>C745DBCF237EBBEAA650A0F3FCE8F58330276272</ManifestCertificateThumbprint>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<ManifestKeyFile>WOLWin_TemporaryKey.pfx</ManifestKeyFile>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<GenerateManifests>false</GenerateManifests>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<SignManifests>false</SignManifests>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<ApplicationIcon>Assets\Wappen_StDO.ico</ApplicationIcon>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<TargetZone>LocalIntranet</TargetZone>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<ApplicationManifest>Properties\app.manifest</ApplicationManifest>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=10.0.0.7, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Bcl.AsyncInterfaces.10.0.7\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Extensions.Configuration, Version=10.0.0.7, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Extensions.Configuration.10.0.7\lib\net462\Microsoft.Extensions.Configuration.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Extensions.Configuration.Abstractions, Version=10.0.0.7, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Extensions.Configuration.Abstractions.10.0.7\lib\net462\Microsoft.Extensions.Configuration.Abstractions.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Extensions.Configuration.FileExtensions, Version=10.0.0.7, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Extensions.Configuration.FileExtensions.10.0.7\lib\net462\Microsoft.Extensions.Configuration.FileExtensions.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Extensions.Configuration.Json, Version=10.0.0.7, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Extensions.Configuration.Json.10.0.7\lib\net462\Microsoft.Extensions.Configuration.Json.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Extensions.FileProviders.Abstractions, Version=10.0.0.7, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Extensions.FileProviders.Abstractions.10.0.7\lib\net462\Microsoft.Extensions.FileProviders.Abstractions.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Extensions.FileProviders.Physical, Version=10.0.0.7, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Extensions.FileProviders.Physical.10.0.7\lib\net462\Microsoft.Extensions.FileProviders.Physical.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Extensions.FileSystemGlobbing, Version=10.0.0.7, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Extensions.FileSystemGlobbing.10.0.7\lib\net462\Microsoft.Extensions.FileSystemGlobbing.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Extensions.Primitives, Version=10.0.0.7, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Extensions.Primitives.10.0.7\lib\net462\Microsoft.Extensions.Primitives.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Buffers, Version=4.0.5.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Buffers.4.6.1\lib\net462\System.Buffers.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.IO.Pipelines, Version=10.0.0.7, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.IO.Pipelines.10.0.7\lib\net462\System.IO.Pipelines.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Memory, Version=4.0.5.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Memory.4.6.3\lib\net462\System.Memory.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Numerics" />
|
||||
<Reference Include="System.Numerics.Vectors, Version=4.1.6.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Numerics.Vectors.4.6.1\lib\net462\System.Numerics.Vectors.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=6.0.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.6.1.2\lib\net462\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Text.Encodings.Web, Version=10.0.0.7, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Text.Encodings.Web.10.0.7\lib\net462\System.Text.Encodings.Web.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Text.Json, Version=10.0.0.7, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Text.Json.10.0.7\lib\net462\System.Text.Json.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Threading.Tasks.Extensions, Version=4.2.4.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Threading.Tasks.Extensions.4.6.3\lib\net462\System.Threading.Tasks.Extensions.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.ValueTuple" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Deployment" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Net.Http" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Forms\Form1.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Forms\Form1.Designer.cs">
|
||||
<DependentUpon>Form1.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Program.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Forms\Readme_Form.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Forms\Readme_Form.Designer.cs">
|
||||
<DependentUpon>Readme_Form.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Properties\BuildVersion.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>BuildVersion.tt</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Logic\WOLLib.cs" />
|
||||
<EmbeddedResource Include="Forms\Form1.resx">
|
||||
<DependentUpon>Form1.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Properties\Resources.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<Compile Include="Properties\Resources.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Resources.resx</DependentUpon>
|
||||
<DesignTime>True</DesignTime>
|
||||
</Compile>
|
||||
<EmbeddedResource Include="Forms\Readme_Form.resx">
|
||||
<DependentUpon>Readme_Form.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<Content Include="appsettings.json">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<None Include="Assets\RQ_MAC.csv">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="packages.config" />
|
||||
<None Include="Properties\app.manifest" />
|
||||
<None Include="Properties\Settings.settings">
|
||||
<Generator>SettingsSingleFileGenerator</Generator>
|
||||
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
|
||||
</None>
|
||||
<Compile Include="Properties\Settings.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Settings.settings</DependentUpon>
|
||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||
</Compile>
|
||||
<None Include="WOLWin_TemporaryKey.pfx" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="App.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<BootstrapperPackage Include=".NETFramework,Version=v4.8">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>Microsoft .NET Framework 4.8 %28x86 und x64%29</ProductName>
|
||||
<Install>true</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5 SP1</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Assets\Wappen_StDO.ico" />
|
||||
<Content Include="Properties\BuildVersion.tt">
|
||||
<Generator>TextTemplatingFileGenerator</Generator>
|
||||
<LastGenOutput>BuildVersion.cs</LastGenOutput>
|
||||
</Content>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Service Include="{508349B6-6B84-4DF5-91F0-309BEEBAD82D}" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v17.0\TextTemplating\Microsoft.TextTemplating.targets" />
|
||||
<Import Project="..\packages\System.ValueTuple.4.6.2\build\net471\System.ValueTuple.targets" Condition="Exists('..\packages\System.ValueTuple.4.6.2\build\net471\System.ValueTuple.targets')" />
|
||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||
<PropertyGroup>
|
||||
<ErrorText>Dieses Projekt verweist auf mindestens ein NuGet-Paket, das auf diesem Computer fehlt. Verwenden Sie die Wiederherstellung von NuGet-Paketen, um die fehlenden Dateien herunterzuladen. Weitere Informationen finden Sie unter "http://go.microsoft.com/fwlink/?LinkID=322105". Die fehlende Datei ist "{0}".</ErrorText>
|
||||
</PropertyGroup>
|
||||
<Error Condition="!Exists('..\packages\System.ValueTuple.4.6.2\build\net471\System.ValueTuple.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\System.ValueTuple.4.6.2\build\net471\System.ValueTuple.targets'))" />
|
||||
</Target>
|
||||
</Project>
|
||||
52
WOLWin/config/Jenkinsfile.txt
Normal file
52
WOLWin/config/Jenkinsfile.txt
Normal file
@@ -0,0 +1,52 @@
|
||||
pipeline
|
||||
{
|
||||
agent
|
||||
{
|
||||
node
|
||||
{
|
||||
label 'Jenkins_Homer'
|
||||
}
|
||||
|
||||
}
|
||||
stages
|
||||
{
|
||||
stage('Build, Test, Analyze')
|
||||
{
|
||||
environment
|
||||
{
|
||||
dotnet ="C:\\Program Files\\dotnet\\"
|
||||
scannerHome = "C:\\home\\jenkins\\tools\\hudson.plugins.sonar.MsBuildSQRunnerInstallation\\C_sonar-runner"
|
||||
token = '5f6fffb1bd335a10f8da70b77701bb73d6cd15cf'
|
||||
project = 'wolwin_nightly'
|
||||
|
||||
}
|
||||
steps
|
||||
{
|
||||
cleanWs()
|
||||
checkout scm
|
||||
bat "dotnet restore WOLWin\\WOLWin.sln"
|
||||
bat "${scannerHome}\\SonarScanner.MSBuild.exe begin /k:${project} /d:sonar.login=${token} /d:sonar.verbose=true /d:sonar.cs.opencover.reportsPaths=${WORKSPACE}\\coverage.xml"
|
||||
bat "\"${tool 'MSBuild17'}\" ${WORKSPACE}\\WOLWin.sln /t:Restore /t:Rebuild /p:Configuration=Debug"
|
||||
bat "${scannerHome}\\SonarScanner.MSBuild.exe end /d:sonar.login=${token}"
|
||||
}
|
||||
}
|
||||
stage('Coverage')
|
||||
{
|
||||
environment
|
||||
{
|
||||
reportGen = "C:\\Nuget-Packages\\reportgenerator\\5.1.6\\tools\\net6.0\\ReportGenerator.exe"
|
||||
}
|
||||
steps
|
||||
{
|
||||
bat "${reportGen} -verbosity:Info -reports:${WORKSPACE}\\coverage.xml -targetdir:${WORKSPACE} -reporttypes:SonarQube;Cobertura;Html"
|
||||
}
|
||||
}
|
||||
}
|
||||
post {
|
||||
always {
|
||||
|
||||
step([$class: 'CoberturaPublisher', autoUpdateHealth: false, autoUpdateStability: false, coberturaReportFile: '**/Cobertura.xml', failUnhealthy: false, failUnstable: false, maxNumberOfBuilds: 0, onlyStable: false, sourceEncoding: 'ASCII', zoomCoverageChart: false])
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
21
WOLWin/packages.config
Normal file
21
WOLWin/packages.config
Normal file
@@ -0,0 +1,21 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="Microsoft.Bcl.AsyncInterfaces" version="10.0.7" targetFramework="net48" />
|
||||
<package id="Microsoft.Extensions.Configuration" version="10.0.7" targetFramework="net48" />
|
||||
<package id="Microsoft.Extensions.Configuration.Abstractions" version="10.0.7" targetFramework="net48" />
|
||||
<package id="Microsoft.Extensions.Configuration.FileExtensions" version="10.0.7" targetFramework="net48" />
|
||||
<package id="Microsoft.Extensions.Configuration.Json" version="10.0.7" targetFramework="net48" />
|
||||
<package id="Microsoft.Extensions.FileProviders.Abstractions" version="10.0.7" targetFramework="net48" />
|
||||
<package id="Microsoft.Extensions.FileProviders.Physical" version="10.0.7" targetFramework="net48" />
|
||||
<package id="Microsoft.Extensions.FileSystemGlobbing" version="10.0.7" targetFramework="net48" />
|
||||
<package id="Microsoft.Extensions.Primitives" version="10.0.7" targetFramework="net48" />
|
||||
<package id="System.Buffers" version="4.6.1" targetFramework="net48" />
|
||||
<package id="System.IO.Pipelines" version="10.0.7" targetFramework="net48" />
|
||||
<package id="System.Memory" version="4.6.3" targetFramework="net48" />
|
||||
<package id="System.Numerics.Vectors" version="4.6.1" targetFramework="net48" />
|
||||
<package id="System.Runtime.CompilerServices.Unsafe" version="6.1.2" targetFramework="net48" />
|
||||
<package id="System.Text.Encodings.Web" version="10.0.7" targetFramework="net48" />
|
||||
<package id="System.Text.Json" version="10.0.7" targetFramework="net48" />
|
||||
<package id="System.Threading.Tasks.Extensions" version="4.6.3" targetFramework="net48" />
|
||||
<package id="System.ValueTuple" version="4.6.2" targetFramework="net48" />
|
||||
</packages>
|
||||
Reference in New Issue
Block a user