桌面端的移动计算(四)

Launching an Application

有很多原因使你要从一个桌面程序启动设备上的一个应用程序。在下面情况下,你可以使用这个技术:

·                     安装一个新版本的应用程序。简单地拷贝CAB文件到设备上,然后在设备上运行CAB安装程序来提供安装。这项技术被经常用在你想自动发布和安装应用程序更新的情况下。

注意 另一个相似的发法是自动话桌面端的安装过程,使用ActiveSync内置的功能。

·                     在安装了新版本应用程序后重起你的移动应用程序。

·                     开始一个设备应用程序处理新更新的数据,在更新了文本或者XML文件后。

RAPI示例程序如图4

Figure 4. The Launch Application tab of the RAPI demo program

OpenNETCF.Desktop.Communication命名空间RAPI类提供CreateProcess方法来启动一个设备文件。你希望启动的设备应用程序作为该方法的第一个参数。你可以传递一个命令行给应用程序,作为第二个参数。

btnLaunchPerform按钮的点击事件演示了CreateProcess方法。

[VC#.NET]
      
      
private void btnLaunchPerform_Click(object sender, System.EventArgs e)
      
      
{
      
      
            
      
      
// Perform the launch.
      
      
  try
      
      
  {
      
      
    if (txtLaunchFile.Text == "")
      
      
    {
      
      
      MessageBox.Show("You must provide a file to launch.",
      
      
        "No File Provided");
      
      
    }
    else
        
        
    {
        
        
      myrapi.CreateProcess(txtLaunchFile.Text, txtLaunchCommand.Text);
        
        
      MessageBox.Show("Your file has been launched.", "Launch Success");
        
        
    }
        
        
  }
        
        
    
        
        
// Handle any errors that might occur.
        
        
  catch (Exception ex)
        
        
  {
        
        
    MessageBox.Show("The following error occurred while launching the 
file -" +
      ex.Message, "Launch Error");
        
        
  }      
        
        
}
        
        
[VB.NET]
        
        
Private Sub btnLaunchPerform_Click(ByVal sender As System.Object, ByVal 
e As System.EventArgs) Handles btnLaunchPerform.Click
 
        
        
' Perform the launch.
        
        
  Try
        
        
    If (txtLaunchFile.Text = "") Then
        
        
MessageBox.Show("You must provide a file to launch.", _        "No File Provided");
        
        
    }
        
        
    else
       
       
        
         
          
          
       
       
        "No File Provided");
        
        
    }
        
        
    else
        
        
    {
        
        
      myrapi.CreateProcess(txtLaunchFile.Text, txtLaunchCommand.Text);
        
        
      MessageBox.Show("Your file has been launched.", "Launch Success");
        
        
    }
        
        
  }
        
        
    
        
        
// Handle any errors that might occur.
        
        
  catch (Exception ex)
        
        
  {
        
        
    MessageBox.Show("The following error occurred while launching the 
file -" +
      ex.Message, "Launch Error");
        
        
  }      
        
        
}
        
        
[VB.NET]
        
        
Private Sub btnLaunchPerform_Click(ByVal sender As System.Object, ByVal 
e As System.EventArgs) Handles btnLaunchPerform.Click
 
        
        
' Perform the launch.
        
        
  Try
        
        
    If (txtLaunchFile.Text = "") Then
        
        
      MessageBox.Show("You must provide a file to launch.", _
        
        
        "No File Provided")
        
        
      Exit Sub
        
        
    End If
        
        
 
        
        
    myrapi.CreateProcess(txtLaunchFile.Text, txtLaunchCommand.Text)
        
        
 
        
        
    MessageBox.Show("Your file has been launched.", "Launch Success")
        
        
 
        
        
' Handle any errors that might occur.
        
        
  Catch ex As Exception
        
        
    MessageBox.Show("The following error occurred while launching the file
 -" & ex.Message, _
      "Launch Error")
        
        
  End Try
        
        
 
        
        
End Sub
        
        

接下来我们将进入最后一个RAPI有关的主题:获得系统信息。在下面的部分你将看到,RAPI类提供了一些方法用来得到连接设备的详细信息。

Retrieving System Information

得到指定的设备系统信息使你的程序能够在下面几个方面交付内容或改变功能:

·                     连接设备上使用的处理器,当应用程序上传一个包含指定处理器的文件的CAB文件到设备上时。

注意 这项技术最常用的环境是当你发布应用程序到早期版本的Pocket PC设备上,例如基于ARM处理器的Windows Mobile设备。

·                     运行在连接设备上的操作系统版本,根据处理器类型使用相应文件进行更新。

·                     连接设备的电源状态,经常用于在使用者进入区域前,警告他们的设备运行于低电量状态下。

·                     连接设备的内存状态,用于检测数据是否可以下载,如果用户下载了未被授权的应用程序或者其他内存相关函数,或者判断你是否有足够的空间安装应用程序的更新。

这部分操作的演示界面见图5

Figure 5. The Device Information tab of the RAPI demo program

RAPI类提供了四个方法来得到这些信息,GetDeviceSystemInfo (处理器类型), GetDeviceVersion (操作系统版本), GetDeviceSystemPowerStatus (电源状态) GetDeviceMemoryStatus (内存).

BtnInfoRetrieve按钮的点击事件示范了这些方法。

[VC#.NET]
          
          
private void btnInfoRetrieve_Click(object sender, System.EventArgs e)
          
          
{
          
          
  string info;
          
          
  MEMORYSTATUS ms;
          
          
  SYSTEM_INFO si;
          
          
  SYSTEM_POWER_STATUS_EX sps;
          
          
  OSVERSIONINFO vi;
          
          
 
          
          
// Retrieve the system information.
          
          
  myrapi.GetDeviceSystemInfo(out si);
          
          
 
          
          
// Retrieve the device OS version number.
          
          
  myrapi.GetDeviceVersion(out vi);
          
          
 
          
          
// Retrieve the device power status.
          
          
  myrapi.GetDeviceSystemPowerStatus(out sps);
          
          
 
          
          
// Retrieve the device memory status.
          
          
  myrapi.GetDeviceMemoryStatus(out ms);
          
          
 
          
          
// Format the retrieved information.
          
          
  info = "The connected device has an ";
          
          
  switch (si.wProcessorArchitecture)
          
          
  {
          
          
  case ProcessorArchitecture.Intel:
          
          
    info += "Intel processor./n";
          
          
    break;
          
          
  case ProcessorArchitecture.MIPS:
          
          
    info += "MIPS processor./n";
          
          
    break;
          
          
  case ProcessorArchitecture.ARM:
          
          
    info += "ARM processor./n";
          
          
    break;
          
          
  default:
          
          
    info = "unknown processor type./n";
          
          
    break;
          
          
  }
          
          
 
          
          
  info += "OS version: " + vi.dwMajorVersion + "." + 
vi.dwMinorVersion + "." +
    vi.dwBuildNumber + "/n";
          
          
  if (sps.ACLineStatus == 1)
          
          
  {
          
          
    info += "On AC power: YES/n";
          
          
  }
          
          
  else
          
          
  {
          
          
    info += "On AC power: NO /n";
          
          
  }
          
          
  info += "Battery level: " + sps.BatteryLifePercent + "%/n";
          
          
  info += "Total memory: " + String.Format("{0:###,###,###}", 
 ms.dwTotalPhys) +
    "/n";
          
          
 
          
          
// Display the results.
          
          
  lblInfo.Text = info;   
          
          
}
          
          
[VB.NET]
          
          
Private Sub btnInfoRetrieve_Click(ByVal sender As System.Object, ByVal 
e As System.EventArgs) Handles btnInfoRetrieve.Click
  Dim info As String
          
          
  Dim ms As New MEMORYSTATUS
          
          
  Dim si As New SYSTEM_INFO
          
          
  Dim sps As New SYSTEM_POWER_STATUS_EX
          
          
  Dim vi As New OSVERSIONINFO
          
          
 
          
          
' Retrieve the system information.
          
          
  myrapi.GetDeviceSystemInfo(si)
          
          
 
          
          
' Retrieve the device OS version number.
          
          
  myrapi.GetDeviceVersion(vi)
          
          
 
          
          
' Retrieve the device power status.
          
          
  myrapi.GetDeviceSystemPowerStatus(sps)
          
          
 
          
          
' Retrieve the device memory status.
          
          
  myrapi.GetDeviceMemoryStatus(ms)
          
          
 
          
          
' Format the retrieved information.
          
          
  info = "The connected device has an "
          
          
  Select Case si.wProcessorArchitecture
          
          
    Case ProcessorArchitecture.Intel
          
          
      info += "Intel processor." & vbCrLf
          
          
    Case ProcessorArchitecture.MIPS
          
          
      info += "MIPS processor." & vbCrLf
          
          
    Case ProcessorArchitecture.ARM
          
          
      info += "ARM processor." & vbCrLf
          
          
    Case Else
          
          
      info = "unknown processor type." & vbCrLf
          
          
  End Select
          
          
 
          
          
  info += "OS version: " & vi.dwMajorVersion & "." & vi.dwMinorVersion 
& "." & vi.dwBuildNumber & vbCrLf
  info += "On AC power: " & IIf(sps.ACLineStatus = 1, "YES", "NO") 
& vbCrLf
  info += "Battery level: " & sps.BatteryLifePercent & "%" & vbCrLf
          
          
  info += "Total memory: " & String.Format("{0:###,###,###}", 
 ms.dwTotalPhys) & vbCrLf
 
          
          
' Display the results.
          
          
  lblInfo.Text = info
          
          
 
          
          
End Sub
          
          

到这里我们如果将桌面应用程序加入到你的移动解决方案和关于Remote API的介绍就要告以段落了。我建议你花一些时间来检验OpenNETCF.Desktop.Communication命名空间提供的其他的功能。记住,那才是所有的操作,OpenNETCF命名空间为你的应用程序提供了多种类的操作。

Back on the Road

又是一个新的月份了。春天已经来到了每个角落,我要带着我的滑水板和Pocket PC前往阳光充足的Florida。在我的下一篇文章里,我们将检验关于移动开发者更多的操作。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: VNC(Virtual Network Computing)是一种基于图形界面的远程桌面控制软件,该软件利用了客户端和服务端之间的协议来实现远程桌面控制。在Windows操作系统下,用户可以下载VNC远程桌面软件来实现远程控制其他电脑桌面。 用户可以在网络上搜索“VNC远程桌面”或者“VNC viewer”等关键词,找到一些官方和第三方网站来下载该软件。推荐的方式是直接前往VNC官网下载最新版本的VNC Viewer。 步骤如下: 1. 进入VNC官网(https://www.realvnc.com/en/connect/download/viewer/)下载页面; 2. 选择适合自己计算机的版本下载,如64位或32位; 3. 等待下载完毕; 4. 双击安装程序,跟随向导步骤进行安装; 5. 安装完成后,打开VNC Viewer,输入想要远程控制的目标计算机的IP地址和VNC服务器的连接端口,点击"连接"以连接目标计算机。 通过VNC远程桌面软件,用户可以远程操作其他计算机,进行文件的移动和操作,或在对方电脑上执行命令等等。但同时需要注意的是,由于开放了远程控制功能,需要注意网络安全问题,并设置复杂的密码进行连接控制。 ### 回答2: VNC是一种远程桌面控制软件,下载VNC远程桌面控制软件可以让您远程连接到Windows操作系统,并实现在远程计算机上控制和访问本地计算机。 要下载VNC远程桌面软件,您可以在官方网站上下载,也可以从其他网站上下载。官方网站地址是www.realvnc.com。 在官网下载VNC远程桌面软件之前,您需要确定您需要哪个版本,因为不同版本支持的操作系统不同。目前市面上,常用的有RealVNC、TightVNC、UltraVNC等版本。 在下载和安装过程中,您需要选择合适的安装选项,例如是否安装VNC Viewer等。安装完成后,您需要配置远程桌面连接,以便在远程计算机上建立到本地计算机的连接。 配置完毕后,您可以在远程计算机上启动VNC Viewer并输入本地计算机的IP地址或主机名,以便访问本地计算机。此时,您就可以在远程计算机上以和本地计算机一样的方式控制本地计算机了。 总的来说,下载VNC远程桌面软件很简单,只需查找合适的版本并按照指南进行安装和配置即可。接下来,您就可以愉快地掌控远程桌面了! ### 回答3: VNC是一种可以实现远程桌面控制的软件,在Windows系统上使用VNC可以实现远程控制其他电脑的桌面。以下是关于VNC远程桌面Win下载的详细介绍。 首先需要访问VNC官网,从官网上下载安装包。官网上提供了多个版本的下载,选择合适的版本下载即可。下载完毕后运行安装程序,根据提示进行安装即可。 安装完成后,需要配置VNC服务器和客户端。此处以UltraVNC为例进行说明,首先需要在需要远程控制的电脑上安装UltraVNC服务器端,安装时需要选择“Service-Mode”和“Install Driver”选项,安装完成后,运行UltraVNC Server进行配置,确定服务器的配置信息和授权密码,然后选择“Save Setting”保存配置。接下来,在需要进行控制的电脑上安装UltraVNC客户端,安装过程同上述安装过程,安装完成后,运行UltraVNC Viewer,输入需要控制的服务器IP地址和授权密码,即可实现远程控制。 需要注意的是,在使用VNC远程桌面控制时,要保证有稳定的网络连接,因为网络不稳定会影响远程桌面控制的质量和稳定性。在使用之前,可以设置VNC的画质、颜色和控制模式等选项,在需要控制的电脑上安装VNC服务器端时,还可以设置仅允许指定的用户进行控制,保证远程控制的安全性。 总之,VNC远程桌面Win下载简单方便,只需要从官网下载安装程序,然后按照提示进行安装和配置,即可轻松实现远程桌面控制。在使用时要注意网络连接和安全性问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

aawolf

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值