<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title><![CDATA[木子屋 - 其他]]></title>
<link>http://www.mzwu.com/</link>
<description><![CDATA[Dnawo&#39;s BLOG]]></description>
<language>zh-cn</language>
<copyright><![CDATA[Copyright 2005 PBlog3 v2.8]]></copyright>
<webMaster><![CDATA[service@mzwu.com(Dnawo)]]></webMaster>
<generator>PBlog2 v2.4</generator> 
<image>
	<title>木子屋</title>
	<url>http://www.mzwu.com/images/logos.gif</url>
	<link>http://www.mzwu.com/</link>
	<description>木子屋</description>
</image>

			<item>
			<link>http://www.mzwu.com/article.asp?id=5222</link>
			<title><![CDATA[SQL Server 2017 Express Advanced 详细安装图解教程]]></title>
			<author>service@mzwu.com(dnawo)</author>
			<category><![CDATA[其他]]></category>
			<pubDate>Tue,28 Apr 2026 23:14:21 +0800</pubDate>
			<guid>http://www.mzwu.com/default.asp?id=5222</guid>
		<description><![CDATA[云服务器配置不高，对数据库要求也不高，纯数据增删改查，豆包推荐安装SQL Server 2017 Express，说它是史上最轻量化、内存占用最低、CPU 消耗最少的版本。<br/><br/><img width="640" height="507" src="http://www.mzwu.com/pic/202604/066.jpg" border="0" alt=""/><br/><br/><img width="640" height="456" src="http://www.mzwu.com/pic/202604/057.jpg" border="0" alt=""/><br/><br/><img width="640" height="483" src="http://www.mzwu.com/pic/202604/058.jpg" border="0" alt=""/><br/><br/><img width="640" height="483" src="http://www.mzwu.com/pic/202604/059.jpg" border="0" alt=""/><br/><br/><img width="640" height="483" src="http://www.mzwu.com/pic/202604/060.jpg" border="0" alt=""/><br/><br/><i>Tips：功能选择这里，选择 数据库引擎服务 和 客户端工具连接 两项就够了。</i><br/><br/><img width="640" height="483" src="http://www.mzwu.com/pic/202604/061.jpg" border="0" alt=""/><br/><br/><i>Tips：实例配置这里，默认是选择 命名实例，建议改选 默认实例，前者使用动态端口，后期要用固定端口如1433需手动修改。</i><br/><br/><img width="640" height="483" src="http://www.mzwu.com/pic/202604/062.jpg" border="0" alt=""/><br/><br/><img width="640" height="483" src="http://www.mzwu.com/pic/202604/063.jpg" border="0" alt=""/><br/><br/><img width="640" height="483" src="http://www.mzwu.com/pic/202604/064.jpg" border="0" alt=""/><br/><br/><img width="640" height="483" src="http://www.mzwu.com/pic/202604/065.jpg" border="0" alt=""/><br/><br/>SQL Server 2017 Express Advanced默认无法远程连接，需在SQL Server 配置管理器 → SQL Server 网络配置 → 实例名的协议启用TCP/IP协议，然后在Windows防火墙和云服务器控制台添加对应端口才能进行远程连接。]]></description>
		</item>
		
			<item>
			<link>http://www.mzwu.com/article.asp?id=5220</link>
			<title><![CDATA[盘点｜通义灵码 &amp; TRAE SOLO 技术栈支持一览]]></title>
			<author>service@mzwu.com(dnawo)</author>
			<category><![CDATA[其他]]></category>
			<pubDate>Sun,26 Apr 2026 22:05:12 +0800</pubDate>
			<guid>http://www.mzwu.com/default.asp?id=5220</guid>
		<description><![CDATA[<img width="640" height="391" src="http://www.mzwu.com/pic/202604/051.jpg" border="0" alt=""/><br/><br/><strong>通义灵码</strong><br/><br/><span style="color:Brown">前端开发</span><br/>✅ HTML, CSS, Javascri&#112;t/TypeScript<br/>✅ React, Vue.js, Angular, Svelte<br/>✅ Next.js, Nuxt.js 等框架<br/><span style="color:Brown">后端开发</span><br/>✅ Node.js (Express, Koa, NestJS)<br/>✅ Python (Django, Flask, FastAPI)<br/>✅ Java (Spring Boot, Jakarta EE)<br/>✅ Go (Gin, Echo)<br/>✅ Ruby on Rails<br/>✅ PHP (Laravel, Symfony)<br/><span style="color:Brown">数据库</span><br/>✅ SQL (PostgreSQL, MySQL, SQLite)<br/>✅ NoSQL (MongoDB, Redis, Firebase)<br/><span style="color:Brown">移动开发</span><br/>✅ React Native, Flutter<br/>✅ iOS (Swift), Android (Kotlin/Java)<br/><span style="color:Brown">其他工具与平台</span><br/>✅ Git 版本控制<br/>✅ Docker, Kubernetes<br/>✅ AWS, Azure, Google Cloud 等云平台<br/>✅ Linux/Unix 命令行操作<br/><br/><img width="640" height="351" src="http://www.mzwu.com/pic/202604/052.jpg" border="0" alt=""/><br/><br/><strong>TRAE SOLO</strong><br/><br/><span style="color:Brown">编程语言</span><br/>✅ 前端: Javascri&#112;t、TypeScript、HTML/CSS、React、Vue、Angular<br/>✅ 后端: Python、Java、Go、Rust、C#、Node.js、PHP、Ruby<br/>✅ 移动端: React Native、Flutter、Swift、Kotlin<br/>✅ 脚本/工具: Bash/PowerShell、Python脚本<br/><span style="color:Brown">框架和库</span><br/>✅ Web框架: Next.js、Nuxt.js、Django、Flask、Spring Boot、Express、Koa<br/>✅ UI框架: Tailwind CSS、Material UI、Ant Design、Chakra UI<br/>✅ 状态管理: Redux、Zustand、Vuex、Pinia<br/>✅ o&#114;M: Prisma、Sequelize、TypeORM、Drizzle<br/><span style="color:Brown">数据库</span><br/>✅ 关系型: PostgreSQL、MySQL、SQLite、SQL Server<br/>✅ NoSQL: MongoDB、Redis、Cassandra、DynamoDB<br/>✅ 搜索引擎: Elasticsearch、MeiliSearch<br/><span style="color:Brown">DevOps &amp; 云服务</span><br/>✅ 容器化: Docker、Kubernetes<br/>✅ CI/CD: GitHub Actions、GitLab CI、Jenkins<br/>✅ 云平台: AWS、Azure、GCP、阿里云<br/>✅ 配置管理: Terraform、Pulumi<br/><span style="color:Brown">其他</span><br/>✅ API设计: REST、GraphQL、gRPC<br/>✅ 测试: Jest、Pytest、Playwright、Cypress<br/>✅ 构建工具: Webpack、Vite、esbuild、Turbo<br/>✅ 版本控制: Git]]></description>
		</item>
		
			<item>
			<link>http://www.mzwu.com/article.asp?id=5219</link>
			<title><![CDATA[Android Studio Java vs Kotlin 项目文件对比]]></title>
			<author>service@mzwu.com(dnawo)</author>
			<category><![CDATA[其他]]></category>
			<pubDate>Thu,23 Apr 2026 21:05:58 +0800</pubDate>
			<guid>http://www.mzwu.com/default.asp?id=5219</guid>
		<description><![CDATA[ Java + Groovy DSL：<br/><br/><img width="640" height="436" src="http://www.mzwu.com/pic/202604/043.jpg" border="0" alt=""/><br/><br/><img width="640" height="377" src="http://www.mzwu.com/pic/202604/044.jpg" border="0" alt=""/><br/><br/>Kotlin + Kotlin DSL：<br/><br/><img width="640" height="436" src="http://www.mzwu.com/pic/202604/045.jpg" border="0" alt=""/><br/><br/><img width="640" height="378" src="http://www.mzwu.com/pic/202604/046.jpg" border="0" alt=""/><br/><br/><i>AndroidX 和 LinearLayout</i>]]></description>
		</item>
		
			<item>
			<link>http://www.mzwu.com/article.asp?id=5218</link>
			<title><![CDATA[C#远程服务器屏幕截图RDP断开后句柄无效截图失败解决方法]]></title>
			<author>service@mzwu.com(dnawo)</author>
			<category><![CDATA[其他]]></category>
			<pubDate>Wed,22 Apr 2026 23:37:06 +0800</pubDate>
			<guid>http://www.mzwu.com/default.asp?id=5218</guid>
		<description><![CDATA[C#写了一个屏幕截图控制台应用程序，本地测试正常，传到远程服务器，RDP断开后提示句柄无效截图失败：<br/><br/><div class="UBBPanel codePanel"><div class="UBBTitle"><a onClick="copycode(code70286);" style="float:right;cursor: pointer;font-weight: normal; font-style: normal">复制内容到剪贴板</a><img src="http://www.mzwu.com/images/code.gif" style="margin:0px 2px -3px 0px;" alt="程序代码"/> 程序代码</div><div class="UBBContent" id=code70286>class Program<br/>{<br/>&nbsp;&nbsp;&nbsp;&nbsp;static void Main(string[] args)<br/>&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine(&#34;5秒后自动截图...\n&#34;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Thread.Sleep(5000);<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string savePath = AppDomain.CurrentDomain.BaseDirectory;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string fileName = $&#34;ScreenShot_{DateTime.Now:yyyyMMdd_HHmmss}.png&#34;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string fullPath = Path.Combine(savePath, fileName);<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Rectangle screenSize = Screen.PrimaryScreen.Bounds;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;using (Bitmap bitmap = new Bitmap(screenSize.Width, screenSize.Height))<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;using (Graphics graphics = Graphics.FromImage(bitmap))<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;graphics.CopyFromScreen(screenSize.X, screenSize.Y, 0, 0, screenSize.Size);<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;bitmap.Save(fullPath, System.Drawing.Imaging.ImageFormat.Png);<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;Console.WriteLine($&#34;✅ 截图成功！&#34;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;catch (Exception ex)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine($&#34;❌ 截图失败：{ex.Message}&#34;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.ReadKey();<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>}</div></div><br/>这是因为RDP 远程桌面关闭/最小化/断开连接后，Windows 会自动销毁远程桌面的交互式图形句柄，而原生的 Graphics.CopyFromScreen() 必须依赖可见的交互式桌面句柄，没有句柄就直接报错，改用 Windows 底层 GDI API 直接捕获显示器硬件画面可解决：<br/><br/><div class="UBBPanel codePanel"><div class="UBBTitle"><a onClick="copycode(code62000);" style="float:right;cursor: pointer;font-weight: normal; font-style: normal">复制内容到剪贴板</a><img src="http://www.mzwu.com/images/code.gif" style="margin:0px 2px -3px 0px;" alt="程序代码"/> 程序代码</div><div class="UBBContent" id=code62000>class Program<br/>{<br/>&nbsp;&nbsp;&nbsp;&nbsp;// ====================== Windows底层API核心（解决RDP句柄问题）======================<br/>&nbsp;&nbsp;&nbsp;&nbsp;[DllImport(&#34;gdi32.dll&#34;)]<br/>&nbsp;&nbsp;&nbsp;&nbsp;private static extern bool BitBlt(IntPtr hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, IntPtr hdcSrc, int nXSrc, int nYSrc, int dwRop);<br/>&nbsp;&nbsp;&nbsp;&nbsp;[DllImport(&#34;user32.dll&#34;)]<br/>&nbsp;&nbsp;&nbsp;&nbsp;private static extern IntPtr GetDesktopWindow();<br/>&nbsp;&nbsp;&nbsp;&nbsp;[DllImport(&#34;user32.dll&#34;)]<br/>&nbsp;&nbsp;&nbsp;&nbsp;private static extern IntPtr GetWindowDC(IntPtr hWnd);<br/>&nbsp;&nbsp;&nbsp;&nbsp;[DllImport(&#34;user32.dll&#34;)]<br/>&nbsp;&nbsp;&nbsp;&nbsp;private static extern int ReleaseDC(IntPtr hWnd, IntPtr hDC);<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;static void Main(string[] args)<br/>&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine(&#34;5秒后自动截图...\n&#34;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Thread.Sleep(5000);<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string saveDir = AppDomain.CurrentDomain.BaseDirectory;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string fileName = $&#34;ScreenShot_{DateTime.Now:yyyyMMdd_HHmmss}.png&#34;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string savePath = Path.Combine(saveDir, fileName);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CaptureScreen(savePath);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine(&#34;✅ 截图成功！&#34;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;catch (Exception ex)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine($&#34;❌ 失败：{ex.Message}&#34;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.ReadKey();<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;/// 底层GDI截图（解决RDP句柄无效问题）<br/>&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;private static void CaptureScreen(string savePath)<br/>&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 获取整个桌面窗口句柄<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IntPtr desktopWnd = GetDesktopWindow();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IntPtr dc = GetWindowDC(desktopWnd);<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 获取屏幕分辨率<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int width = Screen.PrimaryScreen.Bounds.Width;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int height = Screen.PrimaryScreen.Bounds.Height;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;using (Bitmap bmp = new Bitmap(width, height))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;using (Graphics g = Graphics.FromImage(bmp))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IntPtr hdc = g.GetHdc();<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;BitBlt(hdc, 0, 0, width, height, dc, 0, 0, 0x00CC0020);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.ReleaseHdc(hdc);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bmp.Save(savePath, ImageFormat.Png);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ReleaseDC(desktopWnd, dc);<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>}</div></div><br/>这回不报错了，但又出现新的问题，RDP断开截的图是空白的，这是 Windows 服务器的会话隔离机制导致的，系统默认会在你关闭远程桌面后，彻底停止渲染图形界面，所有普通截图方法都会截到纯黑 / 空白画面，使用tscon命令强制把远程会话切换到管理员控制台，保留图形界面渲染即可：<br/><br/><div class="UBBPanel codePanel"><div class="UBBTitle"><a onClick="copycode(code39973);" style="float:right;cursor: pointer;font-weight: normal; font-style: normal">复制内容到剪贴板</a><img src="http://www.mzwu.com/images/code.gif" style="margin:0px 2px -3px 0px;" alt="程序代码"/> 程序代码</div><div class="UBBContent" id=code39973>@echo off<br/>:: 将当前RDP会话无缝切换到管理员控制台<br/>:: 保持会话后台锁定但活动，图形渲染不中断<br/>for /f &#34;skip=1 tokens=3&#34; %%s in (&#39;query user %USERNAME%&#39;) do (<br/>&nbsp;&nbsp;%windir%\System32\tscon.exe %%s /dest:console<br/>)</div></div><br/><i>Tips：运行 tscon 命令本地 RDP 窗口会自动关闭，但远程会话会保持在控制台状态，图形渲染继续运行。</i>]]></description>
		</item>
		
			<item>
			<link>http://www.mzwu.com/article.asp?id=5217</link>
			<title><![CDATA[.NET Framework 版本和 C# 版本对应关系表]]></title>
			<author>service@mzwu.com(dnawo)</author>
			<category><![CDATA[其他]]></category>
			<pubDate>Wed,22 Apr 2026 01:02:10 +0800</pubDate>
			<guid>http://www.mzwu.com/default.asp?id=5217</guid>
		<description><![CDATA[<img width="640" height="513" src="http://www.mzwu.com/pic/202604/039.png" border="0" alt=""/><br/><br/><img width="640" height="376" src="http://www.mzwu.com/pic/202604/040.png" border="0" alt=""/><br/><br/>👉 .NET 5 起统一命名，取代 .NET Framework + .NET Core，全平台支持。<br/><br/><img width="640" height="485" src="http://www.mzwu.com/pic/202604/041.png" border="0" alt=""/><br/><br/><img width="640" height="226" src="http://www.mzwu.com/pic/202604/042.png" border="0" alt=""/><br/><br/>👉 原 .NET Core，.NET 5 起统一命名，默认不随 Windows 系统安装，需手动下载安装。]]></description>
		</item>
		
			<item>
			<link>http://www.mzwu.com/article.asp?id=5216</link>
			<title><![CDATA[Android版本和API级别对应关系表]]></title>
			<author>service@mzwu.com(dnawo)</author>
			<category><![CDATA[其他]]></category>
			<pubDate>Wed,22 Apr 2026 00:58:30 +0800</pubDate>
			<guid>http://www.mzwu.com/default.asp?id=5216</guid>
		<description><![CDATA[<img width="640" height="1251" src="http://www.mzwu.com/pic/202604/038.png" border="0" alt=""/>]]></description>
		</item>
		
			<item>
			<link>http://www.mzwu.com/article.asp?id=5215</link>
			<title><![CDATA[Android Studio生成签名文件生成正式发布版 release 包图解]]></title>
			<author>service@mzwu.com(dnawo)</author>
			<category><![CDATA[其他]]></category>
			<pubDate>Mon,20 Apr 2026 11:22:15 +0800</pubDate>
			<guid>http://www.mzwu.com/default.asp?id=5215</guid>
		<description><![CDATA[以android-studio-2023.1.1.27-windows为例，打开菜单Build&gt;Generate Signed Bundle/APK...，即可开始生成签名文件并生成正式发布版 release 包：<br/><br/><img src="http://www.mzwu.com/pic/202604/028.jpg" border="0" alt=""/><br/><br/><img src="http://www.mzwu.com/pic/202604/029.jpg" border="0" alt=""/><br/><br/><img src="http://www.mzwu.com/pic/202604/030.jpg" border="0" alt=""/><br/><br/><img src="http://www.mzwu.com/pic/202604/031.jpg" border="0" alt=""/><br/><br/><img src="http://www.mzwu.com/pic/202604/032.jpg" border="0" alt=""/><br/><br/><img src="http://www.mzwu.com/pic/202604/033.jpg" border="0" alt=""/><br/><br/><img src="http://www.mzwu.com/pic/202604/034.jpg" border="0" alt=""/><br/><br/><i>Tips：正式发布版的APK文件名名带有release，统一为：app-release.apk。</i>]]></description>
		</item>
		
			<item>
			<link>http://www.mzwu.com/article.asp?id=5214</link>
			<title><![CDATA[一张图说清Android Studio项目树结构]]></title>
			<author>service@mzwu.com(dnawo)</author>
			<category><![CDATA[其他]]></category>
			<pubDate>Mon,20 Apr 2026 11:11:22 +0800</pubDate>
			<guid>http://www.mzwu.com/default.asp?id=5214</guid>
		<description><![CDATA[<img width="640" height="682" src="http://www.mzwu.com/pic/202604/037.jpg" border="0" alt=""/>]]></description>
		</item>
		
			<item>
			<link>http://www.mzwu.com/article.asp?id=5212</link>
			<title><![CDATA[Windows 10 自带的截图工具 (Snipping Tool)和截图和草图 (Snip &amp; Sketch)比较]]></title>
			<author>service@mzwu.com(dnawo)</author>
			<category><![CDATA[其他]]></category>
			<pubDate>Tue,14 Apr 2026 21:57:24 +0800</pubDate>
			<guid>http://www.mzwu.com/default.asp?id=5212</guid>
		<description><![CDATA[Windows 10 自带有两个截图工具：截图工具 (Snipping Tool)和截图和草图 (Snip &amp; Sketch)，两个工具都支持矩形截图、窗口截图、全屏截图和自由形状截图，也都有延迟截图功能。Windows 11 中已淘汰截图工具，并将截图和草图更名为 &#34;截图工具&#34;。<br/><br/><strong>截图工具 (Snipping Tool)</strong><br/><br/><img src="http://www.mzwu.com/pic/202604/047.jpg" border="0" alt=""/><br/><br/><img width="640" height="549" src="http://www.mzwu.com/pic/202604/048.jpg" border="0" alt=""/><br/><br/><strong>截图和草图 (Snip &amp; Sketch)</strong><br/><br/>截图和草图 (Snip &amp; Sketch)拥有全局快捷键：Win+Shift+S，无论当前激活哪个窗口都能快速调用，屏幕顶部会出现临时工具条。<br/><br/><img src="http://www.mzwu.com/pic/202604/049.jpg" border="0" alt=""/><br/><br/><img width="640" height="506" src="http://www.mzwu.com/pic/202604/050.jpg" border="0" alt=""/><br/><br/>附：Firefox 也自带有截图工具，无需安装任何扩展，按Ctrl+Shift+S即可开始截图：<br/><br/><img width="640" height="289" src="http://www.mzwu.com/pic/202604/025.jpg" border="0" alt=""/><br/><br/><img width="640" height="292" src="http://www.mzwu.com/pic/202604/026.jpg" border="0" alt=""/>]]></description>
		</item>
		
			<item>
			<link>http://www.mzwu.com/article.asp?id=5211</link>
			<title><![CDATA[扣子编程平台（Expo + React Native）开发安卓应用功能清单]]></title>
			<author>service@mzwu.com(dnawo)</author>
			<category><![CDATA[其他]]></category>
			<pubDate>Mon,13 Apr 2026 22:21:43 +0800</pubDate>
			<guid>http://www.mzwu.com/default.asp?id=5211</guid>
		<description><![CDATA[<img src="http://www.mzwu.com/pic/202604/024.jpg" border="0" alt=""/><br/><br/>扣子编程使用Expo + React Native开发移动应用，开发的应用会有一些功能限制，具体如下：<br/><br/><strong>一、可以实现的功能</strong><br/><br/>🎯 核心应用功能<br/>✅ UI 界面开发：所有常见 UI 组件（列表、表单、图表、动画等）<br/>✅ 多页面导航：Tab 导航、Stack 导航、Modal 弹窗<br/>✅ 数据持久化：本地存储（AsyncStorage）、数据库（Supabase）<br/>✅ 网络请求：HTTP/HTTPS API 调用、WebSocket、SSE<br/>✅ 文件上传 / 下载：图片、视频、音频文件上传下载<br/>✅ 扫码功能：二维码 / 条形码扫描<br/>📱 硬件访问（部分支持）<br/>✅ 相机：拍照、录制视频<br/>✅ 相册：选择图片 / 视频<br/>✅ 地理位置：获取当前位置、地理编码<br/>✅ 震动反馈：触觉反馈<br/>✅ 传感器：加速度计、陀螺仪、磁力计<br/>✅ 音频：录音、播放音频<br/>✅ 蓝牙：蓝牙设备连接（有限支持）<br/>✅ NFC：近场通信（需要插件）<br/>✅ 生物识别：指纹 / 面部识别（Android 设备）<br/>🎨 多媒体功能<br/>✅ 图片处理：图片裁剪、滤镜、压缩<br/>✅ 视频播放：视频播放器<br/>✅ 音频播放：音乐 / 音效播放<br/>✅ 动画：复杂动画效果、手势动画<br/>✅ SVG 绘图：矢量图形、图表<br/>🔧 系统集成<br/>✅ 分享功能：分享到其他应用<br/>✅ 打开链接：在浏览器中打开 URL<br/>✅ 深色模式：跟随系统主题切换<br/>✅ 屏幕方向：横屏 / 竖屏锁定<br/>✅ 状态栏：自定义状态栏样式<br/>✅ 键盘处理：键盘避让、监听键盘事件<br/>🤖 AI 能力<br/>✅ 大语言模型：集成豆包、DeepSeek、Kimi 等<br/>✅ 图像生成：AI 生成图片<br/>✅ 语音识别：语音转文字（ASR）<br/>✅ 语音合成：文字转语音（TTS）<br/>✅ 图像识别：OCR、物体识别<br/>✅ 视频处理：视频生成、剪辑<br/>💾 数据存储<br/>✅ 本地存储：AsyncStorage（键值对存储）<br/>✅ 数据库：Supabase（PostgreSQL）<br/>✅ 对象存储：S3 兼容存储（图片、视频）<br/>✅ 知识库：向量数据库（语义搜索）<br/>✅ 文件系统：读写本地文件<br/>🔐 安全与权限<br/>✅ 权限管理：相机、位置、存储等权限申请<br/>✅ 加密：数据加密（expo-crypto）<br/>✅ 安全存储：敏感数据存储（有限支持）<br/>✅ 认证：OAuth、Token 管理<br/>🌐 网络功能<br/>✅ HTTP/HTTPS：RESTful API 调用<br/>✅ WebSocket：实时通信<br/>✅ SSE：服务器推送事件<br/>✅ GraphQL：GraphQL 查询<br/>✅ WebRTC：音视频通话（有限支持）<br/><br/><strong>二、不能实现的功能（或需要特殊处理）</strong><br/><br/>🚫 底层系统功能<br/>❌ 原生插件开发：无法直接开发原生模块（Java/Kotlin）<br/>❌ 系统设置修改：修改系统设置（WiFi、蓝牙设置等）<br/>❌ 后台服务：长期运行的后台服务（超过 30 分钟）<br/>❌ 系统级通知：自定义系统通知栏（部分支持）<br/>❌ 桌面小组件：Home Screen Widget<br/>❌ 系统级快捷方式：Dynamic Shortcuts（有限支持）<br/>🚫 硬件访问（受限）<br/>❌ 通话功能：拨打电话、通话录音<br/>❌ 短信功能：发送 / 接收短信<br/>❌ 联系人：访问系统通讯录（需要 Prebuild）<br/>❌ 日历：访问 / 修改系统日历（需要 Prebuild）<br/>❌ 闹钟：设置系统闹钟<br/>❌ 根文件系统：访问根目录（/system/ 等）<br/>🚫 高级硬件功能<br/>❌ NFC 高级功能：复杂 NFC 读写（需要原生代码）<br/>❌ USB 外设：USB 设备通信<br/>❌ 串口通信：Serial Port 通信<br/>❌ 红外功能：红外遥控<br/>❌ 相机底层：直接访问相机硬件参数<br/>🚫 系统级功能<br/>❌ 应用内购买：Google Play 计费（需要额外配置）<br/>❌ 推送通知：Firebase 推送（需要 Prebuild + 额外配置）<br/>❌ 地图 SDK：Google Maps、高德地图（需要 API Key + Prebuild）<br/>❌ 社交登录：Google、Facebook 登录（需要额外配置）<br/>❌ 第三方登录：微信、支付宝登录（需要原生 SDK）<br/>🚫 性能优化功能<br/>❌ 性能调优：CPU/GPU 调优、内存优化<br/>❌ Native 代码：直接编写 C/C++ 代码<br/>❌ NDK 开发：使用 Android NDK<br/>❌ 多进程：多进程架构<br/>🚫 安全功能<br/>❌ Root 检测：检测设备是否 Root（有限支持）<br/>❌ 加密容器：类似 iOS Keychain 的安全存储<br/>❌ 证书锁定：SSL Pinning（需要原生代码）<br/>❌ 反调试：防止调试器攻击<br/>🚫 特殊场景<br/>❌ AR/VR：高级 AR/VR 应用（需要原生 SDK）<br/>❌ 游戏引擎：Unity、Unreal 集成<br/>❌ 硬件加速：GPU Shader 开发<br/>❌ 系统级动画：复杂的系统级动画<br/><br/>✅ <strong>一句话，适合用扣子平台开发的应用类型：</strong><br/><br/>🛠️ 工具类应用<br/>✅ 计算器、日历、记事本<br/>✅ 查询工具（天气、汇率、快递）<br/>✅ 小游戏（休闲游戏）<br/>📖 内容展示类应用<br/>✅ 新闻阅读、博客<br/>✅ 产品展示、电商<br/>✅ 教育内容<br/>🤖 AI 驱动应用<br/>✅ AI 助手、聊天机器人<br/>✅ 图像生成、图像识别<br/>✅ 语音交互应用<br/>🏢 企业应用<br/>✅ 内部管理系统<br/>✅ 数据看板、报表<br/>✅ 客户管理、订单系统<br/>💬 社交类应用<br/>✅ 社区论坛<br/>✅ 即时通讯（基础功能）<br/>✅ 内容分享<br/><br/>❌ <strong>一句话，不适合用扣子平台开发的应用类型：</strong><br/><br/>🖥️系统级应用<br/>❌系统工具（文件管理器、任务管理器）<br/>❌系统优化工具<br/>❌安全工具<br/>🔌硬件深度集成应用<br/>❌NFC 支付<br/>❌蓝牙设备管理<br/>❌物联网控制<br/>🎮游戏应用<br/>❌3D 游戏<br/>❌大型游戏<br/>❌需要高性能的游戏<br/>🏢复杂的企业应用<br/>❌需要复杂集成的 CRM/ERP<br/>❌需要硬件加密的金融应用<br/>❌需要第三方 SDK 深度集成的应用<br/><br/><i>Tips：使用Expo + React Native开发移动应用，部署后生成的APK会比较大，基本100M+。</i>]]></description>
		</item>
		
</channel>
</rss>
