All I really needed to know was 'Is the DevZone documentation useful for simple purposes and does it still work under Windows?'.
Thanks for the offer of your C# wrapper. My plugin is all coded in C++, but I might tap you up for future projects if the offer is still open. Off to delve into the COM API then...
Yep, yep, and yep.
I'm going to actually publish my wrapper eventually, but it isn't done. PM me if you want it though.
It is basically a Singleton pattern class for
the core MJAutomation interface, that makes connecting to MC as easy as accessing a static property. It also has a bunch of static methods (and some properties) that provide advanced functions and modify behaviors. I haven't done any in-process automation so it might not be as useful for plugin use, but if you're doing stuff from "outside" of MC, it makes accessing it drop-dead simple.
There are essentially three things I'd like to add before I'd call it "done":
1. A MCWS sub-class for the REST based API.
2. Better wrapping for the Events MC raises through COM. It can handle them, but it doesn't provide much more than the RAW COM API does now. I'm planning to better wrap them with .NET-like EventArgs classes (the framework is there, but the classes just expose the raw info from MC directly).
3. Right now, it is mostly based around that Singleton with the Static classes. That works great for my purposes, but it means that the wrapper itself can't be COM-visible (COM can't use Static methods or properties). That means that you can't use it from VBScript, which is too bad, because otherwise you could just call my DLL and write easy-peasy VBScripts to do stuff. I'm going to add a COM-visible wrapper for the wrapper at some point (that is an instance class that simply calls the core classes' methods and properties).
I'm still trying to decide how best to do part 3, and... You know, looking for motivation.