提交 848f3d40 编写于 作者: R Richard Levitte

Later, Jeffrey changed his mind. Apparently, GetCursorInfo exists but

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.
上级 1949e783
...@@ -242,9 +242,11 @@ int RAND_poll(void) ...@@ -242,9 +242,11 @@ int RAND_poll(void)
{ {
GETCURSORINFO cursor; GETCURSORINFO cursor;
GETFOREGROUNDWINDOW win; GETFOREGROUNDWINDOW win;
GETQUEUESTATUS queue;
win = (GETFOREGROUNDWINDOW) GetProcAddress(user, "GetForegroundWindow"); win = (GETFOREGROUNDWINDOW) GetProcAddress(user, "GetForegroundWindow");
cursor = (GETCURSORINFO) GetProcAddress(user, "GetCursorInfo"); cursor = (GETCURSORINFO) GetProcAddress(user, "GetCursorInfo");
queue = (GETQUEUESTATUS) GetProcAddress(user, "GetQueueStatus");
if (win) if (win)
{ {
...@@ -253,13 +255,23 @@ int RAND_poll(void) ...@@ -253,13 +255,23 @@ int RAND_poll(void)
RAND_add(&h, sizeof(h), 0); RAND_add(&h, sizeof(h), 0);
} }
#if 0
if (cursor) if (cursor)
{ {
/* cursor position */ /* cursor position */
PCURSORINFO p = (PCURSORINFO) buf; PCURSORINFO p = (PCURSORINFO) buf;
p->cbSize = sizeof(CURSORINFO); p->cbSize = sizeof(CURSORINFO);
if (cursor(p)) 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);
} }
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册