This project is read-only.

38209 VFP2C32

FLL with wrappers for many WinAPI functions, and C Struct/Enum converter


Note: this project has moved to GitHub:

Provide functionality contained in the WinAPI to Visual FoxPro developers in easy to use functions.
Enable Visual FoxPro developers to more easily write their own wrappers around C style libraries.

The project manager, Christian Ehlscheid, can be reached at c.ehlscheid AT

38362 Latest Release of VFP2C32 project

Last edited Apr 27 at 5:32 PM by DougHennig, version 15


KilRoyJones Apr 20 at 12:52 PM 
Would love this to be ported to 64-bit to enable use in my VFP 64-bit projects. Any thoughts on whether this is a re-compile of source in 64-bit or whether it would be a 'major-major' project?

StacyV Oct 18, 2016 at 5:26 PM 
Problem - during login to VFP Application, "Library file vfp2c32.fll is invalid"

The issue here can be reproduced by failing to check for exclusive use then extracting an update
runtimes as well as vfp2c32.fll using 7z for example.
7z e yourapp.exe -y

Upon next login, error will present.

Confirm exclusive use and extract the update again, all is well.

We are deploying a tool which checks for exclusive use of all files within the manifest of the zip being installed which works well to avoid the situation. Manual installation by humans will fail here unless they are aware of the issue and actually see 7z complaining about extraction of files in use.

koemans Sep 24, 2013 at 8:47 PM 
Verry nice!!

EmersonReed Feb 4, 2013 at 10:48 AM 
Hi Christian!
What do you think about to create some wrappers for Win32api functions to manipulate embedded resources (LoadImage, LoadBitmap, LoadString, LoadResource, FindResource, UpdateResource, ...)?

EmersonReed Sep 18, 2012 at 1:57 PM 
Christian and Eric,
I am impressed with your work!
vfp2c32front.exe is simply magnificent.
Folks, you rock!!!

claudefox Feb 11, 2012 at 10:07 AM 
Holy cow! Nice work! I had no idea you were working on stuff like CreateThread... Did you ever look at the MtmyVFP project and the stuff that Calvin Hsia did?

cehlscheid Feb 4, 2012 at 6:38 AM 
implemented the requested enhancements to CreateThreadObject ...

@ all: since I don't monitor the comment section please post any feature requests or bug reports to the "Issue Tracker" or write me an email!

mplazac Feb 2, 2012 at 11:58 PM 
Thank you for this great library, great documentation... CreateThreadObject() really unleashes Vfp!. I'm currently working on a project using it, and everything runs fine. The question is if there's a way of knowing if a task is already runnig and how many tasks are in queue. The first is because I prefer to discard the output of the running process than waiting for it to be killed if I need to reset the queue with abortcall(0), and knowing the queue lenght can facilitate load balancing.
PS: Would it be useful to know msecs since process started, maybe msRunning(callId) can cover both needs ( msRunning=0 would mean pending task )

edyshor Jul 25, 2011 at 1:07 AM 
could you add a few modification in vfp2c32_help.prg so it could be run from wherever is placed?!
changes i've made:

ln 14: cPrgLocation = lower(justpath(sys(16))) && get the path to this file
ln 72: SET HELP TO (addbs(this.cPrgLocation)+'vfp2c32.chm')
ln 96: Execscript([ON KEY LABEL F1 DO ("]+addbs(this.cPrgLocation)+[vfp2c32_help.prg")])

tbellin Mar 24, 2011 at 10:02 PM 
Windows 7 does not come with msvcr71.dll and msvcp71.dll installed. Missing one or both of these files causes VFP to give an error: "vfp2c32.fll is invalid"

csyx1234 Mar 20, 2011 at 12:15 AM 
pls try the WAVEHDR structure

mydlo Jan 24, 2011 at 7:21 PM 
Perfect. Help file is very awaited documentation. Thank you

cehlscheid Jan 24, 2011 at 12:32 AM 
mydlo, Thanks for posting this bug, it's already fixed. I'll put up a new release in the coming week which includes several bugfixes, new functions and a fully complete CHM help file and Intellisense script.

mydlo Jan 20, 2011 at 8:32 PM 
In this version there is some problem with parameters of BINDEVENTSEX. Even example program windowevents.prg returns error "Function argument value, type, or count is invalid."
I am testing it under VFP8.

eselje Dec 30, 2010 at 11:10 PM 
pcelba, we are working on a CHM file that completely documents every function's parameters, expected return values, and has good useful examples. If you could send any examples of how you're using it we could incorporate that into the help file as well.

pcelba Nov 23, 2010 at 2:17 PM 
The CTL32 is working finally but to decode the library usage from *.h files and existing code is really not a solution...

pcelba Nov 22, 2010 at 11:20 AM 
I would appreciate some VFP2C32 documentation... I am just testing CTL32 application which requires this library but it bombs on AllocMem function which returns 0 when trying to allocate 48 bytes of memory and CTL32 does not like this return value...

To know what are parameters in VFP2C32 and what should be returned would be very helpful to me. TIA.

edyshor Nov 4, 2010 at 3:18 PM 
good :)