精华内容
下载资源
问答
  • Web程序实现桌面提醒

    2008-12-27 09:41:33
    开发web程序时,希望用户不必永远开着一个IE窗口,当用户在WEB服务器端收到一个信息,这时希望能提醒用户,用户认为有必要可以打开IE及时查看。
  • 桌面程序调用Web Service应用实例

    千次阅读 2008-12-19 20:32:00
    作者:朱金灿来源:blog.csdn.net/clever101 最近做一个项目,需要使用Web Service。首先简要介绍一下Web Service(对此我也是初学者)。据微软的人介绍:Web Service能够用于任何地方、任何时候和任何设备上(感觉...
     

    作者:朱金灿

    来源:blog.csdn.net/clever101

     

         最近做一个项目,需要使用Web Service。首先简要介绍一下Web Service(对此我也是初学者)。据微软的人介绍:Web Service能够用于任何地方、任何时候和任何设备上(感觉有点吹牛),能够在一个分布式的计算环境中动态地描述、发现和调用服务,是一种Web上的对象访问技术。这种定义有点学术意味,我用我对它的粗浅的理解来描述:从开发的角度来看,它其实是一种远程调用,这和登陆网站比较类似,比如你登陆google网站,在那个对话框中输入“牛顿”来搜索牛顿的相关信息,而对Web Service而言,就是你使用A机子,在你的客户端程序中定义一个变量string Name = “牛顿”,然后输入远程服务器的URL和搜索函数名Search(), CALL(URL, Search, Name),这样远程服务器就把搜索结果以xml结构的方式发给你的客户端程序,是不是有点神奇?这种调用可以显式的,也可以是隐藏的。对开发人员来说这种调用的好处是因为Web Service是基于组件的,这意味着可以跨语言平台,而且处理结果是以xml结构发回来,也大大方便了对结果的解释。

     

          使用Web Service需要先安装IIS 5.0XP上安装IIS 5.0Server 2003上安装IIS 6.0,如果你使用VS 2005,同时你先安装VS 2005后安装IIS5.0,那么你需要运行一个注册命令把IIS5.0通知给VS2005,因为IIS 5.0是基于.Net 1.0,而VS 2005配置的是.Net 2.0)。

     

           现在我们开始测试一下,具体做法是使用VS 2005建立一个Web Service,使用VC++ 6.0建立一个客户端的桌面程序,使用VS 2005建立一个Web Service,然后使用这个桌面程序调用这个Web Service

     

         使用VS 2005建立一个Web Service的步骤:

    “新建”——〉“网站”——〉

     

    模板选择“ASP.NET WEB服务”,位置选择“HTTP”,http://localhost/MyWeb,语言选择“Visual C#”,如下图:

     

     

         

     

    添加一个WEB方法(实际上就是被远程调用的那个函数,实现两个字符串相加,输出结果字符串):

          

    1.  [WebMethod]
    2.     public  string StringsAdd(string strLeft,int strRight)
    3.     {
    4.          return strLeft + strRight;
    5. }

     然后单击菜单上的“生成解决方案”,按F5调试运行,页面如下:

     

          

     

    可以看到上面已经有了一个StringsAdd的链接,单击进去,可以看到里面有两个输入参数框和一个调用按钮,如下图:

     

       

     

    下面我们使用VC++ 6.0建一个对话框程序CallWebMethod来调用这个WEB方法,界面如下:

     

       

     

    1. // 注意组件的位置根据自己的系统环境来取得
    2. #import "msxml4.dll" 
    3. using namespace MSXML2;
    4. #import "C:/Program Files/Common Files/MSSoap/Binaries/MSSOAP1.dll" /
    5.             exclude("IStream""IErrorInfo""ISequentialStream""_LARGE_INTEGER", /
    6.                     "_ULARGE_INTEGER""tagSTATSTG""_FILETIME")
    7. using namespace MSSOAPLib;
    8.      

     

    同时定义对话框类三个成员变量:

     

     

    1.     ISoapSerializerPtr Serializer; 
    2.     ISoapReaderPtr Reader; 
    3.     ISoapConnectorPtr Connector;

     

    2.       在按钮消息命令函数加入如下代码:

     

    1. void CCallWebMethodDlg::OnBtnCallweb() 
    2. {
    3.     // TODO: Add your control notification handler code here
    4.     CoInitialize(NULL);     
    5.     
    6.     // 与Web服务连接
    7.     Connector.CreateInstance(__uuidof(HttpConnector));
    8.     // http://localhost/MyWeb/Service.asmx?op=StringsAdd为调用页面
    9.     Connector->Property["EndPointURL"] = "http://localhost/MyWeb/Service.asmx?op=StringsAdd"
    10.     Connector->Connect();   
    11.     
    12.     // 开始消息,http://tempuri.org/StringsAdd为响应函数,
    13.     Connector->Property["SoapAction"] = "http://tempuri.org/StringsAdd";
    14.     Connector->BeginMessage(); //启动消息句柄
    15.     
    16.     // 创建SoapSerializer对象
    17.     Serializer.CreateInstance(__uuidof(SoapSerializer)); 
    18.     //将 serializer 连接到 connector 的输入字符串
    19.     Serializer->Init(_variant_t((IUnknown*)Connector->InputStream));
    20.     //
    21.     // 创建SOAP消息
    22.     Serializer->startEnvelope("","",""); 
    23.     Serializer->startBody("");
    24.     // 找到WEB函数名
    25.     Serializer->startElement("StringsAdd","http://tempuri.org/","","");
    26.     // 找到第一个参数
    27.     Serializer->startElement("strLeft","http://tempuri.org/","",""); 
    28.     // 输入第一个参数值
    29.     Serializer->writeString("Hello,"); 
    30.     Serializer->endElement();
    31.     // 找到第二个参数
    32.     Serializer->startElement("strRight","http://tempuri.org/","",""); 
    33.     // 输入第二个参数值
    34.     Serializer->writeString("World!"); 
    35.     Serializer->endElement();
    36.     Serializer->endElement();
    37.     Serializer->endBody(); 
    38.     Serializer->endEnvelope(); 
    39.     
    40.     //将该消息发送给web服务
    41.     Connector->EndMessage(); //将消息送往服务器 
    42.     //读取响应
    43.     Reader.CreateInstance(__uuidof(SoapReader));    
    44.     //将reader联接到connector的输出字符串
    45.     Reader->Load(_variant_t((IUnknown*)Connector->OutputStream), "");   
    46.     //显示结果
    47.     AfxMessageBox((const char *)Reader->Body->xml);//以xml格式输出
    48. }

    其中SoapAction 参数值可以通过以下方式获取:

    http://localhost/MyWeb/Service.asmx?wsdl然后按回车,如下图所示:

     

            

     

    程序运行结果如下图,可以看到“Hello,World!”的输出:

     

             

     

     如果你想单纯输出Hello,World!,可以在函数后面添加下面代码:

     

    1. CString result1;
    2.     result1 = (const char *)Reader->RPCResult->text;
    3. AfxMessageBox(result1); 

     

     

    展开全文
  • 换肤功能——WPF实现的CS结构桌面程序的换肤功能,大家都用过Web上的换肤功能,这个例子就是用WPF实现的为桌面程序实现换肤的功能。
  • web应用打包成桌面可执行程序

    万次阅读 2017-12-09 17:18:04
    本教程旨在帮助开发人员把web应用程序打包成一个可执行的桌面应用程序,并生成一个安装包setup.exe,直接安装到本地电脑,方便用户使用。 1、背景 开发web项目时,大多数选择主流的chrome等浏览器作为开发调试工具...

    本教程旨在帮助开发人员把web应用程序打包成一个可执行的桌面应用程序,并生成一个安装包setup.exe,直接安装到本地电脑,方便用户使用。

    1、背景

    开发web项目时,大多数选择主流的chrome等浏览器作为开发调试工具,但最终用户可能要求兼容IE等不常用的浏览器,此时如果重新开发需要耗费很大的人力、物力。针对此种情况,可以考虑把web应用程序打包成一个桌面应用程序,既方便用户使用,又不用考虑浏览器的兼容问题。

    2、名词解释

    本文中所用到的名词术语和名词缩写的解释如表1-1所示。

                                                                                                   表1-1 名词解释

    术语/缩写

    定义

    nw

    node-webkit


    3、nw打包web应用

    把web应用程序打包成桌面应用程序并最终生成一个安装包exe基本流程为:【使用node-webkit把web应用打包成桌面可执行应用exe】—>【使用reshacker修改exe的版本信息、logo等内容】—>【使用inno把可执行的桌面应用exe程序打包成安装包exe】。

    开发人员可以到nw官网下载nw程序,考虑到最终打包的桌面应用程序可能运行在32位机器或者64位机器上,下载nw的32位和64位程序,分别打包32位桌面应用程序和64位桌面应用程序。

    下载后解压,其目录结构如下图所示。



    nw是作者编译好的nw.exe来启动的,nw根据程序描述文件package.json来启动主页面加载到webkit内核中,默认的解压后没有package.json文件。因此,我们需要创建配置文件package.json来设置我们web应用程序,如下图所示。


    其基本内容如下:
    {
      "main": "http://www.abc.com",
      "name": "测试",
      "description": "测试",
      "version": "1.0",
      "keywords": [ "abc", "abc" ],
      "window": {
        "title": "测试",
    	  "icon": "abc.png",
        "toolbar": true,
        "frame": true, 
        "width": 1300,
        "height": 768,
        "position": "center",
        "min_width": 1200,
        "min_height": 600
      },
      "webkit": {
        "plugin": true
      },
      "chromium-args":"--incognito"
    }
    其中几个比较重要的属性:
     main: web应用程序的主页面,这里我们配置的是web应用部署服务器的地址,当部署服务器改变时,可以修改此地址。
     name: 应用程序的名称
     window: 主要描述桌面应用程序的窗口信息,title属性描述窗口的名称,nw.exe启动后,右键任务栏中的桌面应用程序可以看到修改后的名称。icon修改桌面应用程序的图标,修改后可以在任务栏中看到修改后的图标。

    4、使用reshacker修改nw.exe信息

    虽然nw.exe根据配置文件package.json以桌面应用形式来运行web程序,但是程序在任务管理器中的进程名、进程icon、版本信息等都还是nw.exe信息。可以使用reshacker把nw.exe相应的信息修改为web应用程序的信息,例如进程名、进程icon等等,使得生成的桌面应用程序更加专业,其具体操作流程如下。

    1、使用reshacker打开nw.exe



    2、在图标组中替换exe运行时进程的icon



    3、在版本信息中修改exe的版本信息



    4、修改完毕点击【另存为】,命名exe应用程序为系统名,例如:test.exe,删除nw.exe。再次运行时任务管理器中的信息、exe属性信息等就都改变了。

    3、使用inno打包成安装包exe

    完成上面的操作之后,虽然可以以桌面应用程序的方式运行web程序,但是对于用户来说体验还是不好,必须拷贝整个解压后的nw文件夹,然后点击运行新生产的test.exe才能使用。为了方便用户使用,使用inno把修改配置后的test.exe打包成一个安装程序setup.exe,用户直接下载安装包安装到本地电脑上使用。

    4、注意事项

    使用inno打包生成安装后安装到本地运行,由于登陆页面的密码输入框类型为password,每次登陆之后,webkit内核默认的都会记住用户名、密码。再次打开运行时会自动填充登陆历史记录的用户名及密码,显然这导致用户密码不安全。

    解决办法:

    修改密码输入框type为text,通过js编程实现对密码输入密文显示。


    展开全文
  • web项目转为桌面应用程序

    万次阅读 2018-07-30 19:10:15
    本教程是利用npm和nativefier实现把任意web项目转换成一个桌面应用软件。 2. 环境及软件 操作系统:Windows10 64位 软件:node.js (node-v8.11.3-x64版本) 下载地址:...

    1. 简介

    本教程是利用npm和nativefier实现把任意web项目转换成一个桌面应用软件。

    2. 环境及软件

    • 操作系统:Windows10 64位
    • 软件:node.js (node-v8.11.3-x64版本)

    下载地址:https://nodejs.org/dist/v8.11.3/node-v8.11.3-x64.msi

    3. 安装工具

    • 安装npm

    将下载的node.js安装,这里安装路径默认选到C盘,C:\Program Files\nodejs

    安装完毕在命令行输入(npm –v)测试是否安装成功,正确安装会出现版本号。

    • 安装nativefier

    命令行输入 npm install nativefier –g,即可安装成功。

    • 制作应用

    命令行输入 nativefier [options] <targetUrl> [dest]

    其中options 是选项,targetUrl是目标链接,dest是生成位置,默认当前位置。更多选项及介绍请参考官方文档:https://github.com/jiahaog/nativefier/blob/HEAD/docs/api.md

    • 简单应用

    以百度为例,最简单的命令为:

    nativefier "https://baidu.com/"

    到目前,一个桌面应用已经打造完成。

    应用目录:

    点击.exe文件,启动应用。

    4. 附加内容(选项介绍)

    • 设置名字

    nativefier在制作应用的时候,可以自动识别网站的名字,您也可以自己设置名字。

    nativefier --name "AppName"  <your-website>

    • 设置图标

    nativefier --icon <path>,icon参数应该是图标文件的路径,每个系统文件格式不同具体如下:

    1. .ico - For Windows
    2. .icns - For OSX
    3. .png - For Linux

    nativefier http://172.18.20.47/index --name "CRDC" --icon logo.ico --file-download-options "{\"saveAs\": true}"

    • 设置下载目录

    nativefier <your-website> --file-download-options "{\"saveAs\": true}"

    • 指定输出不同系统的应用

    默认情况下,会根据当前操作系统,输出对应系统的应用。如果您需要特殊指定转换成不同系统的应用,可以使用一下命令。

    nativefier --p <value>

    可选参数linux、windows、osx。

    替代值win32(用于Windows)或darwin,mac(对于OSX)也可以使用。

    • 显示菜单栏

    -m, --show-menu-bar

    指定是否应该显示菜单栏

    • 禁用上下文菜单

    --disable-context-menu

    禁用上下文菜单

    • 单实例

    --single-instance

    阻止应用程序多次运行。如果发生这种尝试,那么已经运行的实例就会出现在前面。

    • 托盘

    --tray

    应用程序将保留为系统托盘中的图标。通过点击窗口关闭按钮来防止关闭应用程序。

    • 设置应用版权

    nativefier --app-copyright <value>

    应用的版权信息会映射到Windows系统的LegalCopyright和OS X系统的NSHumanReadableCopyright的元数据属性。

    • 设置显示

    宽度

    --width <value>

    打包应用程序的宽度,默认为1280px。

    高度

    --height <value>

    打包应用程序的高度,默认为800px。

    最小宽度

    --min-width <value>

    打包应用程序的最小宽度,默认为0。

    最小高度

    --min-height <value>

    打包应用程序的最小高度,默认为0。

    最大宽度

    --max-width <value>

    打包应用程序的最大宽度,默认为无限制。

    最大高度

    --max-height <value>

    打包应用程序的最大高度,默认为无限制。

    X

    --x <value>

    打包的应用程序窗口的X位置。

    Y

    --y <value>

    打包的应用程序窗口的Y位置。

    更多选项请参考第四

    展开全文
  • Web应用程序桌面应用程序的区别

    万次阅读 2010-04-23 12:10:00
    如果都是用.net做的话,桌面程序需要开发服务器端和客户端两块程序,电脑都要安装.net framework,b/s形式的话,只用做服务器端。但两者桌面应用可能软件界面更好控制一些,web形式客户端的屏幕就不太好空,一般满足...

    如果都是用.net做的话,桌面程序需要开发服务器端和客户端两块程序,电脑都要安装.net framework,b/s形式的话,只用做服务器端。但两者桌面应用可能软件界面更好控制一些,web形式客户端的屏幕就不太好空,一般满足1024*768分辨率能显示正常

     

        作为软件的使用者和使用环境,当然应该要求有局域网或互联网连通。桌面程序有个好处,就是如果网络中断,可以在客户端先暂存数据(比如用.txt或access文件),等网络通了好在上传数据,但web应用这方面就要差些

     

        举个例子,一个工厂的铝锭检斤程序,每天三班倒,每个班次的数据下班都要上传到服务器上(领导好看),现场网络不太稳定(时常会中断),就是用delphi写的,先存在本地的access中(如果网络连通,就传到服务器数据中,如果不连通就先不上传,在本地存着,等下个班次如果网络通了,再一块传上去)。领导看数据的系统,是WEB程序,他们的网络一般没问题。

     

        桌面应用这块,不少用delphi来写,免去客户端安装.net framework这块。

     

     

     

     

     另:桌面应用程序:
         在台式电脑上运行的应用程序称为桌面应用程序。比如:记事本,Word,Excel。
         这种应用程序的特点是
           1)缺少共享 2)直接双击就可以运行,不需要IE  3)一般以window的窗口形式存在
       Web应用程序:
           1)需要IE来执行    2)一般以网页的形式的存在  3)可以有很多的客户端来共享。
             比如: www.sina.com 
        Web应用程序的优点:
          1)能够实现最大的资源共享,
              比如:开发一个网站,放在Internet上,就可以让全世界的人都来共享
          2)维护与部署起来成本低
            Web应用程序只需要在服务器上安装一次,就可以通过网络给所有客户端共享,以后要修改
            Web应用程序,只需要修改服务器上Web应用程序,则所有的客户端自动进行更新。而桌面
            应用程序必须在每台计算机上都安装一次,以后要修改时,每台计算机都要修改
       Web应用程序的缺点:
            响应速度比桌面应用程序要低很多,因为要通过Internet去访问远程网页.

    展开全文
  • 网络桌面虫洞 Web应用程序桌面的链接可在Web应用程序实现类似于桌面的功能。 开发人员 $ npm install 跑步 $ npm start 建造 $ npm run build 执照 麻省理工学院:copyright:
  • 基于Web的WindowsXP桌面娱乐功能实现
  • 使用Go和Web技术创建桌面应用程序使用Go&Web Technologies构建桌面应用程序的框架。 向Go程序提供Web界面的传统方法是通过内置的Web服务器。 Wails提供了一种不同的方法:它提供了将Go代码和Web前端包装到单个二...
  • C# 实现真正的透明控件(Windows桌面程序)

    万次阅读 热门讨论 2017-02-07 14:41:56
    由于上位机程序的需要,需要大量的异性控件,开始不以为然,心想随着GDI到GDI+的升级,微软应该会给NET打造了一套高效绚丽的绘图方案,使用后才知道完全不是我以为的那么回事.于是开始各种寻找资源,发现网上方法无非使用...
  • web远程桌面

    千次阅读 2013-11-28 20:02:11
    此版本的目的在于扩展客户端的“终端服务”功能,以便系统管理员、网页设计人员和 Web 管理员能够在网页或 Visual Basic® 应用程序实现终端服务客户端会话,而无需用户下载或安装整个“远程桌面连接”
  • Flutter2重磅发布支持Web桌面应用

    千次阅读 2021-03-04 21:23:55
    作为一款用于构建跨平台APP的框架,Flutter今天正式迎来了它的的第二个大版本,增加了对桌面Web 应用程序的支持。开发者可借助 Flutter2打造开箱即用的APP,并且能够为 iOS、Android、Windows、m
  • web3d技术实现虚拟购物程序

    千次阅读 2018-03-06 10:29:09
    程序演示见文末。1、这是什么?这是个产品展示类应用,名字叫《宅男房间》,利用webGL技术在网页上呈现三维交互内容,展示了一个迷恋二次元的宅男的房间,你可以旋转视角观看房间里的任何角落。2、有哪些功能?最...
  • 集成传统 Web 应用程序在 CAB 应用程序中托管现有 Web 应用程序所需要的不仅仅是向智能部件添加一个浏览器控件。客户端集成的要点是所有应用程序(或模块)均已完全集成。这意味着它们可以双向通信和共享信息。直到 ...
  • 在html网页中轻松创建面板、标签、菜单并通过Ajax无刷新更新数据,能做excel一样实时编辑表格,比jQuery功能更大,里面有例子
  • paip.使用JAVASCRIPT开发桌面WEB程序

    千次阅读 2012-09-11 03:20:39
    使用JAVASCRIPT开发桌面WEB程序   前言... 1 服务端WEB应用环境Node.js. 1 服务端WEB应用环境ASP. 2 服务端WEB应用环境Google Acre. 2 服务端WEB应用环境RingoJS /Rhino. 2 服务端环境jaxer2 服务器...
  • SafenetworkJs是一个库,用于实现与SAFE Network一起使用的Web桌面和命令行应用程序。 它旨在成为一个非常全面的图书馆。 支持: 在SAFE浏览器中运行的Web应用 Windows,Mac OS和Linux上的桌面和命令行应用程序 ...
  • Web应用程序  (1)什么是Web应用程序  应用程序有两种模式C/S、B/S。C/S是客户端/服务器端程序,也就是说这类程序一般独立运行。而B/S就是浏览 器端/服务器端应用程序,这类应用程序一般借助浏览器来运行。 ...
  • 要把数据组合成为一个URL,然后去...如果在桌面程序里,HttpUtility.UrlEncode的调用不是很方便,要在reference里加入一个System.Web才能正常使用。但是我的程序是升级版,这样做怕对程序发布有影响,所以要找另外的方
  • 桌面程序开发工具

    千次阅读 2008-02-01 11:01:00
    桌面程序开发不是指的WEB开发, 包括开发工具软件,游戏软件,数据库管理软件,控制台程序,网络通信软件等。。。 各种IDE和语言的开发速度 1.汇编的开发工具 基于汇编语言的的masm32 排第1:win32 API组装程序...
  • 尝试将电子和Redux结合在一起以实现功能强大的Web桌面性能 目的 由等框架提供支持的基于Web桌面应用程序非常棒 函数式React式编程很有趣,并且使您可以轻松地使用热重载,记录/回放等工具增强开发环境的能力。在...
  • 基于官方JioSaavn Web应用程序的JioSaavn桌面客户端。 内置。 这不是官方产品。 该项目不会尝试对JioSaavn API进行反向工程,也不会尝试重新实现JioSaavn客户端的任何部分。 用户与JioSaavn服务器之间的任何通信均...
  • 在linux下实现web qq的桌面

    千次阅读 2010-04-18 14:03:00
    创建桌面图标目前将网络应用扩展到桌面是一个趋势,存在着很多解决方案,本文以 Mozilla Prism 为例,类似的方法同样适用于 Google Chrome 。1. 到 Mozilla Prism 的网站上下载 Prism,点击 Download Now 之后会...
  • 如何实现Windows 2003远程桌面Web 连接

    万次阅读 2008-02-14 10:57:00
    如何实现Windows 2003远程桌面
  • 如何设计一个远程桌面程序

    千次阅读 2020-06-16 14:30:09
    今天和大家聊一聊如何实现一个远程桌面程序。 关于远程桌面 对于远程桌面程序,相信大家一定有所了解。 常见的产品有TeamViewer,向日葵,微软远程桌面,QQ远程桌面等等。 远程桌面能够在定位用户问题,协助操作,...
  • 简介我们在网络上总会遇到一些惊奇的网站今天的办法就是直接用这个网站生成一个可以在桌面运行的EXE文件以后如果想要访问,直接点击这个文件即可目前 Chrome 浏览器就支持把网站生成桌面应用...
  • Hadouken是一个用于构建具有桌面体验的Web应用程序的开源运行时。 OpenFin Core是Hadouken运行时的引用实现Javascript API。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 103,645
精华内容 41,458
关键字:

web实现桌面程序