编译一个可以作为管理员运行的C程序,无需手动设置

时间:2017-12-18 19:04:36

标签: c uac runas

好吧〜我已经搜索过这个问题,但是ans总是解决了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潜伏者修复了我糟糕的英文名称。这是一个很大的帮助。

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

SoronelHaetir解决了我的问题。

2 个答案:

答案 0 :(得分:1)

如果不是黑客并利用操作系统中的弱点,这是不可能的。权限处理的重点是程序不能决定它应该以管理员身份运行。

答案 1 :(得分:1)

如果您希望程序以管理员身份运行而无需右键单击并选择以管理员身份运行,则需要嵌入一个清单,告诉操作系统使用管理员凭据运行您的程序。这仍将弹出UAC窗口,询问用户是否允许程序运行。

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

了解应用清单格式