The problem with the missing decalration of CURSORINFO is the value of
WINVER. WINVER (for compatibility with NT) is defined as 0x0400. But
the support for GetCursorInfo() was not added until NT4 SP5 and
therefore it requires a WINVER value of 0x0500 in order to be used.
#define WINVER 0x0500
must be added before the
#include <openssl/rand.h>
because rand.h includes
#include <windows.h>
When WINVER is defined as 0x0500 you get the following warning:
NOTE: WINVER has been defined as 0x0500 or greater which enables
Windows 2000 features.
Caution: When building applications with WINVER set to 0x0500
or greater, the resulting binary may not run as expected
on earlier platforms, such Windows NT 4.0 or Windows 95 & Windows 98
See the Platform SDK release notes for more information.
It seems to me that since we are loading the function dynamicly and
not relying on other Win2000 features; and since we want the code to
work reliably on Win9x and NT4; instead of changing the value of
WINVER we should simply use the wrokaround I described yesterday and
place
#ifndef CURSOR_SHOWING
/*
* Information about the global cursor.
*/
typedef struct tagCURSORINFO
{
DWORD cbSize;
DWORD flags;
HCURSOR hCursor;
POINT ptScreenPos;
} CURSORINFO, *PCURSORINFO, *LPCURSORINFO;
#define CURSOR_SHOWING 0x00000001
#endif /* CURSOR_SHOWING */
in the file after the declaration of prototypes for readtimer() and
readscreen().
Jeffrey Altman * Sr.Software Designer
The Kermit Project * Columbia University
612 West 115th St * New York, NY * 10025 * USA
http://www.kermit-project.org/ * [EMAIL PROTECTED]
______________________________________________________________________
OpenSSL Project http://www.openssl.org
Development Mailing List [EMAIL PROTECTED]
Automated List Manager [EMAIL PROTECTED]