从我的应用程序,我想打开文件(jpg,pdf,..)与networking驱动器的默认Windows程序。 我知道start
,但似乎并不适用于networkingpath。
我尝试了下面的命令,但我得到的只是窗口对话框,告诉我他不知道如何打开该文件,以及是否想使用Web服务来请求程序或手动select。
从cmd.exe(P:\是一个networking驱动器):
cmd / c“start \ server \ path \ to \ image.jpg”
> cmd /c "start P:\path\to\image.jpg"
该文件的path是正确的,并在浏览器中单击它工作正常。
谢谢
更新:我发现这个问题。 看到我的答案在下面。
我认为你需要的功能是ShellExecute – 它看起来像这样:
ShellExecute(ParentWindowHandl, "open", "Z:\SQLWriter.doc", NULL, SW_SHOWNORMAL);
PS我知道我应该张贴这个评论,但不能评论所有职位呢。
我试过这两个命令:
这两个命令都很完美。 我没有收到任何错误消息。 你可以使用这些,如果你想它启动。
SHELLEXECUTEINFO ExecuteInfo; memset(&ExecuteInfo, 0, sizeof(ExecuteInfo)); ExecuteInfo.cbSize = sizeof(ExecuteInfo); ExecuteInfo.fMask = 0; ExecuteInfo.hwnd = 0; ExecuteInfo.lpVerb = "open"; // Operation to perform ExecuteInfo.lpFile = "cmd.exe"; // Application name ExecuteInfo.lpParameters = "start P:\Myfile.jpg"; // Additional parameters ExecuteInfo.lpDirectory = 0; // Default directory ExecuteInfo.nShow = SW_SHOW; ExecuteInfo.hInstApp = 0; if(ShellExecuteEx(&ExecuteInfo) == FALSE)
或者你可以通过这个链接: http : //www.codeguru.com/forum/showthread.php?t=302501
好的,我发现了这个问题。 似乎Windows注册表有点困惑。 正如之前所评论的,其他文件如文本和文档工作,所以唯一的问题是JPEG文件。
在Windows资源管理器中双击它们可以正常工作,但是使用start
命令显示了上述的弹出窗口。 在这里选择一个程序并标记为永久解决我的问题。 现在start
进一步调用,直接打开图像。