我们今天要聊的内容主要桌面开发四个方面:Windows平台、.NET Core 3 平台上的WPF,Winform, 应用打包解决方案 MSIX 和 XAML 群岛访问原来UWP的控件,让我们的应用程序迅速现代化。
我们都知道对于桌面应用开发来说,人们常用的方式就是采用c++或者c#,java等进行开发,然而这些语言开发效率不够高,不如网页开发灵活。因此,人们思考能否采用html+css+js的方式来开发桌面客户端呢,于是人们就提出了混合开发概念,并且开发了electron框架进行桌面开发。
今天为大家介绍一款基于.NET Core运行时实现的Windows HOOK库,CoreHook。
如上图所示,这个 App 就只有一个按钮,点击后假装开始 Windows Update,然后用户就可以光明正大地摸鱼了。
.NET 应用程序是为 .NET 的一个或多个实现开发并在其中运行的。.NET 的实现包括 .NET Framework、.NET 5(和 .NET Core)和 Mono。.NET 的多个实现有一个通用的 API 规范,称为 .NET Standard。本文简要介绍了这些概念中的每一个。 .NET 标准 .NET Standard 是一组由 .NET 实现的基类库实现的 API。更正式地说,它是 .NET API 的规范,它构成了您编译代码所依据的统一契约集。这些契约在多个 .NET 实现中实现。 .NET Standard 是一个目标框架。如果您的代码以 .NET Standard 版本为目标,则它可以在支持该 .NET Standard 版本的任何 .NET 实现上运行。 .NET Standard 的创建是为了在不同的 .NET 实现之间实现可移植性,但现在 .NET 5 提供了一种更好的方式来跨多个平台和工作负载共享代码。有关详细信息,请参阅.NET 5 和 .NET Standard。 .NET 实现 .NET 的每个实现都包括以下组件: 一个或多个运行时。示例:.NET Framework CLR、.NET 5 CLR。 一个类库。示例:.NET Framework 基类库、.NET 5 基类库。 可选地,一个或多个应用程序框架。示例:ASP.NET、Windows Forms和Windows Presentation Foundation (WPF)包含在 .NET Framework 和 .NET 5 中。 可选的,开发工具。一些开发工具在多个实现之间共享。 Microsoft 支持四种 .NET 实现: .NET 5(和 .NET Core)及更高版本 .NET 框架 单核细胞增多症 UWP .NET 5 现在是主要实现,也是持续开发的重点。.NET 5 基于单一代码库构建,该代码库支持多个平台和许多工作负载,例如 Windows 桌面应用程序和跨平台控制台应用程序、云服务和网站。 .NET 5 .NET 5 是 .NET 的跨平台实现,旨在大规模处理服务器和云工作负载。它还支持其他工作负载,包括桌面应用程序。它在 Windows、macOS 和 Linux 上运行。它实现了 .NET Standard,因此面向 .NET Standard 的代码可以在 .NET 5 上运行。ASP.NET Core、Windows Forms和Windows Presentation Foundation (WPF)都可以在 .NET 5 上运行。 有关更多信息,请参阅以下资源: .NET介绍 在 .NET 5 和 .NET Framework 之间为服务器应用选择 .NET 5 和 .NET 标准 .NET 框架 .NET Framework 是自 2002 年以来一直存在的原始 .NET 实现。4.5 版及更高版本实现了 .NET Standard,因此面向 .NET Standard 的代码可以在这些版本的 .NET Framework 上运行。它包含其他特定于 Windows 的 API,例如用于使用 Windows 窗体和 WPF 进行 Windows 桌面开发的 API。.NET Framework 已针对构建 Windows 桌面应用程序进行了优化。 有关详细信息,请参阅.NET Framework 指南。 单核细胞增多症 Mono 是一种 .NET 实现,主要用于需要小型运行时。它是为 Android、macOS、iOS、tvOS 和 watchOS 上的 Xamarin 应用程序提供支持的运行时,并且主要专注于小空间。Mono 还支持使用 Unity 引擎构建的游戏。 它支持所有当前发布的 .NET Standard 版本。 从历史上看,Mono 实现了 .NET Framework 的更大 API,并在 Unix 上模拟了一些最流行的功能。它有时用于在 Unix 上运行依赖于这些功能的 .NET 应用程序。 Mono 通常与即时编译器一起使用,但它也具有在 iOS 等平台上使用的完整静态编译器(提前编译)。 有关更多信息,请参阅Mono 文档。 通用 Windows 平台 (UWP) UWP 是 .NET 的一种实现,用于为物联网 (IoT) 构建现代的、支持触控的 Windows 应用程序和软件。它旨在统一您可能想要定位的不同类型的设备,包括 PC、平板电脑、手机,甚至 Xbox。UWP 提供了许多服务,例如集中式应用程序商店、执行环境 (AppContainer) 和一组 Windows API,以代替 Win32 (WinRT) 使用。应用程序可以用 C++、C#、Visual Basic 和 JavaScript 编写。 有关详细信息,请参阅通用 Win
发布于 2018-06-24 06:39 更新于 2018-08-03 23:09
基于Robot Framework、Jenkins、Appium、Selenium、Requests、AutoIt等开源框架和技术,成功打造了通用自动化测试持续集成管理平台(以下简称“平台”),显著提高了测试质量和测试用例的执行效率。
我们都知道.NET Core是一个可以用来构建现代、可伸缩和高性能的跨平台软件应用程序的通用开发框架。可用于为Windows、Linux和MacOS构建软件应用程序。与其他软件框架不同,.NET Core是最通用的框架,可用于构建各种软件,包括Web应用程序、移动应用程序、桌面应用程序、云服务、微服务、API、游戏和物联网应用程序。与其他框架不同,.NET Core并不局限于单一的编程语言,它支持C#、VB.NET、F#、XAML和TypeScript。这些编程语言都是开源的,由独立的社区管理。
在今天的微软Build Live大会上,微软.Net Core团队公开了.net Core3的开发计划的预览。.Net Core 3 的亮点是支持Windows桌面应用程序,特别是Windows窗体、Windows Presentation Framework (WPF)和UWP XAML。您将能够在. net Core上运行新的和现有的Windows桌面应用程序,并能享受.Net Core提供的所有好处。
选择自己需要的版本下载,根据经验先下载种子文件(torrent)再用迅雷下载网速是最有保证的。
前面一篇我们介绍了 Adaptive Cards 的基础知识,而在 Windows Developer Day 的 Modern Application Experience 环节,还有一个需要划重点
近期,微软今天提醒Windows用户,他们将会在今年6月份从部分win10版本里淘汰Internet Explorer浏览器,取而代之的是基于Chromium的Microsoft Edge浏览器。不过淘汰Internet Explorer后,微软仍将通过内置的Internet Explorer模式(IE 模式)功能支持Microsoft Edge中基于Internet Explorer的旧网站和应用程序。
在微软 Build 2020 开发者大会上,WinUI 团队宣布可公开预览的 WinUI 3 Preview 1,它让开发人员可以在 Win32 中使用 WinUI。WinUI 3 Preview 1 包含新的 VisualStudio 项目模板,可以创建面向 .NET 5 的 C# 和 C++/Win32 项目。从技术上讲,WinUI 3 将 UWP 的 XAML、Composition 和 Input 层分离,并通过NuGet将它们独立分发给针对Windows 10 版本 1803 及更高版本的 Win32 应用。
大家好,今天给大家介绍一款Windows桌面自动化测试工具:WinAppDriver。
昨天升级了一下 VS2017 到最新版本,发现创建项目的向导有了很大的变化,以前创建 Win32项目 的菜单不见了,取而代之的是 Windows桌面应用程序 和 Windows桌面向导。如下图所示:
找了很多手机投屏电脑的工具,都不是很理想。包括Mac自带的QuickTime Player,功能虽然强大,不仅可以用来播放视频,还可以录制影片(包括手机投屏)、音频、电脑屏幕,但是使用起来不方便。偶然发现一款不错的投屏工具,分享给大家!
Windows10X 和 Windows10 有什么区别?当这个问题摆在我面前的时候,我就脱口而出:区别?双屏了呗!
---- 新智元报道 来源:github 编辑:LRS 【新智元导读】UWP是windows平台下开发可视化程序的一种常用工具,github上Rufus作者的吐槽,引发了reddit网友对UWP的口诛笔伐,甚至有网友称还不如上古时期的工具。 Rufus是一个工具能够帮助格式化和创建启动盘的工具,在Github上拥有一万五千颗星星。 这个仓库创始人对UWP的一番言论引发了广大网友的争议。 UWP 是 Universal Windows Platform (app) 的简称,是win10平台下开发可
一直使用Python做自动化测试,近期遇到了要对桌面端软件即windowsGUI进行自动化测试。Python的GUI自动化测试工具有很多,但是都有不同的侧重点。本次会详细说明为啥选择uiautomation来做测试。
在成为继苹果后全球第二家市值超过 2 万亿美元的公司后,北京时间昨日晚间,Windows 11 重磅发布。
一提到自动化,可能大家想到的是 App 端的 Appium、Airtest、AutoJS,亦或是 Selenium、Puppeteer、Cypress 等 Web 端的自动化框架
版权声明:原创不易,多多珍惜 https://blog.csdn.net/wonaixiaoshenshen/article/details/88744534
启动系统自带的放大镜程序,我们会发现即便进了 Windows 8 的开始屏幕,或打开了 Windows 10 的开始菜单和消息中心,它也依然显示在最顶层。如果你为任务管理器开启置顶效果,你会发现它也能显示到开始屏幕的顶层。这是怎么做到的呢?
最近公司开发了一款基于PC端的桌面应用程序,需要进行自动化测试,避免重复的点工。为此,也在网上找了一些资料,都不符合当前需求,最终决定参考网上资料,使用python语言去实现。
在使用 dotnet core 3.1 的 WPF 打包为 UWP 应用的时候,如果没有设置 PublishProfiles 那么将会在构建 x64 提示所生成项目的处理器架构“AMD64”与引用的处理器架构“x86”不匹配
本文告诉大家如何在 WPF 中应用上 UWP 的笔迹控件,从而实现性能超级高的笔迹应用的方法
前言 谈起“消息机制”这个词,我们都会想到Windows的消息机制,系统将键盘鼠标的行为包装成一个Windows Message,然后系统主动将这些Windows Message派发给特定的窗口,实际上消息是被Post到特定窗口所在线程的消息队列,应用程序的消息循环再不断的从消息队列当中获取消息,然后再派发给特定窗口类的窗口过程来处理,在窗口过程中完成一次用户交互。 其实,WPF的底层也是基于Win32的消息系统,那么对于WPF应用程序来说,它是如何跟Win32的消息交互,这里到底存在一个什么样的机制?接下
在我开发过的android应用中,大多都需要和 远程服务端 进行交互,需要从服务端获得数据或者上传数据。 那样我们的app(android 应用程序,以下简写)直接访问互联网上的服务器。 当然有wifi的时候,我们就连接wifi路由,再接入服务端。图示如下:
本案例因为start方法无法启动应用程序,所以我这里使用了os.system去启动的应用程序
6月27日消息,Microsoft信仰中心昨日发布微博称:微软打算重新拥抱安卓,即将发布的 Windows Lite 系统将引入安卓应用以及安卓应用商店支持,Windows Lite 除了需要 UWP 和 Win32 App,同样也需要安卓应用!
好了,前面两篇铺垫了一些内容,这周终于进行这个话题的核心内容了,就是对于跨平台桌面来说,Electron与WebView2这两个非常类似的技术方案究竟哪个更合适?
从Windows Vista之后,desktop composition的部分就由Desktop Window Manager完成了(当然是启用Aero的情况下,Windows 8起DWM是必须开启的)
简单说这个 WS_EX_NOREDIRECTIONBITMAP 样式是 Win8 提供的,用来做画面图层混合的功能。什么是画面图层混合功能?详细请看为何使用 DirectComposition
本文将介绍 Windows 系统中高 DPI 开发的基础知识。由于涉及到坐标转换,这种转换经常发生在计算的不知不觉中;所以无论你使用哪种 Windows 下的 UI 框架进行开发,你都需要了解这些内容,以免不断踩坑。
发布于 2018-08-05 13:48 更新于 2018-09-01 00:15
本系列博文几乎没有难啃的“专业术语”,尽量让读者能够看明白文章所述内容,是本系列博文的核心宗旨之一。(由于本人也是由于项目需要,所以才来查阅相关资料,文中出现的错误欢迎指出,共同进步!谢谢!)
今日洞见 文章作者/配图来自ThoughtWorks:陈计节。 本文所有内容,包括文字、图片和音视频资料,版权均属ThoughtWorks公司所有,任何媒体、网站或个人未经本网协议授权不得转载、链接、转贴或以其他方式复制发布/发表。已经本网协议授权的媒体、网站,在使用时必须注明"内容来源:ThoughtWorks洞见",并指定原文链接,违者本网将依法追究责任。 在最近的开发者大会(Build 2016)上,微软面向开发者分享了一系列更新。对于一名开发者来说,整个三天的内容,可以说是惊喜连连,令人激动不已。可
几乎所有国内的 UWP 开发者都知道,在国内开发 UWP 应用最大的问题不在于那么多系统的适配和不断修改的 API 接口,而是用户根本无法下载安装应用。在国内除非能掌握入口,否则想要将 UWP 开发应用在商业团队是很难的。刚好我所在的团队能将硬件设备直接给到用户,此时预装的系统里面就可以带上自主开发的 UWP 应用,解决了用户无法在应用商店安装应用的坑。但是大多数的团队都不能这样做,同时我的团队如果只是依靠硬件设备预装,那么会限制用户量。本文告诉大家如何使用传统的方法,将 UWP 作为 win32 应用安装包方法分发给用户安装
我想要将一个 WPF 应用打包为 UWP 应用,然后用我自己的商店发布,在做 UWP 安装包的小伙伴会问如何和 nsis 一样添加防火墙例外
本文介绍如何使用 .NET 标准,更容易地实现向 .NET Core 迁移。文中会讨论计划包含的 APIs,跨构架兼容性如何工作以及这对 .NET Core 意味着什么。 如果你对细节感兴趣,这篇文章正是为你准备的;如果你没有那么多时间或者对细节并不感兴趣,你可以仅仅只阅读 TL;DR 章节。 TL;DR 对于跨平台的 .NET 开发者来说,.NET 标准解决了编码共享的问题。.NET 标准带来了所有你所需要的和期待的,跨环境的 APIs:桌面应用,移动应用/游戏和云服务。 .NET 标准是一组所有 .NE
关于Electron这个框架我就不多介绍,它说白了就是Node和Chromium内核的一种封装。用它开发出来的桌面应用程序其实就是套壳浏览器的应用,这就是为什么它可以用web前端技术来开发,并且可以跨平台的原因了。
摘要 在目前流行的Windows操作系统中,设备驱动程序是操纵硬件的最底层软件接口。为了共享在设备驱动程序设计过程中的经验,给出设备驱动程序通知应用程序的5种方法,详细说明每种方法的原理和实现过程,并给出实现的部分核心代码。希望能够给设备驱动程序的设计者提供一些帮助。
目录 WPF的消息机制(一)-让应用程序动起来 WPF的消息机制(二)-WPF内部的5个窗口 (1)隐藏消息窗口 (2)处理激活和关闭的消息的窗口和系统资源通知窗口 (3)用于用户交互的可见窗口 (4)用于UI窗口绘制的可见窗口 WPF的消息机制(三)-WPF输入事件的来源 WPF的消息机制(四)-WPF中UI的更新 WPF内部的5个窗口 对于Windows系统来说,它是一个消息系统,消息系统的核心就是窗口。对于WPF来说也是如此。那么WPF内部为什么需要窗口,又存在哪些窗口呢? 在上一篇,我们频繁的提及“
多年来,基于XAML的UI框架已经有了很大的发展。下面的图表是最好的说明。这些框架主要包含:支持跨平台应用的Avalonia UI, Uno Platform和 .NET MAUI。事实上,除了Avalonia UI之外,对跨平台XAML的需求是其发展的主要驱动力。如果微软早点推出一个类似Flutter这样的跨平台UI框架,我们可能就不会有这个么多的选择。这样有利有弊:好处在于我们选择有很多跨平台方案可以选择,坏处在于不同的框架有不同的对象模型以及各自的特有的XAML语法(dialect of XAML)。 在关注各种 .NET UI 框架时,我们会提出同一个问题:应该使用哪一个XAML UI框架来开发我们的应用?这是一个合理且重要的问题。迄今为止还没有一个明确的答案。但是,对于每个具体的应用,这个问题很容易回答,因为可以针对特定的应用需求比较分析每一种框架的优点和缺点。通过概述基于 XAML 的主要 UI 框架的优点和缺点,本文档旨在帮助公司和开发人员回答以下问题:
WinForm封装了win32的api,多次进行P/invoke操作(大部分使用p/invoke操作封装),速度慢。
做 Windows 桌面应用开发的小伙伴们对“模态窗口”(Modal Dialog)一定不陌生。如果你希望在模态窗口之上做更多的事情,或者自己实现一套模态窗口类似的机制,那么你可能需要了解模态窗口的本质。
这几天在研究用python开发GUI应用程序,首先选择了wxpython,英文书籍wxpython in action是不错的,网上也有中文版。
FDS最常见的问题之一是如何与Fall Creators Update之前的版本兼容,其实做起来也挺简单的,ColorfulBox就实现了Creators Update与Fall Creators Update之间的兼容。
领取专属 10元无门槛券
手把手带您无忧上云