Wine, WineLib and "Programming Windows 95"
Last updated: 2001/2/28
Description
Demonstrates the use of a DLL just to share resources.
Wine tests
- This is a DLL. I cannot test it on its own.
See showbit.
Winelib tests
Tested API
- KERNEL32
CloseHandle, ExitProcess, FlushFileBuffers, FreeEnvironmentStringsA, FreeEnvironmentStringsW, GetACP, GetCPInfo, GetCommandLineA, GetEnvironmentStrings, GetEnvironmentStringsW, GetFileType, GetLastError, GetModuleFileNameA, GetModuleHandleA, GetOEMCP, GetProcAddress, GetStartupInfoA, GetStdHandle, GetVersion, HeapAlloc, HeapCreate, HeapDestroy, HeapFree, LoadLibraryA, SetFilePointer, SetHandleCount, SetStdHandle, WideCharToMultiByte, WriteFile
Last updated: 2001/1/16
Description
This library is used to demonstrate the use of DLLs. It contains a single function which
draw text at the center of a rectangle.
Wine tests
- This is a DLL. I cannot test it on its own, See edrtest.
Winelib tests
- 'edrlib.h' contains an 'extern "C"' directive which is not recognized by the C compiler (whether this is gcc or Visual C++ 5). So I provided a patch to make it compile.
- Except for the above, compiles and links just fine.
Tested API
- GDI32
GetTextExtentPoint32A, TextOutA
- KERNEL32
CloseHandle, ExitProcess, FlushFileBuffers, FreeEnvironmentStringsA, FreeEnvironmentStringsW, GetACP, GetCPInfo, GetCommandLineA, GetEnvironmentStrings, GetEnvironmentStringsW, GetFileType, GetLastError, GetModuleFileNameA, GetModuleHandleA, GetOEMCP, GetProcAddress, GetStartupInfoA, GetStdHandle, GetVersion, HeapAlloc, HeapCreate, HeapDestroy, HeapFree, LoadLibraryA, SetFilePointer, SetHandleCount, SetStdHandle, WideCharToMultiByte, WriteFile
Last updated: 2001/2/4
Description
Uses edrlib to draw text in the center of the window.
Wine tests
Winelib tests
- Don't forget to update LD_LIBRARY_PATH so that the winelib application
finds the 'edrlib.so'.
- Same as with Wine.
Tested API
- GDI32
GetStockObject
- 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, GetClientRect, GetMessageA, LoadCursorA, LoadIconA, PostQuitMessage, RegisterClassExA, ShowWindow, TranslateMessage, UpdateWindow
- edrlib
Last updated: 2001/1/16
Description
Shows how to load resources from the bitlib DLL. Press a key to see all
the bitmaps contained in the bitlib library.
Wine tests
Winelib tests
Tested API
- GDI32
BitBlt, CreateCompatibleDC, DeleteDC, DeleteObject, GetObjectA, GetStockObject, SelectObject
- KERNEL32
CloseHandle, ExitProcess, FlushFileBuffers, FreeEnvironmentStringsA, FreeEnvironmentStringsW, FreeLibrary, 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, DestroyWindow, DispatchMessageA, EndPaint, GetMessageA, InvalidateRect, LoadBitmapA, LoadCursorA, LoadIconA, PostQuitMessage, RegisterClassExA, ShowWindow, TranslateMessage, UpdateWindow
Last updated: 2001/2/28
Description
This library can hold and sort up to 256 strings and provides APIs to
insert/remove strings. The interesting thing is that these strings are
stored in a shared data segment so that they are shared between processes!
Wine tests
- This is a DLL. I cannot test it on its own, See
strprog.
Winelib tests
Tested API
- KERNEL32
CloseHandle, CreateFileMappingA, ExitProcess, FlushFileBuffers, FreeEnvironmentStringsA, FreeEnvironmentStringsW, GetACP, GetCPInfo, GetCommandLineA, GetEnvironmentStrings, GetEnvironmentStringsW, GetFileType, GetLastError, GetModuleFileNameA, GetModuleHandleA, GetOEMCP, GetProcAddress, GetStartupInfoA, GetStdHandle, GetStringTypeA, GetStringTypeW, GetVersion, HeapAlloc, HeapCreate, HeapDestroy, HeapFree, LCMapStringA, LCMapStringW, LoadLibraryA, MapViewOfFile, MultiByteToWideChar, SetFilePointer, SetHandleCount, SetStdHandle, UnmapViewOfFile, WideCharToMultiByte, WriteFile, lstrcmpiA
- USER32
CharUpperA
Last updated: 2001/2/4
Description
This program uses the strlib library to store and display strings. It
can add/remove string and is automatically notified when a string is
added/removed in another process.
Wine tests
Winelib tests
Tested API
- GDI32
GetStockObject, GetTextMetricsA, 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, DialogBoxParamA, DispatchMessageA, EndDialog, EndPaint, EnumWindows, GetClassNameA, GetDC, GetDlgItemTextA, GetMessageA, InvalidateRect, LoadCursorA, LoadIconA, MessageBeep, PostQuitMessage, RegisterClassExA, ReleaseDC, SendDlgItemMessageA, SendMessageA, ShowWindow, TranslateMessage, UpdateWindow
- strlib