I suggest using Application.Displays collection to open the display, which we discussed in that previous thread. Since you know (all-to-well) that you can't pass a Windows shell shortcut to ProcessBook you would have to manually "resolve" the shortcut to the real path and pass that.
I found this discussion via Google:
Here is what they suggested (see the link for the whole story):
You need to import the IWshRuntimeLibrary into your project (right click on "Reference" and go to Add Reference, select the "COM" tab and select "Windows Script Host Object Model") then in the code add:
now on say, a button click, we get the shortcut, read the full shortcut path/target and do whatever we want with it:
if System.IO.File.Exists("ShortCut.lnk") then
Dim theShell asnew WshShell()
Dim theShortcut as WshShortcut = theShell.CreateShortcut("ShortCut.lnk")
don't worry, this will get the target path of an existing shortcut. You can also create the shortcut using the same method, if the shortcut was not found it will create it but you would have to call the Save() method to commit and make that shortcut if this was the case
Keeping an eye on this thread with interest - recently we noticed when migrating clients to ProcessBook v3.x in the clients environment any displays/workbooks opened outside of Processbook i.e. double clicking on a file, always opens a new instance of ProcessBook. Never used to do this before v3.x.
Been meaning to log this with TechSupport...
Arash, Your issue may be related to the File Types and the associated application command for Open. Found a blog on Excel Opening in New Instances
I believe this is the fix I need for ProcessBook, by editing the Open command but I need to test it first. Thought it might shed some light on your issue. When you say it used to work some time ago but no longer does, have you change version of ProcessBook recently?
I managed to solve this by resolving the shortcut to the real path.