system("unrar e c:\myFiles.rar");
例如
但如果我用带有系统代码的exe打开它,怎么能得到.rar的名称和路径
作为照片,我需要用我制作的exe打开apk / zip / rar,并希望exe检测路径和需要提取的apk / rar / zip的名称
答案 0 :(得分:2)
您需要在Windows注册表中注册您的exe才能处理apk / zip / rar文件:
File Types and File Associations
How to Register a File Type for a New Application
例如:
HKEY_CLASSES_ROOT
.rar
(Default) = "RarFile"
HKEY_CLASSES_ROOT
RarFile
shell
OpenWithMyApp
command
(Default) = ""C:\Path to\myapp.exe" "%1""
然后,当用户在Windows资源管理器中单击此类文件时,它可以运行您的exe,您可以使用argv
main()
参数来检测文件名,例如:
#include <stdlib.h>
#include <stdio.h>
int main(int argc, char* argv[])
{
if (argc > 1)
{
char cmd[512];
sprintf(cmd, "unrar e %s", argv[1]);
system(cmd);
}
return 0;
}
或者
#include <string>
#include <cstdlib>
int main(int argc, char* argv[])
{
if (argc > 1)
{
std::string cmd = std::string("unrar e ") + argv[1];
std::system(cmd.c_str());
}
return 0;
}