doesn't quite work on WinNT 4 earlier than SP6. It works fine on
Windows 98 and Windows 2000.
I'm disabling it for now. What's really needed is some kind of check
to see if GetCursorInfo is safe to call, or alternatively, GetCursor
or GetCursorPos could be used, according to Jeffrey.
{
GETCURSORINFO cursor;
GETFOREGROUNDWINDOW win;
{
GETCURSORINFO cursor;
GETFOREGROUNDWINDOW win;
win = (GETFOREGROUNDWINDOW) GetProcAddress(user, "GetForegroundWindow");
cursor = (GETCURSORINFO) GetProcAddress(user, "GetCursorInfo");
win = (GETFOREGROUNDWINDOW) GetProcAddress(user, "GetForegroundWindow");
cursor = (GETCURSORINFO) GetProcAddress(user, "GetCursorInfo");
+ queue = (GETQUEUESTATUS) GetProcAddress(user, "GetQueueStatus");
RAND_add(&h, sizeof(h), 0);
}
RAND_add(&h, sizeof(h), 0);
}
if (cursor)
{
/* cursor position */
PCURSORINFO p = (PCURSORINFO) buf;
p->cbSize = sizeof(CURSORINFO);
if (cursor(p))
if (cursor)
{
/* cursor position */
PCURSORINFO p = (PCURSORINFO) buf;
p->cbSize = sizeof(CURSORINFO);
if (cursor(p))
- RAND_add(p+sizeof(p->cbSize), p->cbSize-sizeof(p->cbSize), 0);
+ RAND_add(p+sizeof(p->cbSize),
+ p->cbSize-sizeof(p->cbSize), 0);
+ }
+#endif
+
+ if (queue)
+ {
+ /* message queue status */
+ w = queue(QS_ALLEVENTS);
+ RAND_add(&w, sizeof(w), 0);