<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title><![CDATA[PaulLeder--程序部落 - Mobile]]></title>
<link>http://bokee.shinylife.net/blog/</link>
<description><![CDATA[Be Your Personal Best]]></description>
<language>zh-cn</language>
<copyright><![CDATA[Copyright 2005 PBlog3 v2.8]]></copyright>
<webMaster><![CDATA[paulleder@msn.com(PaulLeder)]]></webMaster>
<generator>PBlog2 v2.4</generator> 
<image>
	<title>PaulLeder--程序部落</title>
	<url>http://bokee.shinylife.net/blog/images/logos.gif</url>
	<link>http://bokee.shinylife.net/blog/</link>
	<description>PaulLeder--程序部落</description>
</image>

			<item>
			<link>http://bokee.shinylife.net/blog/article.asp?id=1017</link>
			<title><![CDATA[Open Source QRCode Library]]></title>
			<author>paulleder@msn.com(PaulLeder)</author>
			<category><![CDATA[Mobile]]></category>
			<pubDate>Fri,29 Jan 2010 21:21:53 +0800</pubDate>
			<guid>http://bokee.shinylife.net/blog/default.asp?id=1017</guid>
		<description><![CDATA[<p>
<p>&nbsp;</p>
</p>
<p>In this article, I will briefly describe the functionalities of the<span class="Apple-converted-space">&nbsp;</span><a style="text-decoration: none" href="http://twit88.com/">QRCode library</a>.</p>
<h2 style="line-height: 1.2em; font-family: verdana, helvetica, arial, sans-serif; color: rgb(255,153,0); font-size: 13pt; font-weight: bold">Background</h2>
<p style="line-height: 1.2em; font-family: verdana, helvetica, arial, sans-serif; font-size: 10pt">QRCode library is a .NET component that can be used to encode and decode QRCode. QRCode is a 2 dimensional bar code that originated in Japan. Nowadays, it is widely used in a wide range of industries, e.g. for vehicle parts tracking and inventory management.</p>
<p style="line-height: 1.2em; font-family: verdana, helvetica, arial, sans-serif; font-size: 10pt">QR stands for &quot;Quick Response&quot;. It was created by the Japanese corporation Denso-Wave in 1994 and is aimed at decoding contents at high speed. Nowadays, QR Code is used in mobile phones to ease data entry.</p>
<p style="line-height: 1.2em; font-family: verdana, helvetica, arial, sans-serif; font-size: 10pt">QRCode can also be printed on a business card or shown on any display, which can then be captured by the mobile phone provided the mobile phone has the software to read QRCode.</p>
<p style="line-height: 1.2em; font-family: verdana, helvetica, arial, sans-serif; font-size: 10pt">QRCode library provides functions to:</p>
<ol>
    <li style="line-height: 1.2em; font-family: verdana, helvetica, arial, sans-serif; font-size: 10pt">Encode content into a QR Code image which can be saved in JPEG, GIF, PNG, or Bitmap formats</li>
    <li style="line-height: 1.2em; font-family: verdana, helvetica, arial, sans-serif; font-size: 10pt">Decode a QR Code image</li>
</ol>
<h2 style="line-height: 1.2em; font-family: verdana, helvetica, arial, sans-serif; color: rgb(255,153,0); font-size: 13pt; font-weight: bold">Using the Code</h2>
<p style="line-height: 1.2em; font-family: verdana, helvetica, arial, sans-serif; font-size: 10pt">The library can be used in any .NET 2.0 Windows Application, ASP.NET Web application or Windows Mobile device application.</p>
<p style="line-height: 1.2em; font-family: verdana, helvetica, arial, sans-serif; font-size: 10pt">Some sample screenshots are displayed below:</p>
<p style="line-height: 1.2em; font-family: verdana, helvetica, arial, sans-serif; font-size: 10pt"><img border="0" hspace="0" alt="Screenshot - qrcode_app_encode.jpg" width="450" height="426" src="http://bokee.shinylife.net/blog/fckeditor/editor/qrcode/qrcode_app_encode.jpg" /></p>
<p style="line-height: 1.2em; font-family: verdana, helvetica, arial, sans-serif; font-size: 10pt"><img border="0" hspace="0" alt="Screenshot - qrcode_mobile_encode.jpg" width="240" height="320" src="http://bokee.shinylife.net/blog/fckeditor/editor/qrcode/qrcode_mobile_encode.jpg" /></p>
<div id="premain0" class="small-text" style="width: 1071px; font-size: 8pt !important; cursor: pointer"><img id="preimg0" alt="" width="9" height="9" preid="0" src="http://www.codeproject.com/images/minus.gif" /><span id="precollapse0" preid="0" style="margin-bottom: 0px"><span class="Apple-converted-space">&nbsp;</span>Collapse</span></div>
<pre id="pre0" lang="cs" style="padding-bottom: 7pt; overflow-x: auto !important; overflow-y: auto !important; background-color: rgb(251,237,187); margin-top: 0px; padding-left: 7pt; padding-right: 7pt; font: 9pt 'Courier New', Courier, mono; white-space: pre; padding-top: 7pt">
  QRCodeEncoder qrCodeEncoder = <span class="code-keyword" style="color: blue">new</span> QRCodeEncoder();
            <span class="code-SDKkeyword" style="color: rgb(51,153,153)">String</span> encoding = cboEncoding.Text ;
            <span class="code-keyword" style="color: blue">if</span> (encoding == <span class="code-string" style="color: purple">&quot;</span><span class="code-string" style="color: purple">Byte&quot;</span>) {
                qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.<span class="code-SDKkeyword" style="color: rgb(51,153,153)">BYTE</span>;
            } <span class="code-keyword" style="color: blue">else</span> <span class="code-keyword" style="color: blue">if</span> (encoding == <span class="code-string" style="color: purple">&quot;</span><span class="code-string" style="color: purple">AlphaNumeric&quot;</span>) {
                qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.ALPHA_NUMERIC;            
            } <span class="code-keyword" style="color: blue">else</span> <span class="code-keyword" style="color: blue">if</span> (encoding == <span class="code-string" style="color: purple">&quot;</span><span class="code-string" style="color: purple">Numeric&quot;</span>) {
                qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.NUMERIC;            
            }
            <span class="code-keyword" style="color: blue">try</span> {
                <span class="code-keyword" style="color: blue">int</span> scale = Convert.ToInt16(txtSize.Text);
                qrCodeEncoder.QRCodeScale = scale;
            } <span class="code-keyword" style="color: blue">catch</span> (Exception ex) {
                MessageBox.Show(<span class="code-string" style="color: purple">&quot;</span><span class="code-string" style="color: purple">Invalid size!&quot;</span>);
                <span class="code-keyword" style="color: blue">return</span>;
            }
            <span class="code-keyword" style="color: blue">try</span> {
                <span class="code-keyword" style="color: blue">int</span> version = Convert.ToInt16(cboVersion.Text) ;
                qrCodeEncoder.QRCodeVersion = version;
            } <span class="code-keyword" style="color: blue">catch</span> (Exception ex) {
                MessageBox.Show(<span class="code-string" style="color: purple">&quot;</span><span class="code-string" style="color: purple">Invalid version !&quot;</span>);
            }

            <span class="code-keyword" style="color: blue">string</span> errorCorrect = cboCorrectionLevel.Text;
            <span class="code-keyword" style="color: blue">if</span> (errorCorrect == <span class="code-string" style="color: purple">&quot;</span><span class="code-string" style="color: purple">L&quot;</span>)
                qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.L;
            <span class="code-keyword" style="color: blue">else</span> <span class="code-keyword" style="color: blue">if</span> (errorCorrect == <span class="code-string" style="color: purple">&quot;</span><span class="code-string" style="color: purple">M&quot;</span>)
                qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;
            <span class="code-keyword" style="color: blue">else</span> <span class="code-keyword" style="color: blue">if</span> (errorCorrect == <span class="code-string" style="color: purple">&quot;</span><span class="code-string" style="color: purple">Q&quot;</span>)
                qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.Q;
            <span class="code-keyword" style="color: blue">else</span> <span class="code-keyword" style="color: blue">if</span> (errorCorrect == <span class="code-string" style="color: purple">&quot;</span><span class="code-string" style="color: purple">H&quot;</span>)
                qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.H;

            Image image;
            <span class="code-SDKkeyword" style="color: rgb(51,153,153)">String</span> data = txtEncodeData.Text;
            image = qrCodeEncoder.Encode(data);                      
            picEncode.Image = image;</pre>
<h2 style="line-height: 1.2em; font-family: verdana, helvetica, arial, sans-serif; color: rgb(255,153,0); font-size: 13pt; font-weight: bold">History</h2>
<ul>
    <li style="line-height: 1.2em; font-family: verdana, helvetica, arial, sans-serif; font-size: 10pt">20<sup>th</sup><span class="Apple-converted-space">&nbsp;</span>September, 2007: Initial post</li>
</ul>]]></description>
		</item>
		
			<item>
			<link>http://bokee.shinylife.net/blog/article.asp?id=1015</link>
			<title><![CDATA[windows mobile来电提示窗口修改（c#）]]></title>
			<author>paulleder@msn.com(PaulLeder)</author>
			<category><![CDATA[Mobile]]></category>
			<pubDate>Fri,29 Jan 2010 11:35:03 +0800</pubDate>
			<guid>http://bokee.shinylife.net/blog/default.asp?id=1015</guid>
		<description><![CDATA[在网上搜索了不少的文章，但是都没有详细修改办法。所以我决定写一个相对完整的处理办法：<br/>以下程序并未放到启动项里，如果要放到启动项可以参考使用<a target="_blank" href="http://www.codeplex.com/wikipage?ProjectName=managedserviceswm&amp;title=Home" rel="external">Managed Services for Windows Mobile </a>或采用其他办法（比如启动项快捷方式等等）。<br/>主要代码如下：<br/> <div class="UBBPanel quotePanel"><div class="UBBTitle"><img src="http://bokee.shinylife.net/blog/images/quote.gif" style="margin:0px 2px -3px 0px" alt="引用内容"/> 引用内容</div><div class="UBBContent">&nbsp;&nbsp;&nbsp;&nbsp;private void loadIncoming()<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SystemState state = new SystemState(SystemProperty.PhoneIncomingCallerNumber);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;state.Changed += new ChangeEventHandler(state_Changed);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IntPtr hwnd = new IntPtr();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;private void state_Changed(object sender, ChangeEventArgs args)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//查找到来电提示框窗口<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hwnd = FindWindow(&#34;Dialog&#34;, &#34;电话 - 拨入&#34;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//如果值不为空则为来电号码<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (args.NewValue != null)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (hwnd != null)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IntPtr h2 = GetWindow(hwnd, 5);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;h2 = GetWindow(h2, 5);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IntPtr hChild = GetDlgItem(h2, 0x000059E2);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SetWindowText(hChild, &#34;区域:中国深圳&#34;);//到时候可以做其他修改<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hChild = GetDlgItem(h2, 0x00005A13);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SetWindowText(hChild, &#34;号码&#34; + args.NewValue.ToString());//重复显示来电号码<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SetForegroundWindow(hwnd);<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//如果是不想显示默认的来电提示窗口可以通过移动来电提示窗口到不可见区域<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//MoveWindow(hwnd, 0, 470, 0, 0, false);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#region win API<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 根据窗口名字获得窗口句柄<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;param name=&#34;lpClassName&#34;&gt;&lt;/param&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;param name=&#34;lpWindowName&#34;&gt;&lt;/param&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;returns&gt;&lt;/returns&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[DllImport(&#34;coredll.dll&#34;)]<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 移动窗口<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;param name=&#34;hWnd&#34;&gt;&lt;/param&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;param name=&#34;X&#34;&gt;&lt;/param&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;param name=&#34;Y&#34;&gt;&lt;/param&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;param name=&#34;nWidth&#34;&gt;&lt;/param&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;param name=&#34;nHeight&#34;&gt;&lt;/param&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;param name=&#34;bRepaint&#34;&gt;&lt;/param&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;returns&gt;&lt;/returns&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[DllImport(&#34;Coredll.dll&#34;, SetLastError = true)]<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static extern bool MoveWindow(IntPtr hWnd, int X, int Y, int nWidth, int nHeight, bool bRepaint);<br/><br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 获得窗口<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;///wFlag：<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;///WM_COMMAND = &amp;H111<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;///GW_Child = 5<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;///GW_HWNDFIRST = 0<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;///GW_HWNDLAST = 1<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;///GW_HWNDNEXT = 2<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;///GW_HWNDPREV = 3<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;///GW_OWNER = 4<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;param name=&#34;hwnd&#34;&gt;&lt;/param&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;param name=&#34;wFlag&#34;&gt;&lt;/param&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;returns&gt;&lt;/returns&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[DllImport(&#34;Coredll.dll&#34;, CharSet = CharSet.Auto, SetLastError = true)]<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static extern IntPtr GetWindow(IntPtr hwnd, int wFlag);<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 获得子窗口<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;param name=&#34;hWnd&#34;&gt;&lt;/param&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;param name=&#34;nIDDlgItem&#34;&gt;&lt;/param&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;returns&gt;&lt;/returns&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[DllImport(&#34;Coredll.dll&#34;, CharSet = CharSet.Auto)]<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static extern IntPtr GetDlgItem(IntPtr hWnd, int nIDDlgItem);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 设置最前面的窗口<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;param name=&#34;hWnd&#34;&gt;&lt;/param&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;returns&gt;&lt;/returns&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[DllImport(&#34;Coredll.dll&#34;, CharSet = CharSet.Auto)]<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static extern bool SetForegroundWindow(IntPtr hWnd);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 设置对话框内容<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;param name=&#34;hDlg&#34;&gt;&lt;/param&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;param name=&#34;nIDDlgItem&#34;&gt;&lt;/param&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;param name=&#34;lpString&#34;&gt;&lt;/param&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;returns&gt;&lt;/returns&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[DllImport(&#34;Coredll.dll&#34;)]<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;static extern bool SetDlgItemText(IntPtr hDlg, int nIDDlgItem, string lpString);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 设置窗口内容<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;param name=&#34;hwnd&#34;&gt;&lt;/param&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;param name=&#34;lpString&#34;&gt;&lt;/param&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;returns&gt;&lt;/returns&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[DllImport(&#34;Coredll.dll&#34;, SetLastError = true)]<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static extern bool SetWindowText(IntPtr hwnd, String lpString);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#endregion</div></div><br/>1、在这里演示是通过设置来电提示窗口的值来实现效果，当然因为不是服务，所以只能看到一次效果。<br/>2、如果你不打算用它默认的来电窗口，但是又想用默认的接听、拒绝等功能，你可以把默认的来电窗口移除可见区域，然后再做弹新窗口或者MessageBox.Show等等。想通之后在c#里面还是比较容易实现的。<br/>3、查看窗口ID等等监视可以用vs2008上自带的远程管理工具“远程监视”<br/>OK，就写这么多。<br/>下载DEMO，跟帖出来的代码一样。<br/><a href="http://download.csdn.net/source/2032277" target="_blank" rel="external">http://download.csdn.net/source/2032277</a><br/><br/>本文编写主要参考了：<a href="http://social.microsoft.com/Forums/zh-CN/1729/thread/bc72e9ac-e810-46e1-9e50-77cc00ebc3f8" target="_blank" rel="external">http://social.microsoft.com/Forums/zh-CN/1729/thread/bc72e9ac-e810-46e1-9e50-77cc00ebc3f8</a><br/><br/>本人也在学习中。所以难免有很多地方错误，请斧正。]]></description>
		</item>
		
			<item>
			<link>http://bokee.shinylife.net/blog/article.asp?id=1014</link>
			<title><![CDATA[Detect Incoming Call o&#114; SMS in Windows Mobil]]></title>
			<author>paulleder@msn.com(PaulLeder)</author>
			<category><![CDATA[Mobile]]></category>
			<pubDate>Fri,29 Jan 2010 09:19:20 +0800</pubDate>
			<guid>http://bokee.shinylife.net/blog/default.asp?id=1014</guid>
		<description><![CDATA[messageInterceptor = new MessageInterceptor();<br/>messageInterceptor.InterceptionAction =<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InterceptionAction.NotifyAndDel&#101;te;<br/>//messageInterceptor.MessageCondition.CaseSensitive = true;<br/>//messageInterceptor.MessageCondition.Property =<br/>//&nbsp;&nbsp;&nbsp;&nbsp; MessageProperty.Sender;<br/>messageInterceptor.MessageReceived +=<br/>new MessageInterceptorEventHandler(Message_Received);<br/><br/>SystemState s;<br/>s = new SystemState(SystemProperty.PhoneIncomingCall);<br/>s.Changed += new ChangeEventHandler(PhoneEvents_Triggered);<br/>stateList.Add(s);<br/><br/>s = new SystemState(SystemProperty.PhoneIncomingCallerName);<br/>s.Changed += new ChangeEventHandler(PhoneEvents_Triggered);<br/>stateList.Add(s);<br/><br/>s = new SystemState(SystemProperty.PhoneIncomingCallerNumber);<br/>s.Changed += new ChangeEventHandler(PhoneEvents_Triggered);<br/>stateList.Add(s);<br/><br/>s = new SystemState(SystemProperty.PhoneLastIncomingCallerContact);<br/>s.Changed += new ChangeEventHandler(PhoneEvents_Triggered);<br/>stateList.Add(s);<br/><br/>s = new SystemState(<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SystemProperty.PhoneIncomingCallerContactPropertyName);<br/>s.Changed += new ChangeEventHandler(PhoneEvents_Triggered);<br/>stateList.Add(s);<br/>As you can see, I only need to use the MessageInterceptor class, and set the event handler to the method Message_Received.<br/><br/>void Message_Received(object sender, MessageInterceptorEventArgs e)<br/>{<br/>&nbsp;&nbsp; if (e.Message is SmsMessage)<br/>&nbsp;&nbsp; {<br/>&#160;&#160;&#160;&#160;&nbsp;&nbsp; SmsMessage sms = (SmsMessage)e.Message;<br/>&#160;&#160;&#160;&#160;&nbsp;&nbsp; txtMsg.Text += sms.Body + &#34;\r\n&#34;;<br/>&nbsp;&nbsp; } <br/><br/>&#160;&#160;&#160;&#160;txtMsg.Text += e.Message.From.Address.ToString()<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; + &#34;\n&#34; + e.Message.From.Name.ToString() + &#34;r\n&#34;;<br/>}<br/>And to do this in my Nokia N70 I have to use C++. It is not possible to use J2ME to achieve this yet.<br/><br/>Download Sample Code:<a href="http://twit88.com/blog/wp-content/uploads/2008/03/sample_code.zip" target="_blank" rel="external">http://twit88.com/blog/wp-content/uploads/2008/03/sample_code.zip</a>]]></description>
		</item>
		
			<item>
			<link>http://bokee.shinylife.net/blog/article.asp?id=1012</link>
			<title><![CDATA[来电提醒窗口]]></title>
			<author>paulleder@msn.com(PaulLeder)</author>
			<category><![CDATA[Mobile]]></category>
			<pubDate>Thu,28 Jan 2010 10:27:26 +0800</pubDate>
			<guid>http://bokee.shinylife.net/blog/default.asp?id=1012</guid>
		<description><![CDATA[<p><span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 16px Simsun; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><span class="Apple-style-span" style="text-align: left; line-height: 16px; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; color: rgb(51,51,51); font-size: 13px">
<p style="border-bottom: 0px; border-left: 0px; padding-bottom: 0px; list-style-type: none; margin: 1em 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top: 0px; border-right: 0px; text-decoration: none; padding-top: 0px"><font size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px">[</font><font color="#2b91af" size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px">DllImport</font><font size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px">(</font><font color="#a31515" size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px">&quot;coredll.dll&quot;</font><font size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px">)]</font></p>
<p style="border-bottom: 0px; border-left: 0px; padding-bottom: 0px; list-style-type: none; margin: 1em 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top: 0px; border-right: 0px; text-decoration: none; padding-top: 0px"><font color="#0000ff" size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px">public</font><font size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px"><span class="Apple-converted-space">&nbsp;</span></font><font color="#0000ff" size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px">static</font><font size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px"><span class="Apple-converted-space">&nbsp;</span></font><font color="#0000ff" size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px">extern</font><font size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px"><span class="Apple-converted-space">&nbsp;</span></font><font color="#2b91af" size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px">IntPtr</font><font size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px"><span class="Apple-converted-space">&nbsp;</span>FindWindow(</font><font color="#0000ff" size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px">string</font><font size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px"><span class="Apple-converted-space">&nbsp;</span>lpClassName,<span class="Apple-converted-space">&nbsp;</span></font><font color="#0000ff" size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px">string</font><font size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px"><span class="Apple-converted-space">&nbsp;</span>lpWindowName);</font></p>
<p style="border-bottom: 0px; border-left: 0px; padding-bottom: 0px; list-style-type: none; margin: 1em 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top: 0px; border-right: 0px; text-decoration: none; padding-top: 0px"><font size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px">[</font><font color="#2b91af" size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px">DllImport</font><font size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px">(</font><font color="#a31515" size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px">&quot;coredll.dll&quot;</font><font size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px">)]</font></p>
<p style="border-bottom: 0px; border-left: 0px; padding-bottom: 0px; list-style-type: none; margin: 1em 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top: 0px; border-right: 0px; text-decoration: none; padding-top: 0px"><font color="#0000ff" size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px">public</font><font size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px"><span class="Apple-converted-space">&nbsp;</span></font><font color="#0000ff" size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px">static</font><font size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px"><span class="Apple-converted-space">&nbsp;</span></font><font color="#0000ff" size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px">extern</font><font size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px"><span class="Apple-converted-space">&nbsp;</span></font><font color="#2b91af" size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px">IntPtr</font><font size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px"><span class="Apple-converted-space">&nbsp;</span>SendMessage(</font><font color="#2b91af" size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px">IntPtr</font><font size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px"><span class="Apple-converted-space">&nbsp;</span>hndl,</font><font color="#0000ff" size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px">uint</font><font size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px"><span class="Apple-converted-space">&nbsp;</span>Msg,<span class="Apple-converted-space">&nbsp;</span></font><font color="#2b91af" size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px">IntPtr</font><font size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px"><span class="Apple-converted-space">&nbsp;</span>wParam,<span class="Apple-converted-space">&nbsp;</span></font><font color="#2b91af" size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px">IntPtr</font><font size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px"><span class="Apple-converted-space">&nbsp;</span>lParam);</font></p>
<p style="border-bottom: 0px; border-left: 0px; padding-bottom: 0px; list-style-type: none; margin: 1em 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top: 0px; border-right: 0px; text-decoration: none; padding-top: 0px"><font color="#0000ff" size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px">public</font><font size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px"><span class="Apple-converted-space">&nbsp;</span></font><font color="#0000ff" size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px">const</font><font size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px"><span class="Apple-converted-space">&nbsp;</span></font><font color="#0000ff" size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px">uint</font><font size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px"><span class="Apple-converted-space">&nbsp;</span>WM_HIDE=0;</font></p>
<p style="border-bottom: 0px; border-left: 0px; padding-bottom: 0px; list-style-type: none; margin: 1em 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top: 0px; border-right: 0px; text-decoration: none; padding-top: 0px"><font color="#0000ff" size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px">public</font><font size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px"><span class="Apple-converted-space">&nbsp;</span></font><font color="#0000ff" size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px">const</font><font size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px"><span class="Apple-converted-space">&nbsp;</span></font><font color="#0000ff" size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px">uint</font><font size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px"><span class="Apple-converted-space">&nbsp;</span>WM_SHOW = 5;</font></p>
<p style="border-bottom: 0px; border-left: 0px; padding-bottom: 0px; list-style-type: none; margin: 1em 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top: 0px; border-right: 0px; text-decoration: none; padding-top: 0px"><font color="#0000ff" size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px">public</font><font size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px"><span class="Apple-converted-space">&nbsp;</span></font><font color="#0000ff" size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px">const</font><font size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px"><span class="Apple-converted-space">&nbsp;</span></font><font color="#0000ff" size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px">uint</font><font size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px"><span class="Apple-converted-space">&nbsp;</span>WM_CLOSE = 0x0010;</font></p>
<font size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px">
<p style="border-bottom: 0px; border-left: 0px; padding-bottom: 0px; list-style-type: none; margin: 1em 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top: 0px; border-right: 0px; text-decoration: none; padding-top: 0px">&nbsp;</p>
<p align="left" style="border-bottom: 0px; border-left: 0px; padding-bottom: 0px; list-style-type: none; margin: 1em 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top: 0px; border-right: 0px; text-decoration: none; padding-top: 0px">&nbsp;</p>
<p style="border-bottom: 0px; border-left: 0px; padding-bottom: 0px; list-style-type: none; margin: 1em 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top: 0px; border-right: 0px; text-decoration: none; padding-top: 0px"><font color="#2b91af" size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px">IntPtr</font><font size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px"><span class="Apple-converted-space">&nbsp;</span>hndl =</font><font color="#0000ff" size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px">new</font><font size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px"><span class="Apple-converted-space">&nbsp;</span></font><font color="#2b91af" size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px">IntPtr</font><font size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px">();</font></p>
<p style="border-bottom: 0px; border-left: 0px; padding-bottom: 0px; list-style-type: none; margin: 1em 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top: 0px; border-right: 0px; text-decoration: none; padding-top: 0px"><font size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px">hndl= FindWindow(</font><font color="#a31515" size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px">&quot;Dialog&quot;</font><font size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px">,<span class="Apple-converted-space">&nbsp;</span></font><font color="#a31515" size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px">&quot;Phone-Incoming&quot;</font><font size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px">);</font></p>
<p style="border-bottom: 0px; border-left: 0px; padding-bottom: 0px; list-style-type: none; margin: 1em 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top: 0px; border-right: 0px; text-decoration: none; padding-top: 0px"><font color="#2b91af" size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px">IntPtr</font><font size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px"><span class="Apple-converted-space">&nbsp;</span>check = SendMessage(hndl, WM_CLOSE,<span class="Apple-converted-space">&nbsp;</span></font><font color="#2b91af" size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px">IntPtr</font><font size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px">.Zero,<span class="Apple-converted-space">&nbsp;</span></font><font color="#2b91af" size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px">IntPtr</font><font size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px">.Zero);</font></p>
</font></span></span></p>
<p>========================================</p>
<p><span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 16px Simsun; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><span class="Apple-style-span" style="text-align: left; line-height: 16px; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; color: rgb(51,51,51); font-size: 13px">
<p align="left" style="border-bottom: 0px; border-left: 0px; padding-bottom: 0px; list-style-type: none; margin: 1em 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top: 0px; border-right: 0px; text-decoration: none; padding-top: 0px">The incoming call window name is &quot;<font color="#a31515" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px">Phone - Incoming&quot;, not &quot;Phone-Incoming&quot;.<span class="Apple-converted-space">&nbsp;</span></font><font color="#000000" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px">You miss two blank space.</font></p>
<p align="left" style="border-bottom: 0px; border-left: 0px; padding-bottom: 0px; list-style-type: none; margin: 1em 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top: 0px; border-right: 0px; text-decoration: none; padding-top: 0px"><font color="#000000" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px">So change your code to below:</font></p>
<p style="border-bottom: 0px; border-left: 0px; padding-bottom: 0px; list-style-type: none; margin: 1em 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top: 0px; border-right: 0px; text-decoration: none; padding-top: 0px"><font size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px">hndl = FindWindow(</font><font color="#a31515" size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px">&quot;Dialog&quot;</font><font size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px">,<span class="Apple-converted-space">&nbsp;</span></font><font color="#a31515" size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px">&quot;<font color="#000000" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px"><font color="#a31515" size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px">Phone - Incoming</font></font>&quot;</font><font size="2" style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; font-family: inherit; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px">);</font></p>
</span></span></p>]]></description>
		</item>
		
			<item>
			<link>http://bokee.shinylife.net/blog/article.asp?id=1010</link>
			<title><![CDATA[利用OpenNETCF做状态栏图标]]></title>
			<author>paulleder@msn.com(PaulLeder)</author>
			<category><![CDATA[Mobile]]></category>
			<pubDate>Wed,20 Jan 2010 22:19:44 +0800</pubDate>
			<guid>http://bokee.shinylife.net/blog/default.asp?id=1010</guid>
		<description><![CDATA[添加命名空间：<br/><div class="UBBPanel quotePanel"><div class="UBBTitle"><img src="http://bokee.shinylife.net/blog/images/quote.gif" style="margin:0px 2px -3px 0px" alt="引用内容"/> 引用内容</div><div class="UBBContent">using OpenNETCF.Windows.Forms;</div></div><br/><br/>加入显示图标函数<br/><div class="UBBPanel quotePanel"><div class="UBBTitle"><img src="http://bokee.shinylife.net/blog/images/quote.gif" style="margin:0px 2px -3px 0px" alt="引用内容"/> 引用内容</div><div class="UBBContent">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 设置任务栏图标。<br/>&nbsp;&nbsp;&nbsp;&nbsp; /// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;param name=&#34;notifyIcon&#34;&gt;通过引用传入一个NotifyIcon实例。&lt;/param&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;private void InitNotifyIcon(NotifyIcon notifyIcon)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 你可以任意使用单击或者双击事件，为了和WinCE系统保持一致，我选择了双击。<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;notifyIcon.DoubleClick += new EventHandler(notifyIcon_DoubleClick);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;notifyIcon.Icon = this.Icon; // 这里通过引用窗体的图标对Icon属性赋值。如果没有设置窗体的Icon是会报异常的<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;notifyIcon.Text = &#34;提示。&#34;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;notifyIcon.Visible = true;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void notifyIcon_DoubleClick(object sender, EventArgs e)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.Show();&nbsp;&nbsp;&nbsp;&nbsp;// 显示主窗体。双击事件<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</div></div><br/>在需要使用的地方，比如页面Load事件中加入<br/><div class="UBBPanel quotePanel"><div class="UBBTitle"><img src="http://bokee.shinylife.net/blog/images/quote.gif" style="margin:0px 2px -3px 0px" alt="引用内容"/> 引用内容</div><div class="UBBContent">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NotifyIcon nic = new NotifyIcon();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InitNotifyIcon(nic);&nbsp;&nbsp;</div></div>]]></description>
		</item>
		
			<item>
			<link>http://bokee.shinylife.net/blog/article.asp?id=1008</link>
			<title><![CDATA[Windows Mobile上托管的服务和今日插件(C#)]]></title>
			<author>paulleder@msn.com(PaulLeder)</author>
			<category><![CDATA[Mobile]]></category>
			<pubDate>Tue,19 Jan 2010 00:14:29 +0800</pubDate>
			<guid>http://bokee.shinylife.net/blog/default.asp?id=1008</guid>
		<description><![CDATA[<p>如何使用C#在Windows Mobile上编写一个像Windows服务一样的后台程序；</p>
<p>如何使用C#在Windows Mobile上编写&ldquo;今日&rdquo;屏幕插件（Today plug-in）；</p>
<p>&nbsp;</p>
<p><a href="http://blogs.compactframework.de/Peter.Nowak/"><font color="#3d81ee">Peter Nowaks</font></a> 的博客文章<a href="http://blogs.compactframework.de/Peter.Nowak/2008/05/31/Dienste+Mit+Dem+NET+Compact+Framework+Erstellen+Creating+Services+With+The+NET+Compact+Framework.aspx"><font color="#3d81ee">creating Managed Services in Windows Mobile by using .NET Compact Framework</font></a>. 他为此编写了一套类库,你可以在 <a href="http://www.codeplex.com/managedserviceswm"><font color="#3d81ee">CodePlex</font></a>上找到。</p>
<p><a href="http://www.christec.co.nz/blog/"><font color="#3d81ee">Christopher Fairbairn</font></a>&nbsp;为第二个问题编写了 <a href="http://www.christec.co.nz/blog/archives/279"><font color="#3d81ee">&ldquo;今日&rdquo;屏幕类库</font></a>，为各位托管代码的开发者提供了便利&nbsp;</p>
<p>&nbsp;</p>
<p><strong>相关链接<br />
</strong><a href="http://blogs.compactframework.de/Peter.Nowak/2008/05/31/Dienste+Mit+Dem+NET+Compact+Framework+Erstellen+Creating+Services+With+The+NET+Compact+Framework.aspx"><font color="#3d81ee">Peter Nowaks on Creating Managed Services in Windows Mobile</font></a> <br />
<a href="http://www.christec.co.nz/blog/archives/279"><font color="#3d81ee">Christopher Fairbairn on Creating Managed Today Screen Item</font></a></p>]]></description>
		</item>
		
			<item>
			<link>http://bokee.shinylife.net/blog/article.asp?id=1007</link>
			<title><![CDATA[Windows Mobile中GPRS连接网络 ]]></title>
			<author>paulleder@msn.com(PaulLeder)</author>
			<category><![CDATA[Mobile]]></category>
			<pubDate>Mon,18 Jan 2010 23:04:46 +0800</pubDate>
			<guid>http://bokee.shinylife.net/blog/default.asp?id=1007</guid>
		<description><![CDATA[<p><span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium Simsun; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><span class="Apple-style-span" style="text-align: left; line-height: 21px; font-family: verdana, sans-serif; font-size: 14px">
<p style="padding-bottom: 0px; margin: 1em 0px 0.5em; padding-left: 0px; padding-right: 0px; padding-top: 0px"><font size="3">Windows Mobile程序中如果要使用http或socket连接服务器，需要先连接网络。可以使用ConnMgrEstablishConnectionSync函数来连接。</font></p>
<p style="padding-bottom: 0px; margin: 1em 0px 0.5em; padding-left: 0px; padding-right: 0px; padding-top: 0px"><font size="3">DWORD&nbsp; dwStatus = 0;<br />
HANDLE hConnection = NULL;</font></p>
<p style="padding-bottom: 0px; margin: 1em 0px 0.5em; padding-left: 0px; padding-right: 0px; padding-top: 0px"><font size="3">CONNMGR_CONNECTIONINFO sConInfo;<br />
memset(&amp;sConInfo, 0 ,sizeof(CONNMGR_CONNECTIONINFO));</font></p>
<p style="padding-bottom: 0px; margin: 1em 0px 0.5em; padding-left: 0px; padding-right: 0px; padding-top: 0px"><font size="3">sConInfo.cbSize = sizeof(CONNMGR_CONNECTIONINFO);<br />
sConInfo.dwParams = CONNMGR_PARAM_GUIDDESTNET;<br />
sConInfo.dwPriority = CONNMGR_PRIORITY_USERINTERACTIVE;</font></p>
<p style="padding-bottom: 0px; margin: 1em 0px 0.5em; padding-left: 0px; padding-right: 0px; padding-top: 0px"><font size="3">sConInfo.dwFlags = CONNMGR_FLAG_PROXY_HTTP<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |CONNMGR_FLAG_PROXY_WAP<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |CONNMGR_FLAG_PROXY_SOCKS4<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |CONNMGR_FLAG_PROXY_SOCKS5;</font></p>
<p style="padding-bottom: 0px; margin: 1em 0px 0.5em; padding-left: 0px; padding-right: 0px; padding-top: 0px"><font size="3">sConInfo.bExclusive&nbsp; = FALSE;<br />
sConInfo.bDisabled&nbsp;&nbsp; = FALSE;<br />
sConInfo.guidDestNet = IID_DestNetWAP;</font></p>
<p style="padding-bottom: 0px; margin: 1em 0px 0.5em; padding-left: 0px; padding-right: 0px; padding-top: 0px"><font size="3">ConnMgrEstablishConnectionSync(&amp;sConInfo, &amp;hConnection, 15000, &amp;dwStatus);</font></p>
<p style="padding-bottom: 0px; margin: 1em 0px 0.5em; padding-left: 0px; padding-right: 0px; padding-top: 0px"><br />
<font size="3">如果知道一个接入点的名称，则可以通过ConnMgrEnumDestinations得到相应接入点的guidDestNet。然后可以使用底层的INET接口连接HTTP了。完了吗？没有。还有个问题：代理服务器。我们都知道，移动的CMNET不需要代理，CMWAP则需要。接入点中可能含有代理服务器信息，而且接入类型包括HTTP、WAP、安全WAP、Socks等等，每一种都可能需要不同的代理。不要奢望ConnMgrEnumDestinations函数可以得到这么多的东东。</font></p>
<p style="padding-bottom: 0px; margin: 1em 0px 0.5em; padding-left: 0px; padding-right: 0px; padding-top: 0px"><font size="3">事实上，微软是提供了一个函数的，这就是传说中的ConnMgrProviderMessage。怎么样，这下总该圆满了吧？...还没完，接着往下走。</font></p>
<p style="padding-bottom: 0px; margin: 1em 0px 0.5em; padding-left: 0px; padding-right: 0px; padding-top: 0px"><font size="3">我测的结果，在真机上，这个函数从来没有成功过,Never。郁闷之极。与签名有关吗？未可知。</font></p>
<p style="padding-bottom: 0px; margin: 1em 0px 0.5em; padding-left: 0px; padding-right: 0px; padding-top: 0px"><font size="3">正面强攻不行。打枪的不要，悄悄的进村。我们来看看手机的注册表。在HKEY_LOCAL_MACHINE\Comm\ConnMgr项下，有详细的接入点的信息。Destinations子项下列出了手机所有的接入点，相应的键值有DestId这一项。我们的目光再跳到与ConnMgr平级的Providers项，也有很多信息，其中一子项{EF097F4C-DC4B-4c98-8FF6-AEF805DC0E8E}，快接近我们要的宝贝了。该项有很多子项，我们遍历每一项，直到找到一个键值SrcId与我们上面说的DestId相等。看到了吧，与SrcId平级的键值有很多，不过我们目前需要的就那么两项，Type和Proxy。Type就是上面说的接入类型（HTTP、WAP、安全WAP、Socks等），而Proxy正是我们凄凄惨惨戚戚寻寻觅觅的一串字符。</font></p>
<p style="padding-bottom: 0px; margin: 1em 0px 0.5em; padding-left: 0px; padding-right: 0px; padding-top: 0px"><font size="3">以上是Windows Mobile5.0的结果。在Pocket PC2003和Smartphone2003中，HKEY_LOCAL_MACHINE\Comm\ConnMgr对应为HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ConnMgr。</font></p>
<p style="padding-bottom: 0px; margin: 1em 0px 0.5em; padding-left: 0px; padding-right: 0px; padding-top: 0px"><font size="3">至此，寻宝经历告一段落。</font></p>
</span></span></p>]]></description>
		</item>
		
			<item>
			<link>http://bokee.shinylife.net/blog/article.asp?id=1006</link>
			<title><![CDATA[C#调用Win32 的API函数--User32.dll]]></title>
			<author>paulleder@msn.com(PaulLeder)</author>
			<category><![CDATA[Mobile]]></category>
			<pubDate>Mon,18 Jan 2010 15:52:18 +0800</pubDate>
			<guid>http://bokee.shinylife.net/blog/default.asp?id=1006</guid>
		<description><![CDATA[Win32的API函数是微软自己的东西，可以直接在C#中直接调用，在做WinForm时还是很有帮助的。有时候我们之直接调用Win32 的API，可以很高效的实现想要的效果。<br/><br/>using System;<br/>using System.Collections.Generic;<br/>using System.Linq;<br/>using System.Text;<br/>using System.Runtime.InteropServices;<br/><br/>namespace WindowsAPI<br/>{<br/>&nbsp;&nbsp;&nbsp;&nbsp;class CSharp_Win32Api<br/>&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#region User32.dll 函数<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 该函数检索一指定窗口的客户区域或整个屏幕的显示设备上下文环境的句柄，以后可以在GDI函数中使用该句柄来在设备上下文环境中绘图。hWnd：设备上下文环境被检索的窗口的句柄<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[DllImport(&#34;user32.dll&#34;, CharSet = CharSet.Auto)]<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static extern IntPtr GetDC(IntPtr hWnd);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 函数释放设备上下文环境（DC）供其他应用程序使用。<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static extern int ReleaseDC(IntPtr hWnd, IntPtr hDC);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 该函数返回桌面窗口的句柄。桌面窗口覆盖整个屏幕。<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;static public extern IntPtr GetDesktopWindow();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 该函数设置指定窗口的显示状态。<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;static public extern bool ShowWindow(IntPtr hWnd, short State);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 通过发送重绘消息 WM_PAINT 给目标窗体来更新目标窗体客户区的无效区域。<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;static public extern bool Up&#100;ateWindow(IntPtr hWnd);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 该函数将创建指定窗口的线程设置到前台，并且激活该窗口。键盘输入转向该窗口，并为用户改各种可视的记号。系统给创建前台窗口的线程分配的权限稍高于其他线程。<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;static public extern bool SetForegroundWindow(IntPtr hWnd);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 该函数改变一个子窗口，弹出式窗口式顶层窗口的尺寸，位置和Z序。<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;static public extern bool SetWindowPos(IntPtr hWnd, IntPtr hWndIns&#101;rtAfter, int x, int y, int Width, int Height, uint flags);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 打开剪切板<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;static public extern bool OpenClipboard(IntPtr hWndNewOwner);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 关闭剪切板<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;static public extern bool CloseClipboard();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 打开清空&lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;static public extern bool EmptyClipboard();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 将存放有数据的内存块放入剪切板的资源管理中<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;static public extern IntPtr SetClipboardData(uint Format, IntPtr hData);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 在一个矩形中装载指定菜单条目的屏幕坐标信息 <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;static public extern bool GetMenuItemRect(IntPtr hWnd, IntPtr hMenu, uint Item, ref RECT rc);<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[DllImport(&#34;user32.dll&#34;, ExactSpelling = true, CharSet = CharSet.Auto)]<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 该函数获得一个指定子窗口的父窗口句柄。<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static extern IntPtr GetParent(IntPtr hWnd);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 该函数将指定的消息发送到一个或多个窗口。此函数为指定的窗口调用窗口程序，直到窗口程序处理完消息再返回。　<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;param name=&#34;hWnd&#34;&gt;其窗口程序将接收消息的窗口的句柄&lt;/param&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;param name=&#34;msg&#34;&gt;指定被发送的消息&lt;/param&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;param name=&#34;wParam&#34;&gt;指定附加的消息指定信息&lt;/param&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;param name=&#34;lParam&#34;&gt;指定附加的消息指定信息&lt;/param&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;returns&gt;&lt;/returns&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static extern int SendMessage(IntPtr hWnd, int msg, int wParam, int lParam);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static extern IntPtr SendMessage(IntPtr hWnd, int msg, int wParam, IntPtr lParam);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static extern void SendMessage(IntPtr hWnd, int msg, int wParam, ref RECT lParam);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static extern int SendMessage(IntPtr hWnd, int msg, int wParam, ref POINT lParam);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static extern void SendMessage(IntPtr hWnd, int msg, int wParam, ref TBBUTTON lParam);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static extern void SendMessage(IntPtr hWnd, int msg, int wParam, ref TBBUTTONINFO lParam);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static extern int SendMessage(IntPtr hWnd, int msg, int wParam, ref REBARBANDINFO lParam);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static extern void SendMessage(IntPtr hWnd, int msg, int wParam, ref TVITEM lParam);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static extern void SendMessage(IntPtr hWnd, int msg, int wParam, ref LVITEM lParam);&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static extern void SendMessage(IntPtr hWnd, int msg, int wParam, ref HDITEM lParam);&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static extern void SendMessage(IntPtr hWnd, int msg, int wParam, ref HD_HITTESTINFO hti);&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 该函数将一个消息放入（寄送）到与指定窗口创建的线程相联系消息队列里<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static extern IntPtr PostMessage(IntPtr hWnd, int msg, int wParam, int lParam);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static extern IntPtr SetWindowsHookEx(int hookid, HookProc pfnhook, IntPtr hinst, int threadid);<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[DllImport(&#34;user32.dll&#34;, CharSet = CharSet.Auto, ExactSpelling = true)]<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static extern bool UnhookWindowsHookEx(IntPtr hhook);<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[DllImport(&#34;user32.dll&#34;, CharSet = CharSet.Auto, ExactSpelling = true)]<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static extern IntPtr CallNextHookEx(IntPtr hhook, int code, IntPtr wparam, IntPtr lparam);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 该函数对指定的窗口设置键盘焦点。<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static extern IntPtr SetFocus(IntPtr hWnd);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 该函数在指定的矩形里写入格式化文本，根据指定的方法对文本格式化（扩展的制表符，字符对齐、折行等）。<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public extern static int DrawText(IntPtr hdc, string lpString, int nCount, ref RECT lpRect, int uFormat);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 该函数改变指定子窗口的父窗口。<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public extern static IntPtr SetParent(IntPtr hChild, IntPtr hParent);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 获取对话框中子窗口控件的句柄<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public extern static IntPtr GetDlgItem(IntPtr hDlg, int nControlID);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 该函数获取窗口客户区的坐标。<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public extern static int GetClientRect(IntPtr hWnd, ref RECT rc);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 该函数向指定的窗体添加一个矩形，然后窗口客户区域的这一部分将被重新绘制。<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public extern static int InvalidateRect(IntPtr hWnd, IntPtr rect, int bErase);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 该函数产生对其他线程的控制，如果一个线程没有其他消息在其消息队列里。<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static extern bool WaitMessage();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 该函数为一个消息检查线程消息队列，并将该消息（如果存在）放于指定的结构。<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static extern bool PeekMessage(ref MSG msg, int hWnd, uint wFilterMin, uint wFilterMax, uint wFlag);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 该函数从调用线程的消息队列里取得一个消息并将其放于指定的结构。此函数可取得与指定窗口联系的消息和由PostThreadMesssge寄送的线程消息。此函数接收一定范围的消息值。<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static extern bool GetMessage(ref MSG msg, int hWnd, uint wFilterMin, uint wFilterMax);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 该函数将虚拟键消息转换为字符消息。<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static extern bool TranslateMessage(ref MSG msg);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 该函数调度一个消息给窗口程序。<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static extern bool DispatchMessage(ref MSG msg);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 该函数从一个与应用事例相关的可执行文件（EXE文件）中载入指定的光标资源.<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static extern IntPtr LoadCursor(IntPtr hInstance, uint cursor);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 该函数确定光标的形状。<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static extern IntPtr SetCursor(IntPtr hCursor);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 确定当前焦点位于哪个控件上。<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static extern IntPtr GetFocus();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 该函数从当前线程中的窗口释放鼠标捕获，并恢复通常的鼠标输入处理。捕获鼠标的窗口接收所有的鼠标输入（无论光标的位置在哪里），除非点击鼠标键时，光标热点在另一个线程的窗口中。<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static extern bool ReleaseCapture();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 准备指定的窗口来重绘并将绘画相关的信息放到一个PAINTSTRUCT结构中。<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static extern IntPtr BeginPaint(IntPtr hWnd, ref PAINTSTRUCT ps);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 标记指定窗口的绘画过程结束,每次调用BeginPaint函数之后被请求<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static extern bool EndPaint(IntPtr hWnd, ref PAINTSTRUCT ps);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 半透明窗体<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static extern bool Up&#100;ateLayeredWindow(IntPtr hwnd, IntPtr hdcDst, ref POINT pptDst, ref SIZE psize, IntPtr hdcSrc, ref POINT pprSrc, Int32 crKey, ref BLENDFUNCTION pblend, Int32 dwFlags);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 该函数返回指定窗口的边框矩形的尺寸。该尺寸以相对于屏幕坐标左上角的屏幕坐标给出。<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static extern bool GetWindowRect(IntPtr hWnd, ref RECT rect);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 该函数将指定点的用户坐标转换成屏幕坐标。<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static extern bool ClientToScreen(IntPtr hWnd, ref POINT pt);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 当在指定时间内鼠标指针离开或盘旋在一个窗口上时，此函数寄送消息。<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static extern bool TrackMouseEvent(ref TRACKMOUSEEVENTS tme);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static extern bool SetWindowRgn(IntPtr hWnd, IntPtr hRgn, bool redraw);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 该函数检取指定虚拟键的状态。<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static extern ushort GetKeyState(int virtKey);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 该函数改变指定窗口的位置和尺寸。对于顶层窗口，位置和尺寸是相对于屏幕的左上角的：对于子窗口，位置和尺寸是相对于父窗口客户区的左上角坐标的。<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static extern bool MoveWindow(IntPtr hWnd, int x, int y, int width, int height, bool repaint);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 该函数获得指定窗口所属的类的类名。<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static extern int GetClassName(IntPtr hWnd, out STRINGBUFFER ClassName, int nMaxCount);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 该函数改变指定窗口的属性<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static extern int SetWindowLong(IntPtr hWnd, int nIndex, int dwNewLong);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 该函数检索指定窗口客户区域或整个屏幕的显示设备上下文环境的句柄，在随后的GDI函数中可以使用该句柄在设备上下文环境中绘图。<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static extern IntPtr GetDCEx(IntPtr hWnd, IntPtr hRegion, uint flags);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 获取整个窗口（包括边框、滚动条、标题栏、菜单等）的设备场景 返回值 Long。<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static extern IntPtr GetWindowDC(IntPtr hWnd);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 该函数用指定的画刷填充矩形，此函数包括矩形的左上边界，但不包括矩形的右下边界。<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static extern int FillRect(IntPtr hDC, ref RECT rect, IntPtr hBrush);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 该函数返回指定窗口的显示状态以及被恢复的、最大化的和最小化的窗口位置。<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static extern int GetWindowPlacement(IntPtr hWnd, ref WINDOWPLACEMENT wp);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 该函数改变指定窗口的标题栏的文本内容<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static extern int SetWindowText(IntPtr hWnd, string text);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 该函数将指定窗口的标题条文本（如果存在）拷贝到一个缓存区内。如果指定的窗口是一个控制，则拷贝控制的文本。<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static extern int GetWindowText(IntPtr hWnd, out STRINGBUFFER text, int maxCount);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 用于得到被定义的系统数据或者系统配置信息.<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;static public extern int GetSystemMetrics(int nIndex);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 该函数设置滚动条参数，包括滚动位置的最大值和最小值，页面大小，滚动按钮的位置。<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;static public extern int SetScrollInfo(IntPtr hwnd, int bar, ref SCROLLINFO si, int fRedraw);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 该函数显示或隐藏所指定的滚动条。<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static extern int ShowScrollBar(IntPtr hWnd, int bar, int show);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 该函数可以激活一个或两个滚动条箭头或是使其失效。<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static extern int EnableScrollBar(IntPtr hWnd, uint flags, uint arrows);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 该函数将指定的窗口设置到Z序的顶部。<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static extern int BringWindowToTop(IntPtr hWnd);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 该函数滚动指定窗体客户区域的目录。<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;static public extern int ScrollWindowEx(IntPtr hWnd, int dx, int dy,ref RECT rcScroll, ref RECT rcClip, IntPtr Up&#100;ateRegion, ref RECT rcInvalidated, uint flags);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 该函数确定给定的窗口句柄是否识别一个已存在的窗口。<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static extern int IsWindow(IntPtr hWnd);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 该函数将256个虚拟键的状态拷贝到指定的缓冲区中。<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static extern int GetKeyboardState(byte[] pbKeyState);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 该函数将指定的虚拟键码和键盘状态翻译为相应的字符或字符串。该函数使用由给定的键盘布局句柄标识的物理键盘布局和输入语言来翻译代码。<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static extern int ToAscii(int uVirtKey,int uScanCode, byte[] lpbKeyState, byte[] lpwTransKey,int fuState);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#endregion<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>}]]></description>
		</item>
		
			<item>
			<link>http://bokee.shinylife.net/blog/article.asp?id=1004</link>
			<title><![CDATA[Windows API Reference for C#, VB.NET and VB6]]></title>
			<author>paulleder@msn.com(PaulLeder)</author>
			<category><![CDATA[Mobile]]></category>
			<pubDate>Mon,18 Jan 2010 15:25:06 +0800</pubDate>
			<guid>http://bokee.shinylife.net/blog/default.asp?id=1004</guid>
		<description><![CDATA[<p><span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium Simsun; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><span class="Apple-style-span" style="font-family: Arial, sans-serif; font-size: small"><a class="standard" href="http://bokee.shinylife.net/blog/javascript:pickShowOrHide('div1')" style="color: rgb(34,51,85); text-decoration: none"><img border="0" src="http://www.webtropy.com/articles/screenshots/expand.gif" width="12" height="12" style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" alt="" /></a><span class="Apple-converted-space">&nbsp;</span><a class="standard" href="http://www.webtropy.com/articles/api/kernel32.dll.asp" style="color: rgb(34,51,85); text-decoration: none">File, Memory, Process, Threading, Time, Console, and Comm control(kernel32.dll)</a><span class="Apple-converted-space">&nbsp;</span><br />
<a class="standard" href="http://bokee.shinylife.net/blog/javascript:pickShowOrHide('div2')" style="color: rgb(34,51,85); text-decoration: none"><img border="0" src="http://www.webtropy.com/articles/screenshots/expand.gif" width="12" height="12" style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" alt="" /></a><span class="Apple-converted-space">&nbsp;</span><a class="standard" href="http://www.webtropy.com/articles/api/user32.dll.asp" style="color: rgb(34,51,85); text-decoration: none">Window handling, and Windows UI control(user32.dll)</a><span class="Apple-converted-space">&nbsp;</span><br />
<a class="standard" href="http://bokee.shinylife.net/blog/javascript:pickShowOrHide('div3')" style="color: rgb(34,51,85); text-decoration: none"><img border="0" src="http://www.webtropy.com/articles/screenshots/expand.gif" width="12" height="12" style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" alt="" /></a><span class="Apple-converted-space">&nbsp;</span><a class="standard" href="http://www.webtropy.com/articles/api/gdi32.dll.asp" style="color: rgb(34,51,85); text-decoration: none">Graphics and Imaging(gdi32.dll)</a><span class="Apple-converted-space">&nbsp;</span><br />
<a class="standard" href="http://bokee.shinylife.net/blog/javascript:pickShowOrHide('div4')" style="color: rgb(34,51,85); text-decoration: none"><img border="0" src="http://www.webtropy.com/articles/screenshots/expand.gif" width="12" height="12" style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" alt="" /></a><span class="Apple-converted-space">&nbsp;</span><a class="standard" href="http://www.webtropy.com/articles/api/winmm.dll.asp" style="color: rgb(34,51,85); text-decoration: none">Audio, Video, and Joystick control(winmm.dll)</a><span class="Apple-converted-space">&nbsp;</span><br />
<a class="standard" href="http://bokee.shinylife.net/blog/javascript:pickShowOrHide('div5')" style="color: rgb(34,51,85); text-decoration: none"><img border="0" src="http://www.webtropy.com/articles/screenshots/expand.gif" width="12" height="12" style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" alt="" /></a><span class="Apple-converted-space">&nbsp;</span><a class="standard" href="http://www.webtropy.com/articles/api/advapi32.dll.asp" style="color: rgb(34,51,85); text-decoration: underline">Registry, Event Log, Authentication, and Services(advapi32.dll)</a><span class="Apple-converted-space">&nbsp;</span><br />
<a class="standard" href="http://bokee.shinylife.net/blog/javascript:pickShowOrHide('div6')" style="color: rgb(34,51,85); text-decoration: none"><img border="0" src="http://www.webtropy.com/articles/screenshots/expand.gif" width="12" height="12" style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" alt="" /></a><span class="Apple-converted-space">&nbsp;</span><a class="standard" href="http://www.webtropy.com/articles/api/winspool.drv.asp" style="color: rgb(34,51,85); text-decoration: none">Printing(winspool.drv)</a><span class="Apple-converted-space">&nbsp;</span><br />
<a class="standard" href="http://bokee.shinylife.net/blog/javascript:pickShowOrHide('div7')" style="color: rgb(34,51,85); text-decoration: none"><img border="0" src="http://www.webtropy.com/articles/screenshots/expand.gif" width="12" height="12" style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" alt="" /></a><span class="Apple-converted-space">&nbsp;</span><a class="standard" href="http://www.webtropy.com/articles/api/imm32.dll.asp" style="color: rgb(34,51,85); text-decoration: none">Asian charachter support(imm32.dll)</a><span class="Apple-converted-space">&nbsp;</span><br />
<a class="standard" href="http://bokee.shinylife.net/blog/javascript:pickShowOrHide('div8')" style="color: rgb(34,51,85); text-decoration: none"><img border="0" src="http://www.webtropy.com/articles/screenshots/expand.gif" width="12" height="12" style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" alt="" /></a><span class="Apple-converted-space">&nbsp;</span><a class="standard" href="http://www.webtropy.com/articles/api/shell32.dll.asp" style="color: rgb(34,51,85); text-decoration: none">Executing processes(shell32.dll)</a><span class="Apple-converted-space">&nbsp;</span><br />
<a class="standard" href="http://bokee.shinylife.net/blog/javascript:pickShowOrHide('div9')" style="color: rgb(34,51,85); text-decoration: none"><img border="0" src="http://www.webtropy.com/articles/screenshots/expand.gif" width="12" height="12" style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" alt="" /></a><span class="Apple-converted-space">&nbsp;</span><a class="standard" href="http://www.webtropy.com/articles/api/wsock32.dll.asp" style="color: rgb(34,51,85); text-decoration: none">Winsock, windows berkley socket support(wsock32.dll)</a><span class="Apple-converted-space">&nbsp;</span><br />
<a class="standard" href="http://bokee.shinylife.net/blog/javascript:pickShowOrHide('div10')" style="color: rgb(34,51,85); text-decoration: none"><img border="0" src="http://www.webtropy.com/articles/screenshots/expand.gif" width="12" height="12" style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" alt="" /></a><span class="Apple-converted-space">&nbsp;</span><a class="standard" href="http://www.webtropy.com/articles/api/mpr.dll.asp" style="color: rgb(34,51,85); text-decoration: none">WNet* Instrumentation(mpr.dll)</a><span class="Apple-converted-space">&nbsp;</span><br />
<a class="standard" href="http://bokee.shinylife.net/blog/javascript:pickShowOrHide('div11')" style="color: rgb(34,51,85); text-decoration: none"><img border="0" src="http://www.webtropy.com/articles/screenshots/expand.gif" width="12" height="12" style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" alt="" /></a><span class="Apple-converted-space">&nbsp;</span><a class="standard" href="http://www.webtropy.com/articles/api/comdlg32.dll.asp" style="color: rgb(34,51,85); text-decoration: none">Common Dialog control(comdlg32.dll)</a><span class="Apple-converted-space">&nbsp;</span><br />
<a class="standard" href="http://bokee.shinylife.net/blog/javascript:pickShowOrHide('div12')" style="color: rgb(34,51,85); text-decoration: none"><img border="0" src="http://www.webtropy.com/articles/screenshots/expand.gif" width="12" height="12" style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" alt="" /></a><span class="Apple-converted-space">&nbsp;</span><a class="standard" href="http://www.webtropy.com/articles/api/netapi32.dll.asp" style="color: rgb(34,51,85); text-decoration: none">Windows Network support(netapi32.dll)</a><span class="Apple-converted-space">&nbsp;</span><br />
<a class="standard" href="http://bokee.shinylife.net/blog/javascript:pickShowOrHide('div13')" style="color: rgb(34,51,85); text-decoration: none"><img border="0" src="http://www.webtropy.com/articles/screenshots/expand.gif" width="12" height="12" style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" alt="" /></a><span class="Apple-converted-space">&nbsp;</span><a class="standard" href="http://www.webtropy.com/articles/api/lz32.dll.asp" style="color: rgb(34,51,85); text-decoration: none">Windows Compression(lz32.dll)</a><span class="Apple-converted-space">&nbsp;</span><br />
<a class="standard" href="http://bokee.shinylife.net/blog/javascript:pickShowOrHide('div14')" style="color: rgb(34,51,85); text-decoration: none"><img border="0" src="http://www.webtropy.com/articles/screenshots/expand.gif" width="12" height="12" style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" alt="" /></a><span class="Apple-converted-space">&nbsp;</span><a class="standard" href="http://www.webtropy.com/articles/api/comctl32.dll.asp" style="color: rgb(34,51,85); text-decoration: none">Common Controls(comctl32.dll)</a><span class="Apple-converted-space">&nbsp;</span><br />
<a class="standard" href="http://bokee.shinylife.net/blog/javascript:pickShowOrHide('div15')" style="color: rgb(34,51,85); text-decoration: none"><img border="0" src="http://www.webtropy.com/articles/screenshots/expand.gif" width="12" height="12" style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" alt="" /></a><span class="Apple-converted-space">&nbsp;</span><a class="standard" href="http://www.webtropy.com/articles/api/version.dll.asp" style="color: rgb(34,51,85); text-decoration: none">Versioning support(version.dll)</a><span class="Apple-converted-space">&nbsp;</span><br />
<a class="standard" href="http://bokee.shinylife.net/blog/javascript:pickShowOrHide('div16')" style="color: rgb(34,51,85); text-decoration: none"><img border="0" src="http://www.webtropy.com/articles/screenshots/expand.gif" width="12" height="12" style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" alt="" /></a><span class="Apple-converted-space">&nbsp;</span><a class="standard" href="http://www.webtropy.com/articles/api/ole32.dll.asp" style="color: rgb(34,51,85); text-decoration: none">Object linking and embedding(ole32.dll)</a></span></span></p>]]></description>
		</item>
		
			<item>
			<link>http://bokee.shinylife.net/blog/article.asp?id=1003</link>
			<title><![CDATA[Windows Mobile上的GPRS连接(基于TcpClient)]]></title>
			<author>paulleder@msn.com(PaulLeder)</author>
			<category><![CDATA[Mobile]]></category>
			<pubDate>Mon,18 Jan 2010 14:47:34 +0800</pubDate>
			<guid>http://bokee.shinylife.net/blog/default.asp?id=1003</guid>
		<description><![CDATA[<p>在有线的连接和WIFI都不可用的时候, .NET CF的HttpWebRequest会由于web requests/web services 而自动设置GPRS连接。所以实际上当你发起一个Web请求或者连接Webservice的时候，并不需要开发者编码处理GPRS的连接问题。不过对于更低层的通信，如使用TcpClient&nbsp;和 UdpClient的时候，则需要使用 Connection Manager API来建立和释放连接。</p>
<p>&nbsp;</p>
<p>(本文英文原文见：<a href="http://blogs.msdn.com/anthonywong/archive/2006/03/13/550686.aspx"><font color="#075db3">http://blogs.msdn.com/anthonywong/archive/2006/03/13/550686.aspx</font></a>)</p>
<p>&nbsp;</p>
<p>以下托管类是对Connection Manager API的封装</p>
<pre><div class="cnblogs_code"><!--<br  /><br  />Code highlighting produced by Actipro CodeHighlighter (freeware)<br  />http://www.CodeHighlighter.com/<br  /><br  />--><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;GPRSConnection<br />
<img id="Codehighlighter1_36_3875_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_36_3875_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_36_3875_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_36_3875_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" alt="" /><img id="Codehighlighter1_36_3875_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_36_3875_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_36_3875_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_36_3875_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" style="display: none" alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_36_3875_Closed_Text" style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_36_3875_Open_Text"><span style="color: #000000">{<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">const</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;S_OK&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">0</span><span style="color: #000000">;<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">const</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">uint</span><span style="color: #000000">&nbsp;CONNMGR_PARAM_GUIDDESTNET&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">0x1</span><span style="color: #000000">;<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">const</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">uint</span><span style="color: #000000">&nbsp;CONNMGR_FLAG_PROXY_HTTP&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">0x1</span><span style="color: #000000">;<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">const</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">uint</span><span style="color: #000000">&nbsp;CONNMGR_PRIORITY_USERINTERACTIVE&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">0x08000</span><span style="color: #000000">;<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">const</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">uint</span><span style="color: #000000">&nbsp;INFINITE&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">0xffffffff</span><span style="color: #000000">;<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">const</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">uint</span><span style="color: #000000">&nbsp;CONNMGR_STATUS_CONNECTED&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">0x10</span><span style="color: #000000">;<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;Hashtable&nbsp;ht&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Hashtable();<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" /><br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;GPRSConnection()<br />
<img id="Codehighlighter1_413_601_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_413_601_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_413_601_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_413_601_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" alt="" /><img id="Codehighlighter1_413_601_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_413_601_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_413_601_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_413_601_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" style="display: none" alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_413_601_Closed_Text" style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_413_601_Open_Text"><span style="color: #000000">{<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ManualResetEvent&nbsp;mre&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;ManualResetEvent(</span><span style="color: #0000ff">false</span><span style="color: #000000">);<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mre.Handle&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;ConnMgrApiReadyEvent();<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mre.WaitOne();<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CloseHandle(mre.Handle);<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" /><br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">~</span><span style="color: #000000">GPRSConnection()<br />
<img id="Codehighlighter1_637_674_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_637_674_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_637_674_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_637_674_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" alt="" /><img id="Codehighlighter1_637_674_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_637_674_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_637_674_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_637_674_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" style="display: none" alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_637_674_Closed_Text" style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_637_674_Open_Text"><span style="color: #000000">{<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ReleaseAll();<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" /><br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">bool</span><span style="color: #000000">&nbsp;Setup(Uri&nbsp;url)<br />
<img id="Codehighlighter1_726_779_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_726_779_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_726_779_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_726_779_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" alt="" /><img id="Codehighlighter1_726_779_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_726_779_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_726_779_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_726_779_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" style="display: none" alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_726_779_Closed_Text" style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_726_779_Open_Text"><span style="color: #000000">{<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;Setup(url.ToString());<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" /><br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">bool</span><span style="color: #000000">&nbsp;Setup(</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;urlStr)<br />
<img id="Codehighlighter1_837_1786_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_837_1786_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_837_1786_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_837_1786_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" alt="" /><img id="Codehighlighter1_837_1786_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_837_1786_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_837_1786_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_837_1786_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" style="display: none" alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_837_1786_Closed_Text" style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_837_1786_Open_Text"><span style="color: #000000">{<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ConnectionInfo&nbsp;ci&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;ConnectionInfo();<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IntPtr&nbsp;phConnection&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;IntPtr.Zero;<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">uint</span><span style="color: #000000">&nbsp;status&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">0</span><span style="color: #000000">;<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" /><br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(ht[urlStr]&nbsp;</span><span style="color: #000000">!=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">)<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">true</span><span style="color: #000000">;<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" /><br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(ConnMgrMapURL(urlStr,&nbsp;</span><span style="color: #0000ff">ref</span><span style="color: #000000">&nbsp;ci.guidDestNet,&nbsp;IntPtr.Zero)&nbsp;</span><span style="color: #000000">!=</span><span style="color: #000000">&nbsp;S_OK)<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">false</span><span style="color: #000000">;<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ci.cbSize&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;(</span><span style="color: #0000ff">uint</span><span style="color: #000000">)&nbsp;Marshal.SizeOf(ci);<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ci.dwParams&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;CONNMGR_PARAM_GUIDDESTNET;<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ci.dwFlags&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;CONNMGR_FLAG_PROXY_HTTP;<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ci.dwPriority&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;CONNMGR_PRIORITY_USERINTERACTIVE;<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ci.bExclusive&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">0</span><span style="color: #000000">;<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ci.bDisabled&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">0</span><span style="color: #000000">;<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ci.hWnd&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;IntPtr.Zero;<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ci.uMsg&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">0</span><span style="color: #000000">;<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ci.lParam&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">0</span><span style="color: #000000">;<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" /><br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(ConnMgrEstablishConnectionSync(</span><span style="color: #0000ff">ref</span><span style="color: #000000">&nbsp;ci,&nbsp;</span><span style="color: #0000ff">ref</span><span style="color: #000000">&nbsp;phConnection,&nbsp;INFINITE,&nbsp;</span><span style="color: #0000ff">ref</span><span style="color: #000000">&nbsp;status)&nbsp;</span><span style="color: #000000">!=</span><span style="color: #000000">&nbsp;S_OK&nbsp;</span><span style="color: #000000">&amp;&amp;</span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;status&nbsp;</span><span style="color: #000000">!=</span><span style="color: #000000">&nbsp;CONNMGR_STATUS_CONNECTED)<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">false</span><span style="color: #000000">;<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" /><br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ht[urlStr]&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;phConnection;<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">true</span><span style="color: #000000">;<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" /><br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">bool</span><span style="color: #000000">&nbsp;Release(Uri&nbsp;url)<br />
<img id="Codehighlighter1_1840_1895_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1840_1895_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_1840_1895_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_1840_1895_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" alt="" /><img id="Codehighlighter1_1840_1895_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1840_1895_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_1840_1895_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_1840_1895_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" style="display: none" alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_1840_1895_Closed_Text" style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_1840_1895_Open_Text"><span style="color: #000000">{<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;Release(url.ToString());<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" /><br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">bool</span><span style="color: #000000">&nbsp;Release(</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;urlStr)<br />
<img id="Codehighlighter1_1955_2008_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1955_2008_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_1955_2008_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_1955_2008_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" alt="" /><img id="Codehighlighter1_1955_2008_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1955_2008_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_1955_2008_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_1955_2008_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" style="display: none" alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_1955_2008_Closed_Text" style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_1955_2008_Open_Text"><span style="color: #000000">{<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;Release(urlStr,&nbsp;</span><span style="color: #0000ff">true</span><span style="color: #000000">);<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" /><br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">bool</span><span style="color: #000000">&nbsp;Release(</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;urlStr,&nbsp;</span><span style="color: #0000ff">bool</span><span style="color: #000000">&nbsp;removeNode)<br />
<img id="Codehighlighter1_2086_2467_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_2086_2467_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_2086_2467_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_2086_2467_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" alt="" /><img id="Codehighlighter1_2086_2467_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_2086_2467_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_2086_2467_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_2086_2467_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" style="display: none" alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_2086_2467_Closed_Text" style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_2086_2467_Open_Text"><span style="color: #000000">{<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">bool</span><span style="color: #000000">&nbsp;res&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">true</span><span style="color: #000000">;<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IntPtr&nbsp;ph&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;IntPtr.Zero;<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(ht[urlStr]&nbsp;</span><span style="color: #000000">==</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">)<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">true</span><span style="color: #000000">;<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ph&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;(IntPtr)ht[urlStr];<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(ConnMgrReleaseConnection(ph,&nbsp;</span><span style="color: #800080">1</span><span style="color: #000000">)&nbsp;</span><span style="color: #000000">!=</span><span style="color: #000000">&nbsp;S_OK)<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;res&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">false</span><span style="color: #000000">;<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CloseHandle(ph);<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(removeNode)<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ht.Remove(urlStr);<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;res;<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" /><br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;ReleaseAll()<br />
<img id="Codehighlighter1_2517_2669_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_2517_2669_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_2517_2669_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_2517_2669_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" alt="" /><img id="Codehighlighter1_2517_2669_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_2517_2669_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_2517_2669_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_2517_2669_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" style="display: none" alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_2517_2669_Closed_Text" style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_2517_2669_Open_Text"><span style="color: #000000">{<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">foreach</span><span style="color: #000000">(DictionaryEntry&nbsp;de&nbsp;</span><span style="color: #0000ff">in</span><span style="color: #000000">&nbsp;ht)<br />
<img id="Codehighlighter1_2575_2636_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_2575_2636_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_2575_2636_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_2575_2636_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" alt="" /><img id="Codehighlighter1_2575_2636_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_2575_2636_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_2575_2636_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_2575_2636_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" style="display: none" alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_2575_2636_Closed_Text" style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_2575_2636_Open_Text"><span style="color: #000000">{<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Release((</span><span style="color: #0000ff">string</span><span style="color: #000000">)de.Key,&nbsp;</span><span style="color: #0000ff">false</span><span style="color: #000000">);<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ht.Clear();<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" /><br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[StructLayout(LayoutKind.Sequential)]<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">struct</span><span style="color: #000000">&nbsp;ConnectionInfo<br />
<img id="Codehighlighter1_2762_3221_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_2762_3221_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_2762_3221_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_2762_3221_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" alt="" /><img id="Codehighlighter1_2762_3221_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_2762_3221_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_2762_3221_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_2762_3221_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" style="display: none" alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_2762_3221_Closed_Text" style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_2762_3221_Open_Text"><span style="color: #000000">{<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">uint</span><span style="color: #000000">&nbsp;cbSize;<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">uint</span><span style="color: #000000">&nbsp;dwParams;<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">uint</span><span style="color: #000000">&nbsp;dwFlags;<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">uint</span><span style="color: #000000">&nbsp;dwPriority;<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;bExclusive;<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;bDisabled;<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;Guid&nbsp;guidDestNet;<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;IntPtr&nbsp;hWnd;<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">uint</span><span style="color: #000000">&nbsp;uMsg;<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">uint</span><span style="color: #000000">&nbsp;lParam;<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">uint</span><span style="color: #000000">&nbsp;ulMaxCost;<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">uint</span><span style="color: #000000">&nbsp;ulMinRcvBw;<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">uint</span><span style="color: #000000">&nbsp;ulMaxConnLatency;<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" /><br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[DllImport(</span><span style="color: #800000">&quot;</span><span style="color: #800000">cellcore.dll</span><span style="color: #800000">&quot;</span><span style="color: #000000">)]<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">extern</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;ConnMgrMapURL(</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;pwszURL,&nbsp;</span><span style="color: #0000ff">ref</span><span style="color: #000000">&nbsp;Guid&nbsp;pguid,&nbsp;IntPtr&nbsp;pdwIndex);<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" /><br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[DllImport(</span><span style="color: #800000">&quot;</span><span style="color: #800000">cellcore.dll</span><span style="color: #800000">&quot;</span><span style="color: #000000">)]<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">extern</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;ConnMgrEstablishConnectionSync(</span><span style="color: #0000ff">ref</span><span style="color: #000000">&nbsp;ConnectionInfo&nbsp;ci,&nbsp;</span><span style="color: #0000ff">ref</span><span style="color: #000000">&nbsp;IntPtr&nbsp;phConnection,&nbsp;</span><span style="color: #0000ff">uint</span><span style="color: #000000">&nbsp;dwTimeout,&nbsp;</span><span style="color: #0000ff">ref</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">uint</span><span style="color: #000000">&nbsp;pdwStatus);<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" /><br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[DllImport(</span><span style="color: #800000">&quot;</span><span style="color: #800000">cellcore.dll</span><span style="color: #800000">&quot;</span><span style="color: #000000">)]<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">extern</span><span style="color: #000000">&nbsp;IntPtr&nbsp;ConnMgrApiReadyEvent();<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" /><br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[DllImport(</span><span style="color: #800000">&quot;</span><span style="color: #800000">cellcore.dll</span><span style="color: #800000">&quot;</span><span style="color: #000000">)]<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">extern</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;ConnMgrReleaseConnection(IntPtr&nbsp;hConnection,&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;bCache);<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" /><br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[DllImport(</span><span style="color: #800000">&quot;</span><span style="color: #800000">coredll.dll</span><span style="color: #800000">&quot;</span><span style="color: #000000">)]<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">extern</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;CloseHandle(IntPtr&nbsp;hObject);<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span></div>
</pre>
<p>使用GPRSConnection class的时候, 先调用Setup方法创建连接，见以下代码：</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<div class="cnblogs_code"><!--<br  />
<br  />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br  />
http://www.CodeHighlighter.com/<br  />
<br  />
--><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;DoTcpConnection()<br />
<img id="Codehighlighter1_46_681_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_46_681_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_46_681_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_46_681_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" alt="" /><img id="Codehighlighter1_46_681_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_46_681_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_46_681_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_46_681_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" style="display: none" alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_46_681_Closed_Text" style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_46_681_Open_Text"><span style="color: #000000">{<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;url&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">&quot;</span><span style="color: #800000">www.msn.com</span><span style="color: #800000">&quot;</span><span style="color: #000000">;<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">bool</span><span style="color: #000000">&nbsp;res&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;GPRSConnection.Setup(</span><span style="color: #800000">&quot;</span><span style="color: #800000">http://</span><span style="color: #800000">&quot;</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;url&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">&quot;</span><span style="color: #800000">/</span><span style="color: #800000">&quot;</span><span style="color: #000000">);<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(res)<br />
<img id="Codehighlighter1_189_558_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_189_558_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_189_558_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_189_558_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" alt="" /><img id="Codehighlighter1_189_558_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_189_558_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_189_558_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_189_558_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" style="display: none" alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_189_558_Closed_Text" style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_189_558_Open_Text"><span style="color: #000000">{<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TcpClient&nbsp;tc&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;TcpClient(url,&nbsp;</span><span style="color: #800080">80</span><span style="color: #000000">);<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NetworkStream&nbsp;ns&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;tc.GetStream();<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">byte</span><span style="color: #000000">[]&nbsp;buf&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">byte</span><span style="color: #000000">[</span><span style="color: #800080">100</span><span style="color: #000000">];<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ns.Write(buf,&nbsp;</span><span style="color: #800080">0</span><span style="color: #000000">,&nbsp;</span><span style="color: #800080">100</span><span style="color: #000000">);<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tc.Client.Shutdown(SocketShutdown.Both);<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ns.Close();<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tc.Close();<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MessageBox.Show(</span><span style="color: #800000">&quot;</span><span style="color: #800000">Wrote&nbsp;100&nbsp;bytes</span><span style="color: #800000">&quot;</span><span style="color: #000000">);<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">else</span><span style="color: #000000"><br />
<img id="Codehighlighter1_588_671_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_588_671_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_588_671_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_588_671_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_588_671_Closed_Text" style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_588_671_Open_Text"><span style="color: #000000">{<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MessageBox.Show(</span><span style="color: #800000">&quot;</span><span style="color: #800000">Connection&nbsp;establishment&nbsp;failed</span><span style="color: #800000">&quot;</span><span style="color: #000000">);<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span></div>]]></description>
		</item>
		
</channel>
</rss>
