This commit is contained in:
dev-mkoebis
2026-04-23 14:03:44 +02:00
parent 4052df278f
commit 1c0a89cf37
25 changed files with 11010 additions and 0 deletions

31
WOLWin.sln Normal file
View 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
View 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
View File

@@ -0,0 +1,10 @@
{
"exclude": [
"**/bin",
"**/bower_components",
"**/jspm_packages",
"**/node_modules",
"**/obj",
"**/platforms"
]
}

17
WOLWin/Assets/README.txt Normal file
View 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
View 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
1 172.16.87.255;172.19.139.255;10.250.139.255;10.250.87.255;172.16.139.255
2 RQ610000;04:D4:C4:EC:EB:FF;
3 RQ610001;48:89:E7:4A:9F:89;54:05:3E:E3:18:0E
4 RQ610003;BC:83:85:F0:4B:E9;
5 RQ610367;14:AB:C5:1F:91:C7;54:F9:26:CF:37:01
6 RQ610384;60:F6:77:85:C6:9F;98:29:A6:83:6A:A1
7 RQ610393;C4:9D:ED:2A:C2:E9;
8 RQ610400;40:A3:CC:4E:0A:66;54:63:9D:55:39:01
9 RQ610404;10:62:E5:A5:D3:56;
10 RQ610405;74:70:FD:F5:3B:74;
11 RQ610407;04:92:26:C1:7C:1F;
12 RQ610420;40:B0:76:5C:3B:CA;
13 RQ610421;40:B0:76:5C:40:07;
14 RQ610422;40:B0:76:5C:3B:B9;
15 RQ610424;40:B0:76:5C:40:DB;
16 RQ610425;40:B0:76:5C:3C:B7;
17 RQ610426;40:B0:76:5C:3E:4E;
18 RQ610427;40:B0:76:5C:3E:E2;
19 RQ610428;40:B0:76:5C:3D:DA;
20 RQ610429;40:B0:76:5C:40:1B;
21 RQ610430;40:B0:76:5C:40:85;
22 RQ610431;40:B0:76:5C:40:51;
23 RQ610432;40:B0:76:5C:3C:9E;
24 RQ610433;18:31:BF:E0:66:C5;
25 RQ610434;40:B0:76:5C:40:63;
26 RQ610435;40:B0:76:5C:3F:0A;
27 RQ610436;40:B0:76:5C:3F:1B;
28 RQ610437;40:B0:76:5C:3D:66;
29 RQ610438;40:B0:76:5C:40:DC;
30 RQ610440;40:B0:76:5C:40:AB;
31 RQ610441;40:B0:76:5C:3D:E1;
32 RQ610442;40:B0:76:5C:3D:E8;
33 RQ610443;40:B0:76:5C:3C:A0;
34 RQ610444;40:B0:76:5C:3B:73;
35 RQ610445;40:B0:76:5C:3D:0A;
36 RQ610446;40:B0:76:5C:3B:61;
37 RQ610447;40:B0:76:5C:3E:33;
38 RQ610449;40:B0:76:5C:3E:2E;
39 RQ610450;40:B0:76:5C:3F:AC;
40 RQ610451;40:B0:76:5C:3B:55;
41 RQ610453;40:B0:76:5C:3A:E6;
42 RQ610455;40:B0:76:5C:3B:4D;
43 RQ610457;40:B0:76:5C:3E:3A;
44 RQ610461;40:B0:76:5C:3B:84;
45 RQ610463;40:B0:76:5C:3F:F9;
46 RQ610468;40:B0:76:5C:3D:FC;
47 RQ610470;40:B0:76:5C:3E:17;
48 RQ610471;40:B0:76:5C:3E:B9;
49 RQ610503;90:2B:34:B8:56:58;
50 RQ610505;40:B0:76:5C:3A:AF;
51 RQ610506;40:B0:76:5C:40:73;
52 RQ610507;94:DE:80:13:25:04;
53 RQ610510;40:B0:76:5C:3E:5E;
54 RQ610512;40:B0:76:5C:3C:38;
55 RQ610513;40:B0:76:5C:40:D1;
56 RQ610530;40:B0:76:5C:40:3F;
57 RQ610531;40:B0:76:5C:3B:9B;
58 RQ610532;40:B0:76:5C:3E:3F;
59 RQ610533;40:B0:76:5C:3D:0B;
60 RQ610535;40:B0:76:5C:3D:58;
61 RQ610536;40:B0:76:5C:3E:31;
62 RQ610537;40:B0:76:5C:40:D2;
63 RQ610538;40:B0:76:5B:D3:C2;
64 RQ610539;40:B0:76:5C:3F:DA;
65 RQ610540;40:B0:76:5C:3E:89;
66 RQ610541;40:B0:76:5C:3B:21;
67 RQ610543;40:B0:76:5C:40:DE;
68 RQ610544;40:B0:76:5C:3B:52;
69 RQ610545;40:B0:76:5C:3E:1D;
70 RQ610547;40:B0:76:5C:3B:00;
71 RQ610549;40:B0:76:5C:3B:45;
72 RQ610552;40:B0:76:5C:3B:A6;
73 RQ610554;40:B0:76:5C:3B:44;
74 RQ610555;40:B0:76:5C:3C:35;
75 RQ610556;40:B0:76:5C:3C:32;
76 RQ610557;40:B0:76:5C:3F:C7;
77 RQ610558;40:B0:76:5C:3B:D2;
78 RQ610559;40:B0:76:5C:3C:33;
79 RQ610560;40:B0:76:5C:3B:A2;
80 RQ610561;40:B0:76:5C:3E:A5;
81 RQ610562;40:B0:76:5C:3B:94;
82 RQ610566;40:B0:76:5C:3E:2C;
83 RQ610569;40:B0:76:5C:3A:E8;
84 RQ610571;40:B0:76:5C:3C:A7;
85 RQ610572;40:B0:76:5C:3E:2D;
86 RQ610573;40:B0:76:5C:3B:79;
87 RQ610574;40:B0:76:5C:3B:66;
88 RQ610575;40:B0:76:5C:3B:60;
89 RQ610578;40:B0:76:5C:3E:FF;
90 RQ610579;40:B0:76:5B:D5:56;
91 RQ610580;40:B0:76:5C:3D:1A;
92 RQ610582;40:B0:76:5C:3A:EF;
93 RQ610583;40:B0:76:5C:3B:6A;
94 RQ610585;40:B0:76:5C:3E:F8;
95 RQ610586;40:B0:76:5C:40:05;
96 RQ610587;40:B0:76:5C:3B:B5;
97 RQ610589;40:B0:76:5C:3D:04;
98 RQ610590;40:B0:76:5C:3F:53;
99 RQ610591;40:B0:76:5C:3D:73;
100 RQ610592;40:B0:76:5C:3B:4E;
101 RQ610593;40:B0:76:5C:3E:F7;
102 RQ610595;40:B0:76:5C:3E:3D;
103 RQ610596;40:B0:76:5C:3C:6A;
104 RQ610599;40:B0:76:5C:3C:11;
105 RQ610601;18:31:BF:E0:61:EF;
106 RQ610603;40:B0:76:5C:3E:FA;
107 RQ610604;40:B0:76:5C:3E:22;
108 RQ610605;40:B0:76:5C:3F:93;
109 RQ610606;40:B0:76:5C:3B:12;
110 RQ610607;40:B0:76:5C:40:CF;
111 RQ610608;40:B0:76:5C:3D:85;
112 RQ610609;40:B0:76:5C:3D:67;
113 RQ610610;18:31:BF:E0:69:5A;
114 RQ610611;18:31:BF:E0:61:55;
115 RQ610613;40:B0:76:5B:D6:9F;
116 RQ610614;40:B0:76:5C:3A:D3;
117 RQ610618;40:B0:76:5C:3D:E7;
118 RQ610620;40:B0:76:5C:40:7D;
119 RQ610622;40:B0:76:5C:3A:D6;
120 RQ610624;40:B0:76:5C:3B:AB;
121 RQ610625;40:B0:76:5C:3B:CE;
122 RQ610627;40:B0:76:5C:3D:83;
123 RQ610628;40:B0:76:5C:3E:EA;
124 RQ610630;40:B0:76:5C:40:1F;
125 RQ610633;04:D4:C4:EC:EC:27;
126 RQ610639;04:D4:C4:EC:EC:62;
127 RQ610640;04:D4:C4:EC:EB:D9;
128 RQ610641;04:D4:C4:04:1C:C8;
129 RQ610642;40:B0:76:5C:3C:07;
130 RQ610643;40:B0:76:5C:3B:96;
131 RQ610644;40:B0:76:5C:3E:AB;
132 RQ610645;04:D4:C4:04:1C:8D;
133 RQ610646;40:B0:76:5C:3D:DE;
134 RQ610647;48:89:E7:56:9F:AF;54:06:4A:1D:18:01
135 RQ610648;34:29:8F:72:A4:49;54:03:9C:EA:5F:01
136 RQ610649;40:B0:76:5C:40:F6;
137 RQ610650;40:B0:76:5C:3B:90;
138 RQ610655;3C:F0:11:BF:B0:D5;54:FD:18:2A:54:01
139 RQ610656;40:B0:76:5C:3B:22;
140 RQ610661;40:B0:76:5C:3C:B9;
141 RQ610665;40:B0:76:5C:3C:34;
142 RQ610666;9C:7B:EF:A2:D1:C6;
143 RQ610667;40:B0:76:5C:3D:7F;
144 RQ610668;40:B0:76:5C:3F:C2;
145 RQ610669;40:B0:76:5C:3B:D0;
146 RQ610670;40:B0:76:5C:40:6C;
147 RQ610671;48:89:E7:4F:21:35;54:CC:FD:07:8E:01
148 RQ610672;40:B0:76:5C:40:C9;
149 RQ610673;40:B0:76:5C:3F:57;
150 RQ610674;40:B0:76:5C:3C:92;
151 RQ610675;40:B0:76:5C:3B:3D;
152 RQ610677;40:B0:76:5C:3C:82;
153 RQ610679;40:B0:76:5C:3B:AF;
154 RQ610683;40:B0:76:5C:3B:B2;
155 RQ610684;40:B0:76:5C:3B:49;
156 RQ610685;40:B0:76:5C:3B:1E;
157 RQ610686;40:B0:76:5C:40:3D;
158 RQ610687;40:B0:76:5C:3F:D4;
159 RQ610689;40:B0:76:5C:3B:C8;
160 RQ610690;40:B0:76:5C:40:79;
161 RQ610693;54:A9:2E:B9:42:07;DC:71:96:4C:C4:35
162 RQ610694;40:B0:76:5C:40:6D;
163 RQ610695;40:B0:76:5C:3E:25;
164 RQ610696;40:B0:76:5C:3D:64;
165 RQ610698;40:B0:76:5C:3C:E5;54:9F:A7:AE:97:02
166 RQ610699;40:B0:76:5C:3F:74;
167 RQ610701;40:B0:76:5C:3F:D2;
168 RQ610705;40:B0:76:5C:3D:45;
169 RQ610709;54:66:C1:83:33:01;E8:6F:38:38:67:25
170 RQ610717;40:B0:76:5C:3C:C5;
171 RQ610719;40:B0:76:5C:3D:76;
172 RQ610723;40:B0:76:5C:3C:5F;
173 RQ610726;40:B0:76:5C:40:F3;
174 RQ610730;18:31:BF:E0:68:D8;
175 RQ610731;40:B0:76:5C:3C:85;
176 RQ610733;40:B0:76:5C:3E:23;
177 RQ610734;40:B0:76:5C:3E:08;
178 RQ610735;40:B0:76:5C:3E:F4;
179 RQ610740;40:B0:76:5C:3B:41;
180 RQ610741;40:B0:76:5C:3E:13;
181 RQ610742;40:B0:76:5B:D4:45;
182 RQ610743;40:B0:76:5C:3A:F1;
183 RQ610744;40:B0:76:5C:40:70;
184 RQ610745;40:B0:76:5C:3A:FD;
185 RQ610746;40:B0:76:5C:3A:DC;
186 RQ610747;18:31:BF:E0:68:DF;
187 RQ610748;40:B0:76:5C:3E:6C;
188 RQ610750;40:B0:76:5C:3C:B4;
189 RQ610754;54:5D:23:DE:70:09;60:36:DD:E9:0D:A4
190 RQ610756;40:B0:76:5C:3B:6F;
191 RQ610757;40:B0:76:5C:3E:8F;
192 RQ610758;40:B0:76:5C:3B:03;
193 RQ610759;40:B0:76:5C:3E:47;
194 RQ610760;40:B0:76:5C:40:9C;
195 RQ610761;40:B0:76:5C:3B:1D;
196 RQ610762;40:B0:76:5C:3E:58;
197 RQ610764;40:B0:76:5C:3B:87;
198 RQ610765;40:B0:76:5C:3B:DE;
199 RQ610766;18:31:BF:E0:1F:FD;
200 RQ610767;40:B0:76:5C:3F:A8;
201 RQ610768;D4:5D:64:25:4A:18;
202 RQ610769;40:B0:76:5C:3F:AA;
203 RQ610770;40:B0:76:5C:3A:D0;
204 RQ610771;40:B0:76:5C:3E:15;
205 RQ610772;40:B0:76:5C:40:D3;
206 RQ610774;40:B0:76:5C:3E:D4;
207 RQ610775;40:B0:76:5C:3C:52;
208 RQ610776;40:B0:76:5C:3F:29;
209 RQ610777;40:B0:76:5C:40:C5;
210 RQ610779;04:92:26:5B:E4:03;
211 RQ610780;40:B0:76:5C:3E:34;
212 RQ610781;40:B0:76:5C:40:CE;
213 RQ610782;40:B0:76:5C:3C:97;
214 RQ610783;40:B0:76:5C:3E:10;
215 RQ610784;40:B0:76:5C:3E:0B;
216 RQ610786;40:B0:76:5C:3B:8D;
217 RQ610787;40:B0:76:5C:3D:6D;
218 RQ610788;40:B0:76:5C:3C:A3;
219 RQ610789;40:B0:76:5C:3F:7D;
220 RQ610790;40:B0:76:5C:3D:C8;
221 RQ610791;40:B0:76:5C:3F:F1;
222 RQ610792;40:B0:76:5C:40:BE;
223 RQ610793;40:B0:76:5C:3C:30;
224 RQ610794;40:B0:76:5C:3D:07;
225 RQ610796;40:B0:76:5C:3E:21;
226 RQ610797;18:31:BF:E0:6A:1A;
227 RQ610798;18:31:BF:E0:60:A0;
228 RQ610799;40:B0:76:5C:3A:BD;
229 RQ610800;18:31:BF:E0:65:6B;
230 RQ610801;40:B0:76:5B:D7:2D;
231 RQ610802;18:31:BF:E0:60:EE;
232 RQ610803;40:B0:76:5C:3F:F4;
233 RQ610804;18:31:BF:E0:20:5B;
234 RQ610805;40:B0:76:5C:40:46;
235 RQ610806;40:B0:76:5C:3D:EF;
236 RQ610807;40:B0:76:5C:3A:CB;
237 RQ610808;40:B0:76:5C:3E:A8;
238 RQ610809;40:B0:76:5C:3F:48;
239 RQ610810;40:B0:76:5C:3B:BE;
240 RQ610811;40:B0:76:5C:3E:57;
241 RQ610812;40:B0:76:5C:3C:9F;
242 RQ610813;40:B0:76:5C:3E:E7;
243 RQ610814;40:B0:76:5C:3C:28;
244 RQ610815;40:B0:76:5C:40:1C;
245 RQ610816;40:B0:76:5C:3E:26;
246 RQ610817;40:B0:76:5C:3A:F8;
247 RQ610818;40:B0:76:5C:40:10;
248 RQ610819;40:B0:76:5C:3E:A1;
249 RQ610820;40:B0:76:5C:3B:67;
250 RQ610821;40:B0:76:5C:3A:FF;
251 RQ610822;40:B0:76:5C:3B:89;
252 RQ610823;40:B0:76:5C:3B:DA;
253 RQ610824;40:B0:76:5C:3E:BC;
254 RQ610825;40:B0:76:5C:3B:5C;
255 RQ610826;40:B0:76:5C:3C:36;
256 RQ610827;40:B0:76:5C:3C:E2;
257 RQ610828;40:B0:76:5C:3E:BF;
258 RQ610831;40:B0:76:5C:3C:AB;
259 RQ610832;40:B0:76:5C:3D:29;
260 RQ610833;40:B0:76:5C:3F:03;
261 RQ610834;40:B0:76:5C:3E:FD;
262 RQ610835;40:B0:76:5C:3B:A3;
263 RQ610836;40:B0:76:5C:3C:6F;
264 RQ610837;40:B0:76:5C:3B:6C;
265 RQ610838;1C:BF:CE:48:32:96;54:18:FD:FF:2E:01
266 RQ610839;40:B0:76:5C:3E:19;
267 RQ610840;40:B0:76:5C:3D:DD;
268 RQ610841;40:B0:76:5C:3B:7F;
269 RQ610842;40:B0:76:5C:3B:D8;
270 RQ610843;40:B0:76:5C:3B:D6;
271 RQ610844;40:B0:76:5C:3B:05;
272 RQ610845;40:B0:76:5C:3E:3B;
273 RQ610846;40:B0:76:5C:3A:D2;
274 RQ610847;40:B0:76:5C:3E:0E;
275 RQ610848;40:B0:76:5C:3B:6B;
276 RQ610861;40:B0:76:5C:3F:8D;
277 RQ610869;B0:0C:D1:36:48:44;
278 RQ610871;C4:65:16:8E:21:64;
279 RQ610872;54:69:FA:AE:6B:01;D0:C6:37:6D:9E:9E
280 RQ610874;54:A1:2E:B5:8E:01;7C:D3:0A:70:FD:A3
281 RQ610875;D0:C6:37:6D:F3:A8;
282 RQ610876;D0:C6:37:6D:68:2A;
283 RQ610877;54:AF:15:25:1B:01;D0:C6:37:6B:F2:33
284 RQ610878;54:AA:C7:33:66:0E;D0:C6:37:6D:67:CB
285 RQ610880;7C:D3:0A:70:1E:3D;
286 RQ610882;40:B0:76:5C:40:22;
287 RQ610883;40:B0:76:5C:3B:80;
288 RQ610885;40:B0:76:5C:3C:22;
289 RQ610887;54:FB:86:21:7B:01;84:C5:A6:89:12:5A
290 RQ610888;54:A0:78:EF:70:01;84:C5:A6:8A:D0:7C
291 RQ610889;54:60:F2:77:4F:01;84:C5:A6:87:5F:D2
292 RQ610890;64:C9:01:B2:82:7F;
293 RQ610892;54:B6:A6:C9:53:01;E8:6F:38:88:97:BD
294 RQ610893;54:11:A0:83:49:01;64:C9:01:A4:C5:C2
295 RQ610895;E8:D8:D1:46:1A:35;
296 RQ610897;E8:6F:38:38:75:CF;
297 RQ610898;54:58:BB:AB:59:01;64:C9:01:A4:D5:04
298 RQ610900;54:53:63:71:67:10;E8:D8:D1:63:34:B4
299 RQ610901;E8:6F:38:88:4A:4F;
300 RQ610903;34:F3:9A:85:C8:E8;54:28:2B:10:3B:01
301 RQ610905;54:77:49:61:83:07;70:B5:E8:B1:FB:B7
302 RQ610911;40:B0:76:A5:34:CE;
303 RQ610927;04:6C:59:7B:D1:E9;
304 RQ610931;54:E0:A5:B3:52:0F;68:3E:26:0A:DA:39
305 RQ610952;54:AB:70:32:17:07;DC:41:A9:AF:04:42
306 RQ610965;54:33:DB:96:31:08;DC:41:A9:AF:E9:B6

Binary file not shown.

After

Width:  |  Height:  |  Size: 263 KiB

139
WOLWin/Forms/Form1.Designer.cs generated Normal file
View 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
View 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

File diff suppressed because it is too large Load Diff

92
WOLWin/Forms/Readme_Form.Designer.cs generated Normal file
View 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;
}
}

View 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;
}
}
}

File diff suppressed because it is too large Load Diff

182
WOLWin/Logic/WOLLib.cs Normal file
View 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
View 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());
}
}
}

View 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")]

View File

@@ -0,0 +1,5 @@

using System.Reflection;
[assembly: AssemblyVersion("1.23.4.26")]

View 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
View 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;
}
}
}
}

View 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
View 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;
}
}
}
}

View 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>

View 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
View 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>

View 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
View 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>