相关疑难解决方法(0)

在按钮上添加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 display the shield
            button.Text = " ";
            SendMessage(button.Handle, BCM_SETSHIELD, 0, 1);        
        }
        else
            SendMessage(button.Handle, BCM_SETSHIELD, 0, 0);    
}
Run Code Online (Sandbox Code Playgroud)

谢谢!

c# uac dllimport winforms

8
推荐指数
1
解决办法
3192
查看次数

如何在Windows XP上以管理员身份运行其他应用程序

我使用了此处所述的应用程序清单文件,使我的应用程序的一部分以提升的权限运行(它需要).
因此,在需要时,主程序只使用Process.Start调用一个小程序集,然后处理需要管理员权限的任务.

但是,如何在Windows XP上执行相同的操作?
似乎XP只是忽略了这个清单并在当前用户上下文中运行小程序集.

.net c# uac windows-xp elevation

6
推荐指数
1
解决办法
6118
查看次数

在非管理员帐户上使用管理员权限自动启动WinForms应用程序

几天来我一直在努力解决这个问题,找不到任何可以解决这个问题的帖子.也许我想要的是不可能的.

我们开发了一个WinForms应用程序供我们公司内部使用.

大多数员工在Windows中没有管理员权限.

我们的应用程序需要管理员访问机器,并且需要在用户登录时自动启动.

这是我尝试过的:

1)在Startup文件夹中放置快捷方式

我可以让应用程序自动启动(使用relauncher),但它仍然需要管理员在每次重启时都在计算机上(输入密码).

2)注册表项

我创建了一个Software\Microsoft\Windows\CurrentVersion\Run注册表项来自动启动应用程序.无论是运行重新启动器还是应用程序本身,UAC都需要在每次重启(或重新登录)时输入密码.

3)预定任务

我创建了一个计划任务,使用计算机上的管理员权限在登录时自动启动应用程序(使用以下帐户).我还检查了"以最高权限运行"框.每次重启都会弹出UAC.

4)Windows服务

我试图将应用程序作为Windows服务运行,但它有一个用户界面(由Windows服务禁用).

5)禁用特定程序的UAC

看起来您可以为特定程序禁用UAC,但这涉及下载应用程序兼容性工具包,创建某种数据库等.我非常希望我们的IT人员不必在每台计算机上都这样做.在这一点上,这可能是我唯一的选择.

管理员似乎应该能够安装一个应用程序,以便它在没有提示的情况下自动运行.我错过了这样做的方法吗?

c# windows uac

1
推荐指数
1
解决办法
1615
查看次数

标签 统计

c# ×3

uac ×3

.net ×1

dllimport ×1

elevation ×1

windows ×1

windows-xp ×1

winforms ×1