标签: uac

为什么我的代码无法在Windows 7下的"C:\ Program Files"中创建目录?

我正在使用Windows 7,我必须在该Windows中运行一个程序,但该程序在Windows XP中运行.这是一个Visual C++程序,我正在使用Visual Studio 2008.当我运行我的应用程序时,它不会抛出任何错误,但它不会在"c:\ program files \"中创建一个目录.那么有人可以帮我创建目录和exe文件吗?

这是我正在使用的代码:

char szAppPath[MAX_PATH];
char szFileName[MAX_PATH];
DWORD dwResult;
WIN32_FIND_DATA FindFileData;
HANDLE hFind;

dwResult = ExpandEnvironmentStrings( NULL, szAppPath, MAX_PATH);  // "%ProgramFiles%"


// do same for NSim directory
strcat(szAppPath,"\\NSim");
hFind = FindFirstFile(szAppPath, &FindFileData);

if (hFind == INVALID_HANDLE_VALUE) 
{
    //Directory Does't Exists create New
    if(!CreateDirectory(szAppPath,NULL))  //Throw Error
    {
        MessageBox("Unable to Create N-SIM directory","NSim Installer");
        return ;
    }
} 
else  
{
    //check if is directory or not
    if(!(FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)) 
    {
        MessageBox("Can't Create N-SIM directory\n Another …
Run Code Online (Sandbox Code Playgroud)

c++ windows uac visual-c++ windows-7

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

为什么需要管理权限的应用程序无法在Windows启动时自动运行(Windows 7)?

我有一个应用程序(在Windows7上运行,需要以管理方式运行),需要在Windows启动时自动运行,所以我像往常一样在"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run"下添加了一个注册表项,但是我的从谷歌搜索后,即使UAC对话框没有提交,应用程序也不会自动启动.我知道我可以使用任务调度程序来解决这个问题,但是今天有什么可以告诉我为什么"运行"注册表方式不起作用?为什么UAC对话框没有提交?如果你能帮助从microsoft找一篇文章来解释这个问题,那就更好了,非常感谢!

windows uac windows-7

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

在 Windows 10 上从非管理员帐户启动触摸键盘 (Tabtip.exe)

我通过按下按钮从我的应用程序中以管理员帐户启动触摸键盘,如下所示:

 var progFiles = @"C:\Program Files\Common Files\Microsoft Shared\ink";
 var keyboardPath = Path.Combine(progFiles, "TabTip.exe");
 Process.Start(keyboardPath);
Run Code Online (Sandbox Code Playgroud)

但是,对于非管理员帐户,触摸键盘不会启动。

我尝试了各种技术(使用 ShellExecuteEx、CreateProcessWithLogonW、模拟等),但都没有成功。

是否有可能做到这一点?

c# uac windows-10

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

C# 在运行时提升程序

我有一个 C# 程序,我希望其中的某些功能需要管理员密码。为了解决这个问题,我启动了应用程序的另一个实例作为提升的进程,并向其传递命令行参数,以便该进程知道它必须执行什么任务。

Process proc = new Process();
proc.StartInfo.Arguments = "PARAMETERS HERE");
proc.StartInfo.FileName = Application.ExecutablePath;
proc.StartInfo.UseShellExecute = true;
proc.StartInfo.Verb = "runas";
proc.Start();
Run Code Online (Sandbox Code Playgroud)

这工作正常,但我有一个小问题。我刚刚注意到启动新进程时弹出的 UAC 提示符不仅显示应用程序名称和路径,还显示传递给它的命令行参数。这样,用户可以看到正在传递的参数,并直接从run命令或传递参数command prompt

有什么办法可以防止这种情况吗?或者提升正在运行的程序的更好方法?

c# uac winforms elevated-privileges

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

如何在 C# 中以另一个用户身份创建一个没有密码的进程?

我正在尝试用 C# 创建一些类似于 Linux 的 sudo 的东西。我找到了一种使用密码以其他用户身份运行该进程的方法,但我想在没有密码的情况下执行此操作。

另外,我的 C# 软件以管理员身份运行并且已通过 UAC。

我当前的代码:

static void CreateProcessAsUser(string name, string path, SecureString password)
{
    Process proc = new Process();

    proc.StartInfo.UseShellExecute = false;
    proc.StartInfo.FileName = path;
    proc.StartInfo.UserName = name;
    proc.StartInfo.Password = password;

    proc.Start();
}
Run Code Online (Sandbox Code Playgroud)

谢谢。

c# windows uac process

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

持久的UAC提升

有什么方法可以使程序UAC提升永久性地跨越新实例.我有一个在UAC提升模式下运行的程序,需要在UAC提升模式下启动进程,但用户不会每次都在计算机上进行授权.也许在安装期间...但不是每次都安装.

c# uac

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

当用户已经是管理员时通过 C++ 激活管理员 [以管理员身份运行]

嗯,我注意到在 Windows 7 上,有时即使你是管理员,你也不能做很多事情,可能是某种错误,我的应用程序我在启动程序之前检查用户是否是管理员,因为我的程序创建文件位于受保护的默认文件夹中,例如根文件夹 ( C: ),如果您不是 Windows 7 的管理员,则只能在那里创建文件夹。

因此,如果我右键单击我的应用程序并转到“以管理员身份运行”,它就可以正常工作。有没有办法让我的应用程序自动以管理员身份运行?我希望能够编写一行代码,例如:ActivateAdministrator();并且完全可用于代码,因为我更改了属性,使用ifstream.

c++ windows uac

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

为什么管理员权限不允许我以编程方式禁用UAC?

我正在尝试制作一个基本检查程序来进行黑客攻击.黑客入侵代码,并需要确保禁用UAC.有没有一种特殊的方式我必须用Windows 8做到这一点?

************** Exception Text **************
System.UnauthorizedAccessException: Cannot write to the registry key.
   at System.ThrowHelper.ThrowUnauthorizedAccessException(ExceptionResource resource)
   at Microsoft.Win32.RegistryKey.EnsureWriteable()
   at Microsoft.Win32.RegistryKey.SetValue(String name, Object value, RegistryValueKind valueKind)
   at Microsoft.Win32.RegistryKey.SetValue(String name, Object value)
   at Basic_Checker.Form1.linkLabel5_LinkClicked(Object sender, LinkLabelLinkClickedEventArgs e) in C:\Users\Jennifer\Documents\Visual Studio 2010\Projects\BasicChecker v1.1\BasicChecker\Form1.cs:line 386
   at System.Windows.Forms.LinkLabel.OnLinkClicked(LinkLabelLinkClickedEventArgs e)
   at System.Windows.Forms.LinkLabel.OnMouseUp(MouseEventArgs e)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.Label.WndProc(Message& m)
   at System.Windows.Forms.LinkLabel.WndProc(Message& msg)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded …
Run Code Online (Sandbox Code Playgroud)

c# uac windows-8

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

获取受UAC保护的文件夹列表

如何在启用UAC的情况下获取受保护的写文件夹列表?需要此信息的过程是使用管理员权限(安装程序)启动的.

c++ windows uac

-2
推荐指数
1
解决办法
946
查看次数