<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>Vaibhav Gaikwad</title>
        <link>http://geekswithblogs.net/vaibhavgaikwad/Default.aspx</link>
        <description>Microsoft .NET developer In love with Win32 APIs...</description>
        <language>en-US</language>
        <copyright>Vaibhav Gaikwad</copyright>
        <managingEditor>vaibhav.gaikwad@gmail.com</managingEditor>
        <generator>Subtext Version 0.0.0.0</generator>
        <image>
            <title>Vaibhav Gaikwad</title>
            <url>http://geekswithblogs.net/images/RSS2Image.gif</url>
            <link>http://geekswithblogs.net/vaibhavgaikwad/Default.aspx</link>
            <width>77</width>
            <height>60</height>
        </image>
        <item>
            <title>User32's SetForegroundWindow() API in C#</title>
            <category>Win32 in .NET</category>
            <link>http://geekswithblogs.net/vaibhavgaikwad/archive/2007/11/01/116510.aspx</link>
            <description>&lt;p&gt;If there occurs a need to check if some process is already running and then bringing that process' main window in front then .NET does not helps 100%.&lt;/p&gt;
&lt;p&gt;Using the System.Diagnositics.Process class to find out a already running process is a easy task but to bring that process' main window in front is a difficult goal.&lt;/p&gt;
&lt;p&gt;Here's the code to get the already running process (e.g. Notepad) and then bringing it to front, using the native API from User32.dll &amp;gt;&amp;gt; &lt;font size="2"&gt;SetForegroundWindow(int WindowHandle)&lt;/font&gt;&lt;/p&gt;
&lt;font size="2"&gt;&lt;font size="2"&gt;
&lt;p&gt;[System.Runtime.InteropServices.&lt;/p&gt;
&lt;p&gt;class &lt;font color="#008080" size="2"&gt;Program&lt;br /&gt;
&lt;/font&gt;&lt;font size="2"&gt;{&lt;br /&gt;
&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;static&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;void&lt;/font&gt;&lt;font size="2"&gt; Main(&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;string&lt;/font&gt;&lt;font size="2"&gt;[] args)&lt;br /&gt;
{&lt;br /&gt;
&lt;/font&gt;&lt;font size="2"&gt; System.Diagnostics.&lt;/font&gt;&lt;font color="#008080" size="2"&gt;Process&lt;/font&gt;&lt;font size="2"&gt;[] p = System.Diagnostics.&lt;/font&gt;&lt;font color="#008080" size="2"&gt;Process&lt;/font&gt;&lt;font size="2"&gt;.GetProcessesByName(&lt;/font&gt;&lt;font color="#800000" size="2"&gt;"notepad"&lt;/font&gt;&lt;font size="2"&gt;);&lt;br /&gt;
&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;   if&lt;/font&gt;&lt;font size="2"&gt; (p.Length &amp;gt; 0)&lt;br /&gt;
   { &lt;br /&gt;
     SetForegroundWindow(p[0].MainWindowHandle);&lt;br /&gt;
   }&lt;br /&gt;
&lt;/font&gt;&lt;font size="2"&gt; }&lt;br /&gt;
&lt;/font&gt;&lt;font size="2"&gt;}&lt;/font&gt;&lt;/p&gt;
&lt;/font&gt;&lt;font color="#008080" size="2"&gt;DllImport&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#800000" size="2"&gt;"user32.dll"&lt;/font&gt;&lt;font size="2"&gt;)]&lt;br /&gt;
&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;public&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;static&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;extern&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;bool&lt;/font&gt;&lt;font size="2"&gt; SetForegroundWindow(&lt;/font&gt;&lt;font color="#008080" size="2"&gt;IntPtr&lt;/font&gt;&lt;font size="2"&gt; hWnd); &lt;/font&gt;&lt;font size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;&lt;strong&gt;-Vaibhav Gaikwad&lt;/strong&gt;&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;img src="http://geekswithblogs.net/vaibhavgaikwad/aggbug/116510.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Vaibhav Gaikwad</dc:creator>
            <guid>http://geekswithblogs.net/vaibhavgaikwad/archive/2007/11/01/116510.aspx</guid>
            <pubDate>Wed, 31 Oct 2007 21:49:47 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/vaibhavgaikwad/comments/116510.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/vaibhavgaikwad/archive/2007/11/01/116510.aspx#feedback</comments>
            <slash:comments>10</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/vaibhavgaikwad/comments/commentRss/116510.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/vaibhavgaikwad/services/trackbacks/116510.aspx</trackback:ping>
        </item>
        <item>
            <title>Flashing your window, getting attention.</title>
            <category>Win32 in .NET</category>
            <link>http://geekswithblogs.net/vaibhavgaikwad/archive/2007/03/13/108626.aspx</link>
            <description>&lt;P&gt;This is a simple example of using Win32 api in .NET. I'll use the FlashWindow() API from user32.dll so as to make the window go&amp;nbsp;flashing and get attention.&lt;/P&gt;
&lt;P&gt;Take a simple Windows form and add a button to it. Add a reference to System.Runtime.InteropServices namespace.&amp;nbsp;And heres the code.&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;// --------- code -----------&lt;BR&gt;[&lt;FONT color=#008080&gt;DllImport&lt;/FONT&gt;(&lt;FONT color=#800000&gt;"user32"&lt;/FONT&gt;)]&lt;BR&gt;&lt;FONT color=#0000ff&gt;public&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;static&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;extern&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;int&lt;/FONT&gt; FlashWindow(&lt;FONT color=#0000ff&gt;int&lt;/FONT&gt; hWnd, &lt;FONT color=#0000ff&gt;int&lt;/FONT&gt; bInvert);&lt;/FONT&gt;&lt;/P&gt;&lt;FONT color=#0000ff&gt;
&lt;P&gt;&lt;FONT size=2&gt;public&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;FONT color=#0000ff&gt;partial&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;class&lt;/FONT&gt; &lt;FONT color=#008080&gt;Form1&lt;/FONT&gt; : &lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT color=#008080&gt;Form&lt;BR&gt;&lt;/FONT&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp; &lt;FONT color=#0000ff&gt;public&lt;/FONT&gt; Form1()&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;InitializeComponent();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&lt;BR&gt;&lt;FONT color=#0000ff&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;void&lt;/FONT&gt; button1_Click(&lt;FONT color=#0000ff&gt;object&lt;/FONT&gt; sender, &lt;FONT color=#008080&gt;EventArgs&lt;/FONT&gt; e)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FlashWindow(&lt;FONT color=#0000ff&gt;this&lt;/FONT&gt;.Handle.ToInt32(), 1);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;} // -------- code ends&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;This was nice and simple for the start.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;-&lt;/STRONG&gt;Vaibhav Gaikwad&lt;/P&gt; &lt;img src="http://geekswithblogs.net/vaibhavgaikwad/aggbug/108626.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Vaibhav Gaikwad</dc:creator>
            <guid>http://geekswithblogs.net/vaibhavgaikwad/archive/2007/03/13/108626.aspx</guid>
            <pubDate>Tue, 13 Mar 2007 12:11:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/vaibhavgaikwad/comments/108626.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/vaibhavgaikwad/archive/2007/03/13/108626.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/vaibhavgaikwad/comments/commentRss/108626.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/vaibhavgaikwad/services/trackbacks/108626.aspx</trackback:ping>
        </item>
        <item>
            <title>Where to start from ?</title>
            <category>General</category>
            <link>http://geekswithblogs.net/vaibhavgaikwad/archive/2007/03/13/108624.aspx</link>
            <description>&lt;P&gt;Thinking of where to start from with millions of topics in mind. I will dedicate this blog to unmanaged code. As a .NET programmer, I will be illustrating use of Win32 native code in managed .NET code. &lt;/P&gt;
&lt;P&gt;Right form the start, I was really interested in exploring the Interop framework of .NET. &lt;/P&gt;
&lt;P&gt;So this blog will be a mix of both, unmanged in managed world.&lt;/P&gt;
&lt;P&gt;-Vaibhav Gaikwad&lt;/P&gt; &lt;img src="http://geekswithblogs.net/vaibhavgaikwad/aggbug/108624.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Vaibhav Gaikwad</dc:creator>
            <guid>http://geekswithblogs.net/vaibhavgaikwad/archive/2007/03/13/108624.aspx</guid>
            <pubDate>Tue, 13 Mar 2007 11:10:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/vaibhavgaikwad/comments/108624.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/vaibhavgaikwad/archive/2007/03/13/108624.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/vaibhavgaikwad/comments/commentRss/108624.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/vaibhavgaikwad/services/trackbacks/108624.aspx</trackback:ping>
        </item>
    </channel>
</rss>
