<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2063699009880246664</id><updated>2024-06-03T14:42:02.102+05:30</updated><category term="Microsoft"/><category term=".Net"/><category term="C#"/><category term="Chrome Experiments"/><category term="Firewall"/><category term="windows"/><category term="Games"/><category term="QuakeLive"/><category term="Windows 8"/><category term="android"/><category term="c"/><category term="reverse tethering"/><category term="router"/><category term="tethering"/><category term="virutal"/><category term="wifi"/><title type='text'>Developer Tools</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://i-developer.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2063699009880246664/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://i-developer.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Ravikanth</name><uri>http://www.blogger.com/profile/11702786862373845556</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>10</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2063699009880246664.post-4676199898118289326</id><published>2013-08-14T20:28:00.001+05:30</published><updated>2013-08-14T20:30:52.300+05:30</updated><title type='text'>Hide App</title><content type='html'>Dear Users,

I&#39;m Happy to share my new experiement with you all.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;
&lt;b&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;a href=&quot;http://drive.google.com/uc?export=download&amp;amp;id=0B7ujgpCjqPf-TEhTNkNVLXQ5Zk0&quot;&gt;Hide App Download&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;
[Microsoft .Net 3.5 required]
Check here how it works

&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;iframe allowfullscreen=&#39;allowfullscreen&#39; webkitallowfullscreen=&#39;webkitallowfullscreen&#39; mozallowfullscreen=&#39;mozallowfullscreen&#39; width=&#39;320&#39; height=&#39;266&#39; src=&#39;https://www.youtube.com/embed/eOv83ziiyZM?feature=player_embedded&#39; frameborder=&#39;0&#39;&gt;&lt;/iframe&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://i-developer.blogspot.com/feeds/4676199898118289326/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://i-developer.blogspot.com/2013/08/hide-app.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2063699009880246664/posts/default/4676199898118289326'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2063699009880246664/posts/default/4676199898118289326'/><link rel='alternate' type='text/html' href='http://i-developer.blogspot.com/2013/08/hide-app.html' title='Hide App'/><author><name>Ravikanth</name><uri>http://www.blogger.com/profile/11702786862373845556</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2063699009880246664.post-151347622093109211</id><published>2011-10-11T23:31:00.001+05:30</published><updated>2011-10-11T23:31:17.762+05:30</updated><title type='text'>Launching Virtual WiFi Router 2 :)</title><content type='html'>Launching my personally developed Virtual WiFi Router Version 2.&lt;br /&gt;
Please check this in &lt;a href=&quot;http://www.virtualwifirouter.com/&quot;&gt;www.virtualwifirouter.com&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://i-developer.blogspot.com/feeds/151347622093109211/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://i-developer.blogspot.com/2011/10/launching-virtual-wifi-router-2.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2063699009880246664/posts/default/151347622093109211'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2063699009880246664/posts/default/151347622093109211'/><link rel='alternate' type='text/html' href='http://i-developer.blogspot.com/2011/10/launching-virtual-wifi-router-2.html' title='Launching Virtual WiFi Router 2 :)'/><author><name>Ravikanth</name><uri>http://www.blogger.com/profile/11702786862373845556</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2063699009880246664.post-5827099910261700798</id><published>2011-09-25T02:34:00.001+05:30</published><updated>2011-09-27T20:36:54.671+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="android"/><category scheme="http://www.blogger.com/atom/ns#" term="c"/><category scheme="http://www.blogger.com/atom/ns#" term="Chrome Experiments"/><category scheme="http://www.blogger.com/atom/ns#" term="Firewall"/><category scheme="http://www.blogger.com/atom/ns#" term="reverse tethering"/><category scheme="http://www.blogger.com/atom/ns#" term="router"/><category scheme="http://www.blogger.com/atom/ns#" term="tethering"/><category scheme="http://www.blogger.com/atom/ns#" term="virutal"/><category scheme="http://www.blogger.com/atom/ns#" term="wifi"/><title type='text'>Virtual Wifi Router</title><content type='html'>Hey check this.. Free software which can turn your windows 7 computer into a virtual wifi router.&lt;br /&gt;
Lightweight portal application which can create an access point on your laptop through which you can connect multiple Wi-Fi enabled devices.&lt;br /&gt;
&lt;div&gt;
&lt;a href=&quot;http://www.virtualwifirouter.com/&quot;&gt;www.virtualwifirouter.com&lt;/a&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://i-developer.blogspot.com/feeds/5827099910261700798/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://i-developer.blogspot.com/2011/09/virtual-wifi-router.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2063699009880246664/posts/default/5827099910261700798'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2063699009880246664/posts/default/5827099910261700798'/><link rel='alternate' type='text/html' href='http://i-developer.blogspot.com/2011/09/virtual-wifi-router.html' title='Virtual Wifi Router'/><author><name>Ravikanth</name><uri>http://www.blogger.com/profile/11702786862373845556</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2063699009880246664.post-8717706543564171322</id><published>2010-11-17T15:35:00.001+05:30</published><updated>2010-11-17T18:10:40.742+05:30</updated><title type='text'>Google&#39;s New Android OS - 2.3(Gingerbread),May Replace Credit Cards</title><content type='html'>&lt;div style=&quot;color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 18px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 10px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&lt;a href=&quot;http://www.indiamag.in/wp-content/uploads/2010/11/Google-chief-executive-Eric-Schmidt.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; class=&quot;size-full wp-image-5813&quot; height=&quot;199&quot; src=&quot;http://www.indiamag.in/wp-content/uploads/2010/11/Google-chief-executive-Eric-Schmidt.jpg&quot; title=&quot;Google chief executive Eric Schmidt&quot; width=&quot;291&quot; /&gt;&lt;/a&gt;Google Inc’s unveiled its innovative Android operating system, a smartphone software, which will enable users to use their handsets just like plastic to pay for goods at restaurants and stores. The new software will now replace credit card in your pockets.&lt;/div&gt;&lt;div style=&quot;color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 18px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 10px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;The next version of its Android smartphone software will support a technology that allows consumers to use their handsets just instead of their credit card to pay for a trip to the mall, Movie Theater or restaurant.&lt;/div&gt;&lt;div style=&quot;color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 18px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 10px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;Google Chief Executive Eric Schmidt showed off the new Android OS – nicknamed “gingerbread” yesterday here. At this function yesterday, he showed off a yet-to-be-released smartphone handset with a special chip that allows consumers to quickly pay for items.&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: black; font-family: &#39;Times New Roman&#39;; font-size: medium; line-height: normal;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 18px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 10px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;In order to pay for goods at stores or restaurants, users need to tap their phone against a special terminal. The handset will emit a very short-range signal (broadcast a foot or two tops) that can be picked up by the appropriate receivers on merchant cash registers.&lt;/div&gt;&lt;div style=&quot;color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 18px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 10px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;Speaking at the Web 2.0 conference in San Francisco, Schmidt said, “One way to think about it is, this could replace your credit card.”&lt;/div&gt;&lt;div style=&quot;color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 18px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 10px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;“My guess is that there are going to be 500 new startups in the mobile payment space as these platforms emerge…Google would partner with traditional credit card industry players, like payment processors, rather than compete with them,” he added.&lt;/div&gt;&lt;div style=&quot;color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 18px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 10px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;According to industry research firm Gartner, Google’s Android was the second most popular smartphone operating system in the third quarter, behind Nokia’s Symbian and ahead of Apple Inc’s iOS software, which is used on the iPhone.&lt;/div&gt;&lt;div style=&quot;color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 18px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 10px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;Schmidt said Google’s software distinguished it from rivals’ offerings. “We would argue that our platform is better for applications that are network-resident and that need that kind of power,” Schmidt said.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://i-developer.blogspot.com/feeds/8717706543564171322/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://i-developer.blogspot.com/2010/11/google-unveils-new-android-smartphone.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2063699009880246664/posts/default/8717706543564171322'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2063699009880246664/posts/default/8717706543564171322'/><link rel='alternate' type='text/html' href='http://i-developer.blogspot.com/2010/11/google-unveils-new-android-smartphone.html' title='Google&#39;s New Android OS - 2.3(Gingerbread),May Replace Credit Cards'/><author><name>Ravikanth</name><uri>http://www.blogger.com/profile/11702786862373845556</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2063699009880246664.post-6084125023807562315</id><published>2010-11-17T13:05:00.006+05:30</published><updated>2010-11-17T13:28:32.508+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Chrome Experiments"/><title type='text'>Chrome Experiments</title><content type='html'>&lt;a href=&quot;http://www.chromeexperiments.com/&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;Chrome Experiments - Home&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 13px;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: inherit; font-size: 14px; font-style: inherit; font-weight: inherit; line-height: 23px; margin-bottom: 22px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 13px;&quot;&gt;We think JavaScript is awesome. We also think browsers are awesome. Together, they can do some beautiful, magical, crazy things. And that’s why&amp;nbsp;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Times New Roman&#39;; font-size: medium; line-height: normal;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;a href=&quot;http://www.chromeexperiments.com/&quot;&gt;Chrome Experiments&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;website is created.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; font-weight: inherit; line-height: 23px; margin-bottom: 22px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;&lt;div style=&quot;font-family: inherit; font-size: 14px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 13px;&quot;&gt;Chrome Experiments is a showcase for creative web experiments, the vast majority of which are built with the latest open technologies, including &lt;a href=&quot;http://en.wikipedia.org/wiki/HTML5&quot; style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: inherit; font-size: 14px; font-style: inherit; font-weight: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: none; outline-width: initial; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;HTML5&lt;/span&gt;&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/Canvas_%28HTML_element%29&quot; style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: inherit; font-size: 14px; font-style: inherit; font-weight: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: none; outline-width: initial; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;Canvas&lt;/span&gt;&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/SVG&quot; style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: inherit; font-size: 14px; font-style: inherit; font-weight: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: none; outline-width: initial; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;SVG&lt;/span&gt;&lt;/a&gt;, and &lt;a href=&quot;http://en.wikipedia.org/wiki/WebGL&quot; style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: inherit; font-size: 14px; font-style: inherit; font-weight: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: none; outline-width: initial; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;WebGL&lt;/span&gt;&lt;/a&gt;. All of them were made and submitted by talented artists and programmers from around the world.&lt;/span&gt;&lt;/div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 13px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;font-family: inherit; font-size: 14px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 13px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: medium; line-height: normal;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 13px; font-style: inherit; line-height: 23px;&quot;&gt;Experiments I found very&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 13px; line-height: 23px;&quot;&gt;interesting&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 13px; font-style: inherit; line-height: 23px;&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 22px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;float: left; margin-right: 1em; text-align: left;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://mrdoob.com/projects/chromeexperiments/google_gravity/&quot; style=&quot;clear: right; font-family: inherit; font-size: 14px; font-style: inherit; font-weight: inherit; line-height: 23px; margin-bottom: 1em; margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;151&quot; src=&quot;http://www.blogiseverything.com/images/google_gravity_thumb.jpg&quot; style=&quot;-webkit-user-select: none;&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;GoogleGravity&lt;br /&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;float: left; margin-right: 1em; text-align: left;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://mrdoob.com/projects/chromeexperiments/ball_pool/&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img height=&quot;159&quot; src=&quot;http://deerawan.com/blogimages/chrome-experiments/ball-pool.jpg&quot; style=&quot;-webkit-user-select: none;&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;BallPool&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://i-developer.blogspot.com/feeds/6084125023807562315/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://i-developer.blogspot.com/2010/11/chrome-experiments.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2063699009880246664/posts/default/6084125023807562315'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2063699009880246664/posts/default/6084125023807562315'/><link rel='alternate' type='text/html' href='http://i-developer.blogspot.com/2010/11/chrome-experiments.html' title='Chrome Experiments'/><author><name>Ravikanth</name><uri>http://www.blogger.com/profile/11702786862373845556</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2063699009880246664.post-1095619901014785059</id><published>2010-11-16T23:25:00.003+05:30</published><updated>2010-11-17T12:52:32.804+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Games"/><category scheme="http://www.blogger.com/atom/ns#" term="QuakeLive"/><title type='text'>Fun Time - Quake Live</title><content type='html'>&lt;object height=&quot;295&quot; style=&quot;background-image: url(http://i2.ytimg.com/vi/YxNHxlX8cCw/hqdefault.jpg);&quot; width=&quot;480&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/YxNHxlX8cCw?fs=1&amp;amp;hl=en_US&quot;&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot;&gt;&lt;embed src=&quot;http://www.youtube.com/v/YxNHxlX8cCw?fs=1&amp;amp;hl=en_US&quot; width=&quot;480&quot; height=&quot;295&quot; allowscriptaccess=&quot;never&quot; allowfullscreen=&quot;true&quot; wmode=&quot;transparent&quot; type=&quot;application/x-shockwave-flash&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;
&lt;div&gt;&lt;a href=&quot;http://www.quakelive.com/&quot;&gt;Quake live&lt;/a&gt; a cool place to hang out for some great seamless online play with people around world playing with each other. &lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://i-developer.blogspot.com/feeds/1095619901014785059/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://i-developer.blogspot.com/2010/11/game-time-quake-live.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2063699009880246664/posts/default/1095619901014785059'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2063699009880246664/posts/default/1095619901014785059'/><link rel='alternate' type='text/html' href='http://i-developer.blogspot.com/2010/11/game-time-quake-live.html' title='Fun Time - Quake Live'/><author><name>Ravikanth</name><uri>http://www.blogger.com/profile/11702786862373845556</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2063699009880246664.post-5498749567207372987</id><published>2010-11-16T18:03:00.003+05:30</published><updated>2010-11-17T12:55:06.514+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term=".Net"/><category scheme="http://www.blogger.com/atom/ns#" term="C#"/><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft"/><title type='text'>Start, Stop and Restart Windows Service [C#]</title><content type='html'>This example shows how to start, stop and restart a windows service&lt;br /&gt;
programmatically in C#.&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Georgia, serif; font-size: 24px; font-weight: bold; white-space: normal;&quot;&gt;Start service&lt;/span&gt;  &lt;br /&gt;
The following method tries to start a service specified by a service name.&lt;br /&gt;
Then it waits until the service is running or a timeout occurs.&lt;br /&gt;
[C#]&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 13px; white-space: pre;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;pre class=&quot;code&quot;&gt;&lt;span class=&quot;keyword&quot;&gt;public static void&lt;/span&gt; StartService(&lt;span class=&quot;keyword&quot;&gt;string&lt;/span&gt; serviceName, &lt;span class=&quot;keyword&quot;&gt;int&lt;/span&gt; timeoutMilliseconds)
{
&lt;span class=&quot;type&quot;&gt;ServiceController&lt;/span&gt; service = &lt;span class=&quot;keyword&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;type&quot;&gt;ServiceController&lt;/span&gt;(serviceName);
&lt;span class=&quot;keyword&quot;&gt;try&lt;/span&gt;
{
&lt;span class=&quot;type&quot;&gt;TimeSpan&lt;/span&gt; timeout = &lt;span class=&quot;type&quot;&gt;TimeSpan&lt;/span&gt;.FromMilliseconds(timeoutMilliseconds);

service.&lt;strong&gt;Start&lt;/strong&gt;();
service.&lt;strong&gt;WaitForStatus&lt;/strong&gt;(&lt;span class=&quot;type&quot;&gt;ServiceControllerStatus&lt;/span&gt;.&lt;strong&gt;Running&lt;/strong&gt;, timeout);
}
&lt;span class=&quot;keyword&quot;&gt;catch&lt;/span&gt;
{
&lt;span class=&quot;comments&quot;&gt;// ...&lt;/span&gt;
}
}
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Georgia, serif; font-size: 24px; font-weight: bold; white-space: normal;&quot;&gt;Stop service&lt;/span&gt;&lt;/pre&gt;The following method tries to stop the specified service and it waits until&lt;br /&gt;
the service is stopped or a timeout occurs.&lt;br /&gt;
[C#]&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: monospace; font-size: 13px; white-space: pre;&quot;&gt;&lt;span class=&quot;keyword&quot;&gt;public static void&lt;/span&gt; StopService(&lt;span class=&quot;keyword&quot;&gt;string&lt;/span&gt; serviceName, &lt;span class=&quot;keyword&quot;&gt;int&lt;/span&gt; timeoutMilliseconds)&lt;/span&gt;&lt;br /&gt;
&lt;pre class=&quot;code&quot;&gt;{
&lt;span class=&quot;type&quot;&gt;ServiceController&lt;/span&gt; service = &lt;span class=&quot;keyword&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;type&quot;&gt;ServiceController&lt;/span&gt;(serviceName);
&lt;span class=&quot;keyword&quot;&gt;try&lt;/span&gt;
{
&lt;span class=&quot;type&quot;&gt;TimeSpan&lt;/span&gt; timeout = &lt;span class=&quot;type&quot;&gt;TimeSpan&lt;/span&gt;.FromMilliseconds(timeoutMilliseconds);

service.&lt;strong&gt;Stop&lt;/strong&gt;();
service.&lt;strong&gt;WaitForStatus&lt;/strong&gt;(&lt;span class=&quot;type&quot;&gt;ServiceControllerStatus&lt;/span&gt;.&lt;strong&gt;Stopped&lt;/strong&gt;, timeout);
}
&lt;span class=&quot;keyword&quot;&gt;catch&lt;/span&gt;
{
&lt;span class=&quot;comments&quot;&gt;// ...&lt;/span&gt;
}
}
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Georgia, serif; font-size: 24px; font-weight: bold; white-space: normal;&quot;&gt;Restart service&lt;/span&gt;&lt;/pre&gt;This method combinates both previous methods. It tries to stop the service&lt;br /&gt;
(and waits until it&#39;s stopped) then it begins to start the service (and waits&lt;br /&gt;
until the service is running). The specified timeout is used for both operations&lt;br /&gt;
together.&lt;br /&gt;
[C#]&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: monospace; font-size: 13px; white-space: pre;&quot;&gt;&lt;span class=&quot;keyword&quot;&gt;public static void&lt;/span&gt; RestartService(&lt;span class=&quot;keyword&quot;&gt;string&lt;/span&gt; serviceName, &lt;span class=&quot;keyword&quot;&gt;int&lt;/span&gt; timeoutMilliseconds)&lt;/span&gt;&lt;br /&gt;
&lt;pre class=&quot;code&quot;&gt;{
&lt;span class=&quot;type&quot;&gt;ServiceController&lt;/span&gt; service = &lt;span class=&quot;keyword&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;type&quot;&gt;ServiceController&lt;/span&gt;(serviceName);
&lt;span class=&quot;keyword&quot;&gt;try&lt;/span&gt;
{
&lt;span class=&quot;keyword&quot;&gt;int&lt;/span&gt; millisec1 = &lt;span class=&quot;type&quot;&gt;Environment&lt;/span&gt;.TickCount;
&lt;span class=&quot;type&quot;&gt;TimeSpan&lt;/span&gt; timeout = &lt;span class=&quot;type&quot;&gt;TimeSpan&lt;/span&gt;.FromMilliseconds(timeoutMilliseconds);

service.&lt;strong&gt;Stop&lt;/strong&gt;();
service.WaitForStatus(&lt;span class=&quot;type&quot;&gt;ServiceControllerStatus&lt;/span&gt;.Stopped, timeout);

&lt;span class=&quot;comments&quot;&gt;// count the rest of the timeout&lt;/span&gt;
&lt;span class=&quot;keyword&quot;&gt;int&lt;/span&gt; millisec2 = &lt;span class=&quot;type&quot;&gt;Environment&lt;/span&gt;.TickCount;
timeout = &lt;span class=&quot;type&quot;&gt;TimeSpan&lt;/span&gt;.FromMilliseconds(timeoutMilliseconds - (millisec2-millisec1));

service.&lt;strong&gt;Start&lt;/strong&gt;();
service.WaitForStatus(&lt;span class=&quot;type&quot;&gt;ServiceControllerStatus&lt;/span&gt;.Running, timeout);
}
&lt;span class=&quot;keyword&quot;&gt;catch&lt;/span&gt;
{
&lt;span class=&quot;comments&quot;&gt;// ...&lt;/span&gt;
}
}&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://i-developer.blogspot.com/feeds/5498749567207372987/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://i-developer.blogspot.com/2010/11/start-stop-and-restart-windows-service.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2063699009880246664/posts/default/5498749567207372987'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2063699009880246664/posts/default/5498749567207372987'/><link rel='alternate' type='text/html' href='http://i-developer.blogspot.com/2010/11/start-stop-and-restart-windows-service.html' title='Start, Stop and Restart Windows Service [C#]'/><author><name>Ravikanth</name><uri>http://www.blogger.com/profile/11702786862373845556</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2063699009880246664.post-5429652538500739359</id><published>2010-11-16T17:55:00.004+05:30</published><updated>2010-11-17T12:55:19.884+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term=".Net"/><category scheme="http://www.blogger.com/atom/ns#" term="C#"/><category scheme="http://www.blogger.com/atom/ns#" term="Firewall"/><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft"/><category scheme="http://www.blogger.com/atom/ns#" term="windows"/><title type='text'>Automating Windows Firewall Settings with C#</title><content type='html'>I have done some work on automating Windows Firewall settings using C# and wanted to share what I learnt.&lt;br /&gt;
In this post, I am going to demonstrate how to programmatically access the following features of Windows Firewall using C#. I have divided the post into following 6 steps:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;     &lt;div&gt;Checking the status of Windows Firewall. &lt;/div&gt;&lt;/li&gt;
&lt;li&gt;     &lt;div&gt;Enabling/disabling Windows Firewall. &lt;/div&gt;&lt;/li&gt;
&lt;li&gt;     &lt;div&gt;Obtain the list of authorized ports. &lt;/div&gt;&lt;/li&gt;
&lt;li&gt;     &lt;div&gt;Obtain the list of authorized applications. &lt;/div&gt;&lt;/li&gt;
&lt;li&gt;     &lt;div&gt;Add/Remove an application to the list of authorized applications. &lt;/div&gt;&lt;/li&gt;
&lt;li&gt;     &lt;div&gt;Add/Remove a port to the list of authorized ports. &lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;To know more about Windows Firewall, refer to this &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/aa366453%28VS.85%29.aspx&quot;&gt;link&lt;/a&gt; on msdn.&lt;br /&gt;
&lt;strong&gt;Checking for Windows Firewall&lt;/strong&gt;&lt;br /&gt;
We create the object of HNetCfg.FwMgr COM object. A complete reference of Windows Firewall Scripting can be obtained here &lt;a href=&quot;http://technet.microsoft.com/en-us/library/cc737845%28WS.10%29.aspx&quot;&gt;Windows Firewall Tools and Scripting&lt;/a&gt; . We then use the properties of this object to find out the status of firewall. The c# code is as follow&lt;br /&gt;
&lt;blockquote&gt;&lt;pre style=&quot;background-color: #fbfbfb; border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; border-right: #cecece 1px solid; border-top: #cecece 1px solid; height: 72px; min-height: 40px; overflow: auto; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; width: 454px;&quot;&gt;&lt;pre style=&quot;background-color: white; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; margin: 0em; width: 100%;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Georgia, serif; font-size: 16px; white-space: normal;&quot;&gt;&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas, &#39;Courier New&#39;, courier, monospace; font-size: 12px; margin-bottom: 0em; margin-left: 0em; margin-right: 0em; margin-top: 0em; width: 600px;&quot;&gt;1: Type NetFwMgrType = Type.GetTypeFromProgID(&quot;&lt;span style=&quot;color: darkred;&quot;&gt;HNetCfg.FwMgr&lt;/span&gt;&quot;, &lt;span style=&quot;color: blue;&quot;&gt;false&lt;/span&gt;); &lt;/pre&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: white; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; margin: 0em; width: 100%;&quot;&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: white; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; margin: 0em; width: 100%;&quot;&gt;2: INetFwMgr mgr = (INetFwMgr)Activator.CreateInstance(NetFwMgrType);

&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; margin: 0em; width: 100%;&quot;&gt;3: &lt;span style=&quot;color: blue;&quot;&gt;bool&lt;/span&gt; Firewallenabled = mgr.LocalPolicy.CurrentProfile.FirewallEnabled;&lt;/pre&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;strong&gt;Enabling/Disabling Windows Firewall&lt;/strong&gt; &lt;br /&gt;
We can change the status of the Windows Firewall by setting the FirewallEnabled property of the CurrentProfile object. The c# code is as follows&lt;br /&gt;
&lt;pre style=&quot;background-color: #fbfbfb; border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; border-right: #cecece 1px solid; border-top: #cecece 1px solid; height: 76px; min-height: 40px; overflow: auto; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; width: 445px;&quot;&gt;&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; margin: 0em; width: 100%;&quot;&gt;1: &lt;span style=&quot;color: green;&quot;&gt;// depending whether you want to enable it/ disable it.&lt;/span&gt;

&lt;/pre&gt;&lt;pre style=&quot;background-color: white; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; margin: 0em; width: 100%;&quot;&gt;2: mgr.LocalPolicy.CurrentProfile.FirewallEnabled = &lt;span style=&quot;color: blue;&quot;&gt;true&lt;/span&gt;/&lt;span style=&quot;color: blue;&quot;&gt;false&lt;/span&gt;;&lt;/pre&gt;&lt;/pre&gt;&lt;b&gt;Obtain the list of authorized ports&lt;/b&gt;&lt;br /&gt;
We can get the list of globally open ports from the GloballyOpenPorts property of CurrentProfile object. The output is an object of the type INetFwOpenPorts. We obtain the enumerator for this collection and loop to get all the individual ports. The following is the c# code&lt;br /&gt;
&lt;pre style=&quot;background-color: #fbfbfb; border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; border-right: #cecece 1px solid; border-top: #cecece 1px solid; height: 131px; min-height: 40px; overflow: auto; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; width: 440px;&quot;&gt;&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; margin: 0em; width: 100%;&quot;&gt;1: INetFwOpenPorts ports;

&lt;/pre&gt;&lt;pre style=&quot;background-color: white; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; margin: 0em; width: 100%;&quot;&gt;2: INetFwOpenPort port;

&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; margin: 0em; width: 100%;&quot;&gt;3:

&lt;/pre&gt;&lt;pre style=&quot;background-color: white; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; margin: 0em; width: 100%;&quot;&gt;4: Type NetFwMgrType = Type.GetTypeFromProgID(&quot;&lt;span style=&quot;color: darkred;&quot;&gt;HNetCfg.FwMgr&lt;/span&gt;&quot;, &lt;span style=&quot;color: blue;&quot;&gt;false&lt;/span&gt;);

&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; margin: 0em; width: 100%;&quot;&gt;5: INetFwMgr mgr = (INetFwMgr)Activator.CreateInstance(NetFwMgrType);

&lt;/pre&gt;&lt;pre style=&quot;background-color: white; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; margin: 0em; width: 100%;&quot;&gt;6: ports = (INetFwOpenPorts)mgr.LocalPolicy.CurrentProfile.GloballyOpenPorts;

&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; margin: 0em; width: 100%;&quot;&gt;7: System.Collections.IEnumerator enumerate = ports.GetEnumerator();

&lt;/pre&gt;&lt;pre style=&quot;background-color: white; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; margin: 0em; width: 100%;&quot;&gt;8: &lt;span style=&quot;color: blue;&quot;&gt;while&lt;/span&gt; (enumerate.MoveNext())

&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; margin: 0em; width: 100%;&quot;&gt;9:     {

&lt;/pre&gt;&lt;pre style=&quot;background-color: white; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; margin: 0em; width: 100%;&quot;&gt;10:         port = (INetFwOpenPort)enumerate.Current;

&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; margin: 0em; width: 100%;&quot;&gt;11:

&lt;/pre&gt;&lt;pre style=&quot;background-color: white; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; margin: 0em; width: 100%;&quot;&gt;12:     }

&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; margin: 0em; width: 100%;&quot;&gt;13:

&lt;/pre&gt;&lt;pre style=&quot;background-color: white; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; margin: 0em; width: 100%;&quot;&gt;14: &lt;/pre&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;strong&gt;Obtain the list of authorized applications&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
We can get the list of applications authorized by the firewall from the AuthorizedApplications property of CurrentProfile object. The output is an object of the type INetFwAuthorizedApplications. We obtain the enumerator for this collection and loop to get all all the individual applications. The following is the c# code&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: consolas, &#39;Courier New&#39;, courier, monospace; font-size: 12px; white-space: pre;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;  1: INetFwAuthorizedApplications applications; &lt;/span&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;pre style=&quot;background-color: #fbfbfb; border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; border-right: #cecece 1px solid; border-top: #cecece 1px solid; height: 159px; min-height: 40px; overflow: auto; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; width: 435px;&quot;&gt;&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; margin: 0em; width: 100%;&quot;&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: white; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; margin: 0em; width: 100%;&quot;&gt;2: INetFwAuthorizedApplication application;

&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; margin: 0em; width: 100%;&quot;&gt;3:

&lt;/pre&gt;&lt;pre style=&quot;background-color: white; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; margin: 0em; width: 100%;&quot;&gt;4: Type NetFwMgrType = Type.GetTypeFromProgID(&quot;&lt;span style=&quot;color: darkred;&quot;&gt;HNetCfg.FwMgr&lt;/span&gt;&quot;, &lt;span style=&quot;color: blue;&quot;&gt;false&lt;/span&gt;);

&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; margin: 0em; width: 100%;&quot;&gt;5: INetFwMgr mgr = (INetFwMgr)Activator.CreateInstance(NetFwMgrType);

&lt;/pre&gt;&lt;pre style=&quot;background-color: white; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; margin: 0em; width: 100%;&quot;&gt;6: applications = (INetFwAuthorizedApplications)mgr.LocalPolicy.CurrentProfile.AuthorizedApplications;

&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; margin: 0em; width: 100%;&quot;&gt;7:

&lt;/pre&gt;&lt;pre style=&quot;background-color: white; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; margin: 0em; width: 100%;&quot;&gt;8: &lt;span style=&quot;color: blue;&quot;&gt;while&lt;/span&gt; (enumerate.MoveNext())

&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; margin: 0em; width: 100%;&quot;&gt;9:      {

&lt;/pre&gt;&lt;pre style=&quot;background-color: white; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; margin: 0em; width: 100%;&quot;&gt;10:         application = (INetFwAuthorizedApplication)enumerate.Current;

&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; margin: 0em; width: 100%;&quot;&gt;11:

&lt;/pre&gt;&lt;pre style=&quot;background-color: white; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; margin: 0em; width: 100%;&quot;&gt;12:      }

&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; margin: 0em; width: 100%;&quot;&gt;13:

&lt;/pre&gt;&lt;pre style=&quot;background-color: white; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; margin: 0em; width: 100%;&quot;&gt;14: &lt;/pre&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;strong&gt;Add a port to globally open ports&lt;/strong&gt; &lt;br /&gt;
A port can be added to the list of globally open ports by first defining an object of the type INetFwOpenPort and then add it to the GloballyOpenPorts collection of the CurrentProfileObject. The c# code is given below&lt;br /&gt;
&lt;blockquote&gt;&lt;pre style=&quot;background-color: #fbfbfb; border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; border-right: #cecece 1px solid; border-top: #cecece 1px solid; height: 190px; min-height: 40px; overflow: auto; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; width: 434px;&quot;&gt;&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; margin: 0em; width: 100%;&quot;&gt;1: INetFwOpenPorts ports;

&lt;/pre&gt;&lt;pre style=&quot;background-color: white; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; margin: 0em; width: 100%;&quot;&gt;2: INetFwOpenPort port;

&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; margin: 0em; width: 100%;&quot;&gt;3: port.Port = 8080; &lt;span style=&quot;color: green;&quot;&gt;/* port no */&lt;/span&gt;

&lt;/pre&gt;&lt;pre style=&quot;background-color: white; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; margin: 0em; width: 100%;&quot;&gt;4: port.Name = “Application1”; &lt;span style=&quot;color: green;&quot;&gt;/*name of the application using the port */&lt;/span&gt;

&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; margin: 0em; width: 100%;&quot;&gt;5: port.Enabled =  &lt;span style=&quot;color: blue;&quot;&gt;true&lt;/span&gt;; &lt;span style=&quot;color: green;&quot;&gt;/* enable the port */&lt;/span&gt;

&lt;/pre&gt;&lt;pre style=&quot;background-color: white; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; margin: 0em; width: 100%;&quot;&gt;6: &lt;span style=&quot;color: green;&quot;&gt;/*other properties like Protocol, IP Version can also be set accordingly

&lt;/span&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; margin: 0em; width: 100%;&quot;&gt;7: now add this to the GloballyOpenPorts collection */

&lt;/pre&gt;&lt;pre style=&quot;background-color: white; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; margin: 0em; width: 100%;&quot;&gt;8:

&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; margin: 0em; width: 100%;&quot;&gt;9: Type NetFwMgrType = Type.GetTypeFromProgID(&quot;&lt;span style=&quot;color: darkred;&quot;&gt;HNetCfg.FwMgr&lt;/span&gt;&quot;, &lt;span style=&quot;color: blue;&quot;&gt;false&lt;/span&gt;);

&lt;/pre&gt;&lt;pre style=&quot;background-color: white; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; margin: 0em; width: 100%;&quot;&gt;10: INetFwMgr mgr = (INetFwMgr)Activator.CreateInstance(NetFwMgrType);

&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; margin: 0em; width: 100%;&quot;&gt;11: ports = (INetFwOpenPorts)mgr.LocalPolicy.CurrentProfile.GloballyOpenPorts;

&lt;/pre&gt;&lt;pre style=&quot;background-color: white; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; margin: 0em; width: 100%;&quot;&gt;12:

&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; margin: 0em; width: 100%;&quot;&gt;13: ports.Add(port);

&lt;/pre&gt;&lt;pre style=&quot;background-color: white; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; margin: 0em; width: 100%;&quot;&gt;14:

&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; margin: 0em; width: 100%;&quot;&gt;15: &lt;/pre&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;strong&gt;Add an application the list of authorized applications&lt;/strong&gt; &lt;br /&gt;
Now we will finally see how to add an application to the list of authorized applications. The method is same as above. Define an application and add it to the AuthorizedApplications collection. The c# code is as follows&lt;br /&gt;
&lt;blockquote&gt;&lt;pre style=&quot;background-color: #fbfbfb; border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; border-right: #cecece 1px solid; border-top: #cecece 1px solid; height: 224px; min-height: 40px; overflow: auto; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; width: 432px;&quot;&gt;&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; margin: 0em; width: 100%;&quot;&gt;1: INetFwAuthorizedApplications applications;

&lt;/pre&gt;&lt;pre style=&quot;background-color: white; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; margin: 0em; width: 100%;&quot;&gt;2: INetFwAuthorizedApplication application;

&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; margin: 0em; width: 100%;&quot;&gt;3:

&lt;/pre&gt;&lt;pre style=&quot;background-color: white; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; margin: 0em; width: 100%;&quot;&gt;4: application.Name = “Internet Explorer”;&lt;span style=&quot;color: green;&quot;&gt;/*set the name of the application */&lt;/span&gt;

&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; margin: 0em; width: 100%;&quot;&gt;5:

&lt;/pre&gt;&lt;pre style=&quot;background-color: white; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; margin: 0em; width: 100%;&quot;&gt;6: application.ProcessImageFileName = &quot;&lt;span style=&quot;color: darkred;&quot;&gt;C:\\Program Files\\Internet Explorer\\iexplore.exe&lt;/span&gt;&quot; &lt;span style=&quot;color: green;&quot;&gt;/* set this property to the location of the executable file of the application*/&lt;/span&gt;

&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; margin: 0em; width: 100%;&quot;&gt;7: application.Enabled =  &lt;span style=&quot;color: blue;&quot;&gt;true&lt;/span&gt;; //enable it

&lt;/pre&gt;&lt;pre style=&quot;background-color: white; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; margin: 0em; width: 100%;&quot;&gt;8:

&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; margin: 0em; width: 100%;&quot;&gt;9: &lt;span style=&quot;color: green;&quot;&gt;/*now add this application to AuthorizedApplications collection */&lt;/span&gt;

&lt;/pre&gt;&lt;pre style=&quot;background-color: white; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; margin: 0em; width: 100%;&quot;&gt;10:

&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; margin: 0em; width: 100%;&quot;&gt;11: Type NetFwMgrType = Type.GetTypeFromProgID(&quot;&lt;span style=&quot;color: darkred;&quot;&gt;HNetCfg.FwMgr&lt;/span&gt;&quot;, &lt;span style=&quot;color: blue;&quot;&gt;false&lt;/span&gt;);

&lt;/pre&gt;&lt;pre style=&quot;background-color: white; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; margin: 0em; width: 100%;&quot;&gt;12:                 INetFwMgr mgr = (INetFwMgr)Activator.CreateInstance(NetFwMgrType);

&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; margin: 0em; width: 100%;&quot;&gt;13:                 applications = (INetFwAuthorizedApplications)mgr.LocalPolicy.CurrentProfile.AuthorizedApplications;

&lt;/pre&gt;&lt;pre style=&quot;background-color: white; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; margin: 0em; width: 100%;&quot;&gt;14: applications.Add(application);

&lt;/pre&gt;&lt;pre style=&quot;background-color: #fbfbfb; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; margin: 0em; width: 100%;&quot;&gt;15:

&lt;/pre&gt;&lt;pre style=&quot;background-color: white; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px; margin: 0em; width: 100%;&quot;&gt;16: &lt;/pre&gt;&lt;/pre&gt;&lt;/blockquote&gt;Note: In Visual Studio, you need to add NetFwTypeLib COM reference to your project and also include NetFwTypeLib in your project ( using NetFwTypeLib;)&lt;br /&gt;
It is actually interesting to know how many things one can achieve by Windows Firewall Scripting. More features like disabling an application or port can be done on the same lines as above.&lt;br /&gt;
I will come back with a small tool called Windows Firewall Checker. This tool can be used by administrators to ensure that firewall is enabled on the user’s workstation.&lt;br /&gt;
Hope that was useful. As usual all comments are appreciated.</content><link rel='replies' type='application/atom+xml' href='http://i-developer.blogspot.com/feeds/5429652538500739359/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://i-developer.blogspot.com/2010/11/automating-windows-firewall-settings.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2063699009880246664/posts/default/5429652538500739359'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2063699009880246664/posts/default/5429652538500739359'/><link rel='alternate' type='text/html' href='http://i-developer.blogspot.com/2010/11/automating-windows-firewall-settings.html' title='Automating Windows Firewall Settings with C#'/><author><name>Ravikanth</name><uri>http://www.blogger.com/profile/11702786862373845556</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2063699009880246664.post-1896990531589588017</id><published>2010-11-16T16:16:00.012+05:30</published><updated>2010-11-16T16:47:04.767+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft"/><category scheme="http://www.blogger.com/atom/ns#" term="windows"/><category scheme="http://www.blogger.com/atom/ns#" term="Windows 8"/><title type='text'>New Windows Incoming</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNK2G0WGqrWrdBj9EJBo8RUAI7V9bgHnvqFl0AJYnqjGEQwZgAUOgFevjTsx-GImgvxoc3nDGI4DvQUIJ9c88B1RavRjOu8lSPqx1LsBHGl00Bj1ObhHzo9dQBYcCRIbcKtKggTnXsnGw/s1600/Windows8.jpg&quot;&gt;&lt;img style=&quot;float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 128px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNK2G0WGqrWrdBj9EJBo8RUAI7V9bgHnvqFl0AJYnqjGEQwZgAUOgFevjTsx-GImgvxoc3nDGI4DvQUIJ9c88B1RavRjOu8lSPqx1LsBHGl00Bj1ObhHzo9dQBYcCRIbcKtKggTnXsnGw/s200/Windows8.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5540099893908106642&quot; /&gt;&lt;/a&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; &gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: medium;&quot;&gt;A leaked Microsoft road-map suggests that windows 9 could be with us by late 2011. One new feature on the way is &quot;My Pc My Way&quot;, which employs your PC&#39;s webcams and sensors to adjust settings on the fly - have some urgent call during a game session , face detection will notice you&#39;re gone and pause the game.Windows 8 might feature faster startup, an App Store, integrated web applications, improved digital media support (including AVC HD and 3D video), faster resumes from low-power states, and USB 3.0 and Bluetooth 3.0 support.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; &gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: medium;&quot;&gt;  &lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;  &lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px; &quot;&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; &gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: medium;&quot;&gt;On October 22, 2010, Steve Ballmer(chief executive   officer of Microsoft Corporation since January 2000) stated that &quot;the   next generation of Windows, would be the riskiest product Microsoft ever   made&quot; but he did not add any details on why Windows 8 will be the   &quot;riskiest product&quot;.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px; &quot;&gt;&lt;/span&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://i-developer.blogspot.com/feeds/1896990531589588017/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://i-developer.blogspot.com/2010/11/new-windows-incoming.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2063699009880246664/posts/default/1896990531589588017'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2063699009880246664/posts/default/1896990531589588017'/><link rel='alternate' type='text/html' href='http://i-developer.blogspot.com/2010/11/new-windows-incoming.html' title='New Windows Incoming'/><author><name>Ravikanth</name><uri>http://www.blogger.com/profile/11702786862373845556</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNK2G0WGqrWrdBj9EJBo8RUAI7V9bgHnvqFl0AJYnqjGEQwZgAUOgFevjTsx-GImgvxoc3nDGI4DvQUIJ9c88B1RavRjOu8lSPqx1LsBHGl00Bj1ObhHzo9dQBYcCRIbcKtKggTnXsnGw/s72-c/Windows8.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2063699009880246664.post-8948742887974529292</id><published>2010-11-15T23:48:00.000+05:30</published><updated>2010-11-15T23:50:13.713+05:30</updated><title type='text'>Hi all developers</title><content type='html'>Hey all developers my first post ! Learn and have fun in coding.</content><link rel='replies' type='application/atom+xml' href='http://i-developer.blogspot.com/feeds/8948742887974529292/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://i-developer.blogspot.com/2010/11/hi-all-developers.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2063699009880246664/posts/default/8948742887974529292'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2063699009880246664/posts/default/8948742887974529292'/><link rel='alternate' type='text/html' href='http://i-developer.blogspot.com/2010/11/hi-all-developers.html' title='Hi all developers'/><author><name>Ravikanth</name><uri>http://www.blogger.com/profile/11702786862373845556</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>