就像在 google chrome 中一样,当您下载某些内容时,您可以单击“在资源管理器中打开”或其他内容,它将打开 exlplorer,并突出显示该文件。我将编写一个程序(可能是 ac cmd 程序),在给定位置搜索文件,然后我希望能够直接从程序中单击并打开文件。你有什么方法可以推荐我吗?它不必是 c 甚至是 cmd 程序。
问问题
3410 次
6 回答
2
要打开文件夹并选择文件夹中的一个或多个项目,该SHOpenFolderAndSelectItems
功能就是您要查找的功能。
于 2013-04-01T19:25:58.197 回答
1
如果您下载的文件路径是downloadFilePath
然后
Process.Start(downloadFilePath)
会做正确的事。基于文件扩展名的打开动词路径,它应该启动文件扩展名的默认应用程序
于 2013-04-01T16:01:53.103 回答
1
我对 c++ 了解不多,但是 VB 和 youtube 对我有很大帮助:)
谢谢克里斯的链接!
ShellExecute(handle, "find", <fully_qualified_path_to_folder>, NULL, NULL, 0);
也感谢其他人的链接!
于 2013-04-01T17:26:13.497 回答
0
您可以使用CreateProcess()
WinAPI 中的函数。
http://msdn.microsoft.com/en-us/library/windows/desktop/ms682425(v=vs.85).aspx
例子:
#include <iostream>
#include <Windows.h>
using namespace std;
int wmain()
{
STARTUPINFO si;
PROCESS_INFORMATION pi;
ZeroMemory( &si, sizeof(si) );
si.cb = sizeof(si);
ZeroMemory( &pi, sizeof(pi) );
//open C:\Windows in Explorer
CreateProcess
(
TEXT("c:\\WINDOWS\\system32\\explorer.exe"),
" C:\\Windows",NULL,NULL,FALSE,
CREATE_NEW_CONSOLE,
NULL,NULL,
&si,
&pi
);
return 0;
}
于 2013-04-01T16:02:08.047 回答
0
你没有提到你正在使用什么框架,所以我会给你我使用的 Qt 选项。这将适用于 Windows 或 Qt 支持的任何操作系统。我在使用 Visual Studio 构建的 Qt 应用程序中使用它。
QDesktopServices::openUrl(QUrl::fromLocalFile("myfile.xls")); QDesktopServices::openUrl(QUrl::fromLocalFile("myfile.doc")); QDesktopServices::openUrl(QUrl::fromLocalFile("myfile.txt"));
于 2013-04-01T16:08:01.603 回答
0
system()
做事方式:
#include <stdlib.h>
int main() {
system("explorer /select,C:\\Windows\\notepad.exe");
return 0;
}
explorer.exe的完整选项列表
于 2013-04-01T17:24:49.040 回答