c# - 从 WPF 通过 URL 打开文件

标签 c# .net process

我想以编程方式从 SharePoint URL 打开文档。

我有以下代码:

Process wordProcess = new Process();
wordProcess.StartInfo.FileName 
    = "http://sharepoint/blank_site_1/document library 1/word document.docx";
wordProcess.StartInfo.UseShellExecute = true;
wordProcess.Start();

这将打开一个网络浏览器窗口并下载文件,这不是我想要的。如果我追加

wordProcess.StartInfo.Verb = "OpenAsReadOnly"

按照( the documentation )我在 wordProcess.Start() 处收到 Win32 异常“参数不正确” ,尽管动词出现在 wordProcess.StartInfo.Verbs 中在调试器中检查时。

我有一个 POC,它通过从注册表中提取默认程序、构建命令并使用文件名启动程序来实现此目的,但如果可以轻松解决此问题,我宁愿不走这条路,就像我所做的那样想要做的是用默认程序打开一个文件(其路径恰好看起来像一个 URL)。

最佳答案

只是猜测,试试这个:

wordProcess.StartInfo.FileName = "winword.exe";
wordProcess.StartInfo.Arguments = "\"http://sharepoint/blank_site_1/document_library_1/word document file.docx\"";

关于c# - 从 WPF 通过 URL 打开文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10988204/

相关文章:

.net - 字段由同一属性多次注释

c# - 有没有办法判断哪个 EventLog 导致了 C# 中的 EntryWritten 事件?

安卓子网扫描

c# - 什么时候将标志存储为位掩码比使用关联表更好?

c# - 是枚举到枚举拳击还是只是类型转换

c# - 尝试访问映射驱动器时,服务中的文件复制失败

bash - 如何在 bash 中等待多个子进程完成,并在任何子进程以代码 !=0 结束时返回退出代码 !=0?

C#,是否可以在没有副本的情况下将 byte* 转换为 byte[]?最快的方法是什么?

C# 等效于 MessageBoxA(HWND_DESKTOP, msg, "Alarm", MB_OK | MB_ICONWARNING | MB_SYSTEMMODAL | MB_SETFOREGROUND);

c# - 进程中的 pg_dump 未写入任何文件