Initial commit

This commit is contained in:
2017-10-26 20:11:00 +02:00
commit 914793e145
79 changed files with 4267 additions and 0 deletions
Binary file not shown.
BIN
View File
Binary file not shown.
+782
View File
@@ -0,0 +1,782 @@
"DeployProject"
{
"VSVersion" = "3:800"
"ProjectType" = "8:{978C614F-708E-4E1A-B201-565925725DBA}"
"IsWebType" = "8:FALSE"
"ProjectName" = "8:WoL-Manager"
"LanguageId" = "3:1033"
"CodePage" = "3:1252"
"UILanguageId" = "3:1033"
"SccProjectName" = "8:"
"SccLocalPath" = "8:"
"SccAuxPath" = "8:"
"SccProvider" = "8:"
"Hierarchy"
{
"Entry"
{
"MsmKey" = "8:_4547845C796B4CF0A68E77C4B8DBA665"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_A0A2A3E977294E69B5F2AED96026A031"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
"OwnerKey" = "8:_A0A2A3E977294E69B5F2AED96026A031"
"MsmSig" = "8:_UNDEFINED"
}
}
"Configurations"
{
"Debug"
{
"DisplayName" = "8:Debug"
"IsDebugOnly" = "11:TRUE"
"IsReleaseOnly" = "11:FALSE"
"OutputFilename" = "8:Debug\\Setup1.msi"
"PackageFilesAs" = "3:2"
"PackageFileSize" = "3:-2147483648"
"CabType" = "3:1"
"Compression" = "3:2"
"SignOutput" = "11:FALSE"
"CertificateFile" = "8:"
"PrivateKeyFile" = "8:"
"TimeStampServer" = "8:"
"InstallerBootstrapper" = "3:2"
"BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}"
{
"Enabled" = "11:TRUE"
"PromptEnabled" = "11:TRUE"
"PrerequisitesLocation" = "2:1"
"Url" = "8:"
"ComponentsUrl" = "8:"
"Items"
{
}
}
}
"Release"
{
"DisplayName" = "8:Release"
"IsDebugOnly" = "11:FALSE"
"IsReleaseOnly" = "11:TRUE"
"OutputFilename" = "8:Release\\SetupWoLManagerv0.1.msi"
"PackageFilesAs" = "3:2"
"PackageFileSize" = "3:-2147483648"
"CabType" = "3:1"
"Compression" = "3:2"
"SignOutput" = "11:FALSE"
"CertificateFile" = "8:"
"PrivateKeyFile" = "8:"
"TimeStampServer" = "8:"
"InstallerBootstrapper" = "3:2"
"BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}"
{
"Enabled" = "11:TRUE"
"PromptEnabled" = "11:TRUE"
"PrerequisitesLocation" = "2:1"
"Url" = "8:"
"ComponentsUrl" = "8:"
"Items"
{
}
}
}
}
"Deployable"
{
"CustomAction"
{
}
"DefaultFeature"
{
"Name" = "8:DefaultFeature"
"Title" = "8:"
"Description" = "8:"
}
"ExternalPersistence"
{
"LaunchCondition"
{
"{A06ECF26-33A3-4562-8140-9B0E340D4F24}:_D947959A8303481E9682A484EFFA302C"
{
"Name" = "8:.NET Framework"
"Message" = "8:[VSDNETMSG]"
"Version" = "8:2.0.50727"
"AllowLaterVersions" = "11:FALSE"
"InstallUrl" = "8:http://go.microsoft.com/fwlink/?LinkId=9832"
}
}
}
"File"
{
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_4547845C796B4CF0A68E77C4B8DBA665"
{
"SourcePath" = "8:..\\WoL-Manager v0.1\\Magic.ico"
"TargetName" = "8:Magic.ico"
"Tag" = "8:"
"Folder" = "8:_0318ED3C2CDA41828F929243B2F3361C"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Vital" = "11:TRUE"
"ReadOnly" = "11:FALSE"
"Hidden" = "11:FALSE"
"System" = "11:FALSE"
"Permanent" = "11:FALSE"
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:FALSE"
"IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
}
}
"FileType"
{
}
"Folder"
{
"{3C67513D-01DD-4637-8A68-80971EB9504F}:_0318ED3C2CDA41828F929243B2F3361C"
{
"DefaultLocation" = "8:[ProgramFilesFolder]\\[ProductName]"
"Name" = "8:#1925"
"AlwaysCreate" = "11:FALSE"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Property" = "8:TARGETDIR"
"Folders"
{
}
}
"{1525181F-901A-416C-8A58-119130FE478E}:_7D35FA2D1A264BBEAAD10DCF4F8505D8"
{
"Name" = "8:#1916"
"AlwaysCreate" = "11:FALSE"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Property" = "8:DesktopFolder"
"Folders"
{
}
}
"{1525181F-901A-416C-8A58-119130FE478E}:_E240CDA889C94B97871BA13F142D01F8"
{
"Name" = "8:#1919"
"AlwaysCreate" = "11:FALSE"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Property" = "8:ProgramMenuFolder"
"Folders"
{
"{9EF0B969-E518-4E46-987F-47570745A589}:_0AF2B8D4662941D0904BFF753BFB5661"
{
"Name" = "8:WoL-Manager"
"AlwaysCreate" = "11:FALSE"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Property" = "8:_204DBBF1EAD04185AAEE971C74EA737F"
"Folders"
{
}
}
}
}
}
"LaunchCondition"
{
}
"Locator"
{
}
"MsiBootstrapper"
{
"LangId" = "3:1033"
}
"Product"
{
"Name" = "8:Microsoft Visual Studio"
"ProductName" = "8:WoL-Manager v0.1"
"ProductCode" = "8:{83F8651F-EAAC-461E-9057-A4016FA43964}"
"PackageCode" = "8:{675A7AB7-8CD6-4B70-83BB-D59F8FF74FE0}"
"UpgradeCode" = "8:{34EDCFE1-2847-4269-895C-EFDAC622D369}"
"RestartWWWService" = "11:FALSE"
"RemovePreviousVersions" = "11:TRUE"
"DetectNewerInstalledVersion" = "11:FALSE"
"InstallAllUsers" = "11:FALSE"
"ProductVersion" = "8:0.1.0"
"Manufacturer" = "8:The MatzMan Company"
"ARPHELPTELEPHONE" = "8:"
"ARPHELPLINK" = "8:"
"Title" = "8:WoL-Manager v0.1"
"Subject" = "8:"
"ARPCONTACT" = "8:MatzMan"
"Keywords" = "8:"
"ARPCOMMENTS" = "8:"
"ARPURLINFOABOUT" = "8:"
"ARPPRODUCTICON" = "8:"
"ARPIconIndex" = "3:0"
"SearchPath" = "8:"
"UseSystemSearchPath" = "11:TRUE"
"TargetPlatform" = "3:0"
"PreBuildEvent" = "8:"
"PostBuildEvent" = "8:"
"RunPostBuildEvent" = "3:0"
}
"Registry"
{
"HKLM"
{
"Keys"
{
"{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_F7824403F60747509639A8CB1DB98204"
{
"Name" = "8:Software"
"Condition" = "8:"
"AlwaysCreate" = "11:FALSE"
"DeleteAtUninstall" = "11:FALSE"
"Transitive" = "11:FALSE"
"Keys"
{
"{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_025F8ACA3A75424C923C45978BF10694"
{
"Name" = "8:[Manufacturer]"
"Condition" = "8:"
"AlwaysCreate" = "11:FALSE"
"DeleteAtUninstall" = "11:FALSE"
"Transitive" = "11:FALSE"
"Keys"
{
}
"Values"
{
}
}
}
"Values"
{
}
}
}
}
"HKCU"
{
"Keys"
{
"{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_8CCE1280869042B88479749D175776F9"
{
"Name" = "8:Software"
"Condition" = "8:"
"AlwaysCreate" = "11:FALSE"
"DeleteAtUninstall" = "11:FALSE"
"Transitive" = "11:FALSE"
"Keys"
{
"{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_01382B6920564C50BAFC825FF619EE48"
{
"Name" = "8:[Manufacturer]"
"Condition" = "8:"
"AlwaysCreate" = "11:FALSE"
"DeleteAtUninstall" = "11:FALSE"
"Transitive" = "11:FALSE"
"Keys"
{
}
"Values"
{
}
}
}
"Values"
{
}
}
}
}
"HKCR"
{
"Keys"
{
}
}
"HKU"
{
"Keys"
{
}
}
"HKPU"
{
"Keys"
{
}
}
}
"Sequences"
{
}
"Shortcut"
{
"{970C0BB2-C7D0-45D7-ABFA-7EC378858BC0}:_68B4CE9D747A4CEF9A00B2C27660A246"
{
"Name" = "8:WoL-Manager v0.1"
"Arguments" = "8:"
"Description" = "8:"
"ShowCmd" = "3:1"
"IconIndex" = "3:0"
"Transitive" = "11:FALSE"
"Target" = "8:_A0A2A3E977294E69B5F2AED96026A031"
"Folder" = "8:_0AF2B8D4662941D0904BFF753BFB5661"
"WorkingFolder" = "8:_0318ED3C2CDA41828F929243B2F3361C"
"Icon" = "8:_4547845C796B4CF0A68E77C4B8DBA665"
"Feature" = "8:"
}
"{970C0BB2-C7D0-45D7-ABFA-7EC378858BC0}:_A2FD3F18DCCB43F7A617DF02A795CA1D"
{
"Name" = "8:WoL-Manager v0.1"
"Arguments" = "8:"
"Description" = "8:"
"ShowCmd" = "3:1"
"IconIndex" = "3:0"
"Transitive" = "11:FALSE"
"Target" = "8:_A0A2A3E977294E69B5F2AED96026A031"
"Folder" = "8:_7D35FA2D1A264BBEAAD10DCF4F8505D8"
"WorkingFolder" = "8:_0318ED3C2CDA41828F929243B2F3361C"
"Icon" = "8:_4547845C796B4CF0A68E77C4B8DBA665"
"Feature" = "8:"
}
}
"UserInterface"
{
"{DF760B10-853B-4699-99F2-AFF7185B4A62}:_3C682703E33C42EE896B1FC8661A0BDF"
{
"Name" = "8:#1900"
"Sequence" = "3:1"
"Attributes" = "3:1"
"Dialogs"
{
"{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_153A97CA03DF48009D3D29F4157E6E5E"
{
"Sequence" = "3:100"
"DisplayName" = "8:Welcome"
"UseDynamicProperties" = "11:TRUE"
"IsDependency" = "11:FALSE"
"SourcePath" = "8:<VsdDialogDir>\\VsdWelcomeDlg.wid"
"Properties"
{
"BannerBitmap"
{
"Name" = "8:BannerBitmap"
"DisplayName" = "8:#1001"
"Description" = "8:#1101"
"Type" = "3:8"
"ContextData" = "8:Bitmap"
"Attributes" = "3:4"
"Setting" = "3:1"
"UsePlugInResources" = "11:TRUE"
}
"CopyrightWarning"
{
"Name" = "8:CopyrightWarning"
"DisplayName" = "8:#1002"
"Description" = "8:#1102"
"Type" = "3:3"
"ContextData" = "8:"
"Attributes" = "3:0"
"Setting" = "3:2"
"Value" = "8:This software is freeware! Everyone is free to share this software without charge. USE AT YOUR OWN RISK!"
"DefaultValue" = "8:#1202"
"UsePlugInResources" = "11:TRUE"
}
"Welcome"
{
"Name" = "8:Welcome"
"DisplayName" = "8:#1003"
"Description" = "8:#1103"
"Type" = "3:3"
"ContextData" = "8:"
"Attributes" = "3:0"
"Setting" = "3:1"
"Value" = "8:#1203"
"DefaultValue" = "8:#1203"
"UsePlugInResources" = "11:TRUE"
}
}
}
"{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_3E6CBC03B7EC4D59A9ECA2FED73BEF45"
{
"Sequence" = "3:300"
"DisplayName" = "8:Confirm Installation"
"UseDynamicProperties" = "11:TRUE"
"IsDependency" = "11:FALSE"
"SourcePath" = "8:<VsdDialogDir>\\VsdConfirmDlg.wid"
"Properties"
{
"BannerBitmap"
{
"Name" = "8:BannerBitmap"
"DisplayName" = "8:#1001"
"Description" = "8:#1101"
"Type" = "3:8"
"ContextData" = "8:Bitmap"
"Attributes" = "3:4"
"Setting" = "3:1"
"UsePlugInResources" = "11:TRUE"
}
}
}
"{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_6B23E6740F5C4B299C956DE46B799D33"
{
"Sequence" = "3:200"
"DisplayName" = "8:Installation Folder"
"UseDynamicProperties" = "11:TRUE"
"IsDependency" = "11:FALSE"
"SourcePath" = "8:<VsdDialogDir>\\VsdFolderDlg.wid"
"Properties"
{
"BannerBitmap"
{
"Name" = "8:BannerBitmap"
"DisplayName" = "8:#1001"
"Description" = "8:#1101"
"Type" = "3:8"
"ContextData" = "8:Bitmap"
"Attributes" = "3:4"
"Setting" = "3:1"
"UsePlugInResources" = "11:TRUE"
}
"InstallAllUsersVisible"
{
"Name" = "8:InstallAllUsersVisible"
"DisplayName" = "8:#1059"
"Description" = "8:#1159"
"Type" = "3:5"
"ContextData" = "8:1;True=1;False=0"
"Attributes" = "3:0"
"Setting" = "3:0"
"Value" = "3:1"
"DefaultValue" = "3:1"
"UsePlugInResources" = "11:TRUE"
}
}
}
}
}
"{DF760B10-853B-4699-99F2-AFF7185B4A62}:_467F78B55B014452875E6A13626FC2C1"
{
"Name" = "8:#1902"
"Sequence" = "3:2"
"Attributes" = "3:3"
"Dialogs"
{
"{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_6E8CE3E6F610483EB944850B47A83E5C"
{
"Sequence" = "3:100"
"DisplayName" = "8:Finished"
"UseDynamicProperties" = "11:TRUE"
"IsDependency" = "11:FALSE"
"SourcePath" = "8:<VsdDialogDir>\\VsdAdminFinishedDlg.wid"
"Properties"
{
"BannerBitmap"
{
"Name" = "8:BannerBitmap"
"DisplayName" = "8:#1001"
"Description" = "8:#1101"
"Type" = "3:8"
"ContextData" = "8:Bitmap"
"Attributes" = "3:4"
"Setting" = "3:1"
"UsePlugInResources" = "11:TRUE"
}
}
}
}
}
"{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_69CF2CBB063C4B8B9B82A4F336B7F512"
{
"UseDynamicProperties" = "11:FALSE"
"IsDependency" = "11:FALSE"
"SourcePath" = "8:<VsdDialogDir>\\VsdUserInterface.wim"
}
"{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_8415CC2C00CB497DAC3B70B2102CCCA5"
{
"UseDynamicProperties" = "11:FALSE"
"IsDependency" = "11:FALSE"
"SourcePath" = "8:<VsdDialogDir>\\VsdBasicDialogs.wim"
}
"{DF760B10-853B-4699-99F2-AFF7185B4A62}:_94E1DBFBCE874604A8BF7C62340EAF6C"
{
"Name" = "8:#1901"
"Sequence" = "3:1"
"Attributes" = "3:2"
"Dialogs"
{
"{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_3DD9CEC027DD404A822DE0C494081180"
{
"Sequence" = "3:100"
"DisplayName" = "8:Progress"
"UseDynamicProperties" = "11:TRUE"
"IsDependency" = "11:FALSE"
"SourcePath" = "8:<VsdDialogDir>\\VsdProgressDlg.wid"
"Properties"
{
"BannerBitmap"
{
"Name" = "8:BannerBitmap"
"DisplayName" = "8:#1001"
"Description" = "8:#1101"
"Type" = "3:8"
"ContextData" = "8:Bitmap"
"Attributes" = "3:4"
"Setting" = "3:1"
"UsePlugInResources" = "11:TRUE"
}
"ShowProgress"
{
"Name" = "8:ShowProgress"
"DisplayName" = "8:#1009"
"Description" = "8:#1109"
"Type" = "3:5"
"ContextData" = "8:1;True=1;False=0"
"Attributes" = "3:0"
"Setting" = "3:0"
"Value" = "3:1"
"DefaultValue" = "3:1"
"UsePlugInResources" = "11:TRUE"
}
}
}
}
}
"{DF760B10-853B-4699-99F2-AFF7185B4A62}:_D8730E1BB75944D3A1F4C2FA1E77F3E6"
{
"Name" = "8:#1900"
"Sequence" = "3:2"
"Attributes" = "3:1"
"Dialogs"
{
"{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_2E1538FA0A394EB4AC545548B71B0446"
{
"Sequence" = "3:300"
"DisplayName" = "8:Confirm Installation"
"UseDynamicProperties" = "11:TRUE"
"IsDependency" = "11:FALSE"
"SourcePath" = "8:<VsdDialogDir>\\VsdAdminConfirmDlg.wid"
"Properties"
{
"BannerBitmap"
{
"Name" = "8:BannerBitmap"
"DisplayName" = "8:#1001"
"Description" = "8:#1101"
"Type" = "3:8"
"ContextData" = "8:Bitmap"
"Attributes" = "3:4"
"Setting" = "3:1"
"UsePlugInResources" = "11:TRUE"
}
}
}
"{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_8F0D2DC4156F44E6A86171C84740D57E"
{
"Sequence" = "3:200"
"DisplayName" = "8:Installation Folder"
"UseDynamicProperties" = "11:TRUE"
"IsDependency" = "11:FALSE"
"SourcePath" = "8:<VsdDialogDir>\\VsdAdminFolderDlg.wid"
"Properties"
{
"BannerBitmap"
{
"Name" = "8:BannerBitmap"
"DisplayName" = "8:#1001"
"Description" = "8:#1101"
"Type" = "3:8"
"ContextData" = "8:Bitmap"
"Attributes" = "3:4"
"Setting" = "3:1"
"UsePlugInResources" = "11:TRUE"
}
}
}
"{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_EAD15FE143394BBA9A521029873DDEBE"
{
"Sequence" = "3:100"
"DisplayName" = "8:Welcome"
"UseDynamicProperties" = "11:TRUE"
"IsDependency" = "11:FALSE"
"SourcePath" = "8:<VsdDialogDir>\\VsdAdminWelcomeDlg.wid"
"Properties"
{
"BannerBitmap"
{
"Name" = "8:BannerBitmap"
"DisplayName" = "8:#1001"
"Description" = "8:#1101"
"Type" = "3:8"
"ContextData" = "8:Bitmap"
"Attributes" = "3:4"
"Setting" = "3:1"
"UsePlugInResources" = "11:TRUE"
}
"CopyrightWarning"
{
"Name" = "8:CopyrightWarning"
"DisplayName" = "8:#1002"
"Description" = "8:#1102"
"Type" = "3:3"
"ContextData" = "8:"
"Attributes" = "3:0"
"Setting" = "3:2"
"Value" = "8:This software is freeware! Everyone is free to share this software without charge. USE AT YOUR OWN RISK!"
"DefaultValue" = "8:#1202"
"UsePlugInResources" = "11:TRUE"
}
"Welcome"
{
"Name" = "8:Welcome"
"DisplayName" = "8:#1003"
"Description" = "8:#1103"
"Type" = "3:3"
"ContextData" = "8:"
"Attributes" = "3:0"
"Setting" = "3:1"
"Value" = "8:#1203"
"DefaultValue" = "8:#1203"
"UsePlugInResources" = "11:TRUE"
}
}
}
}
}
"{DF760B10-853B-4699-99F2-AFF7185B4A62}:_F2BCB55046294F55B95F77ED1699D48E"
{
"Name" = "8:#1902"
"Sequence" = "3:1"
"Attributes" = "3:3"
"Dialogs"
{
"{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_C4C710BDD95246218A83131A16E79319"
{
"Sequence" = "3:100"
"DisplayName" = "8:Finished"
"UseDynamicProperties" = "11:TRUE"
"IsDependency" = "11:FALSE"
"SourcePath" = "8:<VsdDialogDir>\\VsdFinishedDlg.wid"
"Properties"
{
"BannerBitmap"
{
"Name" = "8:BannerBitmap"
"DisplayName" = "8:#1001"
"Description" = "8:#1101"
"Type" = "3:8"
"ContextData" = "8:Bitmap"
"Attributes" = "3:4"
"Setting" = "3:1"
"UsePlugInResources" = "11:TRUE"
}
"UpdateText"
{
"Name" = "8:UpdateText"
"DisplayName" = "8:#1058"
"Description" = "8:#1158"
"Type" = "3:15"
"ContextData" = "8:"
"Attributes" = "3:0"
"Setting" = "3:1"
"Value" = "8:#1258"
"DefaultValue" = "8:#1258"
"UsePlugInResources" = "11:TRUE"
}
}
}
}
}
"{DF760B10-853B-4699-99F2-AFF7185B4A62}:_F5F112ABB3F644C8AE6F0E836D9885A9"
{
"Name" = "8:#1901"
"Sequence" = "3:2"
"Attributes" = "3:2"
"Dialogs"
{
"{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_48558DE7263142CCA5B8F528C45E2F64"
{
"Sequence" = "3:100"
"DisplayName" = "8:Progress"
"UseDynamicProperties" = "11:TRUE"
"IsDependency" = "11:FALSE"
"SourcePath" = "8:<VsdDialogDir>\\VsdAdminProgressDlg.wid"
"Properties"
{
"BannerBitmap"
{
"Name" = "8:BannerBitmap"
"DisplayName" = "8:#1001"
"Description" = "8:#1101"
"Type" = "3:8"
"ContextData" = "8:Bitmap"
"Attributes" = "3:4"
"Setting" = "3:1"
"UsePlugInResources" = "11:TRUE"
}
"ShowProgress"
{
"Name" = "8:ShowProgress"
"DisplayName" = "8:#1009"
"Description" = "8:#1109"
"Type" = "3:5"
"ContextData" = "8:1;True=1;False=0"
"Attributes" = "3:0"
"Setting" = "3:0"
"Value" = "3:1"
"DefaultValue" = "3:1"
"UsePlugInResources" = "11:TRUE"
}
}
}
}
}
}
"MergeModule"
{
}
"ProjectOutput"
{
"{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_A0A2A3E977294E69B5F2AED96026A031"
{
"SourcePath" = "8:..\\WoL-Manager v0.1\\obj\\Release\\WoL-Manager v0.1.exe"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_0318ED3C2CDA41828F929243B2F3361C"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Vital" = "11:TRUE"
"ReadOnly" = "11:FALSE"
"Hidden" = "11:FALSE"
"System" = "11:FALSE"
"Permanent" = "11:FALSE"
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:FALSE"
"IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
"ProjectOutputGroupRegister" = "3:1"
"OutputConfiguration" = "8:Release|Any CPU"
"OutputGroupCanonicalName" = "8:Built"
"OutputProjectGuid" = "8:{DBBAD321-A9A0-486E-828B-DE9920C77E65}"
"ShowKeyOutput" = "11:TRUE"
"ExcludeFilters"
{
}
}
}
}
}
+24
View File
@@ -0,0 +1,24 @@
Microsoft Visual Studio Solution File, Format Version 9.00
# Visual Studio 2005
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WoL-Manager v0.1", "WoL-Manager v0.1\WoL-Manager v0.1.csproj", "{DBBAD321-A9A0-486E-828B-DE9920C77E65}"
EndProject
Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "Setup1", "Setup1\Setup1.vdproj", "{3531DD24-71CB-4C84-9DB1-57AB02681FF6}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{DBBAD321-A9A0-486E-828B-DE9920C77E65}.Debug|Any CPU.ActiveCfg = Release|Any CPU
{DBBAD321-A9A0-486E-828B-DE9920C77E65}.Debug|Any CPU.Build.0 = Release|Any CPU
{DBBAD321-A9A0-486E-828B-DE9920C77E65}.Release|Any CPU.ActiveCfg = Release|Any CPU
{DBBAD321-A9A0-486E-828B-DE9920C77E65}.Release|Any CPU.Build.0 = Release|Any CPU
{3531DD24-71CB-4C84-9DB1-57AB02681FF6}.Debug|Any CPU.ActiveCfg = Debug
{3531DD24-71CB-4C84-9DB1-57AB02681FF6}.Release|Any CPU.ActiveCfg = Release
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
BIN
View File
Binary file not shown.
+112
View File
@@ -0,0 +1,112 @@
namespace WoL_Manager
{
partial class AboutWindow
{
/// <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(AboutWindow));
this.QuitButton1 = new System.Windows.Forms.Button();
this.richTextBox1 = new System.Windows.Forms.RichTextBox();
this.label1 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.SuspendLayout();
//
// QuitButton1
//
this.QuitButton1.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.QuitButton1.Location = new System.Drawing.Point(146, 272);
this.QuitButton1.Name = "QuitButton1";
this.QuitButton1.Size = new System.Drawing.Size(75, 34);
this.QuitButton1.TabIndex = 0;
this.QuitButton1.Text = "Quit";
this.QuitButton1.UseVisualStyleBackColor = true;
//
// richTextBox1
//
this.richTextBox1.Cursor = System.Windows.Forms.Cursors.Default;
this.richTextBox1.Location = new System.Drawing.Point(12, 74);
this.richTextBox1.Name = "richTextBox1";
this.richTextBox1.ReadOnly = true;
this.richTextBox1.ScrollBars = System.Windows.Forms.RichTextBoxScrollBars.None;
this.richTextBox1.Size = new System.Drawing.Size(337, 146);
this.richTextBox1.TabIndex = 1;
this.richTextBox1.Text = resources.GetString("richTextBox1.Text");
this.richTextBox1.TextChanged += new System.EventHandler(this.richTextBox1_TextChanged);
//
// label1
//
this.label1.AutoSize = true;
this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 21.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label1.Location = new System.Drawing.Point(12, 18);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(277, 33);
this.label1.TabIndex = 2;
this.label1.Text = "WoL-Manager v0.1";
this.label1.Click += new System.EventHandler(this.label1_Click);
//
// label2
//
this.label2.AutoSize = true;
this.label2.Font = new System.Drawing.Font("Times New Roman", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label2.Location = new System.Drawing.Point(8, 233);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(120, 19);
this.label2.TabIndex = 3;
this.label2.Text = "© 2006 MatzMan";
//
// AboutWindow
//
this.AcceptButton = this.QuitButton1;
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.CancelButton = this.QuitButton1;
this.ClientSize = new System.Drawing.Size(361, 318);
this.ControlBox = false;
this.Controls.Add(this.label2);
this.Controls.Add(this.label1);
this.Controls.Add(this.richTextBox1);
this.Controls.Add(this.QuitButton1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "AboutWindow";
this.ShowInTaskbar = false;
this.Text = "About...";
this.Load += new System.EventHandler(this.AboutWindow_Load);
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Button QuitButton1;
private System.Windows.Forms.RichTextBox richTextBox1;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Label label2;
}
}
+41
View File
@@ -0,0 +1,41 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace WoL_Manager
{
public partial class AboutWindow : Form
{
public AboutWindow()
{
InitializeComponent();
}
private void AboutWindow_Load(object sender, EventArgs e)
{
QuitButton1.Click += new EventHandler(this.quitEventHandler);
}
private void quitEventHandler(object sender, EventArgs e)
{
this.Hide();
this.Close();
}
private void label1_Click(object sender, EventArgs e)
{
}
private void richTextBox1_TextChanged(object sender, EventArgs e)
{
}
}
}
+129
View File
@@ -0,0 +1,129 @@
<?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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="richTextBox1.Text" xml:space="preserve">
<value>This software is freeware!
Everyone is free to share this software without charge.
Use at your own risk!
I don't give support and don't take the responsibility for any bugs and problems caused by the use of this software.
I have written this piece of software by reason of learning C# and I didn't have the time for bug-searching and testing the reliability.
So this software should not be used in commercial and critical environments.</value>
</data>
</root>
+99
View File
@@ -0,0 +1,99 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
namespace WoL_Manager
{
class EditHostWindow : NewHostWindow
{
private Host host;
public EditHostWindow(Host h) : base()
{
host = h;
this.Text = "Edit Host";
InputName.Text = host.Name;
InputIP.Text = host.IP.ToString();
InputBroadcast.Text = host.Broadcast.ToString();
InputMAC.Text = host.MAC;
InputDescription.Text = host.Description;
}
protected override void NewHostWindow_Load(object sender, EventArgs e)
{
OkButton1.Click += new System.EventHandler(this.buttonEventHandler);
CancelButton1.Click += new System.EventHandler(this.buttonEventHandler);
}
protected override void buttonEventHandler(object sender, EventArgs e)
{
if (sender == OkButton1)
{
string name = InputName.Text.Trim();
if (name.Length < 1)
{
MessageBox.Show("There is no name given!", "ERROR", MessageBoxButtons.OK);
return;
}
string mac = InputMAC.Text.Trim().ToUpper();
if (!MainWindow.checkMAC(mac))
{
MessageBox.Show("Wasn't able to parse MAC-Address!\nShould be like this: 00AF2C4323D3",
"ERROR", MessageBoxButtons.OK);
return;
}
string description = InputDescription.Text;
System.Net.IPAddress ip_addr;
System.Net.IPAddress bc_addr;
try
{
ip_addr = System.Net.IPAddress.Parse(InputIP.Text);
}
catch (Exception)
{
MessageBox.Show("Wasn't able to parse IP-Address!\nShould be like this: 192.168.0.1",
"ERROR", MessageBoxButtons.OK);
return;
}
try
{
bc_addr = System.Net.IPAddress.Parse(InputBroadcast.Text);
}
catch (Exception)
{
MessageBox.Show("Wasn't able to parse Broadcast-Address!\nShould be like this: 192.168.0.255",
"ERROR", MessageBoxButtons.OK);
return;
}
host.Name = name;
host.IP = ip_addr;
host.Broadcast = bc_addr;
host.MAC = mac;
host.Description = description;
host.pingThread.stopThread();
host.pingThread = null;
}
this.Close();
}
private void InitializeComponent()
{
this.groupBox1.SuspendLayout();
this.SuspendLayout();
//
// EditHostWindow
//
this.ClientSize = new System.Drawing.Size(355, 257);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.Name = "EditHostWindow";
this.groupBox1.ResumeLayout(false);
this.groupBox1.PerformLayout();
this.ResumeLayout(false);
}
}
}
+120
View File
@@ -0,0 +1,120 @@
<?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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
+346
View File
@@ -0,0 +1,346 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Net;
using System.Net.Sockets;
using System.Net.NetworkInformation;
using System.Drawing;
using System.Xml;
using System.Xml.Schema;
using System.IO;
namespace WoL_Manager
{
class Host
{
private string name;
private IPAddress ip;
private string mac_address;
private IPAddress broadcast;
private string description;
private int status;
private PingThread ping;
private PingReply lastPingReply;
private System.DateTime wakeTime;
private static MainWindow parent = null;
private static Icon[] iconList = null;
private static List<Host> hostList = new List<Host>();
private Host(string name, IPAddress ip, string mac,
IPAddress broadcast, string description)
{
this.name = name;
this.ip = ip;
this.mac_address = mac;
this.broadcast = broadcast;
this.description = description;
status = 0;
ping = null;
lastPingReply = null;
wakeTime = DateTime.Now;
}
~Host()
{
if (ping != null)
{
ping.stopThread();
}
}
public static void clearList()
{
hostList.Clear();
}
public Icon getStatusIcon()
{
if (iconList != null && iconList.Length > status)
{
return iconList[status];
}
else
{
return null;
}
}
public static MainWindow Parent
{
set
{
parent = value;
}
get
{
return parent;
}
}
public static Icon[] IconList
{
set
{
iconList = value;
}
get
{
return iconList;
}
}
public PingThread pingThread
{
set
{
ping = value;
}
get
{
return ping;
}
}
public string getStatusString()
{
switch (status)
{
case 0:
return "Unknown Status";
case 1:
return string.Format("Host online ({0} ms)",lastPingReply.RoundtripTime);
case 2:
return string.Format("Host not reachable ({0})", lastPingReply.Status);
case 3:
TimeSpan temp = (TimeSpan)(DateTime.Now - wakeTime);
return string.Format("Waking Host (waiting for {0} m {1} s)", temp.Minutes, temp.Seconds);
default:
return "???";
}
}
public PingReply LastPingResult
{
get
{
return lastPingReply;
}
set
{
lastPingReply = value;
if (value.Status == IPStatus.Success)
{
status = 1;
}
else if (status == 3)
{
double temp = ((TimeSpan)(DateTime.Now - wakeTime)).TotalSeconds;
if (temp > ManagerSettings.WakeWaitTime)
{
status = 2;
}
}
else if (status != 3)
{
status = 2;
}
parent.updateDataView();
}
}
public bool wakeHost()
{
bool temp = Magic_Packet.sendPacket(this);
if (temp)
{
status = 3;
wakeTime = System.DateTime.Now;
}
return temp;
}
private static void validationEventHandler(object sender, ValidationEventArgs args)
{
valitationResult = false;
}
private static bool valitationResult = true;
public static bool readFromFile(string file)
{
XmlReaderSettings settings = new XmlReaderSettings();
settings.IgnoreWhitespace = true;
settings.IgnoreComments = true;
settings.IgnoreProcessingInstructions = true;
settings.ProhibitDtd = false;
settings.ValidationType = ValidationType.DTD;
settings.ValidationEventHandler += new ValidationEventHandler(validationEventHandler);
XmlReader reader = XmlReader.Create(file, settings);
while (reader.Read())
{
if (reader.NodeType == XmlNodeType.Element && reader.LocalName.CompareTo("host") == 0)
{
string name;
string ip;
string bc;
string mac;
string desc;
System.Net.IPAddress ip_adr;
System.Net.IPAddress bc_adr;
reader.Read();
name = reader.ReadString();
reader.Read();
ip = reader.ReadString();
reader.Read();
bc = reader.ReadString();
reader.Read();
mac = reader.ReadString();
if (!MainWindow.checkMAC(mac))
{
reader.Close();
return false;
}
reader.Read();
desc = reader.ReadString();
try
{
ip_adr = System.Net.IPAddress.Parse(ip);
bc_adr = System.Net.IPAddress.Parse(bc);
}
catch (Exception)
{
reader.Close();
return false;
}
if (valitationResult == false)
{
reader.Close();
return false;
}
Host.createHost(name, ip_adr, mac, bc_adr, desc);
}
}
reader.Close();
return true;
}
public static void createDTD(string file)
{
string temp = "<?xml version='1.0' encoding='utf-8'?>\n\n<!ELEMENT hostlist (host*)>\n<!ELEMENT host (name, ip_address, broadcast, mac_address, description)>\n<!ELEMENT name (#PCDATA)>\n<!ELEMENT ip_address (#PCDATA)>\n<!ELEMENT broadcast (#PCDATA)>\n<!ELEMENT mac_address (#PCDATA)>\n<!ELEMENT description (#PCDATA)>";
File.WriteAllText(file, temp);
}
public static void writeToFile(string file)
{
Host[] hostList = Host.getHostList();
string temp = "<?xml version='1.0' encoding='utf-8'?>\n<!DOCTYPE hostlist SYSTEM 'hosts.dtd'>\n\n<hostlist>";
if (hostList != null && hostList.Length > 0)
{
for (int t = 0; t < hostList.Length; t++)
{
temp = String.Concat(temp, "\n<host>\n<name>", hostList[t].Name, "</name>");
temp = String.Concat(temp, "\n<ip_address>", hostList[t].IP.ToString(), "</ip_address>");
temp = String.Concat(temp, "\n<broadcast>", hostList[t].Broadcast.ToString(), "</broadcast>");
temp = String.Concat(temp, "\n<mac_address>", hostList[t].MAC, "</mac_address>");
temp = String.Concat(temp, "\n<description>", hostList[t].Description, "</description>\n</host>");
}
}
temp = String.Concat(temp,"\n</hostlist>");
File.WriteAllText(file,temp);
}
public int Status
{
get
{
return status;
}
set
{
status = value;
}
}
public string Name
{
get
{
return name;
}
set
{
name = value;
}
}
public IPAddress IP
{
get
{
return ip;
}
set
{
ip = value;
}
}
public string MAC
{
get
{
return mac_address;
}
set
{
mac_address = value;
}
}
public IPAddress Broadcast
{
get
{
return broadcast;
}
set
{
broadcast = value;
}
}
public string Description
{
get
{
return description;
}
set
{
description = value;
}
}
public static Host createHost(string name, IPAddress ip, string mac,
IPAddress broadcast, string description)
{
Host temp = new Host(name, ip, mac, broadcast, description);
hostList.Add(temp);
return temp;
}
public static bool deleteHost(Host host)
{
host.pingThread.stopThread();
return hostList.Remove(host);
}
public static Host[] getHostList()
{
return hostList.ToArray();
}
}
}
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 766 B

+87
View File
@@ -0,0 +1,87 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Net;
using System.Net.Sockets;
using System.Net.NetworkInformation;
namespace WoL_Manager
{
class Magic_Packet
{
private byte[] data;
private int size;
public Magic_Packet(string mac_adress)
{
size = 135;
data = new byte[6];
for (int t1 = 0; t1 < 6; t1++)
{
data[t1] = byte.Parse(mac_adress.Substring(t1 * 2, 2), System.Globalization.NumberStyles.HexNumber);
}
}
public int getSerializeLength()
{
return size;
}
public int serialize(ref byte[] buffer, int index)
{
if (buffer.Length - index < size)
{
throw new Exception("ERROR:Buffer-Overflow detected");
}
for (int t = 0; t < 6; t++)
{
buffer[index+t] = 0xFF;
}
for (int t = 0; t < 16; t++)
{
Array.Copy(data, 0, buffer, index + 6 + 6 * t, 6);
}
char[] temp = "\0\0Wake on Lan provided by MatzMan".ToCharArray();
for (int t = 0; t < 33; t++)
{
buffer[index + 102 + t] = Convert.ToByte(temp[t]);
}
return size;
}
public string getPayloadType()
{
return "WoL";
}
public static bool sendPacket(Host host)
{
int temp1;
byte[] temp2;
if (!MainWindow.checkMAC(host.MAC))
{
return false;
}
Magic_Packet packet = new Magic_Packet(host.MAC);
temp1 = packet.getSerializeLength();
temp2 = new byte[temp1];
packet.serialize(ref temp2, 0);
Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Raw, ProtocolType.Raw);
socket.SetSocketOption(SocketOptionLevel.IP, SocketOptionName.AcceptConnection, false);
socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Broadcast, true);
IPEndPoint ipepServer = new IPEndPoint(host.Broadcast, 0);
EndPoint epServer = (ipepServer);
int temp;
for (int t1 = 0; t1 < 3; t1++)
{
temp = socket.SendTo(temp2, epServer);
}
return true;
}
}
}
+395
View File
@@ -0,0 +1,395 @@
namespace WoL_Manager
{
partial class MainWindow
{
/// <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()
{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainWindow));
this.menuStrip1 = new System.Windows.Forms.MenuStrip();
this.FileMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.QuitMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.SettingsMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.HelpMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.AboutMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.panel1 = new System.Windows.Forms.Panel();
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.DataGridHosts = new System.Windows.Forms.DataGridView();
this.ColumnIcon = new System.Windows.Forms.DataGridViewImageColumn();
this.ColumnName = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.ColumnIP = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Status = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.ColumnHost = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.DataViewContextMenu = new System.Windows.Forms.ContextMenuStrip(this.components);
this.AddMenuItem2 = new System.Windows.Forms.ToolStripMenuItem();
this.EditMenuItem2 = new System.Windows.Forms.ToolStripMenuItem();
this.DeleteMenuItem2 = new System.Windows.Forms.ToolStripMenuItem();
this.WakeMenuItem2 = new System.Windows.Forms.ToolStripMenuItem();
this.OutputTextBox = new System.Windows.Forms.RichTextBox();
this.ButtonBar1 = new System.Windows.Forms.ToolStrip();
this.AddMenuItem1 = new System.Windows.Forms.ToolStripButton();
this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator();
this.EditMenuItem1 = new System.Windows.Forms.ToolStripButton();
this.toolStripSeparator4 = new System.Windows.Forms.ToolStripSeparator();
this.DeleteMenuItem1 = new System.Windows.Forms.ToolStripButton();
this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
this.WakeMenuItem1 = new System.Windows.Forms.ToolStripButton();
this.TaskBarIcon = new System.Windows.Forms.NotifyIcon(this.components);
this.menuStrip1.SuspendLayout();
this.panel1.SuspendLayout();
this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout();
this.splitContainer1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.DataGridHosts)).BeginInit();
this.DataViewContextMenu.SuspendLayout();
this.ButtonBar1.SuspendLayout();
this.SuspendLayout();
//
// menuStrip1
//
this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.FileMenuItem1,
this.SettingsMenuItem1,
this.HelpMenuItem1});
this.menuStrip1.Location = new System.Drawing.Point(0, 0);
this.menuStrip1.Name = "menuStrip1";
this.menuStrip1.Size = new System.Drawing.Size(642, 24);
this.menuStrip1.TabIndex = 0;
this.menuStrip1.Text = "menuStrip1";
//
// FileMenuItem1
//
this.FileMenuItem1.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.QuitMenuItem1});
this.FileMenuItem1.Name = "FileMenuItem1";
this.FileMenuItem1.Size = new System.Drawing.Size(65, 20);
this.FileMenuItem1.Text = "&Program";
//
// QuitMenuItem1
//
this.QuitMenuItem1.Name = "QuitMenuItem1";
this.QuitMenuItem1.Size = new System.Drawing.Size(97, 22);
this.QuitMenuItem1.Text = "&Quit";
//
// SettingsMenuItem1
//
this.SettingsMenuItem1.Name = "SettingsMenuItem1";
this.SettingsMenuItem1.Size = new System.Drawing.Size(61, 20);
this.SettingsMenuItem1.Text = "&Settings";
//
// HelpMenuItem1
//
this.HelpMenuItem1.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.AboutMenuItem1});
this.HelpMenuItem1.Name = "HelpMenuItem1";
this.HelpMenuItem1.Size = new System.Drawing.Size(44, 20);
this.HelpMenuItem1.Text = "&Help";
//
// AboutMenuItem1
//
this.AboutMenuItem1.Name = "AboutMenuItem1";
this.AboutMenuItem1.Size = new System.Drawing.Size(116, 22);
this.AboutMenuItem1.Text = "&About...";
//
// panel1
//
this.panel1.Controls.Add(this.splitContainer1);
this.panel1.Controls.Add(this.ButtonBar1);
this.panel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel1.Location = new System.Drawing.Point(0, 24);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(642, 422);
this.panel1.TabIndex = 1;
//
// splitContainer1
//
this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
this.splitContainer1.Location = new System.Drawing.Point(0, 25);
this.splitContainer1.Name = "splitContainer1";
this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal;
//
// splitContainer1.Panel1
//
this.splitContainer1.Panel1.Controls.Add(this.DataGridHosts);
//
// splitContainer1.Panel2
//
this.splitContainer1.Panel2.Controls.Add(this.OutputTextBox);
this.splitContainer1.Size = new System.Drawing.Size(642, 397);
this.splitContainer1.SplitterDistance = 218;
this.splitContainer1.TabIndex = 1;
//
// DataGridHosts
//
this.DataGridHosts.AllowUserToAddRows = false;
this.DataGridHosts.AllowUserToDeleteRows = false;
this.DataGridHosts.AllowUserToOrderColumns = true;
this.DataGridHosts.AllowUserToResizeRows = false;
this.DataGridHosts.BackgroundColor = System.Drawing.SystemColors.Window;
this.DataGridHosts.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
this.DataGridHosts.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.DataGridHosts.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.ColumnIcon,
this.ColumnName,
this.ColumnIP,
this.Status,
this.ColumnHost});
this.DataGridHosts.ContextMenuStrip = this.DataViewContextMenu;
this.DataGridHosts.Cursor = System.Windows.Forms.Cursors.Default;
this.DataGridHosts.Dock = System.Windows.Forms.DockStyle.Fill;
this.DataGridHosts.ImeMode = System.Windows.Forms.ImeMode.NoControl;
this.DataGridHosts.Location = new System.Drawing.Point(0, 0);
this.DataGridHosts.MultiSelect = false;
this.DataGridHosts.Name = "DataGridHosts";
this.DataGridHosts.ReadOnly = true;
this.DataGridHosts.RowHeadersVisible = false;
this.DataGridHosts.RowTemplate.Height = 24;
this.DataGridHosts.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
this.DataGridHosts.ShowEditingIcon = false;
this.DataGridHosts.Size = new System.Drawing.Size(642, 218);
this.DataGridHosts.TabIndex = 0;
//
// ColumnIcon
//
this.ColumnIcon.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None;
this.ColumnIcon.HeaderText = "";
this.ColumnIcon.MinimumWidth = 24;
this.ColumnIcon.Name = "ColumnIcon";
this.ColumnIcon.ReadOnly = true;
this.ColumnIcon.Resizable = System.Windows.Forms.DataGridViewTriState.False;
this.ColumnIcon.Width = 24;
//
// ColumnName
//
this.ColumnName.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
this.ColumnName.HeaderText = "Name";
this.ColumnName.Name = "ColumnName";
this.ColumnName.ReadOnly = true;
//
// ColumnIP
//
this.ColumnIP.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
this.ColumnIP.HeaderText = "IP-Address";
this.ColumnIP.Name = "ColumnIP";
this.ColumnIP.ReadOnly = true;
//
// Status
//
this.Status.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
this.Status.HeaderText = "Status";
this.Status.Name = "Status";
this.Status.ReadOnly = true;
//
// ColumnHost
//
this.ColumnHost.HeaderText = "";
this.ColumnHost.Name = "ColumnHost";
this.ColumnHost.ReadOnly = true;
this.ColumnHost.Visible = false;
//
// DataViewContextMenu
//
this.DataViewContextMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.AddMenuItem2,
this.EditMenuItem2,
this.DeleteMenuItem2,
this.WakeMenuItem2});
this.DataViewContextMenu.Name = "DataViewContextMenu";
this.DataViewContextMenu.Size = new System.Drawing.Size(136, 92);
//
// AddMenuItem2
//
this.AddMenuItem2.Name = "AddMenuItem2";
this.AddMenuItem2.Size = new System.Drawing.Size(135, 22);
this.AddMenuItem2.Text = "Add Host";
//
// EditMenuItem2
//
this.EditMenuItem2.Enabled = false;
this.EditMenuItem2.Name = "EditMenuItem2";
this.EditMenuItem2.Size = new System.Drawing.Size(135, 22);
this.EditMenuItem2.Text = "Edit Host";
//
// DeleteMenuItem2
//
this.DeleteMenuItem2.Enabled = false;
this.DeleteMenuItem2.Name = "DeleteMenuItem2";
this.DeleteMenuItem2.Size = new System.Drawing.Size(135, 22);
this.DeleteMenuItem2.Text = "Delete Host";
//
// WakeMenuItem2
//
this.WakeMenuItem2.Enabled = false;
this.WakeMenuItem2.Name = "WakeMenuItem2";
this.WakeMenuItem2.Size = new System.Drawing.Size(135, 22);
this.WakeMenuItem2.Text = "Wake Host";
//
// OutputTextBox
//
this.OutputTextBox.DetectUrls = false;
this.OutputTextBox.Dock = System.Windows.Forms.DockStyle.Fill;
this.OutputTextBox.Location = new System.Drawing.Point(0, 0);
this.OutputTextBox.Name = "OutputTextBox";
this.OutputTextBox.ReadOnly = true;
this.OutputTextBox.Size = new System.Drawing.Size(642, 175);
this.OutputTextBox.TabIndex = 0;
this.OutputTextBox.Text = "";
//
// ButtonBar1
//
this.ButtonBar1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.AddMenuItem1,
this.toolStripSeparator3,
this.EditMenuItem1,
this.toolStripSeparator4,
this.DeleteMenuItem1,
this.toolStripSeparator2,
this.WakeMenuItem1});
this.ButtonBar1.Location = new System.Drawing.Point(0, 0);
this.ButtonBar1.Name = "ButtonBar1";
this.ButtonBar1.Size = new System.Drawing.Size(642, 25);
this.ButtonBar1.TabIndex = 0;
this.ButtonBar1.Text = "ButtonBar";
//
// AddMenuItem1
//
this.AddMenuItem1.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
this.AddMenuItem1.ImageTransparentColor = System.Drawing.Color.Magenta;
this.AddMenuItem1.Name = "AddMenuItem1";
this.AddMenuItem1.Size = new System.Drawing.Size(61, 22);
this.AddMenuItem1.Text = "Add Host";
//
// toolStripSeparator3
//
this.toolStripSeparator3.Name = "toolStripSeparator3";
this.toolStripSeparator3.Size = new System.Drawing.Size(6, 25);
//
// EditMenuItem1
//
this.EditMenuItem1.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
this.EditMenuItem1.Enabled = false;
this.EditMenuItem1.ImageTransparentColor = System.Drawing.Color.Magenta;
this.EditMenuItem1.Name = "EditMenuItem1";
this.EditMenuItem1.Size = new System.Drawing.Size(59, 22);
this.EditMenuItem1.Text = "Edit Host";
//
// toolStripSeparator4
//
this.toolStripSeparator4.Name = "toolStripSeparator4";
this.toolStripSeparator4.Size = new System.Drawing.Size(6, 25);
//
// DeleteMenuItem1
//
this.DeleteMenuItem1.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
this.DeleteMenuItem1.Enabled = false;
this.DeleteMenuItem1.ImageTransparentColor = System.Drawing.Color.Magenta;
this.DeleteMenuItem1.Name = "DeleteMenuItem1";
this.DeleteMenuItem1.Size = new System.Drawing.Size(72, 22);
this.DeleteMenuItem1.Text = "Delete Host";
//
// toolStripSeparator2
//
this.toolStripSeparator2.Name = "toolStripSeparator2";
this.toolStripSeparator2.Size = new System.Drawing.Size(6, 25);
//
// WakeMenuItem1
//
this.WakeMenuItem1.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
this.WakeMenuItem1.Enabled = false;
this.WakeMenuItem1.ImageTransparentColor = System.Drawing.Color.Magenta;
this.WakeMenuItem1.Name = "WakeMenuItem1";
this.WakeMenuItem1.Size = new System.Drawing.Size(68, 22);
this.WakeMenuItem1.Text = "Wake Host";
//
// TaskBarIcon
//
this.TaskBarIcon.Icon = ((System.Drawing.Icon)(resources.GetObject("TaskBarIcon.Icon")));
this.TaskBarIcon.Text = "WoL-Manager";
this.TaskBarIcon.Visible = true;
//
// MainWindow
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(642, 446);
this.Controls.Add(this.panel1);
this.Controls.Add(this.menuStrip1);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MainMenuStrip = this.menuStrip1;
this.Name = "MainWindow";
this.Text = "WoL-Manager v0.1 by MatzMan";
this.Load += new System.EventHandler(this.MainWindow_Load);
this.menuStrip1.ResumeLayout(false);
this.menuStrip1.PerformLayout();
this.panel1.ResumeLayout(false);
this.panel1.PerformLayout();
this.splitContainer1.Panel1.ResumeLayout(false);
this.splitContainer1.Panel2.ResumeLayout(false);
this.splitContainer1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.DataGridHosts)).EndInit();
this.DataViewContextMenu.ResumeLayout(false);
this.ButtonBar1.ResumeLayout(false);
this.ButtonBar1.PerformLayout();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
protected System.Windows.Forms.MenuStrip menuStrip1;
protected System.Windows.Forms.ToolStripMenuItem FileMenuItem1;
protected System.Windows.Forms.ToolStripMenuItem QuitMenuItem1;
protected System.Windows.Forms.ToolStripMenuItem HelpMenuItem1;
protected System.Windows.Forms.ToolStripMenuItem AboutMenuItem1;
protected System.Windows.Forms.Panel panel1;
protected System.Windows.Forms.SplitContainer splitContainer1;
protected System.Windows.Forms.DataGridView DataGridHosts;
protected System.Windows.Forms.ToolStrip ButtonBar1;
protected System.Windows.Forms.RichTextBox OutputTextBox;
protected System.Windows.Forms.ToolStripButton AddMenuItem1;
protected System.Windows.Forms.ToolStripButton WakeMenuItem1;
public System.Windows.Forms.ToolStripButton DeleteMenuItem1;
protected System.Windows.Forms.ToolStripSeparator toolStripSeparator2;
protected System.Windows.Forms.ToolStripButton EditMenuItem1;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator3;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator4;
private System.Windows.Forms.DataGridViewImageColumn ColumnIcon;
private System.Windows.Forms.DataGridViewTextBoxColumn ColumnName;
private System.Windows.Forms.DataGridViewTextBoxColumn ColumnIP;
private System.Windows.Forms.DataGridViewTextBoxColumn Status;
private System.Windows.Forms.DataGridViewTextBoxColumn ColumnHost;
private System.Windows.Forms.ToolStripMenuItem SettingsMenuItem1;
private System.Windows.Forms.NotifyIcon TaskBarIcon;
private System.Windows.Forms.ContextMenuStrip DataViewContextMenu;
private System.Windows.Forms.ToolStripMenuItem AddMenuItem2;
private System.Windows.Forms.ToolStripMenuItem EditMenuItem2;
private System.Windows.Forms.ToolStripMenuItem DeleteMenuItem2;
private System.Windows.Forms.ToolStripMenuItem WakeMenuItem2;
}
}
+327
View File
@@ -0,0 +1,327 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Threading;
namespace WoL_Manager
{
public partial class MainWindow : Form
{
private Host selectedHost;
private int hostIndex;
public MainWindow()
{
InitializeComponent();
}
public void rebuildDataView()
{
Host[] hostList = Host.getHostList();
DataGridViewRowCollection rowsColl = DataGridHosts.Rows;
if (hostList != null && hostList.Length > 0)
{
for (int t = 0; t < hostList.Length; t++)
{
object[] temp = new object[5];
temp[0] = hostList[t].getStatusIcon();
temp[1] = hostList[t].Name;
temp[2] = hostList[t].IP.ToString();
temp[3] = hostList[t].getStatusString();
temp[4] = hostList[t];
if (rowsColl.Count > t)
{
rowsColl[t].SetValues(temp);
}
else
{
rowsColl.Insert(t, temp);
}
}
if (rowsColl.Count > hostList.Length)
{
for (int t = hostList.Length; t < rowsColl.Count; t++)
{
rowsColl.RemoveAt(t);
}
}
}
else
{
rowsColl.Clear();
}
DataGridViewSelectedRowCollection tempRows = DataGridHosts.SelectedRows;
if (tempRows != null && tempRows.Count > 0)
{
hostIndex = tempRows[0].Index;
DataGridViewCellCollection cells = tempRows[0].Cells;
selectedHost = (Host)cells[4].Value;
}
}
public void updateDataView()
{
DataGridViewRowCollection rowsColl = DataGridHosts.Rows;
for (int t = 0; t < rowsColl.Count; t++)
{
DataGridViewCellCollection cells = rowsColl[t].Cells;
Host host = (Host)cells[4].Value;
if (host != null)
{
cells[0].Value = host.getStatusIcon();
cells[1].Value = host.Name;
cells[2].Value = host.IP.ToString();
cells[3].Value = host.getStatusString();
}
}
}
private void createPingThreads()
{
Host[] hostList = Host.getHostList();
for (int t = 0; t < hostList.Length; t++)
{
PingThread temp = new PingThread(hostList[t].IP, ManagerSettings.PingWaitTime, ManagerSettings.PingTimeOut, hostList[t]);
hostList[t].pingThread = temp;
Thread thread = new Thread(new ThreadStart(temp.threadFunction));
thread.Start();
}
}
public void deletePingThreads()
{
Host[] hostList = Host.getHostList();
for (int t = 0; t < hostList.Length; t++)
{
hostList[t].pingThread.stopThread();
hostList[t].pingThread = null;
}
}
private void updatePingThreads()
{
Host[] hostList = Host.getHostList();
for (int t = 0; t < hostList.Length; t++)
{
if (hostList[t].pingThread == null)
{
PingThread temp = new PingThread(hostList[t].IP, ManagerSettings.PingWaitTime, ManagerSettings.PingTimeOut, hostList[t]);
hostList[t].pingThread = temp;
Thread thread = new Thread(new ThreadStart(temp.threadFunction));
thread.Start();
}
}
}
private void MainWindow_Load(object sender, EventArgs e)
{
QuitMenuItem1.Click += new System.EventHandler(this.quitEventHandler);
AboutMenuItem1.Click += new EventHandler(aboutEventHandler);
AddMenuItem1.Click += new EventHandler(newHostEventHandler);
DataGridHosts.SelectionChanged += new EventHandler(this.selectionEventHandler);
DeleteMenuItem1.Click += new EventHandler(this.deleteEventHandler);
EditMenuItem1.Click += new EventHandler(this.editHostEventHandler);
WakeMenuItem1.Click += new EventHandler(wakeHostEventHandler);
SettingsMenuItem1.Click += new EventHandler(settingsEventHandler);
AddMenuItem2.Click +=new EventHandler(newHostEventHandler);
EditMenuItem2.Click += new EventHandler(editHostEventHandler);
DeleteMenuItem2.Click += new EventHandler(deleteEventHandler);
WakeMenuItem2.Click += new EventHandler(wakeHostEventHandler);
createPingThreads();
selectedHost = null;
rebuildDataView();
this.Resize += new EventHandler(resizeEventHandler);
TaskBarIcon.Click += new EventHandler(taskBarIconEventHandler);
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainWindow));
Icon[] tempList = new Icon[4];
tempList[0] = new Icon((Icon)resources.GetObject("icon_gray"),new Size(24, 24));
tempList[1] = new Icon((Icon)resources.GetObject("icon_green"), new Size(24, 24));
tempList[2] = new Icon((Icon)resources.GetObject("icon_red"), new Size(24, 24));
tempList[3] = new Icon((Icon)resources.GetObject("icon_yellow"), new Size(24, 24));
Host.IconList = tempList;
}
void settingsEventHandler(object sender, EventArgs e)
{
SettingsWindow window = new SettingsWindow();
window.StartPosition = FormStartPosition.CenterParent;
window.ShowDialog(this);
window.Activate();
deletePingThreads();
updatePingThreads();
}
private void taskBarIconEventHandler(object sender, EventArgs e)
{
this.WindowState = FormWindowState.Normal;
this.Show();
this.Focus();
this.BringToFront();
}
private int resizeState = 0;
private void resizeEventHandler(object sender, EventArgs e)
{
if (this.WindowState == FormWindowState.Minimized)
{
resizeState = 1;
this.ShowInTaskbar = false;
}
else if (resizeState == 1)
{
resizeState = 0;
this.ShowInTaskbar = true;
}
}
private void wakeHostEventHandler(object sender, EventArgs e)
{
if (selectedHost == null)
return;
selectedHost.wakeHost();
}
private void quitEventHandler(object sender, EventArgs e)
{
this.Close();
}
private void aboutEventHandler(object sender, EventArgs e)
{
AboutWindow window = new AboutWindow();
window.StartPosition = FormStartPosition.CenterParent;
window.ShowDialog(this);
window.Activate();
}
private void newHostEventHandler(object sender, EventArgs e)
{
NewHostWindow window = new NewHostWindow();
window.StartPosition = FormStartPosition.CenterParent;
window.ShowDialog(this);
window.Activate();
rebuildDataView();
updatePingThreads();
}
private void editHostEventHandler(object sender, EventArgs e)
{
if (selectedHost == null)
{
return;
}
EditHostWindow window = new EditHostWindow(selectedHost);
window.StartPosition = FormStartPosition.CenterParent;
window.ShowDialog(this);
window.Activate();
updateDataView();
updatePingThreads();
}
private void deleteEventHandler(object sender, EventArgs e)
{
if (selectedHost == null)
{
return;
}
DialogResult result = MessageBox.Show("Are you sure?", "Delete Host", MessageBoxButtons.OKCancel);
if (result == DialogResult.OK)
{
Host.deleteHost(selectedHost);
rebuildDataView();
}
}
private void selectionEventHandler(object sender, EventArgs e)
{
DataGridViewSelectedRowCollection tempRows = DataGridHosts.SelectedRows;
if (tempRows != null && tempRows.Count > 0)
{
hostIndex = tempRows[0].Index;
DataGridViewCellCollection cells = tempRows[0].Cells;
selectedHost = (Host)cells[4].Value;
WakeMenuItem1.Enabled = true;
DeleteMenuItem1.Enabled = true;
EditMenuItem1.Enabled = true;
EditMenuItem2.Enabled = true;
DeleteMenuItem2.Enabled = true;
WakeMenuItem2.Enabled = true;
Host host = (Host)cells[4].Value;
if (host.Description == null)
{
host.Description = "";
}
OutputTextBox.Text = String.Format(" Name:\t\t{0}\n IP-Address:\t{1}\n Broadcast:\t{2}\n MAC-Address:\t{3}\n===========================================\n Description:\n\n{4}",
host.Name, host.IP.ToString(), host.Broadcast.ToString(), host.MAC, host.Description);
}
else
{
selectedHost = null;
WakeMenuItem1.Enabled = false;
DeleteMenuItem1.Enabled = false;
EditMenuItem1.Enabled = false;
EditMenuItem2.Enabled = false;
DeleteMenuItem2.Enabled = false;
WakeMenuItem2.Enabled = false;
OutputTextBox.Text = "";
}
}
public static bool checkMAC(string mac)
{
if (mac.Length != 12)
{
return false;
}
else
{
for (int t = 0; t < mac.Length; t++)
{
if (Char.IsLetterOrDigit(mac[t]))
{
if (Char.IsLetter(mac[t]))
{
switch (mac[t])
{
case 'A':
break;
case 'B':
break;
case 'C':
break;
case 'D':
break;
case 'E':
break;
case 'F':
break;
default:
return false;
}
}
}
else
{
return false;
}
}
}
return true;
}
}
}
+182
View File
@@ -0,0 +1,182 @@
<?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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="menuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="ColumnIcon.UserAddedColumn" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="ColumnName.UserAddedColumn" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="ColumnIP.UserAddedColumn" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Status.UserAddedColumn" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="ColumnHost.UserAddedColumn" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="DataViewContextMenu.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>346, 17</value>
</metadata>
<metadata name="ButtonBar1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>126, 17</value>
</metadata>
<metadata name="TaskBarIcon.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>233, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="TaskBarIcon.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAEAICAQAAAAAADoAgAAFgAAACgAAAAgAAAAQAAAAAEABAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAwMDAAICAgAAAAP8AAP8AAAD//wD/AAAA/wD/AP//
AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiAAAAAAAAAAAAAAAADswAAgAAAAAAAAAAAAAAAAD
AAAIcAAAAAAAAIAAAAAAAAAAAIAAAAAAAACAAwAAMAAAAACHAAAAAAAACDswA7MAAAAACAAAAAAAAAgD
AAAwAAMAAAhwAAAAAAAIAAAAAAA7MAAAgAAAAAAAAIAAAAAAAwAAAIcAAAAAAACAAAAAAAAAAAAIAAAA
AAAAgAMAADAAAAAACHAAAAAAAAg7MAOzAAAAAACAAAAAAAAIAwAMMMAAAAAAhwAAAAAACADA4AAMDgAA
AAgAAAAAAACAAADgAADsAAAIcAAAAAAAjAPAAKAMAMAAAIAAAAAADoA7MAA6CuCgAACHAAAAC8AIowDj
sAAKDLAACAAAAAAAqAAAADCQAKCgAAhwAAAAAAqKCwAAAAkADAAAiHAAAJC5iwkKDQkLC6CgAIAHAAAA
AIADAADQkJcKCwB4BwAAoAC4OzkAAAsJcMDHeABwAACgCQMAAAAA0JeQp8CAcLkACQgNAAAAAA0JCX3q
gAgAAADYAAAAAAAAsNeQfHiAAA0AAIAAAAAAAAkHt3mwAAAAAACAAAAAAAAADQDQAAAA0AAAgAAAAAAA
AAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAD//5//+AMP/+AAj/+AAAf/AAAH/wAA
A/+AACP/gAAh/4AAMP/AAHD/wAB4f8AAeH/gAPw/4AD8P+AA/h/wAT4f8ADfD+AAXw+YA6eH8AHXg/gD
u8PQAqXZ/AVKydwHpQz2D9EUOg/qBvwP9EHvH/oH/x/+398f////v////7///w==
</value>
</data>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAEAICAQAAAAAADoAgAAFgAAACgAAAAgAAAAQAAAAAEABAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAwMDAAICAgAAAAP8AAP8AAAD//wD/AAAA/wD/AP//
AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiAAAAAAAAAAAAAAAADswAAgAAAAAAAAAAAAAAAAD
AAAIcAAAAAAAAIAAAAAAAAAAAIAAAAAAAACAAwAAMAAAAACHAAAAAAAACDswA7MAAAAACAAAAAAAAAgD
AAAwAAMAAAhwAAAAAAAIAAAAAAA7MAAAgAAAAAAAAIAAAAAAAwAAAIcAAAAAAACAAAAAAAAAAAAIAAAA
AAAAgAMAADAAAAAACHAAAAAAAAg7MAOzAAAAAACAAAAAAAAIAwAMMMAAAAAAhwAAAAAACADA4AAMDgAA
AAgAAAAAAACAAADgAADsAAAIcAAAAAAAjAPAAKAMAMAAAIAAAAAADoA7MAA6CuCgAACHAAAAC8AIowDj
sAAKDLAACAAAAAAAqAAAADCQAKCgAAhwAAAAAAqKCwAAAAkADAAAiHAAAJC5iwkKDQkLC6CgAIAHAAAA
AIADAADQkJcKCwB4BwAAoAC4OzkAAAsJcMDHeABwAACgCQMAAAAA0JeQp8CAcLkACQgNAAAAAA0JCX3q
gAgAAADYAAAAAAAAsNeQfHiAAA0AAIAAAAAAAAkHt3mwAAAAAACAAAAAAAAADQDQAAAA0AAAgAAAAAAA
AAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAD//5//+AMP/+AAj/+AAAf/AAAH/wAA
A/+AACP/gAAh/4AAMP/AAHD/wAB4f8AAeH/gAPw/4AD8P+AA/h/wAT4f8ADfD+AAXw+YA6eH8AHXg/gD
u8PQAqXZ/AVKydwHpQz2D9EUOg/qBvwP9EHvH/oH/x/+398f////v////7///w==
</value>
</data>
</root>
+140
View File
@@ -0,0 +1,140 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Xml;
using System.Xml.Schema;
namespace WoL_Manager
{
class ManagerSettings
{
private static int ping_timeout = 1000;
private static int ping_waittime = 3;
private static int wake_waittime = 5*60;
public static int PingTimeOut
{
set
{
ping_timeout = value;
}
get
{
return ping_timeout;
}
}
public static int PingWaitTime
{
set
{
ping_waittime = value;
}
get
{
return ping_waittime;
}
}
public static int WakeWaitTime
{
set
{
wake_waittime = value;
}
get
{
return wake_waittime;
}
}
public static void createDTD(string file)
{
string temp = "<?xml version='1.0' encoding='utf-8'?>\n\n<!ELEMENT settings (ping_timeout, ping_waittime, wake_waittime)>\n<!ELEMENT ping_timeout (#PCDATA)>\n<!ELEMENT ping_waittime (#PCDATA)>\n<!ELEMENT wake_waittime (#PCDATA)>";
System.IO.File.WriteAllText(file, temp);
}
public static void writeToFile(string file)
{
string temp = "<?xml version='1.0' encoding='utf-8'?>\n<!DOCTYPE settings SYSTEM 'settings.dtd'>\n\n<settings>";
temp = String.Concat(temp, "\n<ping_timeout>", ManagerSettings.PingTimeOut.ToString(), "</ping_timeout>");
temp = String.Concat(temp, "\n<ping_waittime>", ManagerSettings.PingWaitTime.ToString(), "</ping_waittime>");
temp = String.Concat(temp, "\n<wake_waittime>", ManagerSettings.WakeWaitTime.ToString(), "</wake_waittime>");
temp = String.Concat(temp, "\n</settings>");
System.IO.File.WriteAllText(file, temp);
}
private static void validationEventHandler(object sender, ValidationEventArgs args)
{
valitationResult = false;
}
private static bool valitationResult = true;
public static bool readFromFile(string file)
{
XmlReaderSettings settings = new XmlReaderSettings();
settings.IgnoreWhitespace = true;
settings.IgnoreComments = true;
settings.IgnoreProcessingInstructions = true;
settings.ProhibitDtd = false;
settings.ValidationType = ValidationType.DTD;
settings.ValidationEventHandler += new ValidationEventHandler(validationEventHandler);
XmlReader reader = XmlReader.Create(file, settings);
while (reader.Read())
{
if (reader.NodeType == XmlNodeType.Element && reader.LocalName.CompareTo("settings") == 0)
{
string p_timeout;
string p_waittime;
string w_waittime;
int temp1, temp2, temp3;
reader.Read();
p_timeout = reader.ReadString();
reader.Read();
p_waittime = reader.ReadString();
reader.Read();
w_waittime = reader.ReadString();
try
{
temp1 = Int32.Parse(p_timeout);
temp2 = Int32.Parse(p_waittime);
temp3 = Int32.Parse(w_waittime);
}
catch (Exception)
{
reader.Close();
return false;
}
if (temp1 < 1 || temp1 > 30000)
{
reader.Close();
return false;
}
if (temp2 < 1 || temp2 > 30000)
{
reader.Close();
return false;
}
if (temp3 < 1 || temp3 > 30000)
{
reader.Close();
return false;
}
if (valitationResult == false)
{
reader.Close();
return false;
}
ping_timeout = temp1;
ping_waittime = temp2;
wake_waittime = temp3;
}
}
reader.Close();
return true;
}
}
}
+203
View File
@@ -0,0 +1,203 @@
namespace WoL_Manager
{
partial class NewHostWindow
{
/// <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()
{
this.OkButton1 = new System.Windows.Forms.Button();
this.CancelButton1 = new System.Windows.Forms.Button();
this.label1 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.InputDescription = new System.Windows.Forms.TextBox();
this.label5 = new System.Windows.Forms.Label();
this.label4 = new System.Windows.Forms.Label();
this.InputMAC = new System.Windows.Forms.TextBox();
this.label3 = new System.Windows.Forms.Label();
this.InputBroadcast = new System.Windows.Forms.TextBox();
this.InputIP = new System.Windows.Forms.TextBox();
this.InputName = new System.Windows.Forms.TextBox();
this.groupBox1.SuspendLayout();
this.SuspendLayout();
//
// OkButton1
//
this.OkButton1.Location = new System.Drawing.Point(283, 217);
this.OkButton1.Name = "OkButton1";
this.OkButton1.Size = new System.Drawing.Size(60, 28);
this.OkButton1.TabIndex = 0;
this.OkButton1.Text = "OK";
this.OkButton1.UseVisualStyleBackColor = true;
//
// CancelButton1
//
this.CancelButton1.Location = new System.Drawing.Point(217, 217);
this.CancelButton1.Name = "CancelButton1";
this.CancelButton1.Size = new System.Drawing.Size(60, 28);
this.CancelButton1.TabIndex = 1;
this.CancelButton1.Text = "Cancel";
this.CancelButton1.UseVisualStyleBackColor = true;
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(6, 22);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(38, 13);
this.label1.TabIndex = 2;
this.label1.Text = "Name:";
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(6, 48);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(61, 13);
this.label2.TabIndex = 3;
this.label2.Text = "IP-Address:";
//
// groupBox1
//
this.groupBox1.Controls.Add(this.InputDescription);
this.groupBox1.Controls.Add(this.label5);
this.groupBox1.Controls.Add(this.label4);
this.groupBox1.Controls.Add(this.InputMAC);
this.groupBox1.Controls.Add(this.label3);
this.groupBox1.Controls.Add(this.InputBroadcast);
this.groupBox1.Controls.Add(this.InputIP);
this.groupBox1.Controls.Add(this.InputName);
this.groupBox1.Controls.Add(this.label1);
this.groupBox1.Controls.Add(this.label2);
this.groupBox1.Location = new System.Drawing.Point(12, 12);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(330, 199);
this.groupBox1.TabIndex = 4;
this.groupBox1.TabStop = false;
//
// InputDescription
//
this.InputDescription.Location = new System.Drawing.Point(111, 123);
this.InputDescription.Multiline = true;
this.InputDescription.Name = "InputDescription";
this.InputDescription.Size = new System.Drawing.Size(202, 63);
this.InputDescription.TabIndex = 11;
//
// label5
//
this.label5.AutoSize = true;
this.label5.Location = new System.Drawing.Point(6, 126);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(63, 13);
this.label5.TabIndex = 10;
this.label5.Text = "Description:";
//
// label4
//
this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(6, 100);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(74, 13);
this.label4.TabIndex = 9;
this.label4.Text = "MAC-Address:";
//
// InputMAC
//
this.InputMAC.Location = new System.Drawing.Point(111, 97);
this.InputMAC.Name = "InputMAC";
this.InputMAC.Size = new System.Drawing.Size(202, 20);
this.InputMAC.TabIndex = 8;
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(6, 74);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(99, 13);
this.label3.TabIndex = 7;
this.label3.Text = "Broadcast-Address:";
//
// InputBroadcast
//
this.InputBroadcast.Location = new System.Drawing.Point(111, 71);
this.InputBroadcast.Name = "InputBroadcast";
this.InputBroadcast.Size = new System.Drawing.Size(202, 20);
this.InputBroadcast.TabIndex = 6;
//
// InputIP
//
this.InputIP.Location = new System.Drawing.Point(111, 45);
this.InputIP.Name = "InputIP";
this.InputIP.Size = new System.Drawing.Size(202, 20);
this.InputIP.TabIndex = 5;
//
// InputName
//
this.InputName.Location = new System.Drawing.Point(111, 19);
this.InputName.Name = "InputName";
this.InputName.Size = new System.Drawing.Size(202, 20);
this.InputName.TabIndex = 4;
//
// NewHostWindow
//
this.AccessibleRole = System.Windows.Forms.AccessibleRole.Dialog;
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
this.ClientSize = new System.Drawing.Size(355, 257);
this.ControlBox = false;
this.Controls.Add(this.groupBox1);
this.Controls.Add(this.CancelButton1);
this.Controls.Add(this.OkButton1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.MaximizeBox = false;
this.MaximumSize = new System.Drawing.Size(363, 291);
this.MinimizeBox = false;
this.MinimumSize = new System.Drawing.Size(363, 291);
this.Name = "NewHostWindow";
this.Text = "New Host";
this.Load += new System.EventHandler(this.NewHostWindow_Load);
this.groupBox1.ResumeLayout(false);
this.groupBox1.PerformLayout();
this.ResumeLayout(false);
}
#endregion
protected System.Windows.Forms.Button OkButton1;
protected System.Windows.Forms.Button CancelButton1;
protected System.Windows.Forms.Label label1;
protected System.Windows.Forms.Label label2;
protected System.Windows.Forms.GroupBox groupBox1;
protected System.Windows.Forms.Label label4;
protected System.Windows.Forms.TextBox InputMAC;
protected System.Windows.Forms.Label label3;
protected System.Windows.Forms.TextBox InputBroadcast;
protected System.Windows.Forms.TextBox InputIP;
protected System.Windows.Forms.TextBox InputName;
protected System.Windows.Forms.TextBox InputDescription;
protected System.Windows.Forms.Label label5;
}
}
+70
View File
@@ -0,0 +1,70 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace WoL_Manager
{
public partial class NewHostWindow : Form
{
public NewHostWindow()
{
InitializeComponent();
}
protected virtual void NewHostWindow_Load(object sender, EventArgs e)
{
OkButton1.Click += new System.EventHandler(this.buttonEventHandler);
CancelButton1.Click += new System.EventHandler(this.buttonEventHandler);
}
protected virtual void buttonEventHandler(object sender, EventArgs e)
{
if (sender == OkButton1)
{
string name = InputName.Text.Trim();
if (name.Length < 1)
{
MessageBox.Show("There is no name given!", "ERROR", MessageBoxButtons.OK);
return;
}
string mac = InputMAC.Text.Trim().ToUpper();
if (!MainWindow.checkMAC(mac))
{
MessageBox.Show("Wasn't able to parse MAC-Address!\nShould be like this: 00AF2C4323D3",
"ERROR", MessageBoxButtons.OK);
return;
}
string description = InputDescription.Text;
System.Net.IPAddress ip_addr;
System.Net.IPAddress bc_addr;
try
{
ip_addr = System.Net.IPAddress.Parse(InputIP.Text);
}
catch (Exception)
{
MessageBox.Show("Wasn't able to parse IP-Address!\nShould be like this: 192.168.0.1",
"ERROR", MessageBoxButtons.OK);
return;
}
try
{
bc_addr = System.Net.IPAddress.Parse(InputBroadcast.Text);
}
catch (Exception)
{
MessageBox.Show("Wasn't able to parse Broadcast-Address!\nShould be like this: 192.168.0.255",
"ERROR", MessageBoxButtons.OK);
return;
}
Host.createHost(name, ip_addr, mac, bc_addr, description);
}
this.Close();
}
}
}
+123
View File
@@ -0,0 +1,123 @@
<?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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="$this.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
</root>
+48
View File
@@ -0,0 +1,48 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Net;
using System.Net.NetworkInformation;
using System.Threading;
namespace WoL_Manager
{
class PingThread
{
private IPAddress ip;
private bool quit;
private int wait_time;
private int timeout;
private Host host;
public PingThread(IPAddress ip, int wait, int timeout, Host host)
{
this.ip = ip;
quit = false;
wait_time = wait;
this.timeout = timeout;
this.host = host;
}
public void stopThread()
{
quit = true;
}
public void threadFunction()
{
string data = "1234 WoL-Manager by MatzMan";
byte[] buffer = Encoding.ASCII.GetBytes(data);
Ping ping = new Ping();
PingOptions options = new PingOptions();
options.Ttl = 64;
options.DontFragment = true;
do
{
PingReply reply = ping.Send(ip, timeout, buffer, options);
host.LastPingResult = reply;
Thread.Sleep(wait_time*1000);
} while (!quit);
}
}
}
+88
View File
@@ -0,0 +1,88 @@
using System;
using System.Collections.Generic;
using System.Windows.Forms;
using System.Xml;
namespace WoL_Manager
{
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
string fileName1 = "hosts.xml";
string fileName2 = "hosts.dtd";
string fileName3 = "settings.xml";
string fileName4 = "settings.dtd";
ManagerSettings.createDTD(fileName4);
if (System.IO.File.Exists(fileName3))
{
bool result;
try
{
result = ManagerSettings.readFromFile(fileName3);
}
catch (Exception)
{
result = false;
}
if (result == false)
{
System.Windows.Forms.MessageBox.Show("Parse Error while reading settings-file!");
try
{
System.IO.File.Delete(fileName3);
}
catch (Exception)
{
System.Windows.Forms.MessageBox.Show("Couldn't delete file 'settings.xml'!\nPlease delete this file manually.");
return;
}
}
}
Host.createDTD(fileName2);
if (System.IO.File.Exists(fileName1))
{
bool result;
try
{
result = Host.readFromFile(fileName1);
}
catch (Exception)
{
result = false;
}
if (result == false)
{
System.Windows.Forms.MessageBox.Show("Parse Error while reading host-file!");
try
{
System.IO.File.Delete(fileName1);
}
catch (Exception)
{
System.Windows.Forms.MessageBox.Show("Couldn't delete file 'hosts.xml'!\nPlease delete this file manually.");
return;
}
Host.clearList();
}
}
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
MainWindow apps = new MainWindow();
Host.Parent = apps;
Application.Run(apps);
Host.writeToFile(fileName1);
ManagerSettings.writeToFile(fileName3);
apps.deletePingThreads();
Application.Exit();
}
}
}
+33
View File
@@ -0,0 +1,33 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("WoL-Manager v0.1")]
[assembly: AssemblyDescription("Wake on Lan")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("The MatzMan Company")]
[assembly: AssemblyProduct("WoL-Manager")]
[assembly: AssemblyCopyright("Copyright © MatzMan 2006")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("5412f677-3912-4fba-9a97-d6ccb8341555")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
+63
View File
@@ -0,0 +1,63 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:2.0.50727.42
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace WoL_Manager.Properties {
using System;
/// <summary>
/// A strongly-typed resource class, for looking up localized strings, etc.
/// </summary>
// This class was auto-generated by the StronglyTypedResourceBuilder
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.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>
/// Returns the cached ResourceManager instance used by this class.
/// </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("WoL_Manager.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Overrides the current thread's CurrentUICulture property for all
/// resource lookups using this strongly typed resource class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
}
}
+117
View File
@@ -0,0 +1,117 @@
<?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.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: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" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
</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" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
+26
View File
@@ -0,0 +1,26 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:2.0.50727.42
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace WoL_Manager.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "8.0.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;
}
}
}
}
+7
View File
@@ -0,0 +1,7 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
<Profiles>
<Profile Name="(Default)" />
</Profiles>
<Settings />
</SettingsFile>
+157
View File
@@ -0,0 +1,157 @@
namespace WoL_Manager
{
partial class SettingsWindow
{
/// <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(SettingsWindow));
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.InputWakeWaittime = new System.Windows.Forms.TextBox();
this.InputPingInterval = new System.Windows.Forms.TextBox();
this.InputPingTimeout = new System.Windows.Forms.TextBox();
this.label3 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.label1 = new System.Windows.Forms.Label();
this.OkButton = new System.Windows.Forms.Button();
this.ClButton = new System.Windows.Forms.Button();
this.groupBox1.SuspendLayout();
this.SuspendLayout();
//
// groupBox1
//
this.groupBox1.Controls.Add(this.InputWakeWaittime);
this.groupBox1.Controls.Add(this.InputPingInterval);
this.groupBox1.Controls.Add(this.InputPingTimeout);
this.groupBox1.Controls.Add(this.label3);
this.groupBox1.Controls.Add(this.label2);
this.groupBox1.Controls.Add(this.label1);
this.groupBox1.Location = new System.Drawing.Point(12, 12);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(357, 104);
this.groupBox1.TabIndex = 0;
this.groupBox1.TabStop = false;
//
// InputWakeWaittime
//
this.InputWakeWaittime.Location = new System.Drawing.Point(133, 71);
this.InputWakeWaittime.Name = "InputWakeWaittime";
this.InputWakeWaittime.Size = new System.Drawing.Size(212, 20);
this.InputWakeWaittime.TabIndex = 5;
//
// InputPingInterval
//
this.InputPingInterval.Location = new System.Drawing.Point(133, 45);
this.InputPingInterval.Name = "InputPingInterval";
this.InputPingInterval.Size = new System.Drawing.Size(212, 20);
this.InputPingInterval.TabIndex = 4;
//
// InputPingTimeout
//
this.InputPingTimeout.Location = new System.Drawing.Point(133, 19);
this.InputPingTimeout.Name = "InputPingTimeout";
this.InputPingTimeout.Size = new System.Drawing.Size(212, 20);
this.InputPingTimeout.TabIndex = 3;
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(6, 74);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(121, 13);
this.label3.TabIndex = 2;
this.label3.Text = "Wakeup Waittime (sec):";
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(6, 48);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(95, 13);
this.label2.TabIndex = 1;
this.label2.Text = "Ping Interval (sec):";
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(6, 22);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(94, 13);
this.label1.TabIndex = 0;
this.label1.Text = "Ping Timeout (ms):";
//
// OkButton
//
this.OkButton.Location = new System.Drawing.Point(294, 123);
this.OkButton.Name = "OkButton";
this.OkButton.Size = new System.Drawing.Size(63, 28);
this.OkButton.TabIndex = 1;
this.OkButton.Text = "OK";
this.OkButton.UseVisualStyleBackColor = true;
//
// ClButton
//
this.ClButton.Location = new System.Drawing.Point(205, 123);
this.ClButton.Name = "ClButton";
this.ClButton.Size = new System.Drawing.Size(63, 28);
this.ClButton.TabIndex = 2;
this.ClButton.Text = "Cancel";
this.ClButton.UseVisualStyleBackColor = true;
//
// SettingsWindow
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(380, 182);
this.ControlBox = false;
this.Controls.Add(this.ClButton);
this.Controls.Add(this.OkButton);
this.Controls.Add(this.groupBox1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "SettingsWindow";
this.Text = "Settings";
this.groupBox1.ResumeLayout(false);
this.groupBox1.PerformLayout();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.TextBox InputWakeWaittime;
private System.Windows.Forms.TextBox InputPingInterval;
private System.Windows.Forms.TextBox InputPingTimeout;
private System.Windows.Forms.Button OkButton;
private System.Windows.Forms.Button ClButton;
}
}
+89
View File
@@ -0,0 +1,89 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace WoL_Manager
{
public partial class SettingsWindow : Form
{
public SettingsWindow()
{
InitializeComponent();
this.Load += new EventHandler(SettingsWindow_Load);
}
void SettingsWindow_Load(object sender, EventArgs e)
{
OkButton.Click += new EventHandler(OkButton_Click);
ClButton.Click += new EventHandler(CancelButton_Click);
InputPingTimeout.Text = ManagerSettings.PingTimeOut.ToString();
InputPingInterval.Text = ManagerSettings.PingWaitTime.ToString();
InputWakeWaittime.Text = ManagerSettings.WakeWaitTime.ToString();
}
void CancelButton_Click(object sender, EventArgs e)
{
this.Hide();
this.Close();
}
void OkButton_Click(object sender, EventArgs e)
{
int val1, val2, val3;
string temp1 = InputPingTimeout.Text;
string temp2 = InputPingInterval.Text;
string temp3 = InputWakeWaittime.Text;
try
{
val1 = Int32.Parse(temp1);
}
catch (Exception)
{
MessageBox.Show(this, "ERROR: Couldn't parse Ping Timeout!\nShould be a decimal number between 1 and 30000.");
return;
}
try
{
val2 = Int32.Parse(temp2);
}
catch (Exception)
{
MessageBox.Show(this, "ERROR: Couldn't parse Ping Interval!\nShould be a decimal number between 1 and 30000.");
return;
}
try
{
val3 = Int32.Parse(temp3);
}
catch (Exception)
{
MessageBox.Show(this, "ERROR: Couldn't parse Wakeup Waittime!\nShould be a decimal number between 1 and 30000.");
return;
}
if (val1 < 1 || val1 > 30000)
{
MessageBox.Show(this,"Ping Timeout should be between 1 and 30000");
return;
}
if (val2 < 1 || val2 > 30000)
{
MessageBox.Show(this, "Ping Interval should be between 1 and 30000");
return;
}
if (val3 < 1 || val3 > 30000)
{
MessageBox.Show(this, "Wakeup Waittime should be between 1 and 30000");
return;
}
ManagerSettings.PingTimeOut = val1;
ManagerSettings.PingWaitTime = val2;
ManagerSettings.WakeWaitTime = val3;
this.Hide();
this.Close();
}
}
}
+138
View File
@@ -0,0 +1,138 @@
<?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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAEAICAQAAAAAADoAgAAFgAAACgAAAAgAAAAQAAAAAEABAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAwMDAAICAgAAAAP8AAP8AAAD//wD/AAAA/wD/AP//
AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiAAAAAAAAAAAAAAAADswAAgAAAAAAAAAAAAAAAAD
AAAIcAAAAAAAAIAAAAAAAAAAAIAAAAAAAACAAwAAMAAAAACHAAAAAAAACDswA7MAAAAACAAAAAAAAAgD
AAAwAAMAAAhwAAAAAAAIAAAAAAA7MAAAgAAAAAAAAIAAAAAAAwAAAIcAAAAAAACAAAAAAAAAAAAIAAAA
AAAAgAMAADAAAAAACHAAAAAAAAg7MAOzAAAAAACAAAAAAAAIAwAMMMAAAAAAhwAAAAAACADA4AAMDgAA
AAgAAAAAAACAAADgAADsAAAIcAAAAAAAjAPAAKAMAMAAAIAAAAAADoA7MAA6CuCgAACHAAAAC8AIowDj
sAAKDLAACAAAAAAAqAAAADCQAKCgAAhwAAAAAAqKCwAAAAkADAAAiHAAAJC5iwkKDQkLC6CgAIAHAAAA
AIADAADQkJcKCwB4BwAAoAC4OzkAAAsJcMDHeABwAACgCQMAAAAA0JeQp8CAcLkACQgNAAAAAA0JCX3q
gAgAAADYAAAAAAAAsNeQfHiAAA0AAIAAAAAAAAkHt3mwAAAAAACAAAAAAAAADQDQAAAA0AAAgAAAAAAA
AAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAD//5//+AMP/+AAj/+AAAf/AAAH/wAA
A/+AACP/gAAh/4AAMP/AAHD/wAB4f8AAeH/gAPw/4AD8P+AA/h/wAT4f8ADfD+AAXw+YA6eH8AHXg/gD
u8PQAqXZ/AVKydwHpQz2D9EUOg/qBvwP9EHvH/oH/x/+398f////v////7///w==
</value>
</data>
</root>
+146
View File
@@ -0,0 +1,146 @@
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>8.0.50727</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{DBBAD321-A9A0-486E-828B-DE9920C77E65}</ProjectGuid>
<OutputType>WinExe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>WoL_Manager</RootNamespace>
<AssemblyName>WoL-Manager v0.1</AssemblyName>
<StartupObject>
</StartupObject>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="AboutWindow.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="AboutWindow.Designer.cs">
<DependentUpon>AboutWindow.cs</DependentUpon>
</Compile>
<Compile Include="EditHostWindow.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Host.cs" />
<Compile Include="Magic_Packet.cs" />
<Compile Include="MainWindow.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="MainWindow.Designer.cs">
<DependentUpon>MainWindow.cs</DependentUpon>
</Compile>
<Compile Include="ManagerSettings.cs" />
<Compile Include="NewHostWindow.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="NewHostWindow.Designer.cs">
<DependentUpon>NewHostWindow.cs</DependentUpon>
</Compile>
<Compile Include="PingThread.cs" />
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<EmbeddedResource Include="AboutWindow.resx">
<SubType>Designer</SubType>
<DependentUpon>AboutWindow.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="EditHostWindow.resx">
<SubType>Designer</SubType>
<DependentUpon>EditHostWindow.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="MainWindow.resx">
<SubType>Designer</SubType>
<DependentUpon>MainWindow.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="NewHostWindow.resx">
<SubType>Designer</SubType>
<DependentUpon>NewHostWindow.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="SettingsWindow.resx">
<SubType>Designer</SubType>
<DependentUpon>SettingsWindow.cs</DependentUpon>
</EmbeddedResource>
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
<DesignTime>True</DesignTime>
</Compile>
<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>
<Compile Include="SettingsWindow.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="SettingsWindow.Designer.cs">
<DependentUpon>SettingsWindow.cs</DependentUpon>
</Compile>
</ItemGroup>
<ItemGroup>
<None Include="icon_red.ico" />
</ItemGroup>
<ItemGroup>
<None Include="icon_frage.ico" />
</ItemGroup>
<ItemGroup>
<None Include="icon_gray.ico" />
</ItemGroup>
<ItemGroup>
<None Include="icon_green.ico" />
</ItemGroup>
<ItemGroup>
<None Include="icon_yellow2.ico" />
</ItemGroup>
<ItemGroup>
<None Include="icon_gray2.ico" />
</ItemGroup>
<ItemGroup>
<None Include="icon_green2.ico" />
</ItemGroup>
<ItemGroup>
<None Include="icon_red2.ico" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>
+16
View File
@@ -0,0 +1,16 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<PublishUrlHistory>publish\</PublishUrlHistory>
<InstallUrlHistory>
</InstallUrlHistory>
<SupportUrlHistory>
</SupportUrlHistory>
<UpdateUrlHistory>
</UpdateUrlHistory>
<BootstrapperUrlHistory>
</BootstrapperUrlHistory>
<ApplicationRevision>0</ApplicationRevision>
<FallbackCulture>en-US</FallbackCulture>
<VerifyUploadedFiles>false</VerifyUploadedFiles>
</PropertyGroup>
</Project>
Binary file not shown.
Binary file not shown.
Binary file not shown.
+9
View File
@@ -0,0 +1,9 @@
<?xml version='1.0' encoding='utf-8'?>
<!ELEMENT hostlist (host*)>
<!ELEMENT host (name, ip_address, broadcast, mac_address, description)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT ip_address (#PCDATA)>
<!ELEMENT broadcast (#PCDATA)>
<!ELEMENT mac_address (#PCDATA)>
<!ELEMENT description (#PCDATA)>
+21
View File
@@ -0,0 +1,21 @@
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hostlist SYSTEM 'hosts.dtd'>
<hostlist>
<host>
<name>Computer Keller</name>
<ip_address>192.168.0.1</ip_address>
<broadcast>192.168.0.255</broadcast>
<mac_address>001109C1A6E5</mac_address>
<description>AMD Athlon64 3200+
1024 MB RAM
Geforce 7600 GT 256 MB</description>
</host>
<host>
<name>Router</name>
<ip_address>192.168.0.253</ip_address>
<broadcast>192.168.0.255</broadcast>
<mac_address>000000000000</mac_address>
<description>Microlink ADSL Modem Router </description>
</host>
</hostlist>
+6
View File
@@ -0,0 +1,6 @@
<?xml version='1.0' encoding='utf-8'?>
<!ELEMENT settings (ping_timeout, ping_waittime, wake_waittime)>
<!ELEMENT ping_timeout (#PCDATA)>
<!ELEMENT ping_waittime (#PCDATA)>
<!ELEMENT wake_waittime (#PCDATA)>
+8
View File
@@ -0,0 +1,8 @@
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE settings SYSTEM 'settings.dtd'>
<settings>
<ping_timeout>1000</ping_timeout>
<ping_waittime>5</ping_waittime>
<wake_waittime>120</wake_waittime>
</settings>
Binary file not shown.
Binary file not shown.
Binary file not shown.
+9
View File
@@ -0,0 +1,9 @@
<?xml version='1.0' encoding='utf-8'?>
<!ELEMENT hostlist (host*)>
<!ELEMENT host (name, ip_address, broadcast, mac_address, description)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT ip_address (#PCDATA)>
<!ELEMENT broadcast (#PCDATA)>
<!ELEMENT mac_address (#PCDATA)>
<!ELEMENT description (#PCDATA)>
+21
View File
@@ -0,0 +1,21 @@
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hostlist SYSTEM 'hosts.dtd'>
<hostlist>
<host>
<name>Computer Keller</name>
<ip_address>192.168.0.1</ip_address>
<broadcast>192.168.0.255</broadcast>
<mac_address>001109C1A6E5</mac_address>
<description>Der Computer im Keller
AMD Athlon64 3200+ - 1 GB RAM - Geforce 7600 GT 256 MB</description>
</host>
<host>
<name>Router</name>
<ip_address>192.168.0.253</ip_address>
<broadcast>192.168.0.255</broadcast>
<mac_address>000000000000</mac_address>
<description>Der Router
Microlink ADSL Modem Router</description>
</host>
</hostlist>
+21
View File
@@ -0,0 +1,21 @@
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hostlist SYSTEM "hosts.dtd">
<hostlist>
<host>
<name>Computer Keller</name>
<ip_address>192.168.0.1</ip_address>
<broadcast>192.168.0.255</broadcast>
<mac_address>001109C1A6E5</mac_address>
<description>Der Computer im Keller
AMD Athlon64 3200+ - 1 GB RAM - Geforce 7600 GT 256 MB</description>
</host>
<host>
<name>Router</name>
<ip_address>192.168.0.253</ip_address>
<broadcast>192.168.0.255</broadcast>
<mac_address>000000000000</mac_address>
<description>Der Router
Microlink ADSL Modem Router</description>
</host>
</hostlist>
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+24
View File
@@ -0,0 +1,24 @@
bin\Debug\WoL-Manager v0.1.exe
bin\Debug\WoL-Manager v0.1.pdb
obj\Debug\ResolveAssemblyReference.cache
obj\Debug\WoL_Manager_v0._1.Properties.Resources.resources
obj\Debug\WoL-Manager v0.1.csproj.GenerateResource.Cache
obj\Debug\WoL-Manager v0.1.exe
obj\Debug\WoL-Manager v0.1.pdb
obj\Debug\WoL_Manager.AboutWindow.resources
obj\Debug\WoL_Manager.MainWindow.resources
obj\Debug\WoL_Manager.NewHostWindow.resources
obj\Debug\WoL_Manager.SettingsWindow.resources
obj\Debug\WoL_Manager.EditHostWindow.resources
bin\Release\WoL-Manager v0.1.exe
bin\Release\WoL-Manager v0.1.pdb
obj\Release\ResolveAssemblyReference.cache
obj\Release\WoL_Manager.AboutWindow.resources
obj\Release\WoL_Manager.EditHostWindow.resources
obj\Release\WoL_Manager.MainWindow.resources
obj\Release\WoL_Manager.NewHostWindow.resources
obj\Release\WoL_Manager.Properties.Resources.resources
obj\Release\WoL_Manager.SettingsWindow.resources
obj\Release\WoL-Manager v0.1.csproj.GenerateResource.Cache
obj\Release\WoL-Manager v0.1.exe
obj\Release\WoL-Manager v0.1.pdb
+6
View File
@@ -0,0 +1,6 @@
<?xml version='1.0' encoding='utf-8'?>
<!ELEMENT settings (ping_timeout, ping_waittime, wake_waittime)>
<!ELEMENT ping_timeout (#PCDATA)>
<!ELEMENT ping_waittime (#PCDATA)>
<!ELEMENT wake_waittime (#PCDATA)>
+8
View File
@@ -0,0 +1,8 @@
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE settings SYSTEM 'settings.dtd'>
<settings>
<ping_timeout>1000</ping_timeout>
<ping_waittime>2000</ping_waittime>
<wake_waittime>120</wake_waittime>
</settings>
+8
View File
@@ -0,0 +1,8 @@
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE settings SYSTEM "settings.dtd">
<settings>
<ping_timeout>1000</ping_timeout>
<ping_waittime>2000</ping_waittime>
<wake_waittime>120</wake_waittime>
</settings>
+18
View File
@@ -0,0 +1,18 @@
<hostlist>
<host>
<name>Computer Keller</name>
<ip_address>192.168.0.1</ip_address>
<broadcast>192.168.0.255</broadcast>
<mac_address>00:11:09:c1:a6:e5</mac_address>
<description>Der Computer im Keller
AMD Athlon64 3200 - 2 GB RAM - Geforce 7600 GT 256 MB</description>
</host>
<host>
<name>Router</name>
<ip_address>192.168.0.253</ip_address>
<broadcast>192.168.0.255</broadcast>
<mac_address>00:00:00:00:00:00</mac_address>
<description>Der Router
Microlink ADSL Modem Router</description>
</host>
</hostlist>