I intend to write an application that detects when the user establishes an internet connection (the same thing as ICQ's agent does).
I tried to set a timer and do RasEnumConnections each second or so, but the problem is that RasEnumConnections detects the connection when dialing and not when it's established.
So I took a look at the win32api reference and found the function RasConnectionNotification. It lets you specify an event object and sets this event to signaled when it detects a connection. (I wonder how the ICQ agent did this since that function has not been available until Win98.)
Here's some sample code:
function Foo: Longint;
hConnEvent := CreateEvent(nil, True, False, nil);
Result := RasConnectionNotification(hConnEvent,
My problem is as follows: The CreateEvent function doesn't cause any error (error code 0) and returns a handle. But the return value of RasConnectionNotification in the sample code is always 6, what means that the handle is invalid. What am I doing wrong?