我的问题确实很容易,我有3个批处理文件,用于在使用捆绑的Java运行时环境时使用不同的命令运行.jar。但是,对于普通用户,他们实际上必须以管理员身份打开cmd,然后运行那些批处理文件。我想在C ++中创建一个.exe,它能够以管理员身份打开cmd并运行那些批处理文件。
但是,我的问题是我不知道如何以管理员身份打开cmd,然后使其指向exe所在的目录。我知道我可以将其指向固定文件夹,但是我不想要那样。该程序必须能够从任何位置运行,因此用户只需要解压缩该文件夹并运行可执行文件,即使其在桌面也是如此。
我尝试了下面的代码。
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
int i;
cout << "Select Operation: 1 - use first batch"<< endl;
cin >> i;
if(i == 3){
system("runas /user:<admin-user> \"firstbatch.bat\"");}
}
结果是它将在运行可执行文件的同一文件夹中打开所需的.bat。但它根本不起作用,它会等待用户输入