2
我已经有了一个模糊的Java背景并且刚刚安装了Visual Studio Community 2015.使用它可以让控制台应用程序启动并运行,并且想要在连接到不同的控制台后使用上述功能。麻烦是我不知道这个功能的适当声明 - 有人可以告诉我在这个例子中应该是什么,但对我来说也是一个很好的指针,所以我可以自己解决。该IDE似乎并没有多大帮助从托管代码访问GetConsoleHistoryInfo()
using System.Runtime.InteropServices;
namespace ConsoleStuff
{
class Program
{
[DllImport("kernel32.dll", SetLastError = true)]
public static extern bool GetConsoleHistoryInfo();
static void Main(string[] args)
{
GetConsoleHistoryInfo(); // <-- PInvokeStackImbalance occurred
}
}
}
谢谢 - 哪里是获取此类信息的最佳资源? – user1561108
[pinvoke.net](http://www.pinvoke.net)是P/Invoke最棘手的资源。期。这是完全错误的股票,这个结构声明也不例外:原生数据类型'UINT'是32位,而不是**映射到C#的'ushort'(16位)。请参阅[使用平台调用封装数据](https://msdn.microsoft.com/zh-cn/library/fzhhdwae.aspx)以获得可靠的参考。 – IInspectable
@IInspectable HM,看起来你是对的。这很奇怪,一次很可靠。 – nvoigt