⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 用c#读取gps数据.htm

📁 GPS的资料,上来和大家分享,正做这个的朋友可以看看.
💻 HTM
📖 第 1 页 / 共 4 页
字号:
            byte[NumBytes];<BR>&nbsp;&nbsp;&nbsp;if 
            (hComm!=INVALID_HANDLE_VALUE) 
            <BR>&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;OVERLAPPED 
            ovlCommPort = new OVERLAPPED();<BR>&nbsp;&nbsp;&nbsp;&nbsp;int 
            BytesRead=0;<BR>&nbsp;&nbsp;&nbsp;&nbsp;ReadFile(hComm,BufBytes,NumBytes,ref 
            BytesRead,ref 
            ovlCommPort);<BR>&nbsp;&nbsp;&nbsp;&nbsp;try<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OutBytes 
            = new 
            byte[BytesRead];<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Array.Copy(BufBytes,0,OutBytes,0,BytesRead);<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;catch<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return 
            BufBytes;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;} 
            <BR>&nbsp;&nbsp;&nbsp;else 
            <BR>&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;throw(new 
            ApplicationException("串口未打开!"));<BR>&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;return 
            OutBytes;<BR>&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;return 
            BufBytes;<BR>&nbsp;&nbsp;}<BR>&nbsp;&nbsp;<BR>&nbsp;&nbsp;public 
            void Write(byte[] WriteBytes) 
            <BR>&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;if 
            (hComm!=INVALID_HANDLE_VALUE) 
            <BR>&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;OVERLAPPED 
            ovlCommPort = new OVERLAPPED();<BR>&nbsp;&nbsp;&nbsp;&nbsp;int 
            BytesWritten = 
            0;<BR>&nbsp;&nbsp;&nbsp;&nbsp;WriteFile(hComm,WriteBytes,WriteBytes.Length,ref 
            BytesWritten,ref 
            ovlCommPort);<BR>&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;else 
            <BR>&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;throw(new 
            ApplicationException("串口未打开!"));<BR>&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;<BR>&nbsp;&nbsp;}</P>
            <P>&nbsp;&nbsp;public string GetGPS(string strGPS,string 
            strFind)<BR>&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;///从GPS中读取的数据中,找出想要的数据<BR>&nbsp;&nbsp;&nbsp;///GPSstring原始字符串,<BR>&nbsp;&nbsp;&nbsp;///strFind要查找的内容,X:经度,Y:纬度,T:时间,V:速度,是数字从1开始,即以“,”分隔的位置<BR>&nbsp;&nbsp;&nbsp;///返回查找到指定位置的字符串<BR>&nbsp;&nbsp;&nbsp;string 
            handerStr="$GPRMC";//GPS串头<BR>&nbsp;&nbsp;&nbsp;int 
            findHander=strGPS.IndexOf(handerStr);//看是否含有GPS串头<BR>&nbsp;&nbsp;&nbsp;if 
            (findHander&lt;0)<BR>&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;return 
            "-1";<BR>&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;else<BR>&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;strGPS=strGPS.Substring(findHander,strGPS.Length-findHander);<BR>&nbsp;&nbsp;&nbsp;&nbsp;string[] 
            ArryTmp=strGPS.Split(",".ToCharArray());<BR>&nbsp;&nbsp;&nbsp;&nbsp;try<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(ArryTmp[2]=="V")<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return 
            "V";//没有信号<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;switch(strFind)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case 
            "X":<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return 
            DM2DD(ArryTmp[5]);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case 
            "Y":<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return 
            DM2DD(ArryTmp[3]);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case 
            "T":<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return 
            T2Time(ArryTmp[9],ArryTmp[1]);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case 
            "V":<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return 
            Convert.ToString(Convert.ToDouble(ArryTmp[7])* 
            1.852);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;default:<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return 
            "V";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;catch<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return 
            "V";<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;}</P>
            <P>&nbsp;&nbsp;public string T2Time(string strDate,string 
            strTime)<BR>&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;string 
            dT="20"+strDate.Substring(4,2)+"-"+strDate.Substring(2,2)+"-"+strDate.Substring(0,2);<BR>&nbsp;&nbsp;&nbsp;string 
            TT=Convert.ToString(Convert.ToInt32(strTime.Substring(0,2)))+":"+strTime.Substring(2,2)+":"+strTime.Substring(4,2);<BR>&nbsp;&nbsp;&nbsp;DateTime 
            T=Convert.ToDateTime(dT+" 
            "+TT);<BR>&nbsp;&nbsp;&nbsp;T=T.AddHours(8);<BR>&nbsp;&nbsp;&nbsp;return 
            T.ToString();<BR>&nbsp;&nbsp;}</P>
            <P>&nbsp;&nbsp;public string DM2DD(string 
            DegreeMinutes)<BR>&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;//转换NMEA协议的“度分”格式为十进制“度度”格式<BR>&nbsp;&nbsp;&nbsp;string 
            sDegree;<BR>&nbsp;&nbsp;&nbsp;string 
            sMinute;<BR>&nbsp;&nbsp;&nbsp;string 
            sReturn="";<BR>&nbsp;&nbsp;&nbsp;if(DegreeMinutes.IndexOf(".")==4)<BR>&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;//DegreeMinutes 
            = Replace(DegreeMinutes, ".", "")<BR>&nbsp;&nbsp;&nbsp;&nbsp;//DM2DD 
            = CDbl(Left(DegreeMinutes, 2)) + 
            CDbl(Left(CStr(CDbl(Right(DegreeMinutes, Len(DegreeMinutes) - 2)) / 
            60), 8)) / 
            10000<BR>&nbsp;&nbsp;&nbsp;&nbsp;DegreeMinutes=DegreeMinutes.Replace(".","");<BR>&nbsp;&nbsp;&nbsp;&nbsp;double 
            sDegree1=Convert.ToDouble(DegreeMinutes.Substring(0,2));<BR>&nbsp;&nbsp;&nbsp;&nbsp;double 
            sDegree2=Convert.ToDouble(DegreeMinutes.Substring(2,DegreeMinutes.Length-2));<BR>&nbsp;&nbsp;&nbsp;&nbsp;string 
            sTmp=Convert.ToString(sDegree2/60);<BR>&nbsp;&nbsp;&nbsp;&nbsp;sDegree2=Convert.ToDouble(sTmp.Substring(0,sTmp.Length));<BR>&nbsp;&nbsp;&nbsp;&nbsp;sDegree2=sDegree2/10000;<BR>&nbsp;&nbsp;&nbsp;&nbsp;sDegree=Convert.ToString(sDegree1+sDegree2);<BR>&nbsp;&nbsp;&nbsp;&nbsp;if(sDegree.Length&gt;11)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sDegree=sDegree.Substring(0,11);<BR>&nbsp;&nbsp;&nbsp;&nbsp;sReturn=sDegree;<BR>&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;else 
            if(DegreeMinutes.IndexOf(".")==5)<BR>&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;//DegreeMinutes 
            = Replace(DegreeMinutes, ".", "")<BR>&nbsp;&nbsp;&nbsp;&nbsp;//DM2DD 
            = CDbl(Left(DegreeMinutes, 2)) + 
            CDbl(Left(CStr(CDbl(Right(DegreeMinutes, Len(DegreeMinutes) - 2)) / 
            60), 8)) / 
            10000<BR>&nbsp;&nbsp;&nbsp;&nbsp;DegreeMinutes=DegreeMinutes.Replace(".","");<BR>&nbsp;&nbsp;&nbsp;&nbsp;double 
            sMinute1=Convert.ToDouble(DegreeMinutes.Substring(0,3));<BR>&nbsp;&nbsp;&nbsp;&nbsp;double 
            sMinute2=Convert.ToDouble(DegreeMinutes.Substring(3,DegreeMinutes.Length-2));<BR>&nbsp;&nbsp;&nbsp;&nbsp;string 
            sTmp=Convert.ToString(sMinute2/60);<BR>&nbsp;&nbsp;&nbsp;&nbsp;sMinute2=Convert.ToDouble(sTmp.Substring(0,sTmp.Length));<BR>&nbsp;&nbsp;&nbsp;&nbsp;sMinute2=sMinute2/10000;<BR>&nbsp;&nbsp;&nbsp;&nbsp;sMinute=Convert.ToString(sMinute1+sMinute2);<BR>&nbsp;&nbsp;&nbsp;&nbsp;if(sMinute.Length&gt;10)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sMinute=sMinute.Substring(0,10);<BR>&nbsp;&nbsp;&nbsp;&nbsp;sReturn=sMinute;<BR>&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;return 
            sReturn;<BR>&nbsp;&nbsp;}</P>
            <P>&nbsp;&nbsp;public bool 
            ScanPort()<BR>&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;try<BR>&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;if 
            (Opened)<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Close();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Open();<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;else<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Open();//打开串口<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;byte[] 
            bytRead=Read(512);<BR>&nbsp;&nbsp;&nbsp;&nbsp;Close();<BR>&nbsp;&nbsp;&nbsp;&nbsp;if(Encoding.ASCII.GetString(bytRead,0,bytRead.Length).IndexOf("$GP")&gt;=0)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return 
            true;<BR>&nbsp;&nbsp;&nbsp;&nbsp;else<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return 
            false;<BR>&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;catch<BR>&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;return 
            false;<BR>&nbsp;&nbsp;&nbsp;}</P>
            <P>&nbsp;&nbsp;}<BR>&nbsp;}</P>
            <P>&nbsp;class HexCon <BR>&nbsp;{<BR>&nbsp;&nbsp;// 
            把十六进制字符串转换成字节型和把字节型转换成十六进制字符串 converter hex string to byte and byte 
            to hex string<BR>&nbsp;&nbsp;public static string 
            ByteToString(byte[] InBytes) 
            <BR>&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;string 
            StringOut="";<BR>&nbsp;&nbsp;&nbsp;foreach (byte InByte in InBytes) 
            <BR>&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;StringOut=StringOut 
            + String.Format("{0:X2} 
            ",InByte);<BR>&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;return 
            StringOut; <BR>&nbsp;&nbsp;}<BR>&nbsp;&nbsp;public static byte[] 
            StringToByte(string InString) 
            <BR>&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;string[] 
            ByteStrings;<BR>&nbsp;&nbsp;&nbsp;ByteStrings = InString.Split(" 
            ".ToCharArray());<BR>&nbsp;&nbsp;&nbsp;byte[] 
            ByteOut;<BR>&nbsp;&nbsp;&nbsp;ByteOut = new 
            byte[ByteStrings.Length-1];<BR>&nbsp;&nbsp;&nbsp;for (int i = 
            0;i==ByteStrings.Length-1;i++) 
            <BR>&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;ByteOut[i] = 
            Convert.ToByte(("0x" + ByteStrings[i]));<BR>&nbsp;&nbsp;&nbsp;} 
            <BR>&nbsp;&nbsp;&nbsp;return 
            ByteOut;<BR>&nbsp;&nbsp;}<BR>&nbsp;}<BR>}</P>
            <P>在别的class中调用时如Frmlogoin(是通过一个时间控件来循环的)</P>
            <P>public class Frmlogin : System.Windows.Forms.Form<BR>&nbsp;{</P>
            <P>private GPS ss_port=new GPS();</P>
            <P>}</P>
            <P>#region 读取GPS<BR>&nbsp;&nbsp;private void opengps(string 
            ComPoint)<BR>&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;ss_port.PortNum = 
            ComPoint;<BR>&nbsp;&nbsp;&nbsp;ss_port.BaudRate = 
            4800;<BR>&nbsp;&nbsp;&nbsp;ss_port.ByteSize = 
            8;<BR>&nbsp;&nbsp;&nbsp;ss_port.Parity = 
            0;<BR>&nbsp;&nbsp;&nbsp;ss_port.StopBits = 
            1;<BR>&nbsp;&nbsp;&nbsp;ss_port.ReadTimeout = 1000;</P>
            <P>&nbsp;&nbsp;&nbsp;try<BR>&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;if 
            (ss_port.Opened)<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ss_port.Close();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ss_port.Open();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;timer1.Enabled=true;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;else<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ss_port.Open();//打开串口<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;timer1.Enabled=true;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;catch<BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;{<BR>//&nbsp;&nbsp;&nbsp;&nbsp;MessageBox.Show("读取GPS错误!" 
            ,"系统提示");<BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;}<BR>&nbsp;&nbsp;private 
            void timer1_Tick(object sender, System.EventArgs 
            e)<BR>&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;if 
            (ss_port.Opened)<BR>&nbsp;&nbsp;&nbsp;&nbsp;gpsread();<BR>&nbsp;&nbsp;&nbsp;else<BR>&nbsp;&nbsp;&nbsp;&nbsp;ss_port.Open();//打开串口<BR>&nbsp;&nbsp;}<BR>&nbsp;&nbsp;<BR>&nbsp;&nbsp;private 
            void gpsread()<BR>&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;byte[] 
            aa=ss_port.Read(512);<BR>&nbsp;&nbsp;&nbsp;string gpsinfo 
            =System.Text.Encoding.ASCII.GetString(aa,0,aa.Length);<BR>&nbsp;&nbsp;&nbsp;GetParam.GpsLongitude=ss_port.GetGPS(gpsinfo,"X");<BR>&nbsp;&nbsp;&nbsp;GetParam.GpsLatitude=ss_port.GetGPS(gpsinfo,"Y");<BR>&nbsp;&nbsp;&nbsp;GetParam.GpsSpeed=ss_port.GetGPS(gpsinfo,"V");<BR>&nbsp;&nbsp;&nbsp;GetParam.GpsTime=ss_port.GetGPS(gpsinfo,"T");<BR>&nbsp;&nbsp;&nbsp;if(GetParam.GpsLongitude=="-1") 
            <BR>&nbsp;&nbsp;&nbsp;&nbsp;GetParam.GpsState="0";<BR>&nbsp;&nbsp;&nbsp;if(GetParam.GpsLongitude=="V" 
            &amp;&amp; 
            GetParam.GpsLatitude=="V")<BR>&nbsp;&nbsp;&nbsp;&nbsp;GetParam.GpsState="0";<BR>&nbsp;&nbsp;&nbsp;if(GetParam.GpsLongitude!="-1" 
            &amp;&amp; 
            GetParam.GpsLongitude!="V")<BR>&nbsp;&nbsp;&nbsp;&nbsp;GetParam.GpsState="1";</P>
            <P>&nbsp;&nbsp;&nbsp;&nbsp;GetParam.GpsLongitude=(GetParam.GpsLongitude=="V") 
            ? "0" : 
            GetParam.GpsLongitude;<BR>&nbsp;&nbsp;&nbsp;&nbsp;GetParam.GpsLatitude=(GetParam.GpsLatitude=="V") 
            ? "0" : 
            GetParam.GpsLatitude;<BR>&nbsp;&nbsp;&nbsp;&nbsp;GetParam.GpsSpeed=(GetParam.GpsSpeed=="V") 
            ? "0" : 
            GetParam.GpsSpeed;<BR>&nbsp;&nbsp;&nbsp;&nbsp;GetParam.GpsTime=(GetParam.GpsTime=="V") 
            ? "0" 
            :GetParam.GpsTime;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;}<BR>&nbsp;&nbsp;private 
            void 
            GpsClose()<BR>&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;timer1.Enabled=false;<BR>&nbsp;&nbsp;&nbsp;if 
            (ss_port.Opened)<BR>&nbsp;&nbsp;&nbsp;&nbsp;ss_port.Close();<BR>&nbsp;&nbsp;}<BR>&nbsp;&nbsp;#endregion</P></SPAN><BR>
            <DIV 
            style="FONT-SIZE: 14px; LINE-HEIGHT: 25px"><STRONG>作者Blog:</STRONG><A 
            id=ArticleContent1_ArticleContent1_AuthorBlogLink 
            href="http://blog.csdn.net/xinhongmei/" 
            target=_blank>http://blog.csdn.net/xinhongmei/</A></DIV>
            <DIV 
            style="FONT-SIZE: 14px; COLOR: #900; LINE-HEIGHT: 25px"><STRONG>相关文章</STRONG></DIV>
            <TABLE id=ArticleContent1_ArticleContent1_RelatedArticles 
            cellSpacing=0 border=0>
              <TBODY>
              <TR>
                <TD><A 
                  href="http://dev.csdn.net/article/77/77262.shtm">在pda上怎样打开网页或者调用其他可程序(主要是指可执行文件)的公共类</A> 
                </TD></TR>
              <TR>
                <TD><A 
                  href="http://dev.csdn.net/article/77/77261.shtm">用C#读取GPS数据的基类,适用于wince操作系统</A> 
                </TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><A name=#Comment></A>
      <TABLE cellPadding=0 width="100%" border=0>
        <TBODY>
        <TR>
          <TD>
            <TABLE cellSpacing=0 cellPadding=0 width="100%" align=center 
            bgColor=#006699 border=0>
              <TBODY>
              <TR bgColor=#006699>
                <TD id=white align=middle width=556 bgColor=#006699><FONT 
                  color=#ffffff>对该文的评论</FONT> </TD></TR></TBODY></TABLE>
            <DIV align=right><A id=CommnetList1_CommnetList1_Morelink 
            href="http://comment.csdn.net/Comment.aspx?c=2&amp;s=77261">【评论】</A> 
            <A id=CommnetList1_CommnetList1_Hyperlink1 
            href="javascript:window.close();">【关闭】</A> <A 
            href="mailto:webmaster@csdn.net">【报告bug】</A> 
      </DIV><BR></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></FORM><!-- 版权 -->
<DIV align=center>
<SCRIPT language=JavaScript src="用C#读取GPS数据_files/footer_gb.js" 
type=text/javascript></SCRIPT>
</DIV><!-- /版权 -->
<SCRIPT>
      document.write("<img src=http://count.csdn.net/count/pageview1.asp?columnid=4&itemid=11 border=0 width=0 height=0>");
    </SCRIPT>

<SCRIPT>document.write("<img src=http://counter.csdn.net/pv.aspx?id=37 border=0 width=0 height=0>");</SCRIPT>

<SCRIPT language=JavaScript src="用C#读取GPS数据_files/common.htm"></SCRIPT>
</BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -