Tag: uac

如何使控制台应用程序始终以管理员身份运行?

我有一个开发的控制台应用程序,由erp软件调用。 他们在erp中调用我的应用程序,当他们这样做时,我总是会得到与执行权限不足相关的错误。 我已经检查了所有用户的exe属性中的“以管理员身份运行此程序”复选框,但结果是相同的。 我已经阅读了一些有关添加清单的内容,该清单将为uac对话框提供应用程序提示,但这不是我想要的,因为应用程序将从服务器上的erp调用,客户端将无法在服务器上看到对话框。 有人可以解释我如何让这个控制台应用程序始终以管理员身份运行?

皮条客我的UAC和一些关于它的问题

我有这个应用程序需要在受保护的路径中做一些事情(如%PROGRAMFILES%),我知道我应该使用%APPDATA%,但我现在无法改变它。 我已经隔离了所有可能需要UAC出现在另一个项目上的东西,这里是一个示例代码: using System; using System.Diagnostics; using System.IO; using System.Windows.Forms; class Class1 { static void Main(string[] args) { try { File.CreateText(Path.Combine(Application.StartupPath, “something.txt”)); } catch (UnauthorizedAccessException ex) { MessageBox.Show(ex.Message, “UnauthorizedAccessException”, MessageBoxButtons.OK, MessageBoxIcon.Error); if (args.Length == 0) { Process proc = new Process(); proc.StartInfo.FileName = Application.ExecutablePath; proc.StartInfo.Arguments = “not again”; proc.StartInfo.Verb = “runas”; proc.Start(); } else { […]

在按钮上添加UAC防护罩并保留其背景图像?

在winforms应用程序中使用C#和.Net 4.0:是否可以将UAC屏蔽添加到按钮并保留按钮背景图像? 怎么样? 这就是我目前正在使用的,但它删除了图像…… [DllImport(“user32.dll”)] public static extern int SendMessage(IntPtr hWnd, uint Msg, int wParam, int lParam); public static void UACToButton(Button button, bool add) { const Int32 BCM_SETSHIELD = 0x160C; if (add) { // The button must have the flat style button.FlatStyle = FlatStyle.System; if (button.Text == “”) // and it must have text to […]

C#在运行时提升程序

我有一个C#程序,我希望某些function需要管理员密码。 为了解决这个问题,我启动了另一个应用程序实例作为提升过程并将命令行参数传递给它,因此进程知道它必须执行什么任务。 Process proc = new Process(); proc.StartInfo.Arguments = “PARAMETERS HERE”); proc.StartInfo.FileName = Application.ExecutablePath; proc.StartInfo.UseShellExecute = true; proc.StartInfo.Verb = “runas”; proc.Start(); 这工作正常,但我有一个小问题。 我刚刚注意到,弹出启动新进程的UAC提示不仅显示应用程序名称和路径, 还显示传递给它的命令行参数。 这样,用户可以看到传递的参数,并直接从run命令或command prompt传递参数。 有什么办法可以防止这种情况吗? 或者更好的方法来提升正在运行的程序?

IE8不会下载具有启用UAC的自定义mime /类型的文件

我在本地计算机上运行.net服务(Windows 7 x64,IE8,.net 3.5,C#),它将文件返回给浏览器以响应用户操作。 使用firefox或chrome,文件正确下载,我们的应用程序通过自定义mime类型启动,一切都很好。 但是,使用IE8,我收到一个“无法从中下载文件的对话框。无法打开此网站。请求的网站不可用或无法找到。请稍后再试”。 使用fiddler,我validation了IE确实从服务接收了有效负载。 如果我关闭UAC,IE会下载该文件并启动相关的应用程序。 关闭UAC不是一个可行的解决方案,因为我们的客户将启用它。 如何让IE8在启用UAC的情况下启动相关应用程序? 编辑: 在使用此处所述的编程ID重新注册mime类型后,我可以让IE打开显示“打开或保存”对话框,以便在第二次从地址栏请求链接时。 为什么它第一次不起作用?

具有管理员权限的Windows窗体启动

我有一个需要管理员权限才能运行的Windows窗体应用程序,为此,我使用此代码: 完成开发的下一步是在Windows重启,关闭再打开或用户登录后启动此窗体应用程序。 这是我的问题,这个应用程序需要管理员权限,需要在系统启动后启动,但我不知道要做到这一点。 我做的事情: 将应用程序可执行路径放在regedit上 Registry.CurrentUser.OpenSubKey(“SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run”, true); 我创建了Windows服务项目 https://docs.microsoft.com/en-us/dotnet/framework/windows-services/walkthrough-creating-a-windows-service-application-in-the-component-designer 这些选项不起作用,有人可以帮助我吗? 谢谢。

如何设计在Windows Vista / 7上以管理员身份运行的自动启动应用程序?

我需要我的应用程序根据某些事件启动和停止Windows服务。 问题是这个应用程序需要作为一个提升的普通用户(为了停止服务)运行,以及在Windows启动时自动启动。 另外,它需要在具有用户界面的系统托盘中。 我有什么选择? 我想至少有两种可能性: 通过将应用程序放入Startup文件夹或注册表中的.. \ Run键来使应用程序自动启动。 但问题是,这可以在每次Windows启动时弹出UAC提示对话框时完成吗? 开发一个安装为系统运行的Windows服务,在sys托盘中使用单独的GUI应用程序。 但是为了在提升的服务和普通的sys托盘应用程序之间进行通信,我有什么IPC可能性? 有什么想法和建议吗?

运行管理权限问题

我正在使用Windows Vista,我发现一些奇怪的东西, 我以编程方式调用IE打开IE访问某些本地html页面,当前用户属于管理员组; 我以编程方式用RunAs参数调用IE,并让IE访问一些本地html页面,当前用户属于管理员组; 我发现(1)和(2)有时会有不同的结果(页面内容),特别是当本地页面中有ActiveX或Silverlight插件时。 我的困惑是,如果当前用户属于管理员组,那么我们是否使用RunAs参数并不重要。 为什么在有和没有RunAs参数的情况下仍然不同,即使当前用户属于管理员组? 乔治,提前谢谢

在没有UAC提示的情况下从.NET应用程序执行进程

我有一个场景,我需要从我的.NET应用程序启动一个EXE,但我无法绕过弹出的UAC提示。 甚至在启动其他EXE之前就会触发提示 – 可能是在调用Process.Start 。 我使用此代码启动应用程序: var info = new ProcessStartInfo(path, “params”); info.Verb = “runas”; try { Process.Start(info); } catch (System.ComponentModel.Win32Exception) { // Person denied UAC escallation return false; } 两个EXE(我的应用程序和其他EXE)都在其清单中定义了: 如何在不触发UAC提示的情况下执行其他EXE,并使其具有与调用应用程序相同的访问令牌(因此它可以更改app文件夹中的文件等)?

重启程序无法获得

出于某种原因,我的C#程序需要以提升的权限重新启动。 我使用以下代码来实现它: private static void RestartForPermissionsFix() { ProcessStartInfo processInfo = new ProcessStartInfo(); processInfo.Verb = “runas”; processInfo.FileName = Assembly.GetExecutingAssembly().Location; Process.Start(processInfo); } 这很好用。 在我“修复我的权限”之后,我想重新启动程序。 没有“runas”,我尝试了同样的方法,但它不起作用。 我假设从提升的进程启动的进程自动boost。 任何的想法?