Win32 ShellExecute 和 UNC 路径
Posted
技术标签:
【中文标题】Win32 ShellExecute 和 UNC 路径【英文标题】:Win32 ShellExecute and a UNC Path 【发布时间】:2010-09-10 09:33:49 【问题描述】:我想在 Powerpoint 2007 中启动一个 Flash 演示文稿。我正在调用 Win32 ShellExecute() 例程。当我从路径为 UNC 路径 (\myserver\myfolder\sample.ppt) 的位置运行它时,它不起作用。
ShellExecute 例程需要 6 个参数,其中之一是运行它的路径。我尝试将此参数设置为 C:\ 以及使用 ActivePresentation.Path (这是一个 UNC 路径)。两者都不起作用。
【问题讨论】:
您能否将 ShellExecute() 函数调用显示为您现在如何使用它? 【参考方案1】:我最初尝试了这种方法,但发现它会导致问题:
在未连接到网络的笔记本电脑上使用演示文稿时。 如果用户无权访问 UNC。 如果 Flash 文件被重命名、移动或删除。我发现更好的方法是将文件嵌入到 Powerpoint 文件中。
使用Office XP、Powerpoint可以如下完成
从'查看'菜单中选择'工具栏'并勾选'控制工具箱'
在“控件工具箱”工具栏上点击“更多控件”图标
将显示控件列表。向下滚动直到找到'Shockwave Flash Object',然后点击它。
这应该会将您的光标更改为十字准线。移动到幻灯片上要插入 'Shockwave Flash Object' 的区域。 左键单击,按住并拖动以创建所需大小的框。
接下来右键单击刚刚插入的控件并选择'Properties'。
设置以下属性
* Autoload = True
* EmbedMovie = True
* Enabled = True
* Loop = True
* Playing = True
* Visible = True
* Movie = c:\flash.swf (Change this to the location of your .swf file)
关闭“属性”控件
保存文件。
关闭文件。
重新打开文件。
当您在幻灯片放映期间到达幻灯片时,.swf 文件应该会自动开始播放。
我发现在 .swf 文件中包含控件(暂停/播放、时间线)很有用
【讨论】:
几年前我尝试过这样的事情。我发现 PowerPoint 和 Flash 之间的交互存在一些问题。有时闪光灯只是无法播放。有时会。这是我无法始终如一地重现它的那种错误。也许它现在可以工作了。【参考方案2】:UNC 路径以 双 反斜杠开头。您是这样做的,还是只是问题中的一个错字?
【讨论】:
【参考方案3】:我已将驱动器映射到 UNC 路径。
命令行看起来像
subst A:“\\ServerName\SomeDirectory”
【讨论】:
这似乎是一个合理的解决方法。我唯一担心的是,我认为某些系统用户不允许映射网络驱动器。不过,我要检查一下,它似乎应该可以工作。【参考方案4】:好吧,现在它似乎与 unc 路径一起工作得很好。
【讨论】:
以上是关于Win32 ShellExecute 和 UNC 路径的主要内容,如果未能解决你的问题,请参考以下文章