login

Cautomaton

If you want to download, have a look at the Cautomaton Releases linked to the left.

Description

Ever have that experience where you want to automate something that is hiding away in the right-click menu of a file? The application you need does not support command-line parameters, or there maybe isn't even an executable to call upon for you.

No longer. With Cautomaton it becomes possible to script or otherwise automate the calling of actions that are hidden away in the context menu of a file.

There are two flavors of Cautomaton inside the distribution. One of them is for 32-bit, one of them is for 64-bit. Ironically, 64-bit users will most often wish to use the 32-bit variety of Cautomaton, as most programs tend to hide themselves in the 32-bit variety of the context menu, yet then end up forgetting to put themselves in the 64-bit variety. However, at times, I have noticed the opposite as well, thus the need for two varieties that can cover all possibilities.

Both varieties operate and act exactly the same - only their 'technical' context is different. This difference, which one can see while using the popup function, is the only one there is.

Screencast

Requirements

Cautomaton does not come with an installer. It is your own responsibility to meet Cautomaton's requirements.

Readme.txt

Cautomaton
v1.0.1 (2015-01-21)

Cautomaton is a tool meant for the automation of actions that have ended up
being difficult to automate because the functionality in question is accessed
through the so-called context menu by right-clicking on a file.

Thus, Cautomaton allows for easy ways to scan particular files for viruses,
check the integrity of archives, set images as your wallpaper or whatever
other functionality is stashed away in the context menu.

It is not a tool for all occasions, however. If you can just as easily call
upon your anti-virus program directly, that may be more reliable. I consider
Cautomaton itself to be very dependable, but the ecosystem it is used in
determines its practical worth. Programs (ab)use the context menu in many
silly ways, and due to Cautomaton's invasive (automating) nature, those
programs may stumble even if you are not even attempting to interact with them!

That said, I consider such programs a challenge, as it means Cautomaton could
probably do an even better job than it already does. So if Cautomaton does not
seem to get the work done despite indicating that it should in fact work, feel
free to let me know and I'll do my best to find a solution for you.

-Jan Wester

http://whitehat.dcmembers.com/


INSTRUCTIONS
------------

Make sure to use the proper build for your system. While the 32-bit executable
works on a 64-bit machine, you likely do not have the proper context menu
extensions installed for the 32-bit (WOWSYS64) subsystem. End result is that
items will be missing where you might expect to see them.

(All 32-bit applications suffer this - try a 32-bit explorer some time.)

Cautomaton relies on the 'Microsoft Visual C++ 2010 Redistributable Package'.
You will need to install the version matching the build of Cautomaton you use. 

To download the 32-bit (x86) version, visit: http://bit.ly/1yHFnLu
To download the 64-bit (x64) version, visit: http://bit.ly/159xous


HOW TO USE
----------

Getting started with Cautomaton is easy. There are two basic steps involved:
identification and invocation. In order to perform (invoke) an action on a file
for you, Cautomaton needs to be able to identify it.

To help with this, Cautomaton can analyze an action you perform. For example,
run the following in a commandprompt:

  cautomaton.exe /p /a ReadMe.txt

This will tell Cautomaton to popup ('/P') a context menu, and analyze ('/A')
the choice afterwards. Choose one of the menu items. For example, open it.
The file 'ReadMe.txt' will now be opened in your program of preference.

(If you do not want this to happen, you can add an extra '/N' parameter to
have Cautomaton do nothing with the chosen item.)

At the end of the technical analysis Cautomaton performed is a recommendation
on how to use Cautomaton. Whatever it recommends is almost always the best way
to go about repeating your actions. For example, it will say:

  Recommended Cautomaton parameters: /v open 

The recommended parameters would instruct Cautomaton to use the 'open' verb on
the file(s) in question. Now, try out the recommendation to see if it works:

  cautomaton.exe /v open ReadMe.txt

You should now see 'ReadMe.txt' be opened in your program of choice. At its
essence, that is all there is to using Cautomaton. 

With these basics in mind, simply opening up a command-line and experimenting
with the different options should help you on your way. For a list of all the
things Cautomaton can do, try:

  cautomaton.exe /?

There are a lot of options to fine-tune Cautomaton's behaviour, but most of
the time, you will not need them. But if you do... well, they exist!

One final word of caution regarding '/M': this option is very flexible, but is
also unreliable at its core. For example, menu text might be translated to
German for someone who uses the German language on their computer, so matching
against English text won't work. In a similar vein, the positioning of items
can vary depending on a multitude of factors, and the internal IDs are even
more fleeting. Please be aware of the assumptions you make when using '/M'!


KNOWN ISSUES
------------

1) Using '/A /P', and choosing an item in the 'Open With' menu will cause the
     analysis to throw out an incorrect first crumb ('&Choose de' as opposed
     to the correct 'Open wit&h'). Other action sources work fine.

2) Canceling a 'delete' verb operation gives Cautomaton an error code it
     cannot recognise, which it then treats as a standard failure that can
     only be recognised when running in debug (/d) mode.

3) On Windows versions that pre-date Windows Vista, a context menu that applies
     to multiple files may be different than one Windows Explorer conjures up.
     Items may be missing, doubled and/or mispositioned. For most invocations
     (/P, /V or /M using text-matching) this should not be a problem, however.


REQUESTS FROM THE AUTHOR
------------------------

REQUEST TO TESTERS (#1): Please try out the multiple files support! If there
  are differences between a context menu for the same files in one directory,
  and a context menu for these same files being in separate directories, make
  sure to let me know! If it is at all in my power to make these two cases
  consistent with one another, I will do so!

REQUEST TO TESTERS (#2): Windows versions pre-Vista may have a weird / glitchy
  context menu when applied to multiple files. I can't really test on such
  systems anymore, but I am very interested in hearing about the state of
  Cautomaton's new functionality on those systems. Let me know!


VERSION HISTORY
---------------

As Cautomaton's version history was getting rather lengthy, it has been put
into its own file. Please see 'Changelog.txt' for more information.


LICENSE
-------

Copyright (c) 2015 Jan Wester

This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
arising from the use of this software.

Permission is granted to anyone to use this software for personal use, and to
redistribute it freely, subject to the following restrictions:

1. The origin of this software must not be misrepresented; you must not
   claim that you wrote the original software.
2. All original parts must be intact and unmodified.
3. This notice may not be removed or altered from any source distribution.


If you wish to obtain a license for commercial use, please contact the author.


CREDITS
-------

Thanks to...

* JoTo for mentioning a certain very buggy shell extension @
    irc://irc.freenode.net/donationcoder

* mouser for his request @
    http://www.donationcoder.com/Forums/bb/index.php?topic=24266.0

* Raymond Chen for his awesome blog & series on context menus @
    http://blogs.msdn.com/b/oldnewthing/

* Nikos Bozinis for encouraging my masochistic tendencies @
    http://www.zabkat.com/blog/08Jul07.htm

* DonationCoder.com as a whole @
    http://www.donationcoder.com/

* Rui Lopes for his sample project on per-pixel alpha-blending @
    http://www.codeproject.com/KB/GDI/pxalphablend.aspx

* stackoverflow.com for solving those issues I have before I have them @
    http://stackoverflow.com/

* the Oxygen Project for having nicely licensed icons @
    https://techbase.kde.org/Projects/Oxygen

* Babosse for his awesome Old-School icon set @
    http://babasse.deviantart.com/art/Old-School-79460710

 
Design: byte-worker