精华内容
下载资源
问答
  • HTML5桌面应用程序开发

    万次阅读 多人点赞 2018-10-22 20:27:27
    easy-window 是一个旨在简化桌面开发难度的通用窗体,它可以让你使用当前主流的HTML5技术快速地创建Windows桌面应用程序。创作桌面应用,不需要掌握QT,C++,C#,Java那些繁琐的东西,只要会创建网页就可以。同...

    这段时间要写一个桌面软件,比来比去没有满意的,要么不好看,要么不好用,要么打包体积太大。所以就有了这个小项目——easy-window

    easy-window是什么?

    easy-window 是一个旨在简化桌面开发难度的通用窗体,它可以让你使用当前主流的HTML5技术快速地创建Windows桌面应用程序。创作桌面应用,不需要掌握QT,C++,C#,Java那些繁琐的东西,只要会创建网页就可以。同时相较于NW.jsElectron,使用方式更加简洁,体积更小(只有几M)。

    软件界面可以有多绚,就看想象力了。闲话不多说,先来看看本工具可以创建哪些窗体应用吧。

    应用示例

    1. 简单窗体

    image
    image

    1. 设置窗体图标和标题

    image

    1. 限制窗体宽高

    image

    1. 隐藏最大化最小化按钮

    image

    1. 无边框窗体

    image
    image
    image

    1. 不规则窗体

    image
    image


    使用方法

    如果要运行示例程序,只需下载easy-window.exe文件,samples文件夹和后缀名为.vbs的文件,运行对应的vbs文件即可。可以修改vbs文件中对应的参数调整窗体样式。
    vbs参数示例说明:

    Dim shell
    Set shell = WScript.CreateObject("WScript.Shell") 
    shell.run "easy-window.exe -url https://www.baidu.com -title 百度首页"
    

    其中easy-window.exe是渲染窗体的主程序,-url指定了要显示的页面,-title设置窗口标题为百度首页,运行效果如下图:
    image
    当然,vbs文件不是必须的,可以直接在cmd控制台中运行easy-window.exe -url https://www.baidu.com -title 百度首页,效果是一样的。
    更多启动参数用法请参考下方参数说明

    参数说明

    bool类型值只能是true或者false

    参数类型说明
    urlstring网页地址,相对地址,绝对地址,远程网址均可
    timeoutint等待页面加载超时时间,单位:毫秒
    iconstring窗体图标路径
    titlestring窗体标题
    minboxbool最小化窗体按钮,默认值:true
    maxboxbool最大化窗体按钮,默认值:true
    minmaxbool限定窗口缩放范围,默认值:false
    borderbool窗体是否有边框,默认值:true
    resizablebool窗体是否可缩放,默认值:true
    shadowbool窗体边框是否有阴影,默认值:false
    posxint窗体初始横坐标
    posyint窗体初始纵坐标
    widthint窗体宽度
    heightint窗体高度
    contextmenubool是否启用鼠标右键菜单,默认值:true
    layeredbool是否是不规则窗体,默认值:false
    toolwindowbool是否是弹窗工具窗体,默认值:false
    topmostbool窗体是否置顶,默认值:false

    内置扩展JS函数

    内置扩展JS函数的作用是弥补Javascript在开发桌面应用时,无法调用Windows api的不足。使用这些扩展的JS函数的时候就跟调用原生的JS函数一样方便,只需要在函数前边加上external.即可。
    使用示例:

    <!DOCTYPE html>
    <html lang="en">
    <head>
    	<meta charset="UTF-8">
    <body>
    	<button onclick="loadFile()">打开文件</button>
    	<script>
    		function loadFile(){
    			//选择文件
    			var filePath = external.openFile('所有文件|*.*|文本文件(.txt)|*.txt|');
    			//读取并显示文件
    			external.alert(external.readFile(filePath), '您选择的文件内容如下');
    		}
    	</script>
    </body>
    </html>
    

    运行效果

    image
    image
    可以看到,调用external.openFile()打开了文件选择窗口,选择文件之后,该函数返回了选择的文件路径。external.readFile()则实现了本地文件的读取。
    更多函数请参见下方函数说明。

    函数说明
    hitCaption()主要用于绑定鼠标拖动窗体。比如,在无边框或者不规则窗体中,对指定html元素绑定该函数即可实现鼠标拖动该元素的功能,示例:<img src="images/ecology-heart.png" onmousedown="external.hitCaption()">,详情参见不规则窗体示例
    hitMax()最大化窗体
    hitMin()最小化窗体
    close()关闭窗体
    alert(text, title)提示框,text:提示内容,title:提示窗口标题
    openFile(fileType, title)打开文件,fileType:文件类型(所有文件|*.*|文本文件|*.txt|), title:选择文件窗口标题。参数均非必填
    openDir(dir, subTitle, title)打开目录,dir:初始目录, subTitle:子标题, title:标题。参数均非必填
    saveFile(fileType, title)保存文件,fileType:文件类型(所有文件|*.*|文本文件|*.txt|), title:窗口标题。参数均非必填
    readFile(path)读取文件,path:文件路径
    writeFile(path, text)写文件,path: 文件路径, text:文件内容
    clipRead()读取剪贴板内容
    clipWrite(text)将内容写入剪贴板,text:文本内容
    getMousePos()获取鼠标位置
    getPos()获取窗体位置
    setPos(x,y,width,height)设置窗体位置和大小,x:横坐标,y:纵坐标,width:宽度,height:高度。宽高参数可选
    getScreen()获取屏幕宽高
    setIcon(iconPath)设置窗体图标
    setTitle(text)设置窗体标题
    setTopmost(state)窗体是否置顶,state:true/false

    备注

    本项目主要目的在于简化桌面窗体开发,本身功能有限。如果需要更多功能,有两种方案:

    1. 用户界面使用miniblink(精简浏览器内核)做渲染,浏览器支持的大部分功能基本都支持,所以可以通过Ajax或者Websocket与其它服务器语言通信,更多功能由其他语言实现,其实就是用开发网站那一套开发桌面软件。
    2. 本项目使用aardio语言开发,您可以自行修改编译源码,然后打包,替换本项目的easy-window.exe即可。

    如果你对本项目感兴趣,欢迎使用,共同探讨完善。

    项目地址: https://github.com/lixk/easy-window

    项目引用

    1. aardio 地址 http://www.aardio.com/

    2. miniblink 地址 https://weolar.github.io/miniblink/

    展开全文
  • 利用它们可以让开发者使用HTML、CSS、JavaScript来构建跨平台的桌面应用程序 NW.js背靠Gnor Tech 和英特尔;Electron背靠GitHub 他们构建出来的应用可以同时在Windows、Mac OS 、Linux上运行 node 简单介绍 node...

    1、开发框架的介绍

    背景介绍

    • NW.js和Electron 是基于node.js开发的桌面应用框架
    • 利用它们可以让开发者使用HTML、CSS、JavaScript来构建跨平台的桌面应用程序
    • NW.js背靠Gnor Tech 和英特尔;Electron背靠GitHub
    • 他们构建出来的应用可以同时在Windows、Mac OS 、Linux上运行

    node 简单介绍

    • node.js是一种编程框架,它可以使开发者使用JavaScript来构建服务端应用
    • node.js衍生出来的流行的框架:Express、Hapi、Meteor、Sails
    • node.js可以用来开发桌面应用程序

    Nw.js和Electron支持创建哪一类应用?

    • electron 提供一个GitHub仓库(awesome-electron)github.com/sindresorhu…
    • Slack:企业沟通协作工具,支持音频和视频通话——使用Electron开发
    • Light Table这是一款代码编辑器——使用NW.js开发
    • Game Dev Tycoon 是一款模拟类游戏
    • Gitter 是一种服务,提供聊天室功能——使用NW.js开发
    • Macaw是一款所见即所得的web设计工具
    • Hyper是一款极简的终端应用——使用Electron开发

    2、node.js桌面应用程序与web应用比较

    web应用的优劣势

    • web应用繁荣:主要因为网速的提升以及使用互联网的人越来越多,使用互联网的成本也很低,降低开发者制作web应用的准入门槛,开源软件的崛起让分发和获取软件的成本大大降低。
    • web应用的制约和挑战:网络不是一直可用的,不方便处理计算机中的大文件,限制于web浏览器的安全策略,受限于网络和浏览器特性较大。

    桌面应用的优点

    • 启动和运行不依赖网络
    • 可以访问计算机的操作系统和硬件资源,以及读写用户计算机中的文件系统
    • 可以更好的控制软件的用户体验
    • 桌面应用程序安装过后他就在哪里了,不需要像web那样需要一台web服务器提供7✖️24小时的支持

    3、Electron和NW.js的区别

    • NW.js:是使用HTML作为入口接入文件;维护一个共享的JavaScript上下文
    • Electron:使用JavaScript作为入口接入文件;有多个独立的JavaScript上下文

    4、Electron

    介绍与安装

    • 最早的名字叫Atom shell
    • Electron将加载应用视图的职责委派给JavaScript代码
    • 安装: npm install -g electron

    Electron 特性

    • 支持创建多视窗
    • 通过shell和screen API 整合了桌面操作系统的特性
    • 支持获取计算机电源状态
    • 支持阻止操作系统进入省电模式
    • 支持创建托盘应用
    • 支持创建菜单和菜单项
    • 支持为应用添加全剧键盘快捷键
    • 支持通过应用更新来自动更新应用代码
    • 支持汇报程序崩溃(独有特性)
    • 支持自定义Dock菜单
    • 支持操作系统通知
    • 支持为应用创建启动安装器

    Electron工具

    展开全文
  • 曾经从事过几个桌面应用程序开发, 来提供些建议Qt 的 signal-slot 的机制做得很不错, 充分理解以后开发起来很顺手. 早期项目里, 举个栗子, 我开发了 CocosPlay 小包程序的桌面客户端, 使用 cpp 的 Qt 实现界面...

    谢... 谢特!... (自己跑过来的). 曾经从事过几个桌面应用程序的开发, 来提供些建议

    Qt 的 signal-slot 的机制做得很不错, 充分理解以后开发起来很顺手. 早期项目里, 举个栗子, 我开发了 CocosPlay 小包程序的桌面客户端, 使用 cpp 的 Qt 实现界面交互逻辑, 底层用 python 实现具体的打包逻辑, python 里再粘合其他可执行程序(除了可执行程序要考虑移植问题, 上层都是跨平台的). 我后来还用这套组合做过几个处理资源的工具, 开发过程都比较轻松, 也能做得比较美观

    但是题主不喜欢 cpp? 没关系! 当 Qt 支持 Qml 开发以后, 我很快就转向这个方向了. 这是一个比较接近 JavaScript 的方言, 这意味着你不太需要使用 cpp 就可以使用 Qt 进行桌面应用开发, Qml 对 Qt 的底层做了绑定, 你仍然可以享用 Qt 下的 widget 和 signal-slot 机制. 我用这个办法做过一个视频编辑的桌面程序, 用于切割游戏素材.

    所以你想知道能不能做桌面应用开发, 我的建议是, 你可以使用 python 继续实现你的业务逻辑, 把交互逻辑交给 Qml 来做, 它的学习成本并不高.

    当然我还有一个更激进的提议, flutter 现在实验室版本已经开始支持桌面应用的开发了, 你可以尝试这个方向, 使用 dart, 朝着 PC, MacOs, Web, Android, iOS 全统一的方向前进. 防喷手动狗头.

    展开全文
  • VB.net应用教程——Web与桌面应用程序开发PPT教程附全部源码(国外经典教材)
  • 这个要看具体平台了,如果是...对于桌面应用程序开发来说,只需要简单的拖拽控件,设置属性,就可快速创建一个可视化界面,所见即所得,对于新手来说,非常容易学习和掌握,但要做好、做深入还需要花费一定功夫...

    这个要看具体平台了,如果是Windows系统,那么C#无疑是首选,如果考虑到跨平台,那么C++可能更合适,下面我分别简单介绍一下,感兴趣的朋友可以尝试一下:

    C#

    这是微软自主设计研发的一款编程语言,在Windows环境下有着广泛的应用,对于桌面应用程序开发来说,只需要简单的拖拽控件,设置属性,就可快速创建一个可视化界面,所见即所得,对于新手来说,非常容易学习和掌握,但要做好、做深入还需要花费一定功夫,许多Windows平台下的管理软件都采用这个语言开发,效率非常高:

    179760574_1_20200107050927503

    C++

    相对于C#来说,C++学习起来具有一定难度,但运行效率、跨平台性更胜一筹,也有许多不错的桌面应用程序开发框架可供选择,下面我简单介绍一下:Qt

    这是一个应用非常广泛的C++桌面应用程序开发框架,免费、开源、跨平台,著名的Linux KDE桌面就是用它开发而成,和C#一样,Qt也自带设计界面,只需要简单的拖拽控件,就可快速开发一个桌面应用,同时采用JS,CSS进行界面美化,写起来效率还是蛮高的,对于新手来说,也非常容易学习:

    179760574_2_20200107050927706MFC

    这是一个比较老的桌面应用程序开发框架了,也是由微软设计,只不过基本上已经被亲爹抛弃了,在一些老项目上可能还会用到,开发效率和学习成本与C#、Qt相比,差一大截,新手学习起来具有一定难度,写起来也比较繁琐,如果你只是开发一个比较简单的桌面应用程序,而且仅限于Windows平台,可以使用一下这个框架,但不建议深入学习:

    179760574_3_20200107050928191

    当然,还有许多其他编程语言都支持桌面应用程序开发,像C语言的GTK,Python的PyQt,Java的Swing,前端的Electron等也都非常不错,但开发效率和应用范围相对于C#、Qt来说,还是具有一定差距,实际项目中,应综合考虑、全面评价,网上也有相关教程和资料,介绍的非常详细,感兴趣的话,可以搜一下,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言进行补充。

    展开全文
  • Java桌面程序demo

    2019-02-17 20:52:29
    基于Java语言、Swing图形库开发的Java桌面示例程序小Demo
  • 之前一直在写前端,后来因为项目需要得写原生Windows桌面应用程序 开发主要面向企业内部使用的工具,一套针对某种设备的控制系统 基本不对外开放,而且是从头开发,没有历史包袱,相对比较自由 但是...
  • 当使用桌面应用程序的时候,有没有那么一瞬间,想学习一下桌面应用程序开发?行业内专业的桌面应用程序开发一般是C++,C#来做,Java开发的也有,但是比较少。本节课会介绍Python的GUI(图形用户界面)编程,用Python...
  • 第三章 Win32应用程序设计 第四章 基于对话框的应用程序 第五章 响应用户命令 第六章 使用Windows标准控件 第七章 使用ActiveX控件 第八章 文档/视结构 第九章 图形设备接口 第十章 MFC通用类 第十一章 ...
  • Linux 桌面应用程序

    千次阅读 2019-10-08 17:52:48
    要在Linux下开发具有图形界面的桌面应用程序,我们有许多选择。当然,除了语言方面的考虑外,我们更多的是考虑窗口部件工具箱(以前成为控件库或组件库)的选择,这将在很大程度上影响我们的开发效率。 总结:Pyqt...
  • 刚刚毕业的时候从第二份工作开始就进入了Windows桌面程序开发中,从此一如侯门深似海,多次徘徊在进入服务器端开发的门口,却始终没能迈进去。刚开是写基于MFC的UI写到崩溃,经常是一个很简单的界面效果,基本上要找...
  • 有没有好的办法将JavaGUI程序打包成独立的桌面应用程序
  • java开发windows桌面应用

    千次阅读 2021-02-27 08:22:32
    可是,如果你用java开发了一个windows桌面应用,你会觉得手足无措,真的比较棘手!好不容易用java写了一个比较满意的项目,在java开发工具下跑起来真是称得上完美!可是如何转换成exe可执行文件,蛋疼!尝试用开...
  • eclipse 开发桌面程序

    2019-01-11 17:21:58
    利用SWT技术,基于WindowBuilder Eclipse 插件开发 桌面应用程序详细步骤
  • 自己使用golang开发的gui桌面程序,界面比较简陋。 功能包含多tab页 base64的加密解密 生成uuid 简单实现了http的各种请求与响应支持 get、post、put、delete 压缩包包含源码 和编译好的 exe文件
  • 如何创建一个最简单的Windows桌面应用程序 (C++)

    万次阅读 多人点赞 2017-02-07 13:23:49
    如何创建一个最简单的Windows桌面应用程序 (C++)  最近刚开始学习C/C++开发Windows应用程序,这里将会以零基础的视角把学习过程完全记录下来。如果你也刚刚起步,那本文一定非常适合你。  进入正题,本文讨论...
  • 最近想开发一套Netty网关日志分析程序,用来分析设备的原始数据。因为网关是放在linux服务器上,之前查看日志是通过Xftp工具将日志下载到本地,然后找到对应的日志数据进行分析。 对于运维人员来说,上述的日志分析...
  • Java使用JFrame开发出漂亮的桌面程序附源码下载
  • 桌面应用快速开发 node-webkit
  • JAVA100个实例。SE的经典桌面应用程序
  • 经过多天努力,推出和适合入门和提高的WTL开发。Windows C++ Win32应用程序开发。 使用C++库WTL进行Windows桌面应用程序开发-第一部
  • windows桌面程序开发 大多数在Windows上工作的软件开发人员都有相当标准的工具集:代码编辑器或IDE; Git或其他版本控制系统; 消息传递客户端(Slack或其克隆之一),等等。 由于大多数开发人员工作流程都在线,...
  • 为什么用Python开发桌面应用程序

    万次阅读 2018-01-22 15:15:40
    为什么用Python开发桌面应用程序 为什么用Python开发桌面应用程序 1)wxWidgets是一个比MFC优雅的库,TortoiseCVS用wxWidges而不用MFC,就是因为wxWidgets好用,而不是为了可以移植。 2)Python的面向...
  • 用HTML开发Windows桌面应用程序

    万次阅读 2015-05-29 14:09:13
    就先要说一下,软件开发的种种方式,从最初的命令行软件开发方式,到可视化的窗口软件,开发方式的进步使得开发难度降低,用户体验也越来越完善,不过今天要谈的是windows下的桌面软件开发方式,关于windows下桌面...
  • 上编blog说到用Python开发Windows桌面应用程序的环境搭建,下面就说说如何实现一个简单的远程日志读取的功能。 界面绘制 打开界面绘制工具,选中项目后,右键找到External Tools,然后选择QtDesigner 打开Qt ...
  • 学习了Java,一直做的是web方面的,想用Java写一个桌面应用程序,就是那种双击桌面图标即可运行的,但不知道如何下手,看到网上说Java不适合做桌面应用,怎么讲呢?
  • 用python进行桌面程序开发

    万次阅读 2019-05-30 15:02:31
    Python是一种面向对象、直译式计算机程序设计语言...Python适用在各种程序的开发中,目前最常用在Web程序,移动程序以及桌面程序开发中。 但是遗憾的是,python官方只提供了IDLE一个IDE,功能上却是是不敢恭维。市面...
  • php开发桌面应用程序... Nonetheless, it’s possible. PHP作为跨平台的桌面应用程序开发语言? 亵渎! 尽管如此,还是有可能的。 A few years ago, everything those interested in brin...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 210,694
精华内容 84,277
关键字:

桌面应用程序开发

友情链接: hp3456a_61.zip