TabTip.exe请求的操作需要提升。 .NET Core

时间:2018-01-12 15:45:44

标签: asp.net-core .net-core

TabTip.exe请求的操作需要

我试图在调用函数时弹出TabTip。我试图在.NET Core中使用此代码执行此操作,但我收到以下错误:

{System.ComponentModel.Win32Exception:请求的操作需要提升    在System.Diagnostics.Process.StartCore(ProcessStartInfo startInfo)    在myClass.cs中的myfunc():第64行}

这是代码

    Process p = new Process();
    ProcessStartInfo processStartInfo = new ProcessStartInfo(@"C:\Program Files\Common Files\microsoft shared\ink\TabTip.exe");
    p.StartInfo = processStartInfo;
    p.Start();

我在管理员模式下运行Visual Studio。

1 个答案:

答案 0 :(得分:0)

这是我用来完成我想要完成的代码。我需要将TabTip.exe从其原始位置复制到我的项目目录。

            var processlist = Process.GetProcesses();

            foreach (var process in processlist.Where(process => process.ProcessName == "TabTip"))
            {
                process.Kill();
                break;
            }

            Process cmd = new Process();
            cmd.StartInfo.FileName = "powershell";
            cmd.StartInfo.RedirectStandardInput = true;
            cmd.StartInfo.RedirectStandardOutput = true;
            cmd.StartInfo.CreateNoWindow = true;
            cmd.StartInfo.UseShellExecute = false;
            cmd.Start();

            cmd.StandardInput.WriteLine(".\\TabTip.exe");
            cmd.StandardInput.Flush();
            cmd.StandardInput.Dispose();
            cmd.WaitForExit();
            Debug.WriteLine(cmd.StandardOutput.ReadToEnd());