编译一个C程序,可以运行 as admin无需手动设置

compile a C program that can run as admin without manual settings

好的~我搜索过这个问题,但是答案总是解决C++或C#

我想 fopen ("C:\myfile.txt","w"); 权限被拒绝。 我如何编译一个 C 程序可以 运行 作为管理员而不需要任何手动设置? 我正在使用 wxDEV-C++ 7.4.2。 有什么想法吗?

/* fopen example */
#include <stdio.h>
int main ()
{
  FILE * pFile;
  pFile = fopen ("C:\myfile.txt","w");
  if (pFile!=NULL)
  {
    fputs ("fopen example",pFile);
    fclose (pFile);
  }
  return 0;
}

首先,thx lurker 修正了我糟糕的英文标题。这是一个很大的帮助。

秒,我的意思是程序可以触发 UAC 弹出,然后用户只需单击一下即可同意 运行 作为管理员,因此用户无需右键单击 运行 作为管理员。

谢谢 SoronelHaetir 解决了我的问题。

如果不是黑客并利用 OS 中的弱点,这是不可能的。权限处理的全部要点是程序不应该能够决定它应该 运行 作为管理员。

如果您希望您的程序 运行 作为管理员而不需要右键单击,并且 select 运行 作为管理员,您需要嵌入一个清单,告诉 OS 到 运行 具有管理员凭据的程序。这仍然会弹出 UAC window 询问用户是否要允许程序 运行.

您可以在 https://msdn.microsoft.com/en-us/library/aa374191(v=vs.85).aspx

阅读有关应用程序清单格式的信息