I wrote an application in a JS-based framework called Titanium. This framework doesn’t have some functions, so I’m bundling autohotkeys, and using STDIN/STDOUT to connect the two. Autohotkeys has a cool function DllCall which allows to interconect with the operating system and should help me close the gap between the JS-based framework and the missing functionality.
To give you an example, Titanium allows me to bind to a specific port. But if I bind to 0 and let the OS pick a free port (as it should), it will work, but there’s no way to tell which port it actually bound to.
Now since I come from web applications, DLLs are new to me; so I have a few questions:
- Is there like a big doc with all the DLLs and all their methods?
- How do I know if some methods are dependent on some services? I mean I’ve heard some rely on RPCs, COM, COM+, WMIs, etc. which a user can turn off and if it does, these methods won’t work. Is there also a place where I can get more info on this?
- Are there any off-the-shelf DLLs, with their methods, which I can trust that they will work 100% from XP up to 7?
- Are there any access permissions I should know about? Are they documented.
- If you also come from web programming, is there anything else I should be aware about?
Thank you very much.
You can find a (mostly) complete documentation of all Windows API functions (which reside in DLLs) either online on MSDN or offline using the documentation from the Windows SDK.
For example look at the documentation for SHGetSpecialFolderPath. There you can find various information, like the DLL (shell32.dll), any prerequisites (min. IE 4) and the platform availablity. (min. Windows 2000) Also security considerations are documented.
All API functions are documented more or less in this manner. A good starting point is the Windows Developer Reference. From there you can browse through the many API functions.