My german isn't that good
What you want is block the extra instance(s) of LDStructure ?
In the program create a mutex as soon as possible using a semi unique name. When the creation of this mutex (handle) fails it means the mutex is already in use (created by another instance). So instead of continue starting the current LDStructure you send a message (broadcast really) to the existing one and terminate the (second) instance. The other (first started) instance will get the message (containing the command line params of the terminated instance) which you can use to add a tab / window or whatever.
This is basically it. You'll probably also need to look into handling cross application messages, kinda forgot about that
What you want is block the extra instance(s) of LDStructure ?
In the program create a mutex as soon as possible using a semi unique name. When the creation of this mutex (handle) fails it means the mutex is already in use (created by another instance). So instead of continue starting the current LDStructure you send a message (broadcast really) to the existing one and terminate the (second) instance. The other (first started) instance will get the message (containing the command line params of the terminated instance) which you can use to add a tab / window or whatever.
This is basically it. You'll probably also need to look into handling cross application messages, kinda forgot about that