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

     2023-02-22     249

关键词:

【中文标题】如何以编程方式打开和关闭特定的 Microsoft PowerPoint Mobile 文件/演示文稿?【英文标题】:How Do I Programmatically Open and Close a Specific Microsoft PowerPoint Mobile File/Presentation? 【发布时间】:2011-06-13 19:26:58 【问题描述】:

我正在帮助一位朋友进行项目/实验。任务是在 PDA 上重复打开和关闭各种应用程序数百次,并记录电池的消耗情况。然后重复实验,但下一次已经安装了杀毒软件,估计是在后台运行;再次在这里,应用程序被打开和关闭并记录电池消耗。 PDA 使用的是 Windows Mobile 6。打开和关闭应用程序的任务已通过使用 .NET Framework Compact Edition 3.5 编写的程序自动完成。该程序使用 System.Diagnostics.Process 组件来启动和关闭应用程序。其中一项要求是在 Office Mobile 应用程序套件中打开文件。

因此,Word Mobile 会打开一些 DOC 文件,而 Excel Mobile 会打开一些东西。这是通过 Process StartInfo.Arguments 传递参数来完成的。它适用于 Word 和 Excel,但不适用于 PowerPoint;可以肯定的是,PowerPoint 会打开,但似乎不会对通过 StartInfo.Arguments 传递的参数做出反应(即使参数故意不正确,例如:如果您发送的文件路径不存在,则不会提示您发出警告)。

以下是问题:

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

【问题讨论】:

【参考方案1】:
    由于您尝试以与 Word Mobile 和 Excel Mobile 相同的方式传递参数,但在 PowerPoint Mobile 中失败,因此逻辑推断是不支持,命令行参数不受支持。这假设您已经正确地完成了代码(您没有显示),但是由于调用 Process.Start 非常简单,并且您已经让它适用于其他应用程序,我假设您在这里也得到了它。 没有以任何方式记录任何 Pocket Office 应用程序。我们确实知道它们没有任何自动化接口或 API,所以如果命令行参数没有做任何事情,除非你想破解 SendMessage 调用来模拟单击菜单项和输入文件名。如果绝对需要打开文件,那可能是我接下来要尝试的方法。 Pocket Office 不支持 VBA/脚本,因此这不是设备上的选项。 快捷方式与使用命令行调用应用程序相同。两者都有效地做同样的事情。您可以通过 toolhelp API 获取进程列表,但它不会让您对这些进程进行任何控制(除了杀死它们,您已经可以使用 Process.Start() 返回的 Process 实例来执行此操作

【讨论】:

我是否认为过去似乎仅在单个文件名中工作的 OpenNetCF 代码最终将其作为命令行参数传递,因此您也不会好过。【参考方案2】:

我相信智能设备框架曾经包含两种不同的方式来实现问题 2,但是当紧凑型框架能够在其后续版本中调用“System.Diagnostics.Process.Start”时,它们被删除了。

但是,Process.Start 的紧凑框架版本需要您上面提到的两个参数(exe、文件名),并且不能仅使用文件名直接调用。尽管紧凑的框架版本不如智能设备框架代码有用,但足以导致将其从主项目中删除。

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

OpenNETCF.WinAPI.Core.ShellExecute("\\My Documents\\Test.pxl", "");

或者我相信另一种方法是打电话..

OpenNETCF.Diagnostics.Process.Start("\My Documents\Test.pxl")

第二种方法在 1.4 版本中仍然可用,其源代码仍然可用。您可以从OpenNetCF(页面底部)下载它们并提取他们正在使用的代码,甚至可以自己编译 dll 并从您的项目中调用它们。

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

【讨论】:

如何以编程方式关闭棉花糖设备中特定应用程序的打盹模式

】如何以编程方式关闭棉花糖设备中特定应用程序的打盹模式【英文标题】:howtoturnoffdozemodeforspecificappsinmarshmallowdevicesprogrammatically【发布时间】:2016-09-3019:07:42【问题描述】:MarshmallowAPI与以前的android操作系统有很大不同。当... 查看详情

Angular 2材料垫选择以编程方式打开/关闭

...ose【发布时间】:2018-06-0109:17:36【问题描述】:有人知道如何以编程方式打开或关闭mat-select吗?根据api,有打开和关闭的方法,但不知道如何从组件调用这些方法,并且现场没有任何示例显示。谢谢【问题讨论】:【参考方案1... 查看详情

如何在ios中以编程方式设置两个按钮之间的特定距离[关闭]

】如何在ios中以编程方式设置两个按钮之间的特定距离[关闭]【英文标题】:Howtosetaspecificdistancebetweentwobuttonsprogramaticallyinios[closed]【发布时间】:2017-05-1109:57:26【问题描述】:我是iOS编码的新手,请提前分享答案。我有3个水平... 查看详情

如何(以编程方式)判断是不是有/没有任何支持打开特定文档类型的注册应用程序?

】如何(以编程方式)判断是不是有/没有任何支持打开特定文档类型的注册应用程序?【英文标题】:Howtotell(programmatically)ifthereare/arenotanyregisteredappsthatsupportopeningaspecificdocumenttype?如何(以编程方式)判断是否有/没有任何支持... 查看详情

AVPlayer - 如何以编程方式打开/关闭来自 HTTP Live Streaming 视频的 CC?

】AVPlayer-如何以编程方式打开/关闭来自HTTPLiveStreaming视频的CC?【英文标题】:AVPlayer-howtoturnCCcomingfromHTTPLiveStreamingvideoon/offprogramatically?【发布时间】:2020-07-1511:22:15【问题描述】:我正在尝试创建一个自定义视频播放器。我正... 查看详情

如何以编程方式打开 Android 6.0 (Marshmallow) 上特定应用的权限屏幕?

】如何以编程方式打开Android6.0(Marshmallow)上特定应用的权限屏幕?【英文标题】:HowcanIprogrammaticallyopenthepermissionscreenforaspecificapponAndroid6.0(Marshmallow)?【发布时间】:2015-12-2515:25:23【问题描述】:我对新的Android6.0(Marshmallow)版本有... 查看详情

以编程方式打开和关闭控制台

】以编程方式打开和关闭控制台【英文标题】:Programaticallyopeningandclosingaconsole【发布时间】:2009-04-1707:18:29【问题描述】:我正在用C++编写一个窗口程序,但我希望可以选择弹出一个控制台以从程序内部输出(例如我的程序幕... 查看详情

如何以编程方式关闭 Windows 中打开的文件/应用程序?

】如何以编程方式关闭Windows中打开的文件/应用程序?【英文标题】:Howtoprogrammaticallycloseanopenfile/applicationinwindows?【发布时间】:2014-05-1618:46:31【问题描述】:我正在将数据写入csv文件作为操作的结果。比我在excel中打开文件来... 查看详情

如何以编程方式打开/关闭 Windows 代理

】如何以编程方式打开/关闭Windows代理【英文标题】:HowtoturnWindowsProxyOn/Offprogrammatically【发布时间】:2021-01-0306:07:41【问题描述】:我需要一个代码来打开或关闭WindowsProxy。我试过了:WINHTTP_PROXY_INFOproxyInfo;proxyInfo.dwAccessType=WINHTT... 查看详情

如何以编程方式仅从 node.js 中的数据库(MySQL)中导出特定表? [关闭]

】如何以编程方式仅从node.js中的数据库(MySQL)中导出特定表?[关闭]【英文标题】:Howtoexportonlyspecifictablesfromdatabase(MySQL)innode.jsprogrammatically?[closed]【发布时间】:2019-09-2317:50:47【问题描述】:我有两个数据库。我想通过编程将... 查看详情

如何以编程方式关闭画中画

】如何以编程方式关闭画中画【英文标题】:HowtoclosePictureinPictureprogrammatically【发布时间】:2020-02-1118:14:00【问题描述】:我在画中画模式下遇到了这个问题,我想在从PIP本身以外的其他地方再次打开活动时关闭PIP(画中画)。... 查看详情

Android - 以编程方式打开或关闭 GPS

】Android-以编程方式打开或关闭GPS【英文标题】:Android-turnGPSonoroffprogrammatically【发布时间】:2015-05-2716:39:22【问题描述】:为什么我们需要设置打开/关闭GPS另一方面,我们可以通过编程方式打开/关闭WIFI和蓝牙,而无需转到设... 查看详情

如何通过 ios 11.0.2 以编程方式打开/关闭 Iphone 8 plus 的飞行模式

】如何通过ios11.0.2以编程方式打开/关闭Iphone8plus的飞行模式【英文标题】:HowtoactivateairplanemodeofIphone8pluswithios11.0.2on/offprogrammatically【发布时间】:2018-04-1001:39:04【问题描述】:以下是我的目标-我想测试一些需要重启手机或使用... 查看详情

以编程方式打开特定的设置页面

】以编程方式打开特定的设置页面【英文标题】:OpenspecificSettings-pageprogrammatically【发布时间】:2016-12-1718:45:43【问题描述】:有什么方法可以在我的应用中将用户重定向到特定设置“页面”?我的应用程序用作锁定屏幕应用程... 查看详情

在android上以编程方式打开/关闭大写锁定和shift键

】在android上以编程方式打开/关闭大写锁定和shift键【英文标题】:Turnon/offcapslockandshiftkeyprogramaticallyonandroid【发布时间】:2012-06-0310:08:53【问题描述】:我正在开发一个android应用程序(键盘驱动程序),首先我将蓝牙键盘与andro... 查看详情

如何以编程方式关闭 NSPopover

】如何以编程方式关闭NSPopover【英文标题】:HowtoCloseNSPopoverprogrammatically【发布时间】:2014-08-0523:23:29【问题描述】:我想知道,而不是通过触摸外部,因为我想将它分配给一个操作(例如KeyDownEnterKey或其他快捷键)因为我使用... 查看详情

如何以编程方式(使用 Intent)在 Android 中打开 My Files 文件夹?

】如何以编程方式(使用Intent)在Android中打开MyFiles文件夹?【英文标题】:HowtoopentheMyFilesfolderinAndroidProgramatically(usingIntent)?【发布时间】:2013-08-0811:56:39【问题描述】:我正在使用以下代码打开画廊、音乐播放器、Dropbox和联系... 查看详情

如何以编程方式声明和显示我的 UITableView? [关闭]

】如何以编程方式声明和显示我的UITableView?[关闭]【英文标题】:Howtodeclare&displaymyUITableViewprogrammatically?[closed]【发布时间】:2013-07-2702:33:59【问题描述】:我用所有细节重新更新我的问题,以便更好地理解!正如他们所说的... 查看详情