I would like to know if there is a way to create a snapshot based on a event in the same Windows Guest machine? For example when a program closes in the guest you create a snapshot of the machine.
And the same with reverting to the latest snapshot?
Or is there a supported third party application?
Alas I could not find any information about this.
You will need to do some custom development here. Maybe you can fill a log or send some attributes when the service stopped to an external program to run a REST API Call to trigger the Snapshot using the vSphere API.
However as I said this is completely custom.