<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Stephen Toub - All Comments</title><link>http://blogs.msdn.com/b/toub/</link><description>.NET, MSDN Magazine, and other Adventures in Life</description><dc:language>en-US</dc:language><generator>Telligent Community 5.6.583.21163 (Build: 5.6.583.21163)</generator><item><title>re: Low-Level Keyboard Hook in C#</title><link>http://blogs.msdn.com/b/toub/archive/2006/05/03/589423.aspx#10265949</link><pubDate>Thu, 09 Feb 2012 15:06:35 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10265949</guid><dc:creator>Markus Florian</dc:creator><description>&lt;p&gt;Hi &lt;/p&gt;
&lt;p&gt;Is there a way to know which device send the input?&lt;/p&gt;
&lt;p&gt;i need to identify the input source because i want to filter the barcode scanner&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10265949" width="1" height="1"&gt;</description></item><item><title>re: Low-Level Keyboard Hook in C#</title><link>http://blogs.msdn.com/b/toub/archive/2006/05/03/589423.aspx#10265902</link><pubDate>Thu, 09 Feb 2012 13:08:47 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10265902</guid><dc:creator>Richard_Bos</dc:creator><description>&lt;p&gt;Thanks, made my tool complete. :)&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10265902" width="1" height="1"&gt;</description></item><item><title>re: Low-Level Keyboard Hook in C#</title><link>http://blogs.msdn.com/b/toub/archive/2006/05/03/589423.aspx#10260995</link><pubDate>Thu, 26 Jan 2012 20:59:35 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10260995</guid><dc:creator>Koopakiller</dc:creator><description>&lt;p&gt;Thanks for this code.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10260995" width="1" height="1"&gt;</description></item><item><title>re: Preview Handler Association Editor</title><link>http://blogs.msdn.com/b/toub/archive/2006/12/14/preview-handler-association-editor.aspx#10260305</link><pubDate>Tue, 24 Jan 2012 22:41:55 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10260305</guid><dc:creator>wha happa?</dc:creator><description>&lt;p&gt;Link went dead!!! &amp;gt;,&amp;lt; &amp;nbsp;anyone know where this can be found now for DL?&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10260305" width="1" height="1"&gt;</description></item><item><title>re: Low-Level Keyboard Hook in C#</title><link>http://blogs.msdn.com/b/toub/archive/2006/05/03/589423.aspx#10244521</link><pubDate>Tue, 06 Dec 2011 08:06:21 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10244521</guid><dc:creator>women down jacket</dc:creator><description>&lt;p&gt;Snow still underground rustling, more bitter cold air. When we looked around, neusoft wan to already became a XueSu ice sculpture of the world. Nomura HuangZhong, cold Lin haystack was draped thick.&amp;lt;a href=&amp;quot;&lt;a rel="nofollow" target="_new" href="http://www.downjacketclearance.com/moncler-c-2.html&amp;quot;&amp;gt;women"&gt;www.downjacketclearance.com/moncler-c-2.html&amp;quot;&amp;gt;women&lt;/a&gt; down jacket&amp;lt;/a&amp;gt;&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10244521" width="1" height="1"&gt;</description></item><item><title>re: Preview Handler Association Editor</title><link>http://blogs.msdn.com/b/toub/archive/2006/12/14/preview-handler-association-editor.aspx#10242141</link><pubDate>Mon, 28 Nov 2011 20:15:28 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10242141</guid><dc:creator>txg</dc:creator><description>&lt;p&gt;anyone know if this can be used to preview ebook files like .mobi or .epub?&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10242141" width="1" height="1"&gt;</description></item><item><title>re: Error 2869 when installing preview handlers MSI</title><link>http://blogs.msdn.com/b/toub/archive/2006/12/18/error-2869-when-installing-preview-handlers-msi.aspx#10238126</link><pubDate>Thu, 17 Nov 2011 14:09:48 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10238126</guid><dc:creator>Serch</dc:creator><description>&lt;p&gt;Very good that worked for me too&lt;/p&gt;
&lt;p&gt;Thanks Craig!!&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10238126" width="1" height="1"&gt;</description></item><item><title>re: Low-Level Keyboard Hook in C#</title><link>http://blogs.msdn.com/b/toub/archive/2006/05/03/589423.aspx#10238021</link><pubDate>Thu, 17 Nov 2011 08:43:06 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10238021</guid><dc:creator>Jose Maali</dc:creator><description>&lt;p&gt;I am trying to run this application as task (on Task Scheduler) on Windows 7 but there is an issue which I couldn&amp;#39;t figure out.&lt;/p&gt;
&lt;p&gt;It might be because of either threading or security?&lt;/p&gt;
&lt;p&gt;Has anyone run this code as a task or it is not possible?&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10238021" width="1" height="1"&gt;</description></item><item><title>re: Fun with DVR-MS (now on my blog)</title><link>http://blogs.msdn.com/b/toub/archive/2007/09/22/fun-with-dvr-ms.aspx#10231996</link><pubDate>Tue, 01 Nov 2011 09:10:17 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10231996</guid><dc:creator>wellbaby</dc:creator><description>&lt;p&gt;The following article just aims to provide a step by step guide on how to convert DVR to popular video formats; it is also available for converting the extended DVR that is WTV to various video formats at &lt;a rel="nofollow" target="_new" href="http://www.bigasoft.com/articles/convert-dvr-with-dvr-converter.html"&gt;www.bigasoft.com/.../convert-dvr-with-dvr-converter.html&lt;/a&gt; &lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;Convert DVR to AVI or WMV for playback DVR in Window Media Player, Xbox and more or edit DVR in Windows Movie Maker.&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;Convert DVR to MPEG (ncluding MPEG-2 and MPEG-1) or convert DVR to VOB for burn DVR to DVD or VCD&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;Convert DVR to MP4 for play DVR on iPad, iPhone, iPod, Apple TV, iTunes, BlackBerry, Android Phones, PS3, PSP and more.&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;Convert DVR to MOV for play DVR in QuickTime, Wii and more&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;Convert DVR to FLV for upload HD DVR to YouTube and more.&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;Convert DVR to DV for editing DVR in Adobe Premiere, Sony Vegas, iMovie, Final Cut Pro or Final Cut Express.&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;Convert DVR to other video formats including ASF, MKV, RM, RMVB, WebM, MPG and more&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10231996" width="1" height="1"&gt;</description></item><item><title>re: Time Travel with Media Center</title><link>http://blogs.msdn.com/b/toub/archive/2005/04/19/time-travel-with-media-center.aspx#10226287</link><pubDate>Mon, 17 Oct 2011 08:36:28 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10226287</guid><dc:creator>cherry</dc:creator><description>&lt;p&gt;British reporters are known for doing almost anything to get a Mulberry Bags. But reports that a newspaper secretly listened to telephone messages of murdered schoolgirls and other private citizens have produced Mulberry Handbags and anger.&lt;/p&gt;
&lt;p&gt;On Friday, British police arrested Andy Coulson, former editor of Mulberry Bag Britain&amp;#39;s best-selling newspaper, News of Mulberry Outlet the World. The investigation led him to Mulberry UK Sale resign in January as communications director to Prime Minister David Cameron.&lt;/p&gt;
&lt;p&gt;The arrest came in a widening investigation of Mulberry UK telephone hacking. Other accusations include paying police for mulberry shoulder bags information on stories. The Reuters news agency reported that Mr. Coulson was released on Mulberry Bag UK until a date in October.&lt;/p&gt;
&lt;p&gt;Prime Minister Cameron promised Men&amp;#39;s Mulberry Bags Friday that a judge will lead a full public inquiry into Women&amp;#39;s Mulberry Bags the case after police complete their investigation.&lt;/p&gt;
&lt;p&gt;DAVID CAMERON: &amp;quot;Murder victims, terrorist victims, families who have lost loved ones, sometimes defending our country, that these people could have had their phones hacked into, in order to generate stories for Mulberry Bags &amp;nbsp;Mulberry Handbags &amp;nbsp;Mulberry Bag &amp;nbsp; Mulberry Outlet &amp;nbsp;Mulberry UK &amp;nbsp;mulberry bayswater bag &amp;nbsp;Mulberry Alexa Bag, is simply disgusting.&amp;quot;&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10226287" width="1" height="1"&gt;</description></item><item><title>re: When (a+b)+c != a+(b+c)...</title><link>http://blogs.msdn.com/b/toub/archive/2005/02/28/when-a-b-c-a-b-c.aspx#10224311</link><pubDate>Thu, 13 Oct 2011 01:20:09 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10224311</guid><dc:creator>yyww</dc:creator><description>&lt;p&gt;Make non sense. &lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10224311" width="1" height="1"&gt;</description></item><item><title>re: Error 2869 when installing preview handlers MSI</title><link>http://blogs.msdn.com/b/toub/archive/2006/12/18/error-2869-when-installing-preview-handlers-msi.aspx#10206924</link><pubDate>Tue, 06 Sep 2011 20:55:45 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10206924</guid><dc:creator>Anthony</dc:creator><description>&lt;p&gt;Editing via Orca worked for me. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;Note : after installing the SDK, I had to go into the bin directory and run the orca.msi to install it first. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;I changed the following items in the &amp;#39;Actions&amp;#39; table of the &amp;#39;CustomAction&amp;#39; table in the tree:&lt;/p&gt;
&lt;p&gt;1. Action : _AB820976_0EA4_4E19_BEDE_1DC36EE983CC.uninstall&lt;/p&gt;
&lt;p&gt;Type : 3137&lt;/p&gt;
&lt;p&gt;2. _C48321CF_535F_4B4A_9285_5820A8755CB3.uninstall&lt;/p&gt;
&lt;p&gt;Type : 3137&lt;/p&gt;
&lt;p&gt;3. _52271FF7_D1DD_4592_AD36_59CE93376C99.install&lt;/p&gt;
&lt;p&gt;Type : 3137&lt;/p&gt;
&lt;p&gt;4. _589FE841_B688_4D69_BA20_988A01C12EEC.install&lt;/p&gt;
&lt;p&gt;Type : 3137&lt;/p&gt;
&lt;p&gt;Don&amp;#39;t forget to Save. Exit Orca, Then the install.bat and PreviewHandlers setup.msi will run/install.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10206924" width="1" height="1"&gt;</description></item><item><title>re: OutlookContactProvider</title><link>http://blogs.msdn.com/b/toub/archive/2004/12/22/outlookcontactprovider.aspx#10182819</link><pubDate>Mon, 04 Jul 2011 09:07:30 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10182819</guid><dc:creator>test_10</dc:creator><description>&lt;p&gt;when this code run on vs2005 then get error msdn.outlook.contacts.global ambiguous.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10182819" width="1" height="1"&gt;</description></item><item><title>re: Low-Level Keyboard Hook in C#</title><link>http://blogs.msdn.com/b/toub/archive/2006/05/03/589423.aspx#10174910</link><pubDate>Wed, 15 Jun 2011 16:11:27 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10174910</guid><dc:creator>Allan Chen</dc:creator><description>&lt;p&gt;my problem is that whe using low level key board hook in a console app, it can get the key information when the app lost focus which is expected, but when I change this code a little bit and make it works in a win form app, it can only get the key information just when the window get focus, but when it lost focus, it cannot get the key information anymore.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10174910" width="1" height="1"&gt;</description></item><item><title>re: Preview Handler Association Editor</title><link>http://blogs.msdn.com/b/toub/archive/2006/12/14/preview-handler-association-editor.aspx#10174765</link><pubDate>Wed, 15 Jun 2011 11:12:58 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10174765</guid><dc:creator>Marko</dc:creator><description>&lt;p&gt;Is there a way to preview files in simple windows form. It looks like Preview Handlers form the article are embedded and cannot be used in code, only in Windows?&lt;/p&gt;
&lt;p&gt;Thanks&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10174765" width="1" height="1"&gt;</description></item><item><title>re: Preview Handler Association Editor</title><link>http://blogs.msdn.com/b/toub/archive/2006/12/14/preview-handler-association-editor.aspx#10173811</link><pubDate>Mon, 13 Jun 2011 05:58:12 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10173811</guid><dc:creator>Michael</dc:creator><description>&lt;p&gt;Just wanted to say thank you for this. &amp;nbsp;I&amp;#39;ve been trying to get flac files to play in explorer for ages and this was the key! :)&lt;/p&gt;
&lt;p&gt;Thanks again&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10173811" width="1" height="1"&gt;</description></item><item><title>re: Low-Level Keyboard Hook in C#</title><link>http://blogs.msdn.com/b/toub/archive/2006/05/03/589423.aspx#10173244</link><pubDate>Fri, 10 Jun 2011 09:27:02 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10173244</guid><dc:creator>mj121</dc:creator><description>&lt;p&gt;hi Stephen,&lt;/p&gt;
&lt;p&gt;nice article!!! how can i perform this.. ex: first press A and then B after that AB becomes C..? (deleting both A and B)&lt;/p&gt;
&lt;p&gt;press A -&amp;gt; A&lt;/p&gt;
&lt;p&gt;press B -&amp;gt; C (generally this is AB)&lt;/p&gt;
&lt;p&gt;cheers&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10173244" width="1" height="1"&gt;</description></item><item><title>re: Low-Level Mouse Hook in C#</title><link>http://blogs.msdn.com/b/toub/archive/2006/05/03/589468.aspx#10166339</link><pubDate>Thu, 19 May 2011 15:51:54 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10166339</guid><dc:creator>Oliver</dc:creator><description>&lt;p&gt;Awsome! Thanks publishing this piece!&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10166339" width="1" height="1"&gt;</description></item><item><title>re: Preview Handler Association Editor</title><link>http://blogs.msdn.com/b/toub/archive/2006/12/14/preview-handler-association-editor.aspx#10165537</link><pubDate>Tue, 17 May 2011 19:58:54 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10165537</guid><dc:creator>Mizan Rahman</dc:creator><description>&lt;p&gt;Hi Stephen, &amp;nbsp;&lt;/p&gt;
&lt;p&gt;I need to host the preview handler on a C# Form. &amp;nbsp;For example, suppose I have a full path of a text file (.txt), I would like to preview the file within a GroupBox control on a .NET WinForm. &amp;nbsp;How can I do that?&lt;/p&gt;
&lt;p&gt;Thank you for this great article.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10165537" width="1" height="1"&gt;</description></item><item><title>re: Low-Level Mouse Hook in C#</title><link>http://blogs.msdn.com/b/toub/archive/2006/05/03/589468.aspx#10163962</link><pubDate>Thu, 12 May 2011 20:02:09 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10163962</guid><dc:creator>ken </dc:creator><description>&lt;p&gt;i converted the C# code to vb net ith one of those tools.&lt;/p&gt;
&lt;p&gt;I have problem with this line&lt;/p&gt;
&lt;p&gt;Private Shared _proc As LowLevelMouseProc = HookCallback() &amp;nbsp;&lt;/p&gt;
&lt;p&gt;it wants the parameters,&lt;/p&gt;
&lt;p&gt; what should they be???&lt;/p&gt;
&lt;p&gt;Ken &amp;nbsp;&lt;/p&gt;
&lt;p&gt;vb net 2008 below code&lt;/p&gt;
&lt;p&gt;Class InterceptMouse&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;&amp;#39;imports System;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;&amp;#39;imports System.Collections.Generic;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;&amp;#39;imports System.Runtime.InteropServices;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;&amp;#39;imports System.Diagnostics;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;&amp;#39;imports System.Windows.Forms&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;Private Shared _proc As LowLevelMouseProc = HookCallback()&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;Private Shared _hookID As IntPtr = IntPtr.Zero&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;Public Shared Sub Main()&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_hookID = SetHook(_proc)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Application.Run()&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;UnhookWindowsHookEx(_hookID)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;End Sub&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;Private Shared Function SetHook(ByVal proc As LowLevelMouseProc) As IntPtr&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Using curProcess As Process = Process.GetCurrentProcess()&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Using curModule As ProcessModule = curProcess.MainModule&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Return SetWindowsHookEx(WH_MOUSE_LL, proc, GetModuleHandle(curModule.ModuleName), 0)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;End Using&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;End Using&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;End Function&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;Private Delegate Function LowLevelMouseProc(ByVal nCode As Integer, ByVal wParam As IntPtr, ByVal lParam As IntPtr) As IntPtr&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;Private Shared Function HookCallback(ByVal nCode As Integer, ByVal wParam As IntPtr, ByVal lParam As IntPtr) As IntPtr&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;If nCode &amp;gt;= 0 AndAlso MouseMessages.WM_LBUTTONDOWN = CType(wParam, MouseMessages) Then&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Dim hookStruct As MSLLHOOKSTRUCT = CType(Marshal.PtrToStructure(lParam, GetType(MSLLHOOKSTRUCT)), MSLLHOOKSTRUCT)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Console.WriteLine(hookStruct.pt.x &amp;amp; &amp;quot;, &amp;quot; &amp;amp; hookStruct.pt.y)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;End If&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Return CallNextHookEx(_hookID, nCode, wParam, lParam)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;End Function&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;Private Const WH_MOUSE_LL As Integer = 14&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;Private Enum MouseMessages&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;WM_LBUTTONDOWN = &amp;amp;H201&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;WM_LBUTTONUP = &amp;amp;H202&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;WM_MOUSEMOVE = &amp;amp;H200&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;WM_MOUSEWHEEL = &amp;amp;H20A&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;WM_RBUTTONDOWN = &amp;amp;H204&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;WM_RBUTTONUP = &amp;amp;H205&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;End Enum&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;&amp;lt;StructLayout(LayoutKind.Sequential)&amp;gt; _&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;Private Structure POINT&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Public x As Integer&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Public y As Integer&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;End Structure&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;&amp;lt;StructLayout(LayoutKind.Sequential)&amp;gt; _&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;Private Structure MSLLHOOKSTRUCT&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Public pt As POINT&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Public mouseData As UInteger&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Public flags As UInteger&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Public time As UInteger&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Public dwExtraInfo As IntPtr&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;End Structure&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;&amp;lt;DllImport(&amp;quot;user32.dll&amp;quot;, CharSet:=CharSet.Auto, SetLastError:=True)&amp;gt; _&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;Private Shared Function SetWindowsHookEx(ByVal idHook As Integer, ByVal lpfn As LowLevelMouseProc, ByVal hMod As IntPtr, ByVal dwThreadId As UInteger) As IntPtr&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;End Function&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;&amp;lt;DllImport(&amp;quot;user32.dll&amp;quot;, CharSet:=CharSet.Auto, SetLastError:=True)&amp;gt; _&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;Private Shared Function UnhookWindowsHookEx(ByVal hhk As IntPtr) As &amp;lt;MarshalAs(UnmanagedType.Bool)&amp;gt; Boolean&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;End Function&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;&amp;lt;DllImport(&amp;quot;user32.dll&amp;quot;, CharSet:=CharSet.Auto, SetLastError:=True)&amp;gt; _&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;Private Shared Function CallNextHookEx(ByVal hhk As IntPtr, ByVal nCode As Integer, ByVal wParam As IntPtr, ByVal lParam As IntPtr) As IntPtr&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;End Function&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;&amp;lt;DllImport(&amp;quot;kernel32.dll&amp;quot;, CharSet:=CharSet.Auto, SetLastError:=True)&amp;gt; _&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;Private Shared Function GetModuleHandle(ByVal lpModuleName As String) As IntPtr&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;End Function&lt;/p&gt;
&lt;p&gt;End Class&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10163962" width="1" height="1"&gt;</description></item><item><title>re: Edit DVR-MS Metadata</title><link>http://blogs.msdn.com/b/toub/archive/2005/05/12/edit-dvr-ms-metadata.aspx#10155222</link><pubDate>Mon, 18 Apr 2011 15:24:16 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10155222</guid><dc:creator>rasd</dc:creator><description>&lt;p&gt;[b][url=&lt;a rel="nofollow" target="_new" href="http://www.movie-mac.com/imovie/how-to-import-tod-to-imovie-on-mac.html"&gt;www.movie-mac.com/.../how-to-import-tod-to-imovie-on-mac.html&lt;/a&gt;]Mac TOD to iMovie Converter[/url][/b] is perfect solution for you to import TOD to iMovie on Mac. It provides you a simple way to convert TOD to iMovie. Beside, with this TOD to iMovie Converter, converting TOD to other video formats like MP4, WMV, AVI, FLV etc is also allowed. With TOD to iMovie Converter, [b][url=&lt;a rel="nofollow" target="_new" href="http://www.movie-mac.com/imovie/how-to-import-tod-to-imovie-on-mac.html"&gt;www.movie-mac.com/.../how-to-import-tod-to-imovie-on-mac.html&lt;/a&gt;]import TOD to iMovie[/url][/b] is not a difficult problem any more. &lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10155222" width="1" height="1"&gt;</description></item><item><title>re: Low-Level Keyboard Hook in C#</title><link>http://blogs.msdn.com/b/toub/archive/2006/05/03/589423.aspx#10132087</link><pubDate>Mon, 21 Feb 2011 09:14:43 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10132087</guid><dc:creator>anant</dc:creator><description>&lt;p&gt;how can i use the same for compact framework??&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10132087" width="1" height="1"&gt;</description></item><item><title>re: Low-Level Keyboard Hook in C#</title><link>http://blogs.msdn.com/b/toub/archive/2006/05/03/589423.aspx#10131705</link><pubDate>Sat, 19 Feb 2011 09:34:52 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10131705</guid><dc:creator>Jalle</dc:creator><description>&lt;p&gt;Does any1 know if I can store this KeyboardHook code in seperate Class or Module ?&lt;/p&gt;
&lt;p&gt;I dont want to mix all this KeyboardHook &amp;nbsp;with other ode in my form so I would like to have it in external module or class file?&lt;/p&gt;
&lt;p&gt;I belive this is simple, but I am not so familiar with it ..&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10131705" width="1" height="1"&gt;</description></item><item><title>re: Low-Level Mouse Hook in C#</title><link>http://blogs.msdn.com/b/toub/archive/2006/05/03/589468.aspx#10129603</link><pubDate>Tue, 15 Feb 2011 14:59:15 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10129603</guid><dc:creator>TweaK</dc:creator><description>&lt;p&gt;Does anyone have a working example of this in a Solution??&lt;/p&gt;
&lt;p&gt;This LowLevel stuff is new to me and i don&amp;#39;t see how to get it working..&lt;/p&gt;
&lt;p&gt;Everything compiles and runs, but the Output window remains empty :x&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10129603" width="1" height="1"&gt;</description></item><item><title>re: Low-Level Keyboard Hook in C#</title><link>http://blogs.msdn.com/b/toub/archive/2006/05/03/589423.aspx#10127337</link><pubDate>Thu, 10 Feb 2011 14:09:54 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10127337</guid><dc:creator>Monosodium</dc:creator><description>&lt;p&gt;@JCooke - I think this is too high-level for your needs.&lt;/p&gt;
&lt;p&gt;I&amp;#39;m working on a project with some similar requirements and you&amp;#39;d need to look at using GetRawInputData from User32.dll. &amp;nbsp;&lt;a rel="nofollow" target="_new" href="http://www.codeproject.com/KB/system/rawinput.aspx"&gt;www.codeproject.com/.../rawinput.aspx&lt;/a&gt; probably has what you need though.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10127337" width="1" height="1"&gt;</description></item></channel></rss>
