What appears to be missing is the automatic mapping of the A (ansi) and W (wide) suffixed function names to conventional unsuffixed function names. In C, this is done using macros. If UNICODE is not defined, the macro MessageBoxEx would expand to MessageBoxExA. With UNICODE, the macro expands to MessageBoxExW. Similarly, TEXT is used to wrap strings to ensure they're unprefixed or prefixed with an L respectively. You could do this by hand, it's just a bit more tedious to write.
This is fascinating, but I just can't discern a practical purpose.<p>The novelty of the "I just converted this huge piece of software written in c or machine code into JS" type of post usually extends only to the title. The link itself generally serves only to evoke a profound "WTF" (and in this case took upwards of 40 seconds to load.)<p>Although I appreciate the undertaking of compiling prodigious libraries, drivers, etc. into JS, I don't see practical value in the product of said undertaking.<p>The fact that this practice has proliferated throughout HN recently is odd. This kind of thing is certainly remarkable, but it doesn't do anything.
I want to put a reminder that Windows itself provides a lot of background command scripting via WHost<p><a href="http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/wsh_overview.mspx?mfr=true" rel="nofollow">http://www.microsoft.com/resources/documentation/windows/xp/...</a><p>Things like accessing namespace folders, creating shortcuts, etc are easier through this WHost interface than the raw API.
Sshhhh...don't let this individual know that Windows 8 API, Windows Runtime (RT), is available in JavaScript.<p>That said, WinRT doesn't expose Win32 API. Well done. That takes dedication, skill, and lack of sanity.<p>> Edit WinRT API link: <a href="http://msdn.microsoft.com/en-us/library/windows/apps/br211377.aspx" rel="nofollow">http://msdn.microsoft.com/en-us/library/windows/apps/br21137...</a>