$host.UI.RawUI.BufferSize
を設定すると、そのコンソール画面のバッファに影響を与え、ので(コマンドプロンプト - >プロパティ - >レイアウト - あなたは$host.UI.RawUI.BufferSize
を変更する場合>画面バッファサイズが変更された)、それはコンソールとしてそのBUFFERSIZEに同じ制限があります画面。
我々はhereを読むことができるように、BUFFERSIZEのための指定された寸法は、システムによって許容される最小サイズよりも小さくすることができません。この最小値は、(ユーザによって選択された)コンソールの現在のフォントサイズとGetSystemMetrics関数によって返さSM_CXMINとSM_CYMIN値に依存します。
これは、コンソール画面のフォントが大きいほど、バッファサイズを小さくできることを意味しています。
例として、コンソール画面の最小幅を取得する方法を示します。私はP/User32.dllからGetSystemMetrics関数を呼び出すのはthis advanced function(New-PInvoke by Joel Bennett)です。
$SM_CXMIN =28 # "The minimum width of a window, in pixels." enum value
New-PInvoke -Library User32.dll -Signature "int GetSystemMetrics(uint Metric)"
GetSystemMetrics $SM_CXMIN # returns 132 on my system
は、コンソールスクリーンバッファで使用されるフォントのサイズを取得するには、kernel32.dllのから
GetConsoleFontSizeを試してみてください。
注:
GetSystemMetrics関数$ SM_CXMINによって返される値は、コンソール画面の(境界を含む)の合計幅です。
ありがとうございます。私はピクセルとフォントサイズに慣れる必要はないと思っていましたが、それが唯一の方法だと思います。私がこれを試して実装すると、私は報告しますが、その間、私はちょうど20の任意の最小幅 – FrinkTheBrave