Wine, WineLib and "Programming Windows 95"
Last updated: 2003/5/4
Description
Displays the keyboard messages that are received for each key that
is pressed and released. Typically this is a WM_KEYDOWN, a WM_CHAR and
a WM_KEYUP but some keys, like shift, don't have the WM_CHAR.
Wine tests
- Ctrl, Shift, Alt and Caps Lock will not
auto-repeat unlike in Windows. Is it Wine or my X keyboard
configuration?
- The rest is fine, the messages seem to match those of Windows.
Winelib tests
Tested API
- GDI32
GetStockObject, GetTextMetricsA, SelectObject, SetBkMode, TextOutA
- KERNEL32
CloseHandle, ExitProcess, FlushFileBuffers, FreeEnvironmentStringsA, FreeEnvironmentStringsW, GetACP, GetCPInfo, GetCommandLineA, GetEnvironmentStrings, GetEnvironmentStringsW, GetFileType, GetLastError, GetModuleFileNameA, GetModuleHandleA, GetOEMCP, GetProcAddress, GetStartupInfoA, GetStdHandle, GetVersion, HeapAlloc, HeapCreate, HeapFree, LoadLibraryA, RtlUnwind, SetFilePointer, SetHandleCount, SetStdHandle, UnhandledExceptionFilter, WideCharToMultiByte, WriteFile
- USER32
BeginPaint, CreateWindowExA, DefWindowProcA, DispatchMessageA, EndPaint, GetDC, GetMessageA, InvalidateRect, LoadCursorA, LoadIconA, PostQuitMessage, RegisterClassExA, ReleaseDC, ScrollWindow, ShowWindow, TranslateMessage, UpdateWindow, ValidateRect, wsprintfA
Last updated: 2000/12/2
Description
Same as sysmets3 in chapter 3 except that now you can scroll horizontally and vertically using the arrow keys.
Wine tests
- Works just like on Windows.
Winelib tests
Tested API
- GDI32
GetStockObject, GetTextMetricsA, SetTextAlign, TextOutA
- KERNEL32
CloseHandle, ExitProcess, FlushFileBuffers, FreeEnvironmentStringsA, FreeEnvironmentStringsW, GetACP, GetCPInfo, GetCommandLineA, GetEnvironmentStrings, GetEnvironmentStringsW, GetFileType, GetLastError, GetModuleFileNameA, GetModuleHandleA, GetOEMCP, GetProcAddress, GetStartupInfoA, GetStdHandle, GetVersion, HeapAlloc, HeapCreate, HeapFree, LoadLibraryA, RtlUnwind, SetFilePointer, SetHandleCount, SetStdHandle, UnhandledExceptionFilter, WideCharToMultiByte, WriteFile
- USER32
BeginPaint, CreateWindowExA, DefWindowProcA, DispatchMessageA, EndPaint, GetDC, GetMessageA, GetSystemMetrics, LoadCursorA, LoadIconA, PostQuitMessage, RegisterClassExA, ReleaseDC, ScrollWindow, SendMessageA, SetScrollPos, SetScrollRange, ShowWindow, TranslateMessage, UpdateWindow, wsprintfA
Last updated: 2000/12/2
Description
Opens a very simple text editor. The window contains nothing but a
zone where you can type text.
This is no standard editor though. It's more like an editor allowing
you to modify the contents of each element in a bi-dimentional character:
it's all in overwrite mode, you cannot go past the end of a line using
the arrow keys although if you keep typing you will go to the next line
automatically. Also if you type past the bottom right corner of the
window you will be transported back to the top left corner and if you
resize the window is contents will be wiped out. Backspace does work though.
Wine tests
- On Wine the initial window's size is 87x30 lines while on Windows
it's 76x27. That's probably just because the fonts are not exactly
the same.
Winelib tests
Tested API
- GDI32
GetStockObject, GetTextMetricsA, SelectObject, TextOutA
- KERNEL32
CloseHandle, ExitProcess, FlushFileBuffers, FreeEnvironmentStringsA, FreeEnvironmentStringsW, GetACP, GetCPInfo, GetCommandLineA, GetEnvironmentStrings, GetEnvironmentStringsW, GetFileType, GetLastError, GetModuleFileNameA, GetModuleHandleA, GetOEMCP, GetProcAddress, GetStartupInfoA, GetStdHandle, GetVersion, HeapAlloc, HeapCreate, HeapFree, LoadLibraryA, RtlUnwind, SetFilePointer, SetHandleCount, SetStdHandle, UnhandledExceptionFilter, WideCharToMultiByte, WriteFile
- USER32
BeginPaint, CreateCaret, CreateWindowExA, DefWindowProcA, DestroyCaret, DispatchMessageA, EndPaint, GetDC, GetFocus, GetMessageA, HideCaret, InvalidateRect, LoadCursorA, LoadIconA, MessageBoxA, PostQuitMessage, RegisterClassExA, ReleaseDC, SendMessageA, SetCaretPos, ShowCaret, ShowWindow, TranslateMessage, UpdateWindow