Express ClickYes is a tiny program that runs in the system tray and automatically clicks the
Yes
button for the Outlook security prompt, that asks you to confirm mail sending from third party applications or
access to Outlook's address book.
You can suspend or activate Express ClickYes by double-clicking its icon in the taskbar notification area (system
tray). Developers can automate its behavior by sending special messages via standard Windows API functions or even
very simple command line switches.
If you are using a program that causes Outlook to generate the prompt, you will find this tiny tool very handy.
Click Here To Download Your Free Copy of Express ClickYes (93
KB)
If you use VBScript, JavaScript or any other scripting language that does not provide Windows API calls you can manage
Express ClickYes too by means of command line switches. A lot of Visual Basic developers will find this way more
convenient too.
Being launched ClickYes can be either active or suspended. When it is active it monitors the Outlook Security
prompts and clicks the Yes button on behalf of a user. When it is suspended it does nothing. Double-clicking its
icon in the taskbar notification area (also known as system tray) makes it active if it was suspended and vise versa.
Express ClickYes supports the following command line switches:
- -stop closes Express ClickYes if it was previously launched.
- -suspend suspends Express ClickYes if it was active or do nothing otherwise.
- -activate activates Express ClickYes if it was suspended or do nothing otherwise.
Look at code
samples below to find out how to program Express ClickYes using C/C++, Borland Delphi, Microsoft Visual Basic, Visual FoxPro and
even VB.NET.
Please note that ClickYes should be running when you execute the provided code in your own software.
C/C++ Sample
void SomeProc() {
HWND wnd;
UINT uClickYes;
// Register a message to send
uClickYes=RegisterWindowMessage("CLICKYES_SUSPEND_RESUME");
// Find ClickYes Window by classname
wnd=FindWindow("EXCLICKYES_WND", NULL);
// Send the message to Resume ClickYes
SendMessage(wnd, uClickYes, 1, 0);
// ...
// Do some Actions
// ...
// Send the message to Suspend ClickYes
SendMessage(wnd, uClickYes, 0, 0);
}
Borland Delphi Sample
procedure SomeProc;
var
wnd: HWND;
uClickYes: UINT;
begin
// Register a message to send
uClickYes:=RegisterWindowMessage('CLICKYES_SUSPEND_RESUME');
// Find ClickYes Window by classname
wnd:=FindWindow('EXCLICKYES_WND',nil);
// Send the message to Resume ClickYes
SendMessage(wnd, uClickYes, 1, 0);
// ...
// Do some Actions
// ...
// Send the message to Suspend ClickYes
SendMessage(wnd, uClickYes, 0, 0);
end;
Microsoft Visual Basic (VB/VBA) Sample
' Declare Windows' API functions
Private Declare Function RegisterWindowMessage _
Lib "user32" Alias "RegisterWindowMessageA" _
(ByVal lpString As String) As Long
Private Declare Function FindWindow Lib "user32" _
Alias "FindWindowA" (ByVal lpClassName As Any, _
ByVal lpWindowName As Any) As Long
Private Declare Function SendMessage Lib "user32" _
Alias "SendMessageA" (ByVal hwnd As Long, _
ByVal wMsg As Long, ByVal wParam As Long, _
lParam As Any) As Long
Private Sub SomeProc()
Dim wnd As Long
Dim uClickYes As Long
Dim Res As Long
' Register a message to send
uClickYes = RegisterWindowMessage("CLICKYES_SUSPEND_RESUME")
' Find ClickYes Window by classname
wnd = FindWindow("EXCLICKYES_WND", 0&)
' Send the message to Resume ClickYes
Res = SendMessage(wnd, uClickYes, 1, 0)
' ...
' Do some Actions
' ...
' Send the message to Suspend ClickYes
Res = SendMessage(wnd, uClickYes, 0, 0)
End Sub
Microsoft Visual FoxPro Sample
PROCEDURE SomeProc
LOCAL uClickYes, wnd, Res, lResult
* Declare Windows' API functions
DECLARE INTEGER RegisterWindowMessage IN User32 ;
STRING lpString
DECLARE INTEGER FindWindow IN user32;
STRING lpClassName,;
STRING lpWindowName
DECLARE INTEGER SendMessage IN user32;
INTEGER hWnd, INTEGER Msg,;
INTEGER wParam, INTEGER lParam
* Register a message to send
uClickYes = RegisterWindowMessage("CLICKYES_SUSPEND_RESUME")
* Find ClickYes Window by classname
wnd = FindWindow("EXCLICKYES_WND", 0)
* Send the message to Resume ClickYes
Res = SendMessage(wnd, uClickYes, 1, 0)
=MessageBox("Check it is running")
* ...
* Do some Actions
* ...
* Send the message to Suspend ClickYes
Res = SendMessage(wnd, uClickYes, 0, 0)
=MessageBox("Should now be suspended")
Microsoft VB.NET Sample
As Microsoft VB.NET sample project consists of several files, we cannot provide code sources directly on this
page. You can download a
VB.NET sample project, extract and try
it for yourself in your environment.