SetConsoleMode失败,为零,lasterror = 0 - c#

这不是重复的! -好吧,看完评论后,也许是。

我正在寻找一种在C#,Visual Studio 2015,Targeting .NET Framework 4.5.2,OS = Windows 7中在控制台应用程序的控制台输出中将文本斜体化的方法。

Microsoft文档非常清晰

这是here-如此令人误解,这是错误的。这是一个操作系统问题。

我发现以下问题与Vladimir Reshetnikov想要的解决方案相符,

adding text decorations to console output

3月28日在19:52回答了其中一个问题,并在git和其他地方编写了类似的代码...我的问题是-自然地-它对我不起作用。

我将带有次要mod的作者代码复制到以下控制台应用程序中

using System;
using System.Runtime.InteropServices;

namespace ConsoleApplication1
{
    class Program
    {
        const int STD_OUTPUT_HANDLE = -11;
        const uint ENABLE_VIRTUAL_TERMINAL_PROCESSING = 4;

        [DllImport("kernel32.dll", SetLastError = true)]
        static extern IntPtr GetStdHandle(int nStdHandle);

        [DllImport("kernel32.dll")]
        static extern bool GetConsoleMode(IntPtr hConsoleHandle, out uint lpMode);

        [DllImport("kernel32.dll")]
        static extern bool SetConsoleMode(IntPtr hConsoleHandle, uint dwMode);

        static void Main()
        {
            var handle = GetStdHandle(STD_OUTPUT_HANDLE);
            uint mode;
            GetConsoleMode(handle, out mode);
            mode |= ENABLE_VIRTUAL_TERMINAL_PROCESSING;
            SetConsoleMode(handle, mode);

            const string UNDERLINE = "\x1B[4m";
            const string RESET = "\x1B[0m";
            Console.WriteLine("Some " + UNDERLINE + "underlined" + RESET + " text");
            Console.ReadLine();
        }
    }
}

并且我在窗口中获得了VT命令,而不是像本文中的下划线所示。

这是我的控制台窗口:SetConsoleMode失败,为零,lasterror = 0 - c#

我已经从ConsoleSetMode捕获了返回值-它为零。我已经看到了lasterror = 6的失败,但是这里的lasterror是0。

认为这是最近的更新? ... 或者其他的东西? [edit]这是Windows版本的问题-显然需要Windows 10 AU。

参考方案

确保未设置控制台属性底部附近的复选框“使用旧版控制台”:

SetConsoleMode失败,为零,lasterror = 0 - c#

如果没有看到此复选框,则可能是您使用的Windows版本太旧。

您可以使用注册表项HKCU\Console\ForceV2以编程方式操作此复选框,如this answer中所述。

当回复有时是一个对象有时是一个数组时,如何在使用改造时解析JSON回复? - java

我正在使用Retrofit来获取JSON答复。这是我实施的一部分-@GET("/api/report/list") Observable<Bills> listBill(@Query("employee_id") String employeeID); 而条例草案类是-public static class…

改造正在返回一个空的响应主体 - java

我正在尝试使用Retrofit和Gson解析一些JSON。但是,我得到的响应机构是空的。当我尝试从对象中打印信息时,出现NullPointerException。我确保URL正确,并且我也确保POJO也正确。我正在使用jsonschema2pojo来帮助创建POJO类。这是我要解析的JSON{ "?xml": { "@versi…

json数组,其中in数组返回错误?坏字符串 - javascript

我将json字符串文件解析为python,并且始终返回error。我使用了在线json格式化程序和验证器,它们也返回错误,因此我需要帮助使我的json正确并告诉我错误 [{ "sentence_id": "TR.00001", "sentence": { "text": …

每个文件合并后添加换行 - python

我有很多类似以下内容的JSON文件:例如。1.json{"name": "one", "description": "testDescription...", "comment": ""} test.json{"name"…

Json到php,json_decode返回NULL - php

我正在用PHP进行JSON解析器的一些API,用于存储有关遗产的信息。我在解析时遇到问题,因为它返回的是NULL值而不是数组或对象。简单的JSON代码可以很好地解析,但是可以这样:{"success":true,"totalCount":1,"data":[{"id":99694…