欢迎访问欧博亚洲(Allbet Game)!

首页科技正文

六盘水头条:C#桌面开发的未来WebWindow

admin2020-07-0452

目录

  • WebWindow
    • 源码
    • 作者博客
    • 基于Chromium的Edge
    • 体验
      • 体验方式一:
      • 体验方式二:
    • 遗留的问题

WebWindow

WebWindow是跨平台的库。 Web Window的当前实验实现可在以下平台上运行:

  • Windows – 需要基于Chromium的Edge
  • Linux – 使用WebKit
  • Mac – 需要Safari

源码

https://github.com/SteveSandersonMS/WebWindow.git

Zeje Fork的分支:https://github.com/zeje/WebWindow.git

作者博客

https://blog.stevensanderson.com

基于Chromium的Edge

因为大众用的还是Windows操作系统(如win 7,win 10)。为了面向大众,我们在Windows 10下体验下WebWindow。现在下载并安装基于Chromium的Edge:

下载地址:https://www.microsoft.com/en-us/edge
下载地址:https://www.microsoft.com/en-us/edge/business/download (建议)

中间可能在升级的时候,要求你更新操作系统才可以安装(安装过程略)

体验

本人的体验环境是:

  • Window 10
  • Visual Studio 2019
  • 基于 Chrome的 Edge

体验方式一:

  • 创建一个.net core 3.0的控制台程序
  • 安装WebWindow Nuget包
  • 加入启动代码

    using System;
    using WebWindows;
    
    namespace ZejeDesk.WebWindowApp
    {
        class Program
        {
            static void Main(string[] args)
            {
                var window = new WebWindow("择捷工作室WebWindow体验");
                window.NavigateToString("<h1 style=\"text-align:center;\">择捷工作室!</h1> <div style=\"text-align:center;\">WebWindow体验(该桌面窗口为.NET Core 3.1应用)</div>");
                window.WaitForExit();
            }
        }
    }
  • 体验效果

体验方式二:

预期目标:

  1. 不需要依赖.net core 3.0
  2. 仅仅依赖.net framework 4.5便可。
  • Clone下源码到本地

六盘水头条:C#桌面开发的未来WebWindow 第1张

  • 打开WebWindow.Dev解决方案

六盘水头条:C#桌面开发的未来WebWindow 第2张

  • 捣鼓编译源码的事情
    • 可爱又可恨的WebWindow.Native
      • 可爱:它实现了WebView的调用;

六盘水头条:C#桌面开发的未来WebWindow 第3张

  • 可恨:对于国情来说,它并不完美;
    * 我们需要它对更多的浏览器的支持,特别针对双引擎浏览器
    * 对于windows底层方法的调用,并不一定需要原生支持,特别是一些简单的操作,js + http + webapi的方式完全可以胜任。

六盘水头条:C#桌面开发的未来WebWindow 第4张

  • 编译的前提条件:WebWindow.Native

    六盘水头条:C#桌面开发的未来WebWindow 第5张

  • 安装C++桌面开发支持

    六盘水头条:C#桌面开发的未来WebWindow 第6张

  • 使用x64编译WebWindow.Native

    捣鼓这个最麻烦,每个人的环境不一,像我这等C++丢了12年的人(大一学过)来说,报include异常后完全不知道怎么搞(请教了会C++的朋友也无果),后来好像是更新了操作系统的补丁,重启后就能正常编译了。

    六盘水头条:C#桌面开发的未来WebWindow 第7张

  • 把WebWindow改成面向多目标框架的项目

修改WebWindow.csproj文件

 <TargetFramework>netstandard2.1</TargetFramework>

<TargetFrameworks>net45;net451;net452;net46;net461;net471;netstandard2.1;netcoreapp2.0;netcoreapp3.0</TargetFrameworks>    

处理掉部分代码的问题,如:

net45下包System.Runtime.InteropServices.RuntimeInformation的引用问题

  • WebWindow.Dev解决方案中,新增.net framework 4.5控制台应用程序ZejeWebWindowApp

  • ZejeWebWindowApp中加入WebWindow项目引用
  • 六盘水头条:C#桌面开发的未来WebWindow 第8张

  • 加入启动代码
using System;
using WebWindows;
    
namespace ZejeWebWindowApp
{
    class Program
    {
        static void Main(string[] args)
        {
            var window = new WebWindow("择捷工作室WebWindow体验");
            window.NavigateToString("<h1 style=\"text-align:center;\">择捷工作室!</h1> <div style=\"text-align:center;\">WebWindow体验(该桌面窗口为.NET FrameWork 4.5应用)</div>");
            window.WaitForExit();
        }
    }
}
  • 修改项目配置

六盘水头条:C#桌面开发的未来WebWindow 第9张

  • 体验效果

六盘水头条:C#桌面开发的未来WebWindow 第10张

遗留的问题

  • 怎么兼容国产浏览器?
  • 怎么支持x86?
  • 其他需要调用windows底层方法如何处理?

这些都不是不懂C++的我能左右的,希望.netC++高手们贡献点力量吧!

,

Sunbet

菲律宾长滩岛旅游攻略最专业权威的媒体人搜集社会热点资讯,推送内容精准可靠,针对用户个性化需求,整合各界热点专题,以新媒体传播的方式挖掘最新最热门资讯,为您提供您感兴趣的新闻与生活内容, 涵盖了时政、财经、社会、教育、情感等全方位多角度的新闻报道分析,同时开拓您的眼界和思路,让您足不出户就能一揽天下。

转载声明:本站发布文章及版权归原作者所有,转载本站文章请注明文章来源:欧博亚洲(Allbet Game)!

本文链接:https://www.chen-eyes.com/post/580.html

网友评论

1条评论
  • 2020-07-04 00:47:06

    Allbet Gmaing开户欢迎进入Allbet Gmaing开户(www.aLLbetgame.us):www.aLLbetgame.us,欧博官网是欧博集团的官方网站。欧博官网开放Allbet注册、Allbe代理、Allbet电脑客户端、Allbet手机版下载等业务。一直都很好

最新评论

  • Allbet手机版下载 09/27 说:

    欧博亚洲客户端欢迎进入欧博亚洲客户端(Allbet Game):www.aLLbetgame.us,欧博官网是欧博集团的官方网站。欧博官网开放Allbet注册、Allbe代理、Allbet电脑客户端、Allbet手机版下载等业务。读者小伙伴在哪里

  • Allbet手机版下载 09/27 说:

    欧博亚洲客户端欢迎进入欧博亚洲客户端(Allbet Game):www.aLLbetgame.us,欧博官网是欧博集团的官方网站。欧博官网开放Allbet注册、Allbe代理、Allbet电脑客户端、Allbet手机版下载等业务。读者小伙伴在哪里

  • Allbet登录网址 09/26 说:

    欧博亚洲APP下载欢迎进入欧博亚洲APP下载(Allbet Game):www.aLLbetgame.us,欧博官网是欧博集团的官方网站。欧博官网开放Allbet注册、Allbe代理、Allbet电脑客户端、Allbet手机版下载等业务。厉害了,我的文

  • allbet登录官网 09/25 说:

    欧博allbet客户端欢迎进入欧博allbet客户端(Allbet Game):www.aLLbetgame.us,欧博官网是欧博集团的官方网站。欧博官网开放Allbet注册、Allbe代理、Allbet电脑客户端、Allbet手机版下载等业务。再发挥点才能

  • allbet登录官网 09/25 说:

    欧博allbet客户端欢迎进入欧博allbet客户端(Allbet Game):www.aLLbetgame.us,欧博官网是欧博集团的官方网站。欧博官网开放Allbet注册、Allbe代理、Allbet电脑客户端、Allbet手机版下载等业务。再发挥点才能

  • allbet欧博真人客户端 09/25 说:

    欧博亚洲官方注册欢迎进入欧博亚洲官方注册(Allbet Game):www.aLLbetgame.us,欧博官网是欧博集团的官方网站。欧博官网开放Allbet注册、Allbe代理、Allbet电脑客户端、Allbet手机版下载等业务。弄个交流群

  • Allbet下载 09/24 说:

    allbet欧博真人客户端欢迎进入allbet欧博真人客户端(Allbet Game):v,欧博官网是欧博集团的官方网站。欧博官网开放Allbet注册、Allbe代理、Allbet电脑客户端、Allbet手机版下载等业务。守护你~

  • 欧博allbet网址 09/24 说:

    Allbet手机版下载欢迎进入Allbet手机版下载(www.aLLbetgame.us):www.aLLbetgame.us,欧博官网是欧博集团的官方网站。欧博官网开放Allbet注册、Allbe代理、Allbet电脑客户端、Allbet手机版下载等业务。别忘了更啊