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