[KERNEL32-CONSRV]

- Implement SetConsoleCursor and ShowConsoleCursor (set the shape of the cursor, and show/hide it). It appears that SetConsoleCursor acts only on graphics screen buffers (tested on Windows).
  I personnaly think it's a limitation we can suppress, but at the moment I keep it.
- Implement SetConsoleMaximumWindowSize which does nothing else than returning TRUE but doesn't give any constraint on the maximum size of the console window (tested on Windows Server 2003).

See http://undoc.airesoft.co.uk/kernel32.dll/SetConsoleCursor.php , http://undoc.airesoft.co.uk/kernel32.dll/ShowConsoleCursor.php and http://undoc.airesoft.co.uk/kernel32.dll/SetConsoleMaximumWindowSize.php for more details.

Useful for the NTVDM interface !

[CONSRV:Gui frontend]
- Fix "Select all" action.
- Enable or disable "Copy" and "Paste" commands in the edition menu.

svn path=/trunk/; revision=59135
This commit is contained in:
Hermès Bélusca-Maïto
2013-06-01 22:49:50 +00:00
parent 6c59bd48c4
commit 1e2b31b8bc
11 changed files with 282 additions and 32 deletions
+4
View File
@@ -456,6 +456,10 @@ BOOL WINAPI SetConsoleWindowInfo(_In_ HANDLE, _In_ BOOL, _In_ const SMALL_RECT*)
HMENU WINAPI ConsoleMenuControl(_In_ HANDLE, _In_ DWORD, _In_ DWORD);
/* Undocumented */
BOOL WINAPI SetConsoleMenuClose(_In_ BOOL);
/* Undocumented, see http://undoc.airesoft.co.uk/kernel32.dll/SetConsoleCursor.php */
BOOL WINAPI SetConsoleCursor(_In_ HANDLE, _In_ HCURSOR);
/* Undocumented, see http://undoc.airesoft.co.uk/kernel32.dll/ShowConsoleCursor.php */
INT WINAPI ShowConsoleCursor(_In_ HANDLE, _In_ BOOL);
BOOL WINAPI WriteConsoleA(HANDLE,CONST VOID*,DWORD,LPDWORD,LPVOID);
BOOL WINAPI WriteConsoleW(HANDLE,CONST VOID*,DWORD,LPDWORD,LPVOID);
+17 -2
View File
@@ -62,8 +62,8 @@ typedef enum _CONSRV_API_NUMBER
ConsolepCreateScreenBuffer,
ConsolepInvalidateBitMapRect,
// ConsolepVDMOperation,
// ConsolepSetCursor,
// ConsolepShowCursor,
ConsolepSetCursor,
ConsolepShowCursor,
ConsolepMenuControl,
// ConsolepSetPalette,
ConsolepSetDisplayMode,
@@ -218,6 +218,19 @@ typedef struct
COORD Position;
} CONSOLE_SETCURSORPOSITION, *PCONSOLE_SETCURSORPOSITION;
typedef struct
{
HANDLE OutputHandle;
BOOL Show;
INT RefCount;
} CONSOLE_SHOWCURSOR, *PCONSOLE_SHOWCURSOR;
typedef struct
{
HANDLE OutputHandle;
HCURSOR hCursor;
} CONSOLE_SETCURSOR, *PCONSOLE_SETCURSOR;
typedef struct
{
HANDLE OutputHandle;
@@ -627,6 +640,8 @@ typedef struct _CONSOLE_API_MESSAGE
CONSOLE_DUPLICATEHANDLE DuplicateHandleRequest;
/* Cursor */
CONSOLE_SHOWCURSOR ShowCursorRequest;
CONSOLE_SETCURSOR SetCursorRequest;
CONSOLE_GETSETCURSORINFO CursorInfoRequest;
CONSOLE_SETCURSORPOSITION SetCursorPositionRequest;