mirror of
https://github.com/ElectronNET/Electron.NET.git
synced 2026-02-03 21:25:13 +00:00
RequestSingleInstanceLockAsync callback does not seem to work #610
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @Delpire on GitHub (Dec 8, 2020).
Originally assigned to: @GregorBiswanger on GitHub.
I cannot get the RequestSingleInstanceLockAsync callback to work at all. I have tried several things and it just does not seem to get called.
I have set up a test to see if its firing. Basically, if a second instance is launched, I just want it to kill the first instance. It does not kill the app. In my actual app, I want it to restore the window if necessary and focus the window; that wouldn't work either. It seems the callback just isn't being called at all.
The lock is working, it won't launch the second instance. (Although it does launch the splash screen which is not very nice).
Any idea what is going on here? Or am I using this incorrectly?
@matanelrb commented on GitHub (Feb 12, 2021):
Hi, any idea when will this bug get fixed?
@matanelrb commented on GitHub (Feb 15, 2021):
I have worked out a temporary fix. Since I can tell apart what are the first and second instance, I can use named pipes in order to send over the arguments to the first instance. And on the first instance have a thread which will run at the background which will listen to the named pipe and act accordingly. Problem is I can't extract the arguments out of the second instance since they don't have switches. So is there any way of extracting the whole arguments array? I need the single instance use in order to implement OAuth for my app so there is only one argument which is passed to the second instance.
Achieving that will give me a full temporary solution to the problem until you fix the bug.
Thanks.
@GregorBiswanger commented on GitHub (Jul 2, 2021):
Hi @matanelrb
the support of handle command line arguments in singleInstance is implemented for the next Electron.NET 13.5.1 release.
see https://github.com/ElectronNET/Electron.NET/issues/520