From eb90eb773d2ded14c61d3c32c7977ee3fa9764af Mon Sep 17 00:00:00 2001 From: BlubbFish Date: Wed, 2 Jun 2010 07:49:33 +0000 Subject: [PATCH] Komunikation vom Server to Client gefixt; Icons gefixt --- NetMonitorClient/Form1.Designer.cs | 11 +-- NetMonitorClient/Form1.cs | 36 +++++--- NetMonitorClient/Form1.resx | 80 +----------------- NetMonitorClient/NetMonitorClient.csproj | 6 ++ NetMonitorClient/Networks.cs | 1 + .../Properties/Resources.Designer.cs | 14 +++ NetMonitorClient/Properties/Resources.resx | 16 +++- NetMonitorClient/Properties/icon_no.ico | Bin 0 -> 3638 bytes NetMonitorClient/Properties/icon_no.png | Bin 0 -> 42833 bytes NetMonitorClient/Properties/icon_ok.ico | Bin 0 -> 3638 bytes NetMonitorClient/Properties/icon_ok.png | Bin 0 -> 43856 bytes NetMonitorClient/ServiceControl.cs | 42 ++++----- NetMonitorServer/Program.cs | 42 ++++----- NetMonitorServer/Service1.cs | 8 +- NetMonitorServer/SetNetworks.cs | 12 +-- 15 files changed, 114 insertions(+), 154 deletions(-) create mode 100644 NetMonitorClient/Properties/icon_no.ico create mode 100644 NetMonitorClient/Properties/icon_no.png create mode 100644 NetMonitorClient/Properties/icon_ok.ico create mode 100644 NetMonitorClient/Properties/icon_ok.png diff --git a/NetMonitorClient/Form1.Designer.cs b/NetMonitorClient/Form1.Designer.cs index cb96df0..74c6147 100644 --- a/NetMonitorClient/Form1.Designer.cs +++ b/NetMonitorClient/Form1.Designer.cs @@ -29,7 +29,6 @@ private void InitializeComponent() { this.components = new System.ComponentModel.Container(); - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Netzmonitor)); this.menuStrip1 = new System.Windows.Forms.MenuStrip(); this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripMenuItem2 = new System.Windows.Forms.ToolStripMenuItem(); @@ -49,13 +48,10 @@ this.trayMenuNetzwerk = new System.Windows.Forms.ToolStripMenuItem(); this.menuStrip1.SuspendLayout(); this.statusStrip1.SuspendLayout(); - this.SuspendLayout(); + this.SuspendLayout(); // // menuStrip1 // - this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.toolStripMenuItem1, - this.dienstToolStripMenuItem}); this.menuStrip1.Location = new System.Drawing.Point(0, 0); this.menuStrip1.Name = "menuStrip1"; this.menuStrip1.Size = new System.Drawing.Size(284, 24); @@ -143,8 +139,6 @@ // // statusStrip1 // - this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.toolStripStatusLabel1}); this.statusStrip1.Location = new System.Drawing.Point(0, 240); this.statusStrip1.Name = "statusStrip1"; this.statusStrip1.Size = new System.Drawing.Size(284, 22); @@ -160,8 +154,7 @@ // trayIcon // this.trayIcon.ContextMenuStrip = this.trayMenu; - this.trayIcon.Icon = ((System.Drawing.Icon)(resources.GetObject("trayIcon.Icon"))); - this.trayIcon.Text = "notifyIcon1"; + this.trayIcon.Text = "Netzwerk Einstellungstool"; this.trayIcon.Visible = true; this.trayIcon.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.trayIcon_MouseDoubleClick); // diff --git a/NetMonitorClient/Form1.cs b/NetMonitorClient/Form1.cs index 4e2cc75..d5d8ccd 100644 --- a/NetMonitorClient/Form1.cs +++ b/NetMonitorClient/Form1.cs @@ -27,6 +27,7 @@ namespace NetMonitorClient private void TrayMenuNet_Click(object sender, EventArgs e) { ToolStripMenuItem Item = (ToolStripMenuItem)sender; + String name = networkini.getValue(Item.Name, "Name"); String ip = networkini.getValue(Item.Name, "Ip"); String subnet = networkini.getValue(Item.Name, "Subnet"); String gateway = networkini.getValue(Item.Name, "Gateway"); @@ -34,30 +35,41 @@ namespace NetMonitorClient String wins = networkini.getValue(Item.Name, "Wins"); String adapter = networkini.getValue(Item.Name, "Adapter"); - String ret = ""; if (ip == "auto" && dns == "auto" && wins == "auto") { - if (this.sc.setNetworkAuto(adapter)) - ret = Item.Name+";Netzwerk auf Auto gesetzt"; + this.showPopup(this.sc.setNetworkAuto(adapter),name,"Netzwerk auf Auto"); } else { if (ip == "auto") - this.sc.setNetworkIpAuto(adapter); + this.showPopup(this.sc.setNetworkIpAuto(adapter),name,"Ip auf Auto"); else - this.sc.setNetworkIp(ip, subnet, gateway, adapter); + this.showPopup(this.sc.setNetworkIp(ip, subnet, gateway, adapter),name,"Ip: "+ip+";Subnet: "+subnet+";Gateway: "+gateway); if(dns == "auto") - this.sc.setNetworkDnsAuto(adapter); + this.showPopup(this.sc.setNetworkDnsAuto(adapter),name,"Dns auf Auto"); else - this.sc.setNetworkDNS(dns, adapter); + this.showPopup(this.sc.setNetworkDNS(dns, adapter),name,"Dns: "+dns); if(wins == "auto") - this.sc.setNetworkWinsAuto(adapter); + this.showPopup(this.sc.setNetworkWinsAuto(adapter),name,"Wins auf Auto"); else - this.sc.setNetworkWINS(wins, adapter); + this.showPopup(this.sc.setNetworkWINS(wins, adapter),name,"Wins: "+wins); } - this.trayIcon.BalloonTipIcon = ToolTipIcon.Info; - this.trayIcon.BalloonTipTitle = ret.Split(';')[0]; - this.trayIcon.BalloonTipText = ret.Split(';')[1]; + } + + private void showPopup(bool p, string titel, string text) + { + this.trayIcon.BalloonTipTitle = titel; + if (p) + { + this.trayIcon.BalloonTipIcon = ToolTipIcon.Info; + this.trayIcon.BalloonTipText = text + " gesetzt"; + } + else + { + this.trayIcon.BalloonTipIcon = ToolTipIcon.Error; + this.trayIcon.BalloonTipText = text + " nicht gesetzt"; + } + this.trayIcon.ShowBalloonTip(1000); } } } diff --git a/NetMonitorClient/Form1.resx b/NetMonitorClient/Form1.resx index c5e35da..5f68847 100644 --- a/NetMonitorClient/Form1.resx +++ b/NetMonitorClient/Form1.resx @@ -117,9 +117,6 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 17, 17 - 167, 17 @@ -127,84 +124,9 @@ 282, 17 - 511, 20 + 22, 19 373, 17 - - - - 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 - VVCPwrSiyb91qpuCsaO15NRtkIqWxLWi1MGSxLWbzLxrmYtGa2NKbmil08QAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAA4PDuew7i449WAsaFYh3pbjnwwQz95qZ2Bs6RNdW+Ft6e25tWTxLOLuaue0L+O - wK+RwrKl1sWg08KZzLuDsqUQFRMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQGBV9pJtBaGFc - jH5ci30vS0VOenGRxLRuoZRKd26h0sORw7NkjoVYe3aCtKaLvK2bzLuf0MCi08OQv7BqjYH///8AAAD/ - //////8AAAAAAAD///8AAAD///////8AAAAAAAAZKyhCa2dIa2VLdm08ZFpnmoptopJ+taNtnpGp2sly - opR2pphnmYxBaGFUe3CMtaeBqZ+Fs6agzMEIDAr///8AAAAAAAD///8AAAAAAAD///8AAAD///8AAAAA - AAAAAAAsSkNCZ2BPeXA6XVUlOzcRExMhLStCZltei4Bnl4tun5KEtqdnlYpVe29XfHF0lYyTtqpagnpj - in4AAAD///8AAAD///////8AAAD///////8AAAAAAAD///8AAAAAAAAAAAAyUUo/X1xRfnMTIR8AAAAA - AAAAAAAqQj1dh3p6p5lnk4pXhn1agHdtmo5hgntGa2MAAAAAAAAAAAD///8AAAD///////8AAAD///8A - AAAAAAAAAADw+/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9XVVAWFNHcmhAamE8 - Yls8W1YAAAAAAAAAAAAAAAD///8AAAAAAAD///8AAAD///8AAAD///////8AAAAAAAAAAA8AAAAAAAAA - AAAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAwMOGRgDBQUAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////8AAAAAAA////8AAAD///8AAAD///8AAAD/ - //8AAAD///////////////8AAAD///8AAAAAAAD///8AAAD///////8AAAD///////////////8AAAAA - AA8AAA////8AAAD///8AAA////8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAAAAAD///8A - AAAAAAD///8AAAD///8AAAAAAAD///8AAAD///8AAAD///8AAA8AAA////////8AAAAAAA////////// - //8AAAD///8AAAD///8AAAD///8AAAD///////8AAAD///////8AAAD///8AAAD///////8AAAD///8A - AAD///8AAAD///8AAA8AAA////8AAAD///8AAA////8AAAD///8AAAD///8AAAD///8AAAD///8AAAD/ - //8AAAAAAAD///8AAAAAAAD///8AAAD///8AAAAAAAD///8AAAD///8AAAD///8AAA8AAA////////8A - AAAAAA////////8AAAD///////////////////////8AAAD///////8AAAD///////8AAAD///8AAAD/ - //////8AAAD///8AAAD///////8AAAAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAD/4f///8B/+f+AH/H/AAPj/gAAR/4AAAP8AAAB/AAAAfgAAAPwAAAD4AAAA+AAAAfAAAAPgAAAH4AA - AD8AAAB/AAAA/wAAAf8AAAP/AAAAAAAAAACAAAAAgAAAAMOAMAD/4HAAAAAAAQAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAQ== - - \ No newline at end of file diff --git a/NetMonitorClient/NetMonitorClient.csproj b/NetMonitorClient/NetMonitorClient.csproj index 67ed02c..0b37cd5 100644 --- a/NetMonitorClient/NetMonitorClient.csproj +++ b/NetMonitorClient/NetMonitorClient.csproj @@ -124,6 +124,12 @@ true + + + + + + + @@ -68,9 +69,10 @@ - + + @@ -85,9 +87,10 @@ - + + @@ -114,4 +117,11 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + icon_no.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + icon_ok.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + \ No newline at end of file diff --git a/NetMonitorClient/Properties/icon_no.ico b/NetMonitorClient/Properties/icon_no.ico new file mode 100644 index 0000000000000000000000000000000000000000..b8392009e5e2b19aa814ad51992fcbd882e8352f GIT binary patch literal 3638 zcmeH~cUV+c8pbam;3zsk=qMr}Z9(ctlOi1~Akv8lBT}VElO~{`f&`Feqlg+2gVGFS z*+4*6v4V=k?6R_Af>Bn97(geMdH2i}(5UR4``&ZU+_`h+yuYC+K8l}G zRHR5hm#UphQK}S0iHg3>Lj@_SkJQvjjZC4eNbu&-ZMu7#%)Ww;j}QF({FpOm4g>`S zAtWS(xpU`Y{`~n65fQ<{g$p4nDhhFNaY#r=KuSsql9IBJk&%I%oE#P{S_B0J1rmx- zR8)kLk`h!@RG_M=3UzgLXliOgLqiK%T3T4Xd^vP=b)l!H2Ll5G7#gy$V#Nv=8ymyK z!~~|MrZ6`*hlPa&EG;b|FSQO@8cxvFUJFYLTj=XLf~D^c)g|Frt`-4ZjaXP&S;5-c z8n(8!u(!8|qoX67ot?2}%^Iv*w+ z0}v1p05+SApr9ZG2L~f0Bm|+Mp$H2LLwI;Nwr<^u$jC@UMMWVxIvU|&DTs-Q!M1JN z5E~ndxVSjP$HyZvF_F}g$v7Etu^C88N5{kbebYW3sS4As0JR3lJM!hP32T z>_{oYddCy^jIRrl0$pT{Zpa9ALymC)i$yMCspuuBNL+xbFHAIUz*6@* ziGHjyxB)w(UO1Uug`-&?oL1g|vw0uvjRvrKw`z;dx1l!{-HhbPfkk?%V`wSs6@JB?k zhY=e*g80z;NDLoAa^wS~L_b7Y%mbvyJ;Kh!hsaEPggt4a$W4EYojWs;m6e6;>}>4W zvj;gjdy$))i+%g{AwNGKg@uLKomGkb`}d=`xEQ6Sr8scl0FE3vg38KDR8>`B_pTGj z+uMMGyfY{&s7GO5Gpehraq{Fz)YR0Vwzd{^b#*v<_AKh_>(SEEg4Whnw6(RNqoV_z zot-#TavsNzcH?-(ZRG8If`Y7HP>?-_lH6Z#u;3}m^2Tv6e;kMRKSO!(uc#nVRW^a@ zgA+J*XcET{PvT_7Bx)+BP?GgT~V@(EQbJXgT{5 ztqm{H*8B>8JNF9hEw9nh`WoN;^$pH{`v!k+e}kT$9$dS24ZXd+=H$xq*usgb#@ zy|aa>iu{64-ME~AiM5NnlZBzO{Jc+mviS@pQ(G4+RWTt3LqOmY69ffBmMV!b81v>y zEM$;l^xd;zh%y*rVoVVxQ%p`nCnR*2I+H>4=?QbhWu=)CQqqdry8c0%**i<}3YJST zc{)9TA-hCLQbKFfmd&y3ST;MkWcR+Djq)-?<(<2Lyt1COq@*UBh(wOd%1_VE4p31g zcgQa&M09hOimbHMUx*$X8yBCNSCEx(mw(A~z`OmXp2^Wd}{8GH5~sytd*RekLEDzh2g%*NWu)vv*Q+y0`m!xbk^ zo~o&>?Yj~Aa$09uIhfbgdpFgGS5+VXvi9b!{@dUG@Q=Zm)ziAEow=)9UE77Ws6L|I z8NB=N;rl;5e0ZHZty}oiH8yl#x_W8r;Lz}oBR@YH{m+xfV^6R9&b+^!-5H2)fX$ zGRrCar0{Y3h*5-vg=tP%uwVhrC`=}k<`gk8F`88*B_(NAk&;k`!eZ4~Hc?hqp5+p4 zZEfi2=s;gzf0{=O!D78-k`Gx#d5Hrw)tsQQ%mr#o;-I4*0Sn_em>Fi!{9$8bGs_>Y zuCBA(;o;#ybBCXw-z;+k1_sisv1QAa-*HAnL`(%&5roE z!!3mP4iP^droA|t{Sz|Ni?KVS9hnJ_Xs^x5$w6LT9__CM1qIU{dkBRE6(}kyLP<#p z4wg2d;!p?eqm7M?XliOgb8|D=+uKoHeg((MZ=O0`m3$8Gk;5nLY5%i{C#yJ{qg*5;J_SYG`I4D=P5r z;`tJyOP4X{(1pcfN-B2ttKHm`nPMWqV%g7ZogJLlxq3uGK^)kqC9Sq*t&6*dmlM4p z%i7P$!^<}&etRk}X9b0Xv56lO*QIk<2c?8ZZjDNQn*ph$MTA&u&E8FFD)}#vJe!h1 uYD&`k>Hit?Xo8|%6R_YAHW=o6cNSB^u9c=2Bt)8=*n literal 0 HcmV?d00001 diff --git a/NetMonitorClient/Properties/icon_no.png b/NetMonitorClient/Properties/icon_no.png new file mode 100644 index 0000000000000000000000000000000000000000..fad8f47cd9d3a9e83f0bf3799c36ff1ee740da6a GIT binary patch literal 42833 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 literal 0 HcmV?d00001 diff --git a/NetMonitorClient/Properties/icon_ok.ico b/NetMonitorClient/Properties/icon_ok.ico new file mode 100644 index 0000000000000000000000000000000000000000..89d68483f33764968a44d8e72c42fc1ad673490e GIT binary patch literal 3638 zcmeH}dpOnU7RP_&T54~OYe{lThH}4c_dAu7&~d4qOyo{BhTRUuaXs$RjYc(zMCfqx zAS$PZN|I^LI60#Zl~YQC+S6r!=eK`FraI3#f6gECKF`|kZ@u65UBBP6o_DYHAqW9N zkWf}8$XSf279$7^f*|PhcYcU4LG+Ppn&cX}g|H!wzmFR4r+3cWF9ZYxASfsZAt50M z3kyR;L&dv@F4i0c~a)OJC3*6k?uzvk|xVyW<)6)}PUS8O|c{6-`eBkHjhpk(;g2`lJ z+qP}k65xk`fB*yr24csK9S9B%#?GBP5fT!D(9lqXg@qv^A_9?-k%)?lLUeRAqS&E` ziHX6kUAqt)8w(bTg}AslBqSt&m9z^9DX~aMibG;zBG_y;k~oRra5zX#PKL<^0*nq} zFfItgym28M>zBf%NfEaDG+DW3eOuV@V&VjTd(V4+kh?tZWoDg-}39$p~5Hsik z*7t6R9dbd!&;}$9dLr?b7m|iHfj#U2_77g*+}(`iA2%a4e>e7)CSl)xHd2Rukueg8 zjQiV>Ga8KCd!fj^AA-EmaO97Lp>Qk`MGvDHe5eo+%CE&<72j&0SgQJgA zus3xt($dn9o}P}3j0|LDW+6K}8#y^S$ji$^K|uj>D$-C`Scu}{Vw9GaqO7b8hYue{ zMMVXU9zBZO6Z=qnHWQ_1a&e$OA7xFssI08S$&)8hRaJ%R>T1;1)}pSi4)yi*Xl`ys zOG^t{TU*i5(Sgp+PE=kjLCvMFaprb8Dxd7d@uz7xK9PpYIIGU#l@db z&T4i4hZ zojVvF9>xH#3-|8b!`Rpu#>dAoF)@LusVU6N%z(?~f?omf8yd>SW(<38XJ=EH&wrGK zsgHQnxZzSCEs{V=~F|6B!wo{g7dOO%#C@)vB3XM-lOitN<WEoXHL2YWYGjGynUM9seTj(%-Z zZ+X2}uUx)(-p|C?^H(y!o9gbK=JB{Q*Dn37&ehP=_#+)#>o5QG^NX3OZ`+#Po!!oT zERzv86mzpFc8D{!uDK7a4{hZjwj=mw(;KSIi%L zPT~Jolu4W86hYGYbbP`nqN1V{rz~E)m|_$fjYe^bq@*OpDl#%M6sstxN<&#=`5c?5 zs;bU$iH?pA)~;O(eSQ58JYr--@yN#<@`dvXn6Oqr&vg~_{-_R%a805xDipV$=1N@afe;z<@qN`YjPUV2#K_{)j6G zMO42dqHj4Py*L>~?I}pT>xa~T`6G427nx*#&ir>E${xj2eKspA3%R+uRBz4C&!_rp z_Q5n1m*=CXs0bw`B`9w!#qo}VR1a-vXh36QBbu6;(B9sT>YgL0y?q3gkN4r&L>f*# z%R%k)0yIt?p!#3)P!-wtPT|t4GgOZo7#P6N&=A$LMn^|MUV-23_Z;x=!2ii9n!4r& ziu1~gA;UmHO6bGkMbh+@>a+#a!g5Jf6-OsmPfs-(T>@Ax{|5(WXP5OGe4?Nv1u(Vc zG~Cv0@bU56NCh;q+v4Hl=N}VG0z5g4fz89pA!+X zMSJdRI2?9F5_`@iA2_>{=DYvnnV$oKctaxyF3AQXB*3JSdEpx&I?qU*UyV~!2%?MJ J&p*SrUjUKu^?d*U literal 0 HcmV?d00001 diff --git a/NetMonitorClient/Properties/icon_ok.png b/NetMonitorClient/Properties/icon_ok.png new file mode 100644 index 0000000000000000000000000000000000000000..39850135d6019dfbbb7b679f5c570ef7e1c352d6 GIT binary patch literal 43856 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�> zf6Fq6xI{NMZ_@Ax=bZq9xHrsJvgu8m_*r;)!tn4H^&Z6QTKz3gZs8Ev*`>a5y^M9rki+~k? zyBigSJ=WP2i^hlg-80&?q%XP{M09SU3v(*8y7jSSHIC>&Gr$F;vicT2^y zm-6ZqC&*Sh^V;34cTXWLrBsyOK%8k+kk~GxF6FtZZ z%dHfapBBujhLJJCtF#DMH5EMj?zeI%K~VS9^#TF7!V-wCK23gy|J7+ZsQG%T6 z?C4?UxW1`463cUQSUBCgNHSG^uvBT)?c4DeDbleq&MALpZpswIdoVe5IogCxs@vtuL zqkcUM;5lk<9-&}3rLrnh<6{x{59Jfj%D(?)P}wsbze#I$y1Dqa_hMqDEJ=s;!*NpH z0@Kd_{x$xE4M4{zfsr}`v~HmYQ6s^o+F-EB=ro24lK4O#F5{Rz5;N>2wld!U2Y6)C zkwa=%qNhSSl0wEu@c`uCRKxsVN|pnXkM7hZ;d~QiTtct9;Nmz{*bu`b*J>M+<-9t0 zvuogS6^Sk5D~Zj_ySl&DAt9#jhwkUC|zU|fs3-$)U z6^j}le@x&(=BLb`eVjovk?U!dXUT@2&tz|-8+xNg?-h7jL4ukw^U$2Ogwm_=4@pZh zvr}^;!NVR^x`MMOGlAK|$4h6jE3Q#THO5!02JT}p^=oC}Nmy2~3I9h$5#<%67Usrkd$*!9Gi zTmEUt{dX>D{Yrj$8S()+PimH+-!^u>JB@jOs57bK*qWC|Md+74gXb@&@}YTfLL#n|(`b_)u~tW0+X2V;C1G>}k7%yGe%|8@x~Z(ngonDaNk56$pl>Ev@;BH!*@JZy(ZM$<#`cR6-6S5 z5e38}f^u46GQn7V3>pwY!LKiV->!{;D44<1pEjeQx@ON&*KSm+IOkIj%hK7uu2eqI zv2J_$yxcwbMIds~zGoog))XNSwh{8Sb8@3lc5}gNbz-00%x2ZBy8S^zXYoJhy$9b+ z!ymsb+po^}`^O@yu_;&dvn!^%H>B`y@SDRubHLU=yZ`Nj$=%}=6JWWR+#6h zL~Zo~^ot2P*@S8AD+vR!7_Ik|tanHvkN?2`n|<3&W2>7cQCTknwXH{^HUUfL)=K~t zEyc!V=Cz&Nl0hp%EI7V!c^B8E6qd58p@PYT@vej+%kd|k_c7Jh=e+oF<(HK(Ze%K# zsmV7IsZv*pTlM6rsa!{BCs|4^O?!G28>!H^?+fGjkw7Mn%liJ`HT;xc8Q$o#!9!!L z*Zn|cGM8su-sC>>gQW3+dvtNG+=>-@*sV{p`i3ZKFP^=TxvHg_6DlkHhfWHS8R65; zhtuutw>10Eh>(%cN;|x!Ru?T4cK)0XhrOn>&u=ti=F% zHAL(u@E{nKP#Seg$)L>}rzlVA@wBgTJjoonCb#_|b)_VZc+qe&nfqfAKVMa=5HO(h z{^gkOd!Jvo-+TP=<@TC+>gY3dcWR4!1~1Oebz?iSPWM9O85L2&;{g#u|MDIbcLRrF zVI#CzUv2Poo_OHz_xd3xX=lRKoJ9`JN?xIY%EmmF;Znml6YdC@H*GFvZ2WxbL))D* zknGtrpf9wT#ssu;s$OIJj&{x#Z8kg{As+P_LLu=i6gGEOLR_wEjsB4VKsV=Vp z@>Hl<)U|rsU*2FT(*$R}{#*Lkjy|>)6q4`m3>o0!5(o@{`S4gN0F;UO3KIyJo(_~= z1PeW3?y^2?aBla_2V9z;nB=1m=ZLX&*Bdz2iMDWZMftk}<>z!$Q_iOw&f$FiSd*{@ ztwBD87wsocW>RjlU;Mc5%bSeoQqxPat*;%_0t<5VR)8KFn@T7dob= z)0*L=QlC?Q`is*yNeBKBT9j=jhLJs*QSC(mA*)UnqRsM)IqScl7*QfzFzIY4AcqJ( zO#2aRPwweIOZMdcbx;vIHn+Wq|9aIsk5(-Lbn=CKYx7&NJIE`H zkmHjebfP}NTo2sdCIklokkwW2{6f(Cul!FX-f8z{472I9jTG+k2c&d3RZKjWQ?-;m zXYFC91_2YLul!Vp3)P1g7o6CI^18-LB{N&Nb0jVwV=`yRXm*JWa>sTfE6Z~yeY&&_S4Msb-!rBpz)Wra_rnG3;K0N=P6 z-m5xc&;ds+)Ql=XW+Q%AN>x`#c5T{ybKWXe*_=m}yH_*l{7PiiCVOldDpJDS@_gl_ z0A^*5Z)}^~?)5k;B_8K|SE9&ouW+sFrn)jbUr-*R1T5M6`;Uz~4Kn60N5HzbM?s1S zht)*k9z`q5H8Cu7uEnRLLnzfU(QEF*$X55@-L+?Cvt0%zPnwEyip(r)gHy1I=naoK z6?>1o%qKpiyJdzPH=NV&XDRiw^<~B^_T0ARbE>zq}bKeYgN2+YN6anwm~i)o;Tt_w-7 zz8&XchMg_OpWO5ou4oZnbAknk)HHhCc1Sqd*BE?49#zu6_RPRtKLcI2dv(B-V_d>dPZU7*u#p_R0KQZPgdX3m=B#lh&BT4ATlz@A|N;q)4qcDqNlSaeKJKJ4COcOv#N9I#M~i)~MPf zX--NDmG|jr4Bz+j3E!;NZ4$RJt|m>dZI;Ju)=ia)N_utYgk#sMyC$-K!JK-#Uwe+_ z%Hn^0mc{p;ae59f{B-)Kx%l~9UVSrL>Tqu(m|g1F%_(a~taI?h4fkGkBd6`-CO*8& zH%bNviMW${ABo3jo%rid<<*XBI{ls3F5DImfcsj;@PM5n)EyQG4<%T6=8W4+z?n8A zkjh6cYC+BczEGX$7mI4J@=Hf9);j1#cBocZNk}Pme%6psDy-tSH^^W;l>P2lc>Nlt zkv%p`SKSSntv}DCb2~9P3JW#f@Ex%RS7rk&$Uz!?W8duAv}G4BO-Z0$$#xFK<5PuA zC+t>>=Va<@h5eBp1&7l_f>qtXq(#EsTwS6cwMw!PW|P>olKn~RSp-8C^=NN zqbtLn^Vv`FE{HZtesL*!vwiIAIV{)hpQzm?Z+};!wC#Ohsn1sN$1JS49)oziIYTkj z<4Y~df^6ED6ko>oeQ-(qq-mI-B$bz)=*)D!B(S_-ZM2{$vS&fwTEk#T_Ryd&N*_v= zNly@375k*(krVZ6EvSqdEJm@dRr#2i@9?$IPH~G^%)4UW6N^_Q5gO0&BLzP^*F>51 zYj;~^SErWTAAE(RoI2mWK~v$^@TzcrHLjBU^l$QYjwJuARJKJ4{&;H@&Ay}2A1oHU z9v%CaL??XKrUKVz3v!`LnR&naZ-4x-mWU9TA|5?Vm3bPAk^?dHvjHvAG zaecu_CzYSFXe_2}lBvzxMxjD+r)AZs?w@szK}Jo(6Qk0G7+8yusrOO&yKyUDXZ4lQwx8nohI$|f3o4GHq4eswh#YJal$%-+!Itj z8nA!Z4cgtkyhS3bxoB{Losf&eLw=*gmR^%#hACg^*sHVBb=>}-{dG4~gG%No{r7MA zn@SJLM&>8)YHnXVqcYob3#wmSZK=36UG~**rQY}OzJdp8);nqhR?+o$g2`PA=@U&< zDoxs4+NUl$kC=TwTM!+`7uR876;yvY$#FR9J4oAozP4ig!{S z*6dW_=&zsn3!Dju1+Rx4lUHRc@0RG#Vdtc^bo!fLT z_}ISs?C=rW-T8Q1-@tFFCcNJPr`*!&`HRo;fosM4d}wiRxH!^dgCukFe6A%J|9dE> z=h)R{3{++TQ0uPP5_0HU;rm|-_46k`KW?~lwJKa@zpG}tCgF7YV%UhTm7T# zYTNxs?LxhYy&5=B1EX^bIeFKNRlm75H%24>C%7FdaN9U~=arEcn|rAsL4U*%FlFeu zG1(`PTSD3;ylOE0>O2OH6AtuU_?;fyrvXmrf%XaHT2|J%E12>Fd1@E-`5DRS0VjKZ zM9uW9byWIm>;GzUKxdgfKS*f#%ijO{pBbxkK@U~FnX#~U+2C6Yccl#Rrj+CHO{De9 z$#VY_6L)_r#{!j#o0Ten%h`65$ z{U3J(S?V&;D-y%+*}r^<&CN9e@00Mg(l_iJNv@XFhU-NR01?kq=15Z$Hvq2o9xT~ zE0aj~KlyWyVd)Z}K&jgyL0s26?AE(FXE?K<`wf7YZ)?l0z3!+|!H0)VIgk3= z*OY`o@k0U0;r=H}V`e3lmA_S%=Vyj)f0v)2+Pex)@RL>d-p4_K3|~7d4p7;hdcF(7 zJw|Z37kw9C67`%@*7nM3)=hU?C_#1r-8P`KtMgvj$J2^D1c8Y3Wk0|Td3%>9Vl4}% zeRLW``@?qEs|{WnE^gnFw=i_mu%~h}3JhKoFNi}X> zH9CMx9Uk{(E-isKHUr3h^3C%*fKj=i0CxT~rTuOSQPoiW-!an8pNDU?s|G~=Qvn)s z&2YeB;)_j@GRmW1^4M1aHT#s6-Dtj+pgG;Dyhh2$vNKSyAUbONyD_~k?<1Im!I=^{ z#VPqh74a5=<##f&qB14>O^FV~M*s?6UgR4U3XUW<!?Qllj!0@%_okPeRVDuw0-Z5=hsVR0919JM#=;WGpv9GI+6$}pacw# zuY&VdP(dJymkP*!JG4sR%UKZWeJ84G-ZSyiPbC0WzZX?j-+7H=!SveNJ}p26 zfddJUf23Y05KB+pe0=Y}HyHqYNKCpFq}_y>7z?cswrO&J zL-wZXpjz>aW_e&Z1cbB!`(y^3JCFM=ya1F^!lEEgE4e{?yWe#lX%r7<)NPS8 zgms%W_!&(%43Hq`91 zVYw6pCn1o80OWWc-oGmhl@5X!Kmjq%AF>Q|9}^BVPP4DPi&v`*fCH&8Mb%XZ=9@+f zv|D1N!nyI)3`=GeB(B*322`q6NLOrtmnRfcLGwz}1MnixW}0Iig>-LI(p!;dzX58L z0EY8?J_ zL@@74n63K)cKWAM03OmzMk5Nc<>VmYXZ+5*8g~yu#IJG~V{xJNM?#JbylUu^-yh#H zAZ83D0hUxxT>9-#&Ejih1&LH6TtNHpH8Kzrd;;m-Qr|Y@xYChz+Izk`efQk;;%uYo z!;vaIa3+v3kELnxlk}LSVJZL4 zqG(LtVO~92%##mDq*_{F2c!k>09f-IC@@$#V;*^YUnhSWX6z*m4zBOS&42k~`Ap_K ze7EZ;YwOF0qX12yIdutwvIQKVKnMn`%NcXb$mts_$x%1gKr9@VCQ+BHREHxwlfYVn$kkM< zl19kkI<4J&l{dZM6YIHv^h^*ghbn8U zY2f2*E;1MHSXWqJyes~<8OVjT>tH@fqt<{mDi-RYI-r-ly%S|?l`ey0&)%6UpnPU8 zovxV1*ELUkb@wwQ!XEQ0e^t!7GqT44vIhy3@tAPbP9|Cpy;CSBBC%6{uUCk zt!mx5JH9yli+fwh?5t{(3$lL_MW(?o4UV}KlP)v}UFgM_aOs#3FsM?R&!K9IOqP8s z*V9d8>utSash9zRFB;U6oI=1#OBLKYi%}5*4hJM}Lmvf61OARIfcTF~EKE=IBELAE zl+{PM_$|}+adnL~bU#^5CnFKE`WG5L>2=hb~!xpO; z5f)@#Z(oVvF=>Q75IBQ?vOwmSH~e(x`&03{gP#a!Vp@L6s8rDa7@)v?Sv-29#|$Xb_Y3 zp=Nl&QW6d+pu;R!WRgWl{^L@Ct#;K~!W?Lz|04=hhZInE!w6!)E-fZWn?PBTdTe<& zS{(B&7Ggmxi&>ym5f;Swr%|&q6i8CXvz6DkW}k_v$;flaLnJw|EF7av zkGA8e0`3Oy@IvlqQt#v1_Aecm>)D^1L}R?*SRgnm>y>m%j$YX+jI|5yGx8bJ!UnwmI1p_;ll!KW=m*!1I~O+3Ibz+5|$GpPg$se zz7A;(#9m1R?UY!C$7*mmMy=Bw07|%69s@e4Ys|^I%&iDe9w^W#*d*Tc>h1`q1*{@E zb&C)NpqUOA=XfA27&xs4P2jr#){G`>%JT;Ela6pl_@fCiS?&jM>TU_L@0qEjnVIN7 zBJLp7vvp~EXnpcy15`FmAOVS!wP{G|S zh{sr2!yzOJa*;1b6dPLn!6K^j%(a)Jr0-=l&?rXimY^ORn3{SU#j8O0c~`mXwGdq^ zs4ZR6Y^e!A=@2*#_|^Cjxr`bZfaQaX4@~1TbAcaJY?B>a$zkwvsI6Zsi;AuvTq*B` zrOFk(Iz5Sy)g2xHE{#DLAUhn!PRb6MalV08@Ln2Bul#?HWr|zKrPC?$n;BgM0Fd`* z4@HxYa1=@2$0$;YUg?&F+QY5LO)A1aMz8*>{mhg;E3HvXzT6gsmBRD`hhE6Wk0Grj z9Tw9_Rwlq#iNa!D#-I8@+^+1pKBT+!c5%T0yYUklsE0E=xib;QIH(*eI7eV)B`5nWXihSNHJb*##aP}PdALC5 ziVDan3#tjjjF4NvWaJ2}5u6B?7fY_qfR=f=MPPr1;@8PowFJgz`xbv-4^am5472oj zby4+4p@hH#p(QV+&gcBFpyvG8d#wUHrxHl>zLU^4r#?ZwZRl!i{?Gf4%dG^zYT z9NIP%3@%m}3}-M_g-0E9N0kRZi+GI|G(ZAF{*Xy|kwL_Qe~{}FwPxU|mLm{dMaD^h zDgy08ycUR)Cnl1VU3O%jMzQMw){RDyv(=1om>3K}@2++jWvYgovx^gnU zpH{pT;<{XfqK#yU$5vp&S+%5jJ(}~Y%`~p+S%RcljWi|LVmWP)I4F3bWdMJ{AbrnW zd+6uzv!X3K;uYId!-ADlv^jgn^9znxjHYe#qeV15naq%_hC2RZXl0KD?Nho`KUeKX zcyxggRV;NNz|u!@b&o&u4xHpfjPhANQau01>Gq;yM{M$k1ij0{(XK=Do|TNad3z~; zHyLP>mIWt0dfEXx&2Y?a21GRuP% zKj~kx*Io+StseVclRqnG^F{$BK?Ce59x_lzSNQMO`K1=$CBN!aN=)HlR3S93hE_M_ z;yO4@iHKW9Y5gDHYU$0pA1SG%4BGiM#y1ux9%G{fAJ&84?f_RMz#@_%R0*J)IY>sP zQ|>=;al3EaDMV7|I~ZyP7g@v-lGSroi5y#Prw`u_o~EQXaO_*bBN;{RWOIN^^8ewR exkY8@CH;Gup8DL5Y7YQ>-P3%aQF_}V=>GuO@bv2d literal 0 HcmV?d00001 diff --git a/NetMonitorClient/ServiceControl.cs b/NetMonitorClient/ServiceControl.cs index 75f7bb7..4c13f15 100644 --- a/NetMonitorClient/ServiceControl.cs +++ b/NetMonitorClient/ServiceControl.cs @@ -10,10 +10,10 @@ namespace NetMonitorClient { class ServiceControl { - private UdpClient client; - private IPEndPoint rep; //remoteEndPoint - private UdpClient answ = new UdpClient(34524); - private IPEndPoint iep = new IPEndPoint(IPAddress.Loopback, 0); + private UdpClient net_send; + private IPEndPoint net_send_port; + private UdpClient net_gets; + private IPEndPoint net_gets_port; public ServiceControl(string name) { ServiceController sc = new ServiceController(); @@ -22,8 +22,10 @@ namespace NetMonitorClient //{ // sc.Start(); //} - this.client = new UdpClient(); - this.rep = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 34523); + this.net_send = new UdpClient(); + this.net_send_port = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 34523); + this.net_gets = new UdpClient(34524); + this.net_gets_port = new IPEndPoint(IPAddress.Loopback, 0); } internal bool setNetworkAuto(string adapter) @@ -34,8 +36,8 @@ namespace NetMonitorClient return false; } byte[] data = Encoding.UTF8.GetBytes("NET AUTO "+adapter); - this.client.Send(data, data.Length, this.rep); - return Boolean.Parse(Encoding.UTF8.GetString(client.Receive(ref iep))); + this.net_send.Send(data, data.Length, this.net_send_port); + return Boolean.Parse(Encoding.UTF8.GetString(net_gets.Receive(ref net_gets_port))); } internal bool setNetworkIp(string ip, string subnet, string gateway, string adapter) @@ -61,8 +63,8 @@ namespace NetMonitorClient return false; } byte[] data = Encoding.UTF8.GetBytes("NET IP " + ip + " " + subnet + " " + gateway + " " + adapter); - this.client.Send(data, data.Length, this.rep); - return Boolean.Parse(Encoding.UTF8.GetString(client.Receive(ref iep))); + this.net_send.Send(data, data.Length, this.net_send_port); + return Boolean.Parse(Encoding.UTF8.GetString(net_gets.Receive(ref net_gets_port))); } internal bool setNetworkDNS(string dns, string adapter) @@ -78,8 +80,8 @@ namespace NetMonitorClient return false; } byte[] data = Encoding.UTF8.GetBytes("NET DNS " + dns + " " + adapter); - this.client.Send(data, data.Length, this.rep); - return Boolean.Parse(Encoding.UTF8.GetString(client.Receive(ref iep))); + this.net_send.Send(data, data.Length, this.net_send_port); + return Boolean.Parse(Encoding.UTF8.GetString(net_gets.Receive(ref net_gets_port))); } internal bool setNetworkWINS(string wins, string adapter) @@ -95,8 +97,8 @@ namespace NetMonitorClient return false; } byte[] data = Encoding.UTF8.GetBytes("NET WINS " + wins + " " + adapter); - this.client.Send(data, data.Length, this.rep); - return Boolean.Parse(Encoding.UTF8.GetString(client.Receive(ref iep))); + this.net_send.Send(data, data.Length, this.net_send_port); + return Boolean.Parse(Encoding.UTF8.GetString(net_gets.Receive(ref net_gets_port))); } internal bool setNetworkIpAuto(string adapter) @@ -107,8 +109,8 @@ namespace NetMonitorClient return false; } byte[] data = Encoding.UTF8.GetBytes("NET IP AUTO "+adapter); - this.client.Send(data, data.Length, this.rep); - return Boolean.Parse(Encoding.UTF8.GetString(client.Receive(ref iep))); + this.net_send.Send(data, data.Length, this.net_send_port); + return Boolean.Parse(Encoding.UTF8.GetString(net_gets.Receive(ref net_gets_port))); } @@ -120,8 +122,8 @@ namespace NetMonitorClient return false; } byte[] data = Encoding.UTF8.GetBytes("NET DNS AUTO " + adapter); - this.client.Send(data, data.Length, this.rep); - return Boolean.Parse(Encoding.UTF8.GetString(client.Receive(ref iep))); + this.net_send.Send(data, data.Length, this.net_send_port); + return Boolean.Parse(Encoding.UTF8.GetString(net_gets.Receive(ref net_gets_port))); } internal bool setNetworkWinsAuto(string adapter) @@ -132,8 +134,8 @@ namespace NetMonitorClient return false; } byte[] data = Encoding.UTF8.GetBytes("NET WINS AUTO " + adapter); - this.client.Send(data, data.Length, this.rep); - return Boolean.Parse(Encoding.UTF8.GetString(client.Receive(ref iep))); + this.net_send.Send(data, data.Length, this.net_send_port); + return Boolean.Parse(Encoding.UTF8.GetString(net_gets.Receive(ref net_gets_port))); } } } diff --git a/NetMonitorServer/Program.cs b/NetMonitorServer/Program.cs index 5a7899e..049368b 100644 --- a/NetMonitorServer/Program.cs +++ b/NetMonitorServer/Program.cs @@ -8,6 +8,27 @@ using System.ComponentModel; namespace NetMonitorServer { + [RunInstaller(true)] + public class TestWinInstaller : Installer + { + private ServiceInstaller m_ThisService; + private ServiceProcessInstaller m_ThisServiceProcess; + + public TestWinInstaller() + { + m_ThisService = new ServiceInstaller(); + m_ThisServiceProcess = new ServiceProcessInstaller(); + + m_ThisServiceProcess.Account = ServiceAccount.LocalSystem; + m_ThisService.ServiceName = "NetMonitorServer"; + m_ThisService.StartType = ServiceStartMode.Automatic; + m_ThisService.Description = "Teil von NetMonitor der die Systemnahen Befele ausführt"; + m_ThisService.DisplayName = "Netzwerk Settings Tool"; + + Installers.Add(m_ThisService); + Installers.Add(m_ThisServiceProcess); + } + } static class Program { /// @@ -35,25 +56,4 @@ namespace NetMonitorServer } } } - [RunInstaller(true)] - public class TestWinInstaller : Installer - { - private ServiceInstaller m_ThisService; - private ServiceProcessInstaller m_ThisServiceProcess; - - public TestWinInstaller() - { - m_ThisService = new ServiceInstaller(); - m_ThisServiceProcess = new ServiceProcessInstaller(); - - m_ThisServiceProcess.Account = ServiceAccount.LocalSystem; - m_ThisService.ServiceName = "NetMonitorServer"; - m_ThisService.StartType = ServiceStartMode.Automatic; - m_ThisService.Description = "Teil von NetMonitor der die Systemnahen Befele ausführt"; - m_ThisService.DisplayName = "Netzwerk Settings Tool"; - - Installers.Add(m_ThisService); - Installers.Add(m_ThisServiceProcess); - } - } } diff --git a/NetMonitorServer/Service1.cs b/NetMonitorServer/Service1.cs index f9fb78c..ab92328 100644 --- a/NetMonitorServer/Service1.cs +++ b/NetMonitorServer/Service1.cs @@ -23,16 +23,16 @@ namespace NetMonitorServer } private static void overwatch() { - UdpClient client = new UdpClient(34523); - IPEndPoint iep = new IPEndPoint(IPAddress.Loopback, 0); + UdpClient net_gets = new UdpClient(34523); + IPEndPoint net_gets_port = new IPEndPoint(IPAddress.Loopback, 0); while (true) { if (Thread.CurrentThread.ThreadState == System.Threading.ThreadState.AbortRequested) { - client.Close(); + net_gets.Close(); break; } - byte[] data = client.Receive(ref iep); + byte[] data = net_gets.Receive(ref net_gets_port); string text = Encoding.UTF8.GetString(data); switchCommand(text); } diff --git a/NetMonitorServer/SetNetworks.cs b/NetMonitorServer/SetNetworks.cs index 56cbee0..8d10068 100644 --- a/NetMonitorServer/SetNetworks.cs +++ b/NetMonitorServer/SetNetworks.cs @@ -10,8 +10,8 @@ namespace NetMonitorServer { class SetNetworks { - UdpClient sendanswer = new UdpClient(); - IPEndPoint rep = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 34524); + UdpClient net_send = new UdpClient(); + IPEndPoint net_send_port = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 34524); public SetNetworks(string data) { @@ -36,7 +36,7 @@ namespace NetMonitorServer else ret = this.runProgramNetsh("interface ipv4 set winsservers \"" + par[3] + "\" static " + par[2]); byte[] answ = Encoding.UTF8.GetBytes(ret.ToString()); - sendanswer.Send(answ, answ.Length, rep); + net_send.Send(answ, answ.Length, net_send_port); } private void setNetworkDns(string data) @@ -50,7 +50,7 @@ namespace NetMonitorServer else ret = this.runProgramNetsh("interface ipv4 set dnsservers \"" + par[3] + "\" static " + par[2] + " primary"); byte[] answ = Encoding.UTF8.GetBytes(ret.ToString()); - sendanswer.Send(answ, answ.Length, rep); + net_send.Send(answ, answ.Length, net_send_port); } private void setNetworkIp(string data) @@ -64,7 +64,7 @@ namespace NetMonitorServer else ret = this.runProgramNetsh("interface ipv4 set address \"" + par[5] + "\" static " + par[2] + " " + par[3] + " " + par[4]); byte[] answ = Encoding.UTF8.GetBytes(ret.ToString()); - sendanswer.Send(answ, answ.Length, rep); + net_send.Send(answ, answ.Length, net_send_port); } private void setNetworkAuto(string data) @@ -79,7 +79,7 @@ namespace NetMonitorServer answ = Encoding.UTF8.GetBytes(true.ToString()); else answ = Encoding.UTF8.GetBytes(false.ToString()); - sendanswer.Send(answ, answ.Length, rep); + net_send.Send(answ, answ.Length, net_send_port); } private bool runProgramNetsh(string args)