>Hi Ed,
>
>>Whoa! How do you get a callback entrypoint out of VFP?
>
>You needs one? *g* If what you get looks like a message, VFP processes it and fires the event for the forms. For example, with Shell_NotifyIcon you can use the WM_MOUSEMOVE command (see KB article Q176085). Windows sends a WM_MOUSEMOVE messages passing the Icon message as the position. VFP processes the message and fires the MouseMove event passing the icon message as the mouse coordinates, IF (and only if *g*) the window is visible and at least 520 pixel wide and 1 pixel high (because the systray messages start with 0x200).
>
>And if you need the address of the window procedure you can use GetWindowLong(), but the number of parameters must look like a message, otherwise VFP can't process them.
>
Is there a way for VFP to recognize user-defined message types (types defined using RegisterWindowMessage()) so that you could simply use SendMessage() and PostMessage() to request services from VFP withouyt establishing a COM server or DDE server? If so, it'd be easy enough to write a wrapper .DLL that provided the callback entry and passed the service request back to VFP via SendMessage().
VFP wouldn't be able to respond within the scope of the line of code executing the function, though, since VFP only responds to messages between lines of p-code.