public byte[] GetBytes() { List <byte> list = new List <byte>(); list.Add((byte)ObjType); list.AddRange(RemoteIP.GetAddressBytes()); list.AddRange(BitConverter.GetBytes(RemotePort)); list.AddRange(Encoding.Unicode.GetBytes(RemoteName + SplitChar)); list.AddRange(Encoding.Unicode.GetBytes(Message));//should contain a '\0' in the end return(list.ToArray()); }
public void SetRule() { txtName.Text = NameRule; txtDescription.Text = Description; if (State == "Yes") { ckState.Checked = true; } else { ckState.Checked = false; } if (Action == "Allow") { rbAllow.Checked = true; } else { rbBlock.Checked = true; } if (Program == "Any") { rbAllProgram.Checked = true; txtProgram.Enabled = false; btnBrowes.Enabled = false; } else { rbThisProgram.Checked = true; txtProgram.Text = Program; btnBrowes.Enabled = true; } switch (Profile) { case "Domain": { cbDomain.Checked = true; cbPrivate.Checked = false; cbPublic.Checked = false; break; } case "Domain, Private": { cbDomain.Checked = true; cbPrivate.Checked = true; cbPublic.Checked = false; break; } case "Domain, Private, Public": { cbDomain.Checked = true; cbPrivate.Checked = true; cbPublic.Checked = true; break; } case "Domain, Public": { cbDomain.Checked = true; cbPrivate.Checked = false; cbPublic.Checked = true; break; } case "Private": { cbDomain.Checked = false; cbPrivate.Checked = true; cbPublic.Checked = false; break; } case "Private, Public": { cbDomain.Checked = false; cbPrivate.Checked = true; cbPublic.Checked = true; break; } case "Public": { cbDomain.Checked = false; cbPrivate.Checked = false; cbPublic.Checked = true; break; } } cbProtocol.Text = Protocol; if (LocalPort == "Any") { cbLocalport.SelectedIndex = 0; txtLocalport.Enabled = false; } else { cbLocalport.SelectedIndex = 1; txtLocalport.Enabled = true; txtLocalport.Text = LocalPort; } if (RemotePort == "Any") { cbRemoteport.SelectedIndex = 0; txtRemoteport.Enabled = false; } else { cbRemoteport.SelectedIndex = 1; txtRemoteport.Enabled = true; txtRemoteport.Text = RemotePort; } if (LocalIP == "Any") { rbAllLocal.Checked = true; btnAddLocal.Enabled = false; btnEditLocal.Enabled = false; btnDelLocal.Enabled = false; } else { rbIPLocal.Checked = true; btnAddLocal.Enabled = true; btnEditLocal.Enabled = false; btnDelLocal.Enabled = false; string[] s = LocalIP.Split(','); for (int i = 0; i < s.Length; i++) { listView1.Items.Add(s[i]); } } if (RemoteIP == "Any") { rbAllRemote.Checked = true; btnAddRemote.Enabled = false; btnEditRemote.Enabled = false; btnDelRemote.Enabled = false; } else { rbIPLocal.Checked = true; btnAddRemote.Enabled = true; btnEditRemote.Enabled = false; btnDelRemote.Enabled = false; string[] s = RemoteIP.Split(','); for (int i = 0; i < s.Length; i++) { listView2.Items.Add(s[i]); } } var firewallRule = (INetFwPolicy2)Activator.CreateInstance(Type.GetTypeFromProgID("HNetCfg.FwPolicy2")); foreach (INetFwRule rule in firewallRule.Rules) { if (NameRule == rule.Name) { string s = rule.Grouping; if (s != null) { txtName.ReadOnly = true; txtDescription.ReadOnly = true; rbAllProgram.Enabled = false; rbThisProgram.Enabled = false; txtProgram.ReadOnly = true; btnBrowes.Enabled = false; cbProtocol.Enabled = false; cbLocalport.Enabled = false; cbRemoteport.Enabled = false; txtLocalport.Enabled = false; txtRemoteport.Enabled = false; } else { txtName.ReadOnly = false; txtDescription.ReadOnly = false; rbAllProgram.Enabled = true; rbThisProgram.Enabled = true; txtProgram.ReadOnly = false; if (rbThisProgram.Checked == true) { btnBrowes.Enabled = true; } } } } }