Hey guys!
I’m trying to improve MaxScriptManager, and one way of doing this, would be to be able to “know” what MZP is being drag & dropped on the 3dsMax viewport. The reason why, is because I need to do several checks on the file before I run it.
I’m able to do this through the “Run Script…” dialog, because I replaced it with a custom dotnet one, hehe. So I do checks such as MD5 hash check, to see if it’s in the repository already, or if it’s a MaxScriptManager compatible script, in order to show a install wizard or not. And after all that, I run it.
The problem is when the user drags & drops a MZP file instead of using the “Run Script…” dialog. Currently I’m monitoring the TEMP folder for changes, since that’s where the MZP is unpacked temporarily. So once a new “mzptmp” folder is found I know a MZP file has been drag & dropped. By looking at the files inside that folder I can determine whether it’s MaxScriptManager compatible or not. Unfortunately the MZP is being run regardless.
So anyway… long story short, ideally I would like to be able to “intercept” the file being dropped inside the 3dsMax window, get it’s location and in case of it being a MZP stop it from being dropped entirely, then do my checks and run it.
I think the stopping of the MZP will be impossible, but perhaps getting the file location isn’t.
I’ve used Spy++ and I’ve been able to find the dropfile message, here is an example:
00C105D4 P WM_DROPFILES hDrop:03BC2768
But I don’t know how to go on from here… Would there be a way to get more information out of it?

