2013-08-05 104 views
1

我希望我的控制檯窗口被修改。我得到了處理。而this有助於改變它。但我WinApi - 如何修改控制檯窗口?

  • 刪除關閉按鈕
  • 刪除怎麼能最大化按鈕
  • 刪除圖標
  • 禁用調整

// C# syntax 
StringBuilder buffer = new StringBuilder(260); 
IntPtr window = FindWindow(null, buffer.ToString(0, GetConsoleTitle(buffer, buffer.Capacity))); 

uint a = (uint)((WS_BORDER | WS_CAPTION) & (~WS_ICONIC)); 
SetWindowLongPtr(window, -16, new IntPtr(a)); // GWL_STYLE = -16 

由於某種原因,窗口在此調用之後中斷。我無法再用鼠標移動它,所有的點擊都會通過它到其他窗口。

回答

2

您刪除了全部窗口樣式,並添加回來只是WS_BORDERWS_CAPTION。你應該做的是:

  1. 閱讀當前窗口樣式,呼叫GetWindowLongPtr
  2. 執行按位AND與您要刪除的樣式按位否定。
  3. 通過致電SetWindowLongPtr設置窗口樣式。
+0

是的,謝謝!只是我自己找到了。它運作良好。 ^^ – Bitterblue