工具:Visual Studio 2017 Community
  在大学期间,不过学习 C/C++ 还是 Java,每次写的程序都是控制台黑框框,有时候想设计一个可视化的应用程序却不知从何下手,大学里面的课程也没有 Windows 程序设计相关,有点苦恼。本文就这个问题分享一下创建 Windows 桌面应用程序的两种途径。
  创建 Windows 桌面程序有多种技术,但是哪种比较适合自己呢?在我的大学课程中,没有关于 Windows 程序设计的课程。但由于机缘巧合,接触到了 MFC,对 Windows 桌面编程有了了解。我还使用过 Java 创建 Windows 应用程序,当时使用的 IDE 是 Eclipse,在Eclipse 中装相应的 Windows 插件,也可以创建 Windows 可视化桌面应用程序。但是今天,主要分享一下微软官方推荐的创建 Windows 桌面程序的技术。
  本文指的 Windows 桌面程序是指传统的桌面程序,比如 Word,Excel,PowerPoint,Photoshop等。近几年,微软一直在推他的新技术——通用桌面程序。这种程序编写好之后可以运行在 Windows 电脑、平板、手机上。不过 Windows Phone 已经凉了,微软爸爸已经抛弃了它。


1、 选择 C++ 和 Win 32 API 来开发 Windows 桌面应用程序,使用语言是 C/C++;

  C ++在各种平台(Windows和非Windows)上提供一流的开发体验,而不依赖于.NET等高级运行时环境。这使得C ++成为便携式应用程序的首选语言,当这些运行时不可用或对某些目标平台来说太重量级时。
  使用C ++和Win32 API可以通过更严格地控制目标平台来实现最高级别的性能和效率,而不是.NET运行时允许的。但是,对应用程序的执行进行如此高级别的控制需要更加谨慎和关注才能正确运行,并为运行时性能交换开发效率。
  以下是C ++提供的一些亮点,可帮助您构建高性能应用程序。
 硬件级优化,包括严格控制资源分配,对象生存期,数据布局,对齐,字节打包等。
 通过内部函数访问面向性能的指令集,如SSE和AVX。
 使用模板进行高效,类型安全的通用编程。
 高效安全的容器和算法。
 DirectX特别是Direct3D和DirectCompute。
 C ++ AMP

2、 选择 .Net 来开发 Windows 桌面应用程序,使用语言有 C#,C++,F#,VB。

  .NET在桌面,Windows Phone和Windows应用商店中提供一致的一流开发体验。它提供更高级别的编码和生产力。.NET允许您在桌面上继续开发基础应用程序并添加令人兴奋的新体验,同时使用您现有的技能并在设备之间重用代码。如果您希望在任何设备上创建更加量身定制,适合平台的体验,Visual Studio行业合作伙伴(VSIP)提供的解决方案可以在非Windows设备上重用C#技能和代码。
  除了您期望的功能(如文件/流和网络通信)之外,以下是.NET提供的一些重点,可以使构建应用程序非常高效:
 运行时生产力和安全性,如自动内存管理,类型安全,异常处理和线程管理
 GUI技术见下文
 丰富的集合数据类型
 数据建模(ADO,LINQ,WCF数据服务)
 语言集成查询(LINQ)
 日期和时间库
 序列化
 网页服务
 安全和加密
 并行编程库

结论

您可能对C ++或C#/ Visual Basic具有强烈的亲和力,这可能决定您选择编写桌面应用程序的方式。使用.NET / C#(或Visual Basic)进行高级编码,提高工作效率,丰富框架和服务,支持现代客户体验,跨平台维护资产(Windows应用商店应用,Windows Phone应用,Windows桌面应用等) )。当您需要实现最高级别的性能,明确地管理资源或内存布局,访问硬件级优化机会,当您希望应用程序可移植到没有平台时,可以将本机C ++用于游戏和其他图形密集型应用程序.NET运行时,或者更容易利用存在的免费可用的高质量C和C ++库。
以上引用资料来源:https://docs.microsoft.com/zh-cn/windows/desktop/choose-your-technology


接下来用 Visual Studio 2017 Community 进行实战。
1、演练:创建传统的Windows桌面应用程序(C ++)
https://docs.microsoft.com/zh-cn/cpp/windows/walkthrough-creating-windows-desktop-applications-cpp?view=vs-2017
完成效果图:

2、使用 C# 创建图片查看器
https://docs.microsoft.com/zh-cn/visualstudio/ide/tutorial-1-create-a-picture-viewer?view=vs-2017
完成效果图:

公众号:蓝冰软件实验室

如何创建一个 Windows 桌面应用程序?相关推荐

  1. 使用C++代码创建一个Windows桌面应用程序

    下面六星教育整理使用C++代码创建一个Windows桌面应用程序,供大家学习参考. WinMain函数 Windows应用程序的唯一程序入口. 函数原型 int WINAPI WinMain { HI ...

  2. 创建一个Windows Service应用程序

    创建一个Windows Service应用程序 下载本文代码 见资源 正是由于.NET Framework的出现,才使你能够构建出在系统重新启动时自动运行的.无人参与的(unattended)应用程序 ...

  3. 使用python创建一个windows桌面在线翻译小程序

    1.首先需要制造打包的gui界面 这里小编使用的是 wxFormBuilder 下载地址:链接:https://pan.baidu.com/s/1DOe7TA6ap07ZsjcH4qzBIQ 密码:2 ...

  4. 使用PHP-GTK编写一个windows桌面应用程序

    PHP-GTK的下载地址:http://gtk.php.net/download.php?language=en-US, 猿哥选择了最新版本(beta版),可能有人会问我们为啥不选最新的stable版 ...

  5. 创建传统的Windows桌面应用程序

    文章目录 前言 代码 运行结果 前言 目标:创建的示例应用程序,使用 Windows API 显示 "Hello,Windows desktop!" 应用程序. 教学资料:[SDK ...

  6. 创建一个windows服务的小程序及注意事项

    1,首先在vs中创建一个windows服务项目 会生成一个Service1.cs的文件  打开该文件 切换到代码视图  有两个方法   OnStart(string[] args)和OnStop()方 ...

  7. 对Windows桌面应用程序进行UI自动化测试

    所谓UI自动化测试,就是模拟一个用户,对应用程序的UI进行操作,以完成特定场景的功能性集成测试. 要对Windows桌面应用程序进行UI自动化测试,目前可选的技术主要是两种:VS自带的CodedUI ...

  8. python 桌面程序自动化测试_对Windows桌面应用程序进行UI自动化测试

    题记:本文简述如何利用appium对Windows桌面应用程序进行UI自动化测试. 所谓UI自动化测试,就是模拟一个用户,对应用程序的UI进行操作,以完成特定场景的功能性集成测试. 要对Windows ...

  9. ruby on rails_最终的中级Ruby on Rails教程:让我们创建一个完整的应用程序!

    ruby on rails 由Domantas G (By Domantas G) There are plenty tutorials online which show how to create ...

最新文章

  1. 查看linux系统的性能
  2. 山东省中职计算机应用专业人才培养方案,计算机应用与维修专业人才培养方案(中职)...
  3. 成功解决AttributeError: ‘DataFrame‘ object has no attribute ‘tolist‘
  4. python 数组转音频_Python3+将2声道音频,分拆成1声道
  5. minikube start 使用Hyper-V
  6. 分享JTooltips 0.2beta版Demo
  7. C# 获取当前程序集版本号,获取当前编译时间
  8. Atitit 摄像头与主机连接方式大总结
  9. rabbitmq direct 多个消费者_rabbitMQ消息队列入门介绍
  10. 密码学笔记——培根密码
  11. 通俗理解三维向量的点乘与叉乘
  12. [日更-2019.3.31]如何下载Nexus5的LineageOS14.1(cm-14.1)系统源码并编译、刷机
  13. 爬取知乎,通过数据传输接口
  14. ssh 反向代理连接内网服务器并配置开机自启动(解决autossh无法开机自启动)
  15. win32 8.2 使用通用对话框
  16. 03-Python正则表达式
  17. 展讯平台gpio配置
  18. 诺基亚选择投奔微软的得与失
  19. STM32 USB的实现和软件实现
  20. lol老是闪退到桌面_lol闪退怎么办

热门文章

  1. Peercast源代码文件结构分析
  2. Peercast简介、分析及常见问题处理 (一)
  3. 网上订火车卧铺票的经历
  4. macbook pro 待机一段时间后就自动关机重启
  5. The Dangers of Excess Flexibility
  6. 天天生鲜Django项目源码
  7. 外贸建站多少钱才能达到预期效果?
  8. 查看网页ftp服务器地址,怎么查看本地的ftp服务器地址
  9. 重庆大学计算机系保研,硬核!重庆7个学霸全部保送清华北大,还来自同一所学校!...
  10. AcWing 4977. 三元组