How to prevent my app to be closed by the infamous GbPlugin? - windows

In some customers my app is being closed by a bizarre plugin called 'GBPlugin' ; it is installed by some brazillian bank websites to 'protect' customers from scams. But indeed what the plugin does is to force close applications that seems 'supicious' using its own never clear judgements.
I have a OnCloseQuery method that shows a confirmation dialog , but the plugin bypass it and force closes the app as soon as it is opened.
The problem does not happen with all customers, in some cases the plugin let my application run without problems, other cases it closes the app without warning.
My EXE file is crypted in order to difficult cracking and i've found this is one of the factors used to judge an app like suspicious.
I already tried to counter-attack by closing the plugin process when my app is activated, but as soon as it closed, another instance is opened and then closes my app.
Is there a way to prevent an app from being closed for another process ?

Digitally sign your program.
GBPlugin dont close signed executables.
Here a tutorial ( in portuguese ):
http://www.ericksasse.com.br/como-assinar-digitalmente-seus-aplicativos/

Related

Common dialogue control seems to keep my programs running after I close them

I currently run a 64bit Windows 10 development box. I have old VB6 source that I have to unfortunately keep updated for the time being. For some reason all the sudden I noticed that one of the applications I have just built seemed to stay running in the background after the GUI was closed.
I started debugging the issue more and more until I found out that the only time it would seem to persistently stay open in the background after the GUI was closed was if I clicked the button on my form that would call the Common Dialog control to show the file open GUI. I only have to show the file open window and then hit cancel for this to happen.
This ONLY seems to happen on ONE of my dev machines (not the other). Every time I use that CD file open box I have to open task manager up and end the task. I also tried to make sure all forms were closed when my main form starts to Unload. Nothing seems to work or shed any clue on what the issue is. I have also double checked that the following files are now all the same coping them from the known working dev machine to my broken one and re-registering them.
COMDLG32.OCX
comdlg32.oca
comdlg32.dll
COMDLG32.DEP
Both machines are running the same exact OS Win10 Pro 64bit.
That does sound strange, getting different results on the two machines. Pragmatically, you can work around the problem (without actually understanding it) by making sure that you execute an End statement. (You can put it in the QueryUnload event to make sure it's hit if the user clicks the "X".)

Prevent Shoes App Closed

I am currently building a simple App like an install wizard. At some steps the app will call an external batch script/bash script to execute some tasks on a separate Thread. I don't want the app be closed by the user during the external task execution. Is there any way to listen to the exit button of the window and prevent the event being processed?
There is no such method as of now as far as I can tell (and I maintain Shoes 4). However, I added an issue in the issue tracker.

My windows phone application runs when ran though visual studio (onclick of device button) but when I disconnect and run it doesn't?

I have written file picker code in my project. When i run the project in my windows phone by clicking on device button in visual studio, the app runs fine(I mean it opens pictures library and i can select a photo and preview it).
But when I disconnect my usb and then open the app in the phone and when i open pictures library on click of a button , the pictures library opens briefly and then the app crashes immediately(My app closes).
Can anyone please help me with this??
As written in the blog post , the AndContinue method run in a different process and to do so, the current running app goes into the background or even gets closed sometimes, that is what you are experiencing in your app as far i can tell but not sure why different things happening during debug & deploy.
There must be a callback inside app.xaml.cs specifically to handle the condition when calling application(which was sent into background) comes in foreground, read this blog post carefully & you'll understand as what you need to change in your code :
using-the-andcontinue-methods-in-windows-phone
http://blogs.msdn.com/b/wsdevsol/archive/2014/05/08/using-the-andcontinue-methods-in-windows-phone-silverlight-8-1-apps.aspx
I just dealt with this issue and one of the reasons why there are differences between debug and deploy is because of the suspending event.
During debug, the application does not actually get suspended until you manually do it through Lifecycle Events. This means that when you pick a file on debug and the app is put to the background to load the file picker, it is not actually suspended, while when the app is deployed, it actually gets suspended.
Look into your app_resuming method and OnSuspending methods in your app.xaml that may be causing errors not occurring during debug.

Password manager type application, is this tough stuff?

There is a password manager application for the MAC, and I was curious as to how one would go about developing such a fine piece of software.
I don't know much about the mac, just getting into xcode and iphone development actually.
The idea is, when you are at a website, and login it pops-up and asks if you want to save the login/password to the application.
You can also click on a previously saved login, and it will open up firefox and login for you.
How would you know when a browser is open, and when a form gets submitted?
What kind of application would this be i.e. project type in xcode?
I'd start by reading up on KeyChain, since that already does most of the work 1password is doing (i.e. securely storing passwords). As for bring up a prompt in web browsers etc, that's just a plugin for each browser it works with, so you'd have to dive into the plugin documentation for each web browser you wanted to support.
In short, it's not mind bogglingly difficult, but it's not a small task by any means. If you don't care about the browser integration you could probably write a thin wrapper around KeyChain quite easily, though I've never done it, so don't take my word as gospel.

For a web application, how to close all the related browser windows when session is timed out / user signs out?

Suppose user has opened my web application in many different browser windows. After sometime he is timed out / sign out from the application.
I want to close all the related browser windows. How can we handle this?
(I think GMAIL does that)
If you maintain references to any child windows, you can use window.close() in combination with setTimeout().
As a note, you should probably exercise caution when closing users' windows, as it can potentially cause a bad user experience. Imagine that I've opened up my bank's website to look at the transactions for an account so that I can clear/reconcile them. But in the middle I run off to grab some lunch or something. When I come back, I find that all of my windows have been closed and I have to relogin, even though I didn't need to 'cause I was just looking at a relatively static list of data. Or even worse, if the window-closing isn't coded correctly, I might find that my browser has been closed entirely, which is definitely a bad experience.
Don't. As far as the typical user is concerned, your web site does not have the right to close the user's windows and they will HATE your site if you try. If you think that your web site's proper operation depends on being able to close the user's browser, then you are doing it wrong.
Furthermore, there is no way that you can count on the success of your attempt to close user windows or perform similar such actions. So spend your time making your web site work properly regardless of what the user does in the browser. Besides, it is easier that way.
Write a scriplet that when the focus is brought to the window (for your application) it checks to see if the session is still valid. If it is not, then send a command to close the window.

Resources