Does somebody have a list of all Windows API's? I don't mean the WinAPI help file. What I'm looking for is a text file that lists all API's so that I can inlude them for the Code Complete feature in my IDE. Thanks! :)
I'd like to second and third that :P bitRAKE
Thomas, I have an idea, try the MASM32 utility called l2inca.exe on the latest set of Microsoft libraries and when you have finished that concantenate them into one BIG file. Then just strip the parameter info and PROTO from each to get a very large list of API names. Bet I can think of at the moment, it can be written but it is a messy utility to write. Regards, firstname.lastname@example.org
I like hutch's idea, wish I would have thought of it :) It just so happens that I just created a list pulled from the latest SDK (painful copy/paste operation). I don't think it has ALL the Win API functions but it does have 1,833 of them in this format... AbortPath( HDC hdc // handle to DC ) AbortPrinter( HANDLE hPrinter // handle to printer object ) AbortProc( HDC hdc, // handle to DC int iError // error value ) AbortSystemShutdown( LPTSTR lpMachineName // computer name ) ActivateKeyboardLayout( HKL hkl, // input locale identifier UINT Flags // input locale identifier options ) AddAtom( LPCTSTR lpString // string to add ) AddFontMemResourceEx( PVOID pbFont, // font resource DWORD cbFont, // number of bytes in font resource PVOID pdv, // Reserved. Must be 0. DWORD *pcFonts // number of fonts installed ) AddFontResource( LPCTSTR lpszFilename // font file name ) I also have another list of the same functions without the parameters. If this is what you want, I will email you a copy.
Shouldn't the list have the return types?
I've created an ASCII list of all API's (1840 of them) based on the latest SDK (as of 12-05-2000). You can download it at ftp://ftp.czar.com/czar.com/winapi.zip. Thanks everyone for helping out in getting this list together! The only problem is that this list does not include the parameters or return results. For me, it will do for now. Enjoy! :) This message was edited by Thomas Jaeger, on 3/21/2001 6:38:44 PM
I don't know if it is any good to you but I have a .csv file which came with VC and it has a list of all the API's structures macros etc etc etc... any good to you? umbongo
umbongo Yes, please. The more information I can get my hands on, the better. Right now, you can see my Code Complete feature working for the entire WINDOWS.INC file. I've included the functionality of importing and parsing the latest WINDOWS.INC equates. Check it out! I'll include the API's in the next version. If you could e-mail me your CSV, I'd appreciate it! Have Fun! :)
Thomas, I just compared our lists, yours is missing: CreateStatusWindow CreateUpDownControl InitCommonControls Also, STM_GETICON,etc. STN_CLICKED,etc. WM_CTLCOLORSTATIC are not functions,they are messages. Total function count 1,834.
It's better to only popup the API's that are actually included in the asm/inc file... for example, if I only include windows.inc, gdi32.inc, user32.inc, kernal32.inc, and I accidentally type in an api for crypto32, I don't want it to pop up on me, because I'm not using it in the first place. Same thing, I don't accidentally want a winsock2 api to "intellisense" on me if I"m not using it... else it's useless to me. Just my $.02...
Check your Masm/LIB dir..there's a file named WIN32API.CSV. like umbongo said..
anon Thanks I will fix this. Threepwood Thanks, but the WIN32API.CSV in MASM\lib is rather outdated (from 1997).
Just as a quick idea.... how about looking at which .inc files are imported and then simply parse through these and extract the function names. I assume this would be quicker than going through a long list of nearly 10,000 entries? This could also give you the required parameters..... but not the return :> Actually, 'intellisense' would probably get annoying if it pops up after every character. How about only checking after the first few characters after a 'call' or 'invoke'?? well, just a few ideas
The most recent version of VisualASM includes intellisense for api calls. what i used was the win32api.txt that ships with VB is has a format like this ... Declare Function RegisterClassEx Lib "user32" Alias "RegisterClassExA" (pcWndClassEx As WNDCLASSEX) As Integer i wrote a small pas program which strips out anything that doesn't have "declare" etc etc and i end up with an end-result file format as follows --> replace "
" with 00h literal NULL ;)
MessageBox user32 hwnd,lpText,lpCaption,wType
for each api call.
will send pas program w/ source if anyone is interrested
Clive [ Entro-P ]