 | Anti Windows |
Inadequate support for custom mouse cursors
- Tooltips position are created directly next to the hotspot (change to hit the tooltip)
- Totally wrong hotspot for drag and drop operations
- On animated cursors, some frames are not shown (I had to do plenty of varying blue pixels to get it work)
|
 |
Hooked LISTBOX using LB_DELETESTRING on WM_LBUTTONDBLCLK (Windows 98, XP, Vista)
- When Removing all selected items when processing WM_LBUTTONDBLCLK on a hooked LISTBOX and DefWindowProc / CallWindowProc is called afterwards, subsequent LB_GETSEL may claim that items are selected; (If only one item was selected, it claims all items up to the now removed item to be selected); Call DefWindowProc / CallWindowProc before processing (removing items) to fix this
Useage of resources
- Having a pagefile on a 256 MB partition, Windows (XP SP3) claims that about 300MB / 60% pagefile is used.
Having no pagefile at all, Windows (XP SP3) still claims that about 300MB / 60% pagefile is used.
- The more memory you have installed, the more swapfile is needed. Having 4GB Ram, Windows XP (SP3) enforces a swap file of about 350MB, even if no program is launched yet.
- Windows XP (SP3) may fail to load some drivers due resource problems, while everything works fine on Windows 98
- Windows XP (at least without any Service Packs) ran out of resources and so one USB root hub didn't work. However the USB scanner was not detected on any USB port. All worked fine on Windows 98 (no resource problems, scanner working)
- Showing properties of all files over network, the properties windows shows:
Size: 100 GB Size on disc: 807 GB (The whole disc has about 110 GB)
LocalAlloc / LocalFree (Windows XP SP3)
- When freeing a memory object twice, LocalFree returns 0 (success) both times
- Subsequent calls to LocalAlloc allocates memory multiple times
Private Declare Function LocalAlloc Lib "kernel32" (ByVal wFlags As Long, ByVal wBytes As Long) As Long
Private Declare Function LocalFree Lib "kernel32" (ByVal hMem As Long) As Long
Private Sub Main()
Dim xLong1 As Long, xLong2 As Long
Do
xLong1 = LocalAlloc(0&, 200&)
xLong2 = LocalAlloc(0&, 200&)
If xLong2 = xLong1 Then
Debug.Print "Received the same memory twice!"
End If
DoEvents
Call LocalFree(xLong1)
Call LocalFree(xLong1) ' Should be xLong2 to fix
Loop
End Sub |
Repeat
xLong1 = LocalAlloc_(0, 200)
xLong2 = LocalAlloc_(0, 200)
If xLong2 = xLong1
Debug "Received the same memory twice!"
EndIf
Debug LocalFree_(xLong1) ; Should be xLong2 to fix
Debug LocalFree_(xLong1)
ForEver |
|