12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- //go:build windows
- package winapi
- import (
- "unsafe"
- "golang.org/x/sys/windows"
- )
- const PSEUDOCONSOLE_INHERIT_CURSOR = 0x1
- // CreatePseudoConsole creates a windows pseudo console.
- func CreatePseudoConsole(size windows.Coord, hInput windows.Handle, hOutput windows.Handle, dwFlags uint32, hpcon *windows.Handle) error {
- // We need this wrapper as the function takes a COORD struct and not a pointer to one, so we need to cast to something beforehand.
- return createPseudoConsole(*((*uint32)(unsafe.Pointer(&size))), hInput, hOutput, 0, hpcon)
- }
- // ResizePseudoConsole resizes the internal buffers of the pseudo console to the width and height specified in `size`.
- func ResizePseudoConsole(hpcon windows.Handle, size windows.Coord) error {
- // We need this wrapper as the function takes a COORD struct and not a pointer to one, so we need to cast to something beforehand.
- return resizePseudoConsole(hpcon, *((*uint32)(unsafe.Pointer(&size))))
- }
- // HRESULT WINAPI CreatePseudoConsole(
- // _In_ COORD size,
- // _In_ HANDLE hInput,
- // _In_ HANDLE hOutput,
- // _In_ DWORD dwFlags,
- // _Out_ HPCON* phPC
- // );
- //
- //sys createPseudoConsole(size uint32, hInput windows.Handle, hOutput windows.Handle, dwFlags uint32, hpcon *windows.Handle) (hr error) = kernel32.CreatePseudoConsole
- // void WINAPI ClosePseudoConsole(
- // _In_ HPCON hPC
- // );
- //
- //sys ClosePseudoConsole(hpc windows.Handle) = kernel32.ClosePseudoConsole
- // HRESULT WINAPI ResizePseudoConsole(
- // _In_ HPCON hPC ,
- // _In_ COORD size
- // );
- //
- //sys resizePseudoConsole(hPc windows.Handle, size uint32) (hr error) = kernel32.ResizePseudoConsole
|