与谷歌浏览器一样,当您下载某些内容时,可以单击“在资源管理器中打开”或其他内容,它将打开exlplorer并突出显示该文件。 我将编写一个程序(可能是一个c cmd程序),在一个giver位置搜索一个文件,然后我希望能够直接从程序中单击并打开该文件。 还有其他方式你会建议我这样做吗?它不一定是c或甚至是cmd程序。
答案 0 :(得分:2)
要打开文件夹并选择文件夹中的一个或多个项目,SHOpenFolderAndSelectItems
功能就是您要找的内容。
答案 1 :(得分:1)
如果您下载的文件路径为downloadFilePath
然后
Process.Start(downloadFilePath)
会做正确的事。基于文件扩展名的Open Verb Path,它应该启动文件扩展名的默认应用程序
答案 2 :(得分:1)
我对c ++知之甚少,但VB和youtube对我很有帮助:))
谢谢Chris的链接!
ShellExecute(handle, "find", <fully_qualified_path_to_folder>, NULL, NULL, 0);
还要感谢其他人的链接!
答案 3 :(得分:0)
您可以使用WinAPI中的CreateProcess()
功能。
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;
}
答案 4 :(得分: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" ) );
答案 5 :(得分:0)
system()
做事方式:
#include <stdlib.h>
int main() {
system("explorer /select,C:\\Windows\\notepad.exe");
return 0;
}
的完整列表