New Win32 Active Setup emulator

common/src/win32/W32ActiveSetup.cc
common/include/win32/W32ActiveSetup.hh

- New module for emulating Microsoft's undocumented Active Setup.
New Win32 post-install autorun changer

common/src/win32/ChangeAutorun.c

- Standalone program that Active Setup can use to change a user's
autorun settings.

The installer can set an Active Setup key to run this program. This way
when each user logs on their autorun settings can be added or updated
or unmodified according to the settings chosen during install.

Currently the installer can only change the autorun settings for the
user running the installer. Using the Active Setup method
ChangeAutorun.exe can be run automatically and quietly by Windows
during each user's first logon after Workrave install.

For example the installer could offer an option to start Workrave
automatically for all users, or new users only.



Here is the output of ChangeAutorun /?


This is a configuration tool added by this project's installer.
This program is invoked by Microsoft's undocumented Active Setup.
If you do not understand what this program does don't use it.

ACTIVE_SETUP_GUID: {180B0AC5-6FDA-438B-9466-C9894322B6BA}
AUTORUN_VALUE: Workrave
PROJECT: Workrave
HKCU_PROJECT_KEY: AppEvents\Schemes\Apps\Workrave
TARGET: workrave.exe
TARGET_OPTIONS:

Options:
-a      Add autorun always.
-b      Add autorun only if user has never before used your project.
-d      Remove the autorun entry.
-r      Remove the Active Setup entry.
-u      Update existing autorun entry.
-v      Be verbose. If multiple arguments this must be the first.
-z      Show each passed in argument for testing purposes.

The 'Add autorun' options are mutually exclusive. Using either
implies option 'u', which updates an existing autorun entry, if any.

Option 'r' removes the HKCU Active Setup entry, if any, and not the
HKLM Active Setup entry. What that means is Active Setup will be
reset for the user, and will run the next time the user logs on.
Move W32ActiveSetup files from common to backend

backend/src/win32/W32ActiveSetup.cc
backend/src/win32/W32ActiveSetup.hh
frontend/gtkmm/win32/setup/src/ChangeAutorun.c

Move W32ActiveSetup files to the win32 backend directory
Move ChangeAutorun file to the win32 installer directory
Add W32ActiveSetup files to CMakeLists

build/cmake/backend/CMakeLists.txt
build/cmake/frontend/CMakeLists.txt

cmake backend config:
Add W32ActiveSetup source and header files located in backend/src/win32/

cmake frontend config:
Add backend/src/win32 to the list of WIN32 frontend include directories
Finish W32ActiveSetup code

backend/src/win32/W32ActiveSetup.cc
backend/src/win32/W32ActiveSetup.hh
frontend/gtkmm/src/main.cc

- (W32ActiveSetup::update)
Move CreateProcess() call to W32ActiveSetup::create_process().
Create a thread to run W32ActiveSetup::create_process().

- (W32ActiveSetup::create_process)
Temporarily disable WOW64 file redirection before calling
CreateProcess().


main.cc:
- (run)
Add the Active Setup check for Win32 users. Add as early in the code as
possible.
Merge pull request #21 from jay/activesetup

Active Setup emulator and ChangeAutorun utility
Merge pull request #22 from jay/j

some minor changes
complete zh_CN translation with some fixes

* The strings in zh_CN.po are all translated. I also fix
and update some existing translations.
* Add myself in the credit area ;)
Merge pull request #23 from alick9188/trans-zh_cn

complete zh_CN translation with some fixes
Change zapper for Visual Studio compatibility

frontend/gtkmm/win32/setup/src/zapper.c

- Move C99 inline variable declarations to declare at beginning of
scope. Visual Studio doesn't recognize C99 inline variable declarations.

- Rewrite EnumWindowsProc()