c#生成带logo的二维码

<p><span style="color:#333333;font-family:Verdana, Arial, Helvetica, sans-serif"><span style="font-size: 13.3333px; background-color: rgb(255, 255, 255);"><img src="/Attach/201908/03112718-20190803111058.gif"/></span></span></p><p><span style="color:#333333;font-family:Verdana, Arial, Helvetica, sans-serif"><span style="font-size: 13.3333px; background-color: rgb(255, 255, 255);">&nbsp;代码来源:<a href="https://github.com/codebude/QRCoder">https://github.com/codebude/QRCoder</a>&nbsp;的demo</span></span></p><p><span style="color:#333333;font-family:Verdana, Arial, Helvetica, sans-serif"><br/></span></p><pre class="brush:c#;toolbar:false">&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;void&nbsp;RenderQrCode() &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string&nbsp;level&nbsp;=&nbsp;comboBoxECC.SelectedItem.ToString(); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;QRCodeGenerator.ECCLevel&nbsp;eccLevel&nbsp;= &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(QRCodeGenerator.ECCLevel)(level&nbsp;==&nbsp;&quot;L&quot;&nbsp;?&nbsp;0&nbsp;:&nbsp;level&nbsp;==&nbsp;&quot;M&quot;&nbsp;?&nbsp;1&nbsp;:&nbsp;level&nbsp;==&nbsp;&quot;Q&quot;&nbsp;?&nbsp;2&nbsp;:&nbsp;3); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;using&nbsp;(QRCodeGenerator&nbsp;qrGenerator&nbsp;=&nbsp;new&nbsp;QRCodeGenerator()) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;using&nbsp;(QRCodeData&nbsp;qrCodeData&nbsp;=&nbsp;qrGenerator.CreateQrCode(textBoxQRCode.Text,&nbsp;eccLevel)) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;using&nbsp;(QRCode&nbsp;qrCode&nbsp;=&nbsp;new&nbsp;QRCode(qrCodeData)) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pictureBoxQRCode.BackgroundImage&nbsp;=&nbsp;qrCode.GetGraphic(20,&nbsp;Color.Black,&nbsp;Color.White, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GetIconBitmap(),&nbsp;(int)&nbsp;iconSize.Value); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.pictureBoxQRCode.Size&nbsp;=&nbsp;new&nbsp;System.Drawing.Size(pictureBoxQRCode.Width, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pictureBoxQRCode.Height); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//Set&nbsp;the&nbsp;SizeMode&nbsp;to&nbsp;center&nbsp;the&nbsp;image. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.pictureBoxQRCode.SizeMode&nbsp;=&nbsp;PictureBoxSizeMode.CenterImage; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pictureBoxQRCode.SizeMode&nbsp;=&nbsp;PictureBoxSizeMode.StretchImage; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;Bitmap&nbsp;GetIconBitmap() &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Bitmap&nbsp;img&nbsp;=&nbsp;null; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(iconPath.Text.Length&nbsp;&gt;&nbsp;0) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;img&nbsp;=&nbsp;new&nbsp;Bitmap(iconPath.Text); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;catch&nbsp;(Exception) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;img; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</pre><p><br/></p><p>附件附上图片及编译好的汉化过得qrcoder.dll<br/></p><p>qrcoder.dll 目前支持.netframework 3.5以上</p><pre class="brush:c#;toolbar:false">///&nbsp;&lt;summary&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;///&nbsp;生成彩色二维码&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;///&nbsp;&lt;/summary&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;///&nbsp;&lt;param&nbsp;name=&quot;data&quot;&gt;二维码内容&lt;/param&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;///&nbsp;&lt;param&nbsp;name=&quot;filename&quot;&gt;生成的图片名称(如:123.jpg)&lt;/param&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;///&nbsp;&lt;param&nbsp;name=&quot;filepath&quot;&gt;图片存放路径(如:Images\\CustomerQRCode)&lt;/param&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;///&nbsp;&lt;returns&gt;&lt;/returns&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;static&nbsp;bool&nbsp;CreateQRCode(string&nbsp;data,&nbsp;string&nbsp;filename,&nbsp;string&nbsp;filepath) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(string.IsNullOrWhiteSpace(data)&nbsp;||&nbsp;string.IsNullOrWhiteSpace(filename)&nbsp;||&nbsp;string.IsNullOrWhiteSpace(filepath))&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;false; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;QRCodeWriter&nbsp;writer&nbsp;=&nbsp;new&nbsp;QRCodeWriter(); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Hashtable&nbsp;hints&nbsp;=&nbsp;new&nbsp;Hashtable(); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hints.Add(EncodeHintType.CHARACTER_SET,&nbsp;&quot;UTF-8&quot;); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hints.Add(EncodeHintType.ERROR_CORRECTION,&nbsp;ErrorCorrectionLevel.H); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hints.Add(EncodeHintType.VERSION_START,&nbsp;5); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Bitmap&nbsp;image&nbsp;=&nbsp;writer.encode(data,&nbsp;BarcodeFormat.QR_CODE,&nbsp;0x200,&nbsp;0x200,&nbsp;hints).ToBitmap();//黑白二维码 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Bitmap&nbsp;bitmap2&nbsp;=&nbsp;new&nbsp;Bitmap(image.Width,&nbsp;image.Height,&nbsp;PixelFormat.Format32bppArgb); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Graphics&nbsp;graphics&nbsp;=&nbsp;Graphics.FromImage(bitmap2); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;graphics.SmoothingMode&nbsp;=&nbsp;SmoothingMode.AntiAlias; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;graphics.DrawImage(image,&nbsp;0,&nbsp;0); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;image.Dispose(); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Bitmap&nbsp;bitmap3&nbsp;=&nbsp;QrCodeVertical(bitmap2.Width,&nbsp;bitmap2.Height);//彩色渐变二维码 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Color&nbsp;color&nbsp;=&nbsp;Color.FromArgb(200,&nbsp;224,&nbsp;114,&nbsp;1);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;num&nbsp;=&nbsp;140;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;num&nbsp;-=&nbsp;(Encoding.UTF8.GetBytes(data).Length&nbsp;-&nbsp;20)&nbsp;/&nbsp;2; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;catch&nbsp;(Exception) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;num2&nbsp;=&nbsp;num;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;num3&nbsp;=&nbsp;num2;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(int&nbsp;i&nbsp;=&nbsp;0;&nbsp;i&nbsp;&lt;&nbsp;bitmap2.Width;&nbsp;i++) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(int&nbsp;j&nbsp;=&nbsp;0;&nbsp;j&nbsp;&lt;&nbsp;bitmap2.Height;&nbsp;j++) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Color&nbsp;color3; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Color&nbsp;pixel&nbsp;=&nbsp;bitmap2.GetPixel(i,&nbsp;j);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;((i&nbsp;&lt;&nbsp;num2)&nbsp;&amp;&amp;&nbsp;(j&nbsp;&lt;&nbsp;num3)) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;color3&nbsp;=&nbsp;((pixel.A&nbsp;==&nbsp;0xff)&nbsp;&amp;&amp;&nbsp;(pixel.B&nbsp;==&nbsp;0))&nbsp;?&nbsp;color&nbsp;:&nbsp;pixel; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;color3&nbsp;=&nbsp;((pixel.A&nbsp;==&nbsp;0xff)&nbsp;&amp;&amp;&nbsp;(pixel.B&nbsp;==&nbsp;0))&nbsp;?&nbsp;bitmap3.GetPixel(i,&nbsp;j)&nbsp;:&nbsp;pixel; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bitmap2.SetPixel(i,&nbsp;j,&nbsp;color3); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bitmap3.Dispose();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#region&nbsp;添加二维码标题&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string&nbsp;str2&nbsp;=&nbsp;&quot;&quot;;//标题一 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(str2.Length&nbsp;&lt;&nbsp;1) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str2&nbsp;=&nbsp;&quot;MyTest&quot;; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;float&nbsp;emSize&nbsp;=&nbsp;32f; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;emSize&nbsp;-=&nbsp;(str2.Length&nbsp;-&nbsp;4)&nbsp;*&nbsp;1.8f; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Font&nbsp;font&nbsp;=&nbsp;new&nbsp;Font(&quot;微软雅黑&quot;,&nbsp;emSize,&nbsp;FontStyle.Bold); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SizeF&nbsp;ef&nbsp;=&nbsp;graphics.MeasureString(str2,&nbsp;font);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;float&nbsp;num7&nbsp;=&nbsp;(bitmap2.Width&nbsp;-&nbsp;ef.Width)&nbsp;/&nbsp;2f; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Brush&nbsp;brush&nbsp;=&nbsp;new&nbsp;SolidBrush(Color.FromArgb(0xff,&nbsp;0x3a,&nbsp;0xb2,&nbsp;0xc2)); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Brush&nbsp;brush2&nbsp;=&nbsp;new&nbsp;SolidBrush(Color.White);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;y&nbsp;=&nbsp;50; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;graphics.FillRectangle(brush2,&nbsp;new&nbsp;Rectangle((int)num7,&nbsp;y,&nbsp;(int)ef.Width,&nbsp;(int)ef.Height)); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;graphics.DrawString(str2,&nbsp;font,&nbsp;brush,&nbsp;(float)((int)num7),&nbsp;(float)y); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Brush&nbsp;brush3&nbsp;=&nbsp;new&nbsp;SolidBrush(Color.FromArgb(0xff,&nbsp;0x3a,&nbsp;0xb2,&nbsp;0xc2));&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;width&nbsp;=&nbsp;140; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;graphics.FillEllipse(brush2,&nbsp;(bitmap2.Width&nbsp;-&nbsp;width)&nbsp;/&nbsp;2,&nbsp;(bitmap2.Height&nbsp;-&nbsp;width)&nbsp;/&nbsp;2,&nbsp;width,&nbsp;width);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;num10&nbsp;=&nbsp;0x80; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;graphics.FillEllipse(brush3,&nbsp;(bitmap2.Width&nbsp;-&nbsp;num10)&nbsp;/&nbsp;2,&nbsp;(bitmap2.Height&nbsp;-&nbsp;num10)&nbsp;/&nbsp;2,&nbsp;num10,&nbsp;num10);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;num11&nbsp;=&nbsp;110; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;graphics.FillEllipse(brush2,&nbsp;(bitmap2.Width&nbsp;-&nbsp;num11)&nbsp;/&nbsp;2,&nbsp;(bitmap2.Height&nbsp;-&nbsp;num11)&nbsp;/&nbsp;2,&nbsp;num11,&nbsp;num11);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#endregion &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#region&nbsp;添加二维码中间内容&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str2&nbsp;=&nbsp;&quot;&quot;;//标题二 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(str2.Length&nbsp;&lt;&nbsp;1) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str2&nbsp;=&nbsp;&quot;Test&quot;; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;float&nbsp;num12&nbsp;=&nbsp;32f; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;num12&nbsp;-=&nbsp;(str2.Length&nbsp;-&nbsp;3)&nbsp;*&nbsp;3.5f; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Font&nbsp;font2&nbsp;=&nbsp;new&nbsp;Font(&quot;Meiryo&quot;,&nbsp;num12,&nbsp;FontStyle.Bold); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ef&nbsp;=&nbsp;graphics.MeasureString(str2,&nbsp;font2);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;float&nbsp;x&nbsp;=&nbsp;((bitmap2.Width&nbsp;-&nbsp;ef.Width)&nbsp;/&nbsp;2f)&nbsp;+&nbsp;2f;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;float&nbsp;num14&nbsp;=&nbsp;((bitmap2.Height&nbsp;-&nbsp;ef.Height)&nbsp;/&nbsp;2f)&nbsp;+&nbsp;8f; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;graphics.DrawString(str2,&nbsp;font2,&nbsp;brush3,&nbsp;x,&nbsp;num14); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;graphics.Dispose();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#endregion &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;filepath&nbsp;=&nbsp;System.Web.HttpContext.Current.Server.MapPath(@&quot;~\&quot;+&nbsp;filepath)&nbsp;+&nbsp;&quot;\\&quot;&nbsp;+&nbsp;filename;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//filepath&nbsp;=&nbsp;filepath&nbsp;+&nbsp;filename; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.IO.FileStream&nbsp;fs&nbsp;=&nbsp;new&nbsp;System.IO.FileStream(filepath,&nbsp;System.IO.FileMode.OpenOrCreate,&nbsp;System.IO.FileAccess.Write); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bitmap2.Save(fs,&nbsp;System.Drawing.Imaging.ImageFormat.Jpeg); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fs.Close(); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;image.Dispose();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;true; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</pre><p><br/></p>
2019/8/2 19:39:44(zgc) 抢沙发(0) Net技术
阅读全文

tms fNC UI pack xe7-xe10.2

<p>tms fNC UI pack xe7-xe10.2&nbsp; 从qq群里搬来的,</p><p>编译不成功不要问我。我只是个搬运工。</p>
2019/7/25 22:56:25(zgc) 抢沙发(0) 杂项
阅读全文

slidingmenu

<p>slidingmenu</p>
2019/7/20 20:28:25(zgc) 抢沙发(0) 个人作品
阅读全文

音乐

<p>好听的音乐!</p>
2019/7/16 13:24:48(zgc) 抢沙发(0) 杂项
阅读全文

电子病历安装包

<p>电子病历安装包20190801日打包</p><p>&nbsp;包括后台维护安装</p><p>安装图片:</p><p><img src="/uploadfiles/1.png"/><img src="/uploadfiles/2.png"/><img src="/uploadfiles/3.png"/><img src="/uploadfiles/4.png"/><img src="/uploadfiles/5.png"/></p>
2019/7/16 11:56:33(zgc) 抢沙发(45) innoSetup
阅读全文

aspnetMvc4安装

<p>aspnetMvc4安装 + web平台安装程序</p>
2019/7/10 21:29:01(zgc) 抢沙发(0) 个人作品
阅读全文

纯PB代码实现取MAC和IP(PB9)

<p><span style="color: rgb(79, 79, 79); font-family: &quot;Microsoft YaHei&quot;, &quot;SF Pro Display&quot;, Roboto, Noto, Arial, &quot;PingFang SC&quot;, sans-serif; background-color: rgb(255, 255, 255);">1、定义一个名为s_wsadata的结构,如下:</span></p><pre class="brush:delphi;toolbar:false">&nbsp;&nbsp;unsignedinteger&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;version &nbsp;&nbsp;unsignedinteger&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;highversion &nbsp;&nbsp;character&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;discription[257] &nbsp;&nbsp;character&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;systemstatus[129] &nbsp;&nbsp;unsignedinteger&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;maxsockets &nbsp;&nbsp;unsignedinteger&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;maxupddg &nbsp;&nbsp;string&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;vendorinfo</pre><p><span style="color: rgb(79, 79, 79); font-family: &quot;Microsoft YaHei&quot;, &quot;SF Pro Display&quot;, Roboto, Noto, Arial, &quot;PingFang SC&quot;, sans-serif; background-color: rgb(255, 255, 255);"></span><span style="color: rgb(79, 79, 79); font-family: &quot;Microsoft YaHei&quot;, &quot;SF Pro Display&quot;, Roboto, Noto, Arial, &quot;PingFang SC&quot;, sans-serif; background-color: rgb(255, 255, 255);">二、在Local&nbsp;External&nbsp;Funtions中作如下的声明:</span></p><pre class="brush:delphi;toolbar:false">function&nbsp;int&nbsp;WSAStartup(&nbsp;uint&nbsp;UIVersionRequested,&nbsp;ref&nbsp;s_WSAData&nbsp;lpWSAData&nbsp;)&nbsp;&nbsp;library&nbsp;&quot;wsock32.dll&quot; &nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;int&nbsp;WSACleanup()&nbsp;library&nbsp;&quot;wsock32.dll&quot; &nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;int&nbsp;WSAGetLastError&nbsp;(&nbsp;)&nbsp;library&nbsp;&quot;wsock32.dll&quot; &nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;int&nbsp;gethostname&nbsp;(&nbsp;ref&nbsp;string&nbsp;name,&nbsp;int&nbsp;namelen&nbsp;)&nbsp;library&nbsp;&quot;wsock32.dll&quot; &nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;string&nbsp;GetHost(string&nbsp;lpszhost,&nbsp;ref&nbsp;blob&nbsp;lpszaddress&nbsp;)&nbsp;library&nbsp;&quot;pbws32.dll&quot;</pre><p><span style="color: rgb(79, 79, 79); font-family: &quot;Microsoft YaHei&quot;, &quot;SF Pro Display&quot;, Roboto, Noto, Arial, &quot;PingFang SC&quot;, sans-serif; background-color: rgb(255, 255, 255);"></span><span style="color: rgb(79, 79, 79); font-family: &quot;Microsoft YaHei&quot;, &quot;SF Pro Display&quot;, Roboto, Noto, Arial, &quot;PingFang SC&quot;, sans-serif; background-color: rgb(255, 255, 255);">三、使用方法:</span></p><pre class="brush:vb;toolbar:false;">s_wsadata &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;l_WSAData string ls_HostName&nbsp;=&nbsp;space(128)&nbsp;&nbsp;&nbsp; string ls_IpAddress int li_version&nbsp;=&nbsp;257 blob{4}&nbsp; lb_hostaddress&nbsp; IF&nbsp;wsastartup&nbsp;(&nbsp;li_version,&nbsp;l_WSAData&nbsp;)&nbsp;=&nbsp;0&nbsp;THEN IF&nbsp;gethostname&nbsp;(&nbsp;ls_HostName,&nbsp;len(ls_HostName)&nbsp;)&nbsp;&lt;&nbsp;0&nbsp;THEN messagebox(&quot;GetHostName&quot;,WSAGetLastError()) ELSE GetHost(ls_HostName,&nbsp;lb_HostAddress) ls_IpAddress&nbsp;=&nbsp;string(asc(string(blobmid(lb_HostAddress,1,1))),&quot;000&quot;)&nbsp;+&nbsp;&quot;.&quot; ls_IpAddress&nbsp;+=&nbsp;string(asc(string(blobmid(lb_HostAddress,2,1))),&quot;000&quot;)&nbsp;+&nbsp;&quot;.&quot; ls_IpAddress&nbsp;+=&nbsp;string(asc(string(blobmid(lb_HostAddress,3,1))),&quot;000&quot;)&nbsp;+&nbsp;&quot;.&quot; ls_IpAddress&nbsp;+=&nbsp;string(asc(string(blobmid(lb_HostAddress,4,1))),&quot;000&quot;) END&nbsp;IF WSACleanup() ELSE messagebox(&quot;GetHostName&quot;,WSAGetLastError()) END&nbsp;IF&nbsp; messagebox(&#39;ls_hostname:&nbsp;&#39;+ls_hostname,&#39;ls_ipaddress:&nbsp;&#39;+ls_ipaddress)</pre><pre class="brush:c#;toolbar:false">//函数名称:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;f_getip&nbsp; //调用方法:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;f_getip(ip_name)&nbsp; //参数说明:&nbsp;&nbsp;&nbsp;ip_name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;&nbsp;&nbsp;类型:integer&nbsp;&nbsp;&nbsp;含义:确定返回的结果(1:机名和IP地址,2:机名,3:IP地址,4:mac地址)&nbsp; //返回结果:&nbsp;&nbsp;&nbsp;string&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:由ip_name决定的反回结果&nbsp; //函数功能:&nbsp;&nbsp;&nbsp;得到本机的名和IP地址&nbsp; //设计者:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;时间:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //建立全局的结构s_wsadata&nbsp; //结构如下:&nbsp; //version&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unsignedinteger&nbsp; //highversion&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unsignedinteger&nbsp; //description[257]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;character&nbsp; //systemstatus[129]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;character&nbsp; //maxsockets&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unsignedinteger&nbsp; //maxupddg&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unsignedinteger&nbsp; //vendorinfo&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string&nbsp; //&nbsp;&nbsp;&nbsp;声明gloabe&nbsp;&nbsp;&nbsp;extern&nbsp;&nbsp;&nbsp;function&nbsp;&nbsp;&nbsp; //function&nbsp;&nbsp;&nbsp;int&nbsp;&nbsp;&nbsp;WSAStartup(&nbsp;&nbsp;&nbsp;uint&nbsp;&nbsp;&nbsp;UIVersionRequested,&nbsp;&nbsp;&nbsp;ref&nbsp;&nbsp;&nbsp;s_WSAData&nbsp;&nbsp;&nbsp;lpWSAData&nbsp;&nbsp;&nbsp;)&nbsp;&nbsp;&nbsp;library&nbsp;&nbsp;&nbsp;&quot;wsock32.dll&nbsp;&quot;&nbsp; //function&nbsp;&nbsp;&nbsp;int&nbsp;&nbsp;&nbsp;WSACleanup()&nbsp;&nbsp;&nbsp;library&nbsp;&nbsp;&nbsp;&quot;wsock32.dll&nbsp;&quot;&nbsp; //function&nbsp;&nbsp;&nbsp;int&nbsp;&nbsp;&nbsp;WSAGetLastError&nbsp;&nbsp;&nbsp;(&nbsp;&nbsp;&nbsp;)&nbsp;&nbsp;&nbsp;library&nbsp;&nbsp;&nbsp;&quot;wsock32.dll&nbsp;&quot;&nbsp; //function&nbsp;&nbsp;&nbsp;int&nbsp;&nbsp;&nbsp;gethostname&nbsp;&nbsp;&nbsp;(&nbsp;&nbsp;&nbsp;ref&nbsp;&nbsp;&nbsp;string&nbsp;&nbsp;&nbsp;name,&nbsp;&nbsp;&nbsp;int&nbsp;&nbsp;&nbsp;namelen&nbsp;&nbsp;&nbsp;)&nbsp;&nbsp;&nbsp;library&nbsp;&nbsp;&nbsp;&quot;wsock32.dll&nbsp;&quot;&nbsp; //function&nbsp;&nbsp;&nbsp;string&nbsp;&nbsp;&nbsp;GetHost(string&nbsp;&nbsp;&nbsp;lpszhost,&nbsp;&nbsp;&nbsp;ref&nbsp;&nbsp;&nbsp;blob&nbsp;&nbsp;&nbsp;lpszaddress&nbsp;&nbsp;&nbsp;)&nbsp;&nbsp;&nbsp;library&nbsp;&nbsp;&nbsp;&quot;pbws32.dll&nbsp;&quot;&nbsp;&nbsp;&nbsp; //Function&nbsp;Long&nbsp;GetMACAddress(Long&nbsp;lana,Ref&nbsp;Long&nbsp;addr[6])&nbsp;Library&nbsp;&nbsp;&quot;GetMAC.dll&quot; //Function&nbsp;Long&nbsp;GetLanaID(Ref&nbsp;Long&nbsp;lana[254])&nbsp;Library&nbsp;&nbsp;&quot;GetMAC.dll&quot; s_wsadata&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;l_WSAData&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ls_HostName&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;&nbsp;space(128)&nbsp; string&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ls_IpAddress&nbsp; int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;li_version&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;&nbsp;257&nbsp; blob{4}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lb_hostaddress&nbsp;&nbsp;&nbsp; //建立一个消息,基本的&nbsp;&nbsp;&nbsp;winsock&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;版本&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;版本号分为两部分,主版本号从版本号&nbsp; IF&nbsp;&nbsp;&nbsp;wsastartup&nbsp;&nbsp;&nbsp;(&nbsp;&nbsp;&nbsp;li_version,&nbsp;&nbsp;&nbsp;l_WSAData&nbsp;&nbsp;&nbsp;)&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;THEN&nbsp; //&nbsp;&nbsp;&nbsp;通过结构传递版本信息,类元素告诉我们版本信息。&nbsp; //messagebox(&nbsp;&quot;Winsock&nbsp;&nbsp;&nbsp;Version&nbsp;&quot;,&nbsp;&nbsp;&nbsp;l_WSAData.description&nbsp;&nbsp;&nbsp;)&nbsp; //获得当前主机的主机名称&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IF&nbsp;&nbsp;&nbsp;gethostname&nbsp;&nbsp;&nbsp;(&nbsp;&nbsp;&nbsp;ls_HostName,&nbsp;&nbsp;&nbsp;len(ls_HostName)&nbsp;&nbsp;&nbsp;)&nbsp;&nbsp;&nbsp;&lt;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;THEN&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;messagebox(&nbsp;&quot;GetHostName&nbsp;&quot;,WSAGetLastError())&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ELSE&nbsp; //通过主机名,调用dll函数取得ip_address的指针给pb&nbsp;&nbsp;&nbsp;blob&nbsp;&nbsp;&nbsp;变量,长度是4个字节。因为内部结构包括4个指&nbsp; //针,每一个指针指向ip_address的一部分,总共是4个字节&nbsp; //&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Messagebox(&nbsp;&quot;Hostname&nbsp;&quot;,&nbsp;&nbsp;&nbsp;ls_HostName)&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GetHost(ls_HostName,&nbsp;&nbsp;&nbsp;lb_HostAddress)&nbsp; //改变指针的获得ip_address构造ip地址&nbsp;&nbsp;&nbsp;27pbws32.dll&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ls_IpAddress&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;&nbsp;string(asc(string(blobmid(lb_HostAddress,1,1))),&nbsp;&quot;000&nbsp;&quot;)&nbsp;&nbsp;&nbsp;+&nbsp;&nbsp;&nbsp;&quot;.&nbsp;&quot;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ls_IpAddress&nbsp;&nbsp;&nbsp;+=&nbsp;&nbsp;&nbsp;string(asc(string(blobmid(lb_HostAddress,2,1))),&nbsp;&quot;000&nbsp;&quot;)&nbsp;&nbsp;&nbsp;+&nbsp;&nbsp;&nbsp;&quot;.&nbsp;&quot;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ls_IpAddress&nbsp;&nbsp;&nbsp;+=&nbsp;&nbsp;&nbsp;string(asc(string(blobmid(lb_HostAddress,3,1))),&nbsp;&quot;000&nbsp;&quot;)&nbsp;&nbsp;&nbsp;+&nbsp;&nbsp;&nbsp;&quot;.&nbsp;&quot;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ls_IpAddress&nbsp;&nbsp;&nbsp;+=&nbsp;&nbsp;&nbsp;string(asc(string(blobmid(lb_HostAddress,4,1))),&nbsp;&quot;000&nbsp;&quot;)&nbsp; //Messagebox(&nbsp;&quot;Ip&nbsp;&nbsp;&nbsp;Address&nbsp;&quot;,&nbsp;&nbsp;&nbsp;ls_IpAddress&nbsp;&nbsp;&nbsp;)&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;END&nbsp;&nbsp;&nbsp;IF&nbsp; //清除所建创的信息&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WSACleanup()&nbsp; ELSE&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;messagebox(&nbsp;&quot;GetHostName&nbsp;&quot;,WSAGetLastError())&nbsp; END&nbsp;&nbsp;&nbsp;IF&nbsp;&nbsp;&nbsp; long&nbsp;&nbsp;&nbsp;ll_mac[6]&nbsp; long&nbsp;&nbsp;&nbsp;ll_lana[254],ll_lananum&nbsp; integer&nbsp;&nbsp;&nbsp;ll_nub&nbsp; string&nbsp;&nbsp;&nbsp;ls_mac&nbsp; long&nbsp;&nbsp;&nbsp;ll_numb&nbsp; ll_lananum&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;&nbsp;GetLanaID(ll_lana)&nbsp; for&nbsp;&nbsp;&nbsp;ll_nub=1&nbsp;&nbsp;&nbsp;to&nbsp;&nbsp;&nbsp;ll_lananum&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;&nbsp;&nbsp;GetMacAddress(ll_lana[ll_nub],ll_mac)&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ls_mac=string(string(f_change_jz(ll_mac[1],16))+&nbsp;&#39;-&nbsp;&#39;+&amp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MessageBox(&nbsp;&quot;LANA&nbsp;&nbsp;&nbsp;&quot;&nbsp;&nbsp;&nbsp;+&nbsp;&nbsp;&nbsp;string(ll_lana[ll_nub]),&amp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string(ll_mac[1])+&nbsp;&quot;,&nbsp;&quot;&nbsp;&nbsp;&nbsp;+&nbsp;&nbsp;&nbsp;&amp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string(ll_mac[2])+&nbsp;&quot;,&nbsp;&quot;&nbsp;&nbsp;&nbsp;+&nbsp;&nbsp;&nbsp;&amp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string(ll_mac[3])+&nbsp;&quot;,&nbsp;&quot;&nbsp;&nbsp;&nbsp;+&nbsp;&nbsp;&nbsp;&amp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string(ll_mac[4])+&nbsp;&quot;,&nbsp;&quot;&nbsp;&nbsp;&nbsp;+&nbsp;&nbsp;&nbsp;&amp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string(ll_mac[5])+&nbsp;&quot;,&nbsp;&quot;&nbsp;&nbsp;&nbsp;+&nbsp;&nbsp;&nbsp;&amp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string(ll_mac[6]))&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end&nbsp;&nbsp;&nbsp;if&nbsp; next&nbsp; choose&nbsp;&nbsp;&nbsp;case&nbsp;&nbsp;&nbsp;ip_name&nbsp; case&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;&nbsp;&nbsp;&quot;本机名&nbsp;&quot;+&nbsp;&nbsp;&nbsp;ls_hostname+&nbsp;&quot;&nbsp;&nbsp;&nbsp;IP&nbsp;&nbsp;&nbsp;&quot;+ls_ipaddress+&nbsp;&quot;&nbsp;&nbsp;&nbsp;mac&nbsp;&nbsp;&nbsp;&quot;+ls_mac&nbsp; case&nbsp;&nbsp;&nbsp;2&nbsp; return&nbsp;&nbsp;&nbsp;&quot;本机名:&nbsp;&quot;+ls_hostname&nbsp; case&nbsp;&nbsp;&nbsp;3&nbsp; return&nbsp;&nbsp;&nbsp;&quot;IP地址:&nbsp;&quot;+ls_ipaddress&nbsp; case&nbsp;&nbsp;&nbsp;4&nbsp; return&nbsp;&nbsp;&nbsp;&quot;MAC地址:&nbsp;&quot;+ls_mac&nbsp; end&nbsp;&nbsp;&nbsp;choose</pre><p><br/></p>
2019/7/10 18:39:44(zgc) 抢沙发(0) powerbuilder
阅读全文

fastreport v6.4

<p>fast report vcl</p><hr/><p>2020-4-10&nbsp; 新增 FastReport 6.6.9<br/></p>
2019/7/9 17:50:06(zgc) 抢沙发(45) 个人作品
阅读全文
执行时间 0.1628 秒(s), 13 个查询