by イグトランス » 2016年11月12日(土) 17:11
あまりおすすめしませんが、一応可能です。
コード: 全て選択
#console
Declare Function GetConsoleWindow Lib "kernel32.dll" () As HWND
Dim hwndConsole As HWND
hwndConsole = GetConsoleWindow()
Dim style As Long
style = GetWindowLong(hwndConsole, GWL_STYLE)
style = (style And Not (WS_THICKFRAME Or WS_MAXIMIZEBOX)) Or WS_DLGFRAME
SetWindowLong(hwndConsole, GWL_STYLE, style)
SetWindowPos(hwndConsole, NULL, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE Or SWP_NOZORDER Or SWP_FRAMECHANGED)
Print "テスト"
GetConsoleWindow()というAPI関数でDOSプロンプトのウィンドウハンドルが得られます。あとは、RADツールなど自分で作ったウィンドウと同様に、サイズ変更や最大化を許可しないようスタイル変更を行います。
あまりおすすめしない理由は、DOSプロンプトのウィンドウが自分の作ったプログラム以外とも共有して使うもの、つまり自分専用のものではないからです。command.comやcmd.exeなどからコマンドとして実行してもらう想定のプログラムを作る場合には、やらないほうが好ましいです。
あまりおすすめしませんが、一応可能です。
[code]#console
Declare Function GetConsoleWindow Lib "kernel32.dll" () As HWND
Dim hwndConsole As HWND
hwndConsole = GetConsoleWindow()
Dim style As Long
style = GetWindowLong(hwndConsole, GWL_STYLE)
style = (style And Not (WS_THICKFRAME Or WS_MAXIMIZEBOX)) Or WS_DLGFRAME
SetWindowLong(hwndConsole, GWL_STYLE, style)
SetWindowPos(hwndConsole, NULL, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE Or SWP_NOZORDER Or SWP_FRAMECHANGED)
Print "テスト"
[/code]
GetConsoleWindow()というAPI関数でDOSプロンプトのウィンドウハンドルが得られます。あとは、RADツールなど自分で作ったウィンドウと同様に、サイズ変更や最大化を許可しないようスタイル変更を行います。
あまりおすすめしない理由は、DOSプロンプトのウィンドウが自分の作ったプログラム以外とも共有して使うもの、つまり自分専用のものではないからです。command.comやcmd.exeなどからコマンドとして実行してもらう想定のプログラムを作る場合には、やらないほうが好ましいです。