The Bentley application populates a configuration variable which says how the application was launched:
_USTN_LAUNCHMETHOD
Launch Mode would allow an Administrator to design configuration around the way the application is loaded.
For example a double-click on a desktop CAD file can disable PW integration if so desired, running MS programmatically can be set to ignore some parts of the MS Configured environment, running in Debug mode can allow for some integration to be disable or enabled.
Default into MS CE Backstage [double-click desktop or Start menu icon]
Debug [Custom shortcut, and debug Level?]
Default-Custom [Custom shortcut with command line switches]
Double-Click CAD File [Similar to Default but pre-processor is aware to go straight into CAD file as it does now]
PW Integration [whether or not MS CE is integrated]
PW File
PW Default [no file]
Programmatic [Running MS CE via COMs or DLL call]
VBE
Command
[SDK]
Application Mode Configuration Variable?
_USTN_APPLICATIONMODE
This new variable is populated based on how the application is running per below.
A CAD Administrator can tailor the configuration around application modes listed below.
Standard
No GUI
SDK
Kiosk Mode [as a Windows Service?]
FWIW only partially helpful towards your proposed idea, but available today in MicroStation 2023.
When double-clicking a DGN file from Windows Explorer MicroStation 2023 should define this variable:
_USTN_DOUBLE_CLICK_LAUNCH: User = 1
I think that the base Microstation program could benefit from this variable as well. Yesterday I double clicked on a dgn file and got the message that the file was read only. When I said "no" to the read only request, I was put into the file-open dialog box based on the last file opened instead of being based on the folder which I had double clicked in. I quit Microstation in order to double click in the same folder and open the next dgn file, which was an easier procedure than to navigate the file-open dialog box back to where I started.
If this variable were set up, and Microstation could see that a it was opened for a particular file from Windows, then it could be set to look in that folder if the open command was not sucesssful.
--Robert