Windows mobile 如何以编程方式打开和关闭特定的Microsoft PowerPoint移动文件/演示文稿?

Windows mobile 如何以编程方式打开和关闭特定的Microsoft PowerPoint移动文件/演示文稿?,windows-mobile,compact-framework,powerpoint,.net-3.5,Windows Mobile,Compact Framework,Powerpoint,.net 3.5,我正在帮助一位朋友做一个项目/实验。任务是在PDA上重复打开和关闭各种应用程序数百次,并记录电池的消耗量。然后重复实验,但这是下一次安装了防病毒软件,可能是在后台运行;在这里,再次打开和关闭应用程序,并记录电池消耗。PDA使用的是Windows Mobile 6。打开和关闭应用程序的任务已通过.NET Framework Compact Edition 3.5中编写的程序实现自动化。程序使用System.Diagnostics.Process组件启动和关闭应用程序。要求之一是在Office Mo

我正在帮助一位朋友做一个项目/实验。任务是在PDA上重复打开和关闭各种应用程序数百次,并记录电池的消耗量。然后重复实验,但这是下一次安装了防病毒软件,可能是在后台运行;在这里,再次打开和关闭应用程序,并记录电池消耗。PDA使用的是Windows Mobile 6。打开和关闭应用程序的任务已通过.NET Framework Compact Edition 3.5中编写的程序实现自动化。程序使用System.Diagnostics.Process组件启动和关闭应用程序。要求之一是在Office Mobile应用程序套件中打开文件

所以,Word Mobile打开了一些文档文件,Excel Mobile打开了一些东西。这是通过流程StartInfo.arguments传递参数来实现的。它适用于Word和Excel,但不适用于PowerPoint;当然,PowerPoint会打开,但似乎不会对通过StartInfo.arguments传递的参数做出反应(即使这些参数故意不正确,例如:如果发送的文件路径不存在,也不会提示您发出警告)

以下是问题:

  • PowerPoint Mobile能否通过StartInfo.arguments流程传递参数来打开演示文稿
  • 如果没有,还有哪些其他选项可以在这方面控制PowerPoint Mobile(特别是可以重复打开然后关闭)
  • 这第三个问题不是真正的问题,只是暗示了一个解决方案/问题:如果我在台式计算机上遇到问题,迫使我创建一个解决方案,我会在我想要打开的特定PowerPoint文件中编写一个小型VBA程序,该程序将加载该文件(PowerPoint Mobile的目的似乎只是执行演示文稿,而不是打开桌面版PPT时看到的内容)然后自动关闭,因为在这种情况下,我仍然可以从控制程序执行两项功能,即:打开应用程序,然后等待它关闭。此外,我还要补充一点,我对Microsoft Office Mobile和PDA知之甚少
  • 这里还有一些观察结果。我想也许我可以执行一条捷径,但我被告知这不起作用。还有最后一点,即使存在这样的解决方法,GetProcesses()方法在Compact Framework中不可用。我可以在PDA上发送操作系统命令吗?例如,在台式计算机上,我可以通过“任务列表”访问正在执行的进程。好的,我完成了

  • 我相信智能设备框架过去包括两种不同的方法来实现问题2,但当紧凑型框架能够在一个版本中调用“System.Diagnostics.Process.Start”时,它们就被删除了

    但是,Process.Start的compact framework版本需要您上面提到的两个参数(exe,filename),不能仅使用文件名直接调用。尽管compact framework版本不如smart device framework代码有用,但足以将其从主项目中删除

    较旧版本的智能设备框架允许直接调用文件名,并使用pinvoke启动文件检查注册表中的相关程序

    OpenNETCF.WinAPI.Core.ShellExecute("\\My Documents\\Test.pxl", "");
    
    或者我认为另一种方法是打电话给

    OpenNETCF.Diagnostics.Process.Start("\My Documents\Test.pxl")
    
    第二种方法在版本1.4中仍然可用,其源代码仍然可用。您可以从(页面底部)下载它们并提取它们正在使用的代码,甚至可以自己编译DLL并从项目中调用它们


    希望这在某种程度上有所帮助

    我相信智能设备框架过去包括两种不同的方法来实现问题2,但当紧凑型框架能够在一个版本中调用“System.Diagnostics.Process.Start”时,它们被删除了(如果以后的版本)

    但是,Process.Start的compact framework版本需要您上面提到的两个参数(exe,filename),不能仅使用文件名直接调用。尽管compact framework版本不如smart device framework代码有用,但足以将其从主项目中删除

    较旧版本的智能设备框架允许直接调用文件名,并使用pinvoke启动文件检查注册表中的相关程序

    OpenNETCF.WinAPI.Core.ShellExecute("\\My Documents\\Test.pxl", "");
    
    或者我认为另一种方法是打电话给

    OpenNETCF.Diagnostics.Process.Start("\My Documents\Test.pxl")
    
    第二种方法在版本1.4中仍然可用,其源代码仍然可用。您可以从(页面底部)下载它们并提取它们正在使用的代码,甚至可以自己编译DLL并从项目中调用它们

    希望这能有所帮助

  • 由于您尝试以与Word Mobile和Excel Mobile相同的方式传递参数,但PowerPoint Mobile失败,因此逻辑推断为不支持命令行参数。这假定您已经完成了代码(未显示该代码)没错,但由于调用Process.Start非常简单,而且您已经在其他应用程序中使用了它,所以我想您也在这里使用了它
  • Pocket Office应用程序都没有任何形式的文档记录。我们知道它们没有任何自动化接口或API,因此如果命令行参数没有任何作用,那么你就很倒霉了,除非你想侵入SendMessage调用,模拟单击菜单项并输入文件名。如果打开文件是绝对错误的如果需要,那可能是我下一步要尝试的路线
  • Pocket Office不支持VBA/脚本编写,因此这不是设备上的选项
  • shorcut将与使用命令行调用应用程序完全相同