Monday, May 22, 2006

Programming, RunAsAdminExplorer Shim v2.0.0.Beta7

Bugfixes and some new interesting feature. Enjoy!

    v 2.0.0.Beta7
    In RAACommCtrl
    - BUG FIX: #1455711 temporaly fix: Dialog items reordered and replaced to fit into a 800x600 box. TODO: we have to make the dialog tabbed.
    - BUG FIX: #1455948 fixed, added new option PerfomanceOptions::AllowPriorityAdjust via RAA could maintain priority of itself and Windows Explorer.
    - BUG FIX: #1475406 fixed, added new option PerformanceOptions::AllExplorerInstances to allow automatic priority adjust of every running Windows Explorer instances.
    - BUG FIX: Fixed bug and prevent OptionDialog to modify other user's settings. If OptionDialog called from (e.g. ShellExt of) impersonated processes the caller should not have to allow OptionDialog to be used (like RAAShellContextMenu does now)
    - Added modeless dialog implementation of About and Option dialog. It eliminates the problem of modal dialogs does not handle RAA global events, therefore a lot of functions failed while modalboxes run.
    - About dialog now has active url links.

    In Explorer.exe
    - BUG FIX: #1455948 fixed, added nem option to let RAA adjust task priorities and RAA and Windows Explorer priority adjusted according to the selected option, also added code to always adjust the priority in idle time if changed.
    - Changed LoadIcon calls to LoadImage to load the correct size icons.
    - Detection if explorer.exe started enhanced in IsExplorerAvailable(), pre test-creation of the tray icon added
    - BUG FIX: #1447062 fixed, First instance now set the instance guard event security DACL to let access and some control of the instance event from another process, even in a terminal server environment.
    - BUG FIX: Fixed bug and prevent OptionDialog to modify other user's settings. If OptionDialog called from (e.g. ShellExt of) impersonated processes the caller should not have to allow OptionDialog to be used (like RAAShellContextMenu does now)
    - BUG FIX: #1475406 fixed, added new option PerformanceOptions::AllExplorerInstances to allow automatic priority adjust of every running Windows Explorer instances.
    - Still did not used the correct icon sizes for the big icon. :$
    - Added modeless dialog implementation of About and Option dialog. It eliminates the problem of modal dialogs does not handle RAA global events, therefore a lot of functions failed while modalboxes run.
    TODO: we still have one modal dialog Command Dialog!!! We have to replace it with a modeless version!!!
    - Removed some temporaly limitations after the modeless correction made.

    In RAAShellContextMenu
    - BUG FIX #1447065 fixed, Changed LoadIcon calls to LoadImage to load the correct size icons.

    In RunAsAdminHook
    - BUG FIX: - Using a new hook and message (WM_RAA_PRIVINFO_DRAW) to repaint our priv caption, not drawing directly in CallWndRetProc to let some time windows to process the paint of the original window caption first. It fix the bug that could be detected f.e. in windows explorer when just simply selected a different folder in the browser tree and priv caption has not been repainted.

Wednesday, March 08, 2006

Programming, RunAsAdminExplorer Shim

The project source has been moved to SVN, thanks to the SFNet team for the huge work they made on SVN support!!!
You can find the source at https://svn.sourceforge.net/svnroot/runasadmin in the feature. The lates beta6 branch is here https://svn.sourceforge.net/svnroot/runasadmin/branches/Beta6

CVS access now is read only and will be turned off completely in a few weeks.

Thursday, February 23, 2006

Programming, RunAsAdminExplorer Shim v2.0.0.Beta6

So the new beta release is here. We have made a lot of bug fixes and improvements, please check the change log below.

    v 2.0.0.Beta6
    Global changes
    - Added privileg level display in window captions and customizable option of it in OptionsDialog (a feature similar to Keith Brown's and Aaron Margosis's PrivBar. Thanks for both of them for the idea and the sample code!)
    - BUG FIX: Corrected memory leak (https://sourceforge.net/tracker/index.php?func=detail&aid=1371217&group_id=127612&atid=708978)
    - Added multiple changes to improve C++ compatibility and to resolve possible issues reported by code analyze, boundary checking and code coverage

    In Explorer.exe
    - BUG FIX: Fixed idle time processing BUG. idleCount not incremented :(
    - BUG FIX: Multiple open CCommandDialog prevented to stop RAA, now only one instance can exists of every run level type of Command Dialog, and the user must close each of them before exit
    - Added privileg caption support
    - szcwAppInstanceEventName moved to RAACommon to let help detection of running RAA Explorer in other modules
    - Added separate thread in CExplorerModule to send 'asynchronous' broadcast messages about RAA config changes and if privileg caption update required
    - Handling of HotKey changes made a bit more generalized (TODO: later must be enchance much more)
    - Localization added to browse (file open) dialog opened up from command dialogs
    - BUG FIX: Command enabling did not run right at command dialog initialization
    - Added D&D support on tray icon if the d&d source uses the old DragAcceptFiles, WM_DROPFILES method. (like Total Commander did)
    - WORKAROUND: D&D disabled on taskbar icon if any of the command dialogs are open see detailes in CRunAsAdminMenuWindow::OnMouseDrag
    - WORKAROUND: D&D on tray icon temporaly disabled if any of the command dialogs are open, see detailed reason CRunAsAdminMenuWindow::OnMouseDrag
    - WORKAROUND: Options and About menu items are temporaly disabled if any command dialog is open, see detailed reason in there
    - Added hint text to command and startup dialog items
    - The tray icon changes when the cursor enters in the TrayNotifyWindow during a D&D, it helps to find the RAA tray icon what can be a bit hard when there are a lot of icons in the tray
    - WORKAROUND: Still not able to change the cursor in both D&D version so simply changing the tray icon when D&D is forbidden
    - Starting another instance of RAA would be signaled as balloon tooltip on the tray icon
    - WORKAROUND: added of the case when quick mouse move during D&D can cause missed tray icon change (the workaround a bit resource consuming, later must find the real reason of the problem)
    - Added new feature of starting D&Ded files on a given startup level immediately if certain modifier key held down.
    Used keys are:
    - ALT means start the dropped file as administrator
    - SHIFT means start the dropped file as normal user
    You can use the modifiers in a combination of CTRL (as earlier implemented to enable or disable command dialog before run) but can NOT use both ALT and SHIFT, that case modifiers will be ignored and the startup level selection menu will be shown just like on the normal way.
    - Tray icon menu got the same icon set as RAAShellContextMenu has.

    In RAACommCtrl
    - BUG FIX: Command enabling did not run right at options dialog initialization
    - Added hint text to Option Dialog items
    - BUG FIX: CUserParametersStruct aligned to byte boundary, that corrected the bug of the incorrectly read CUserParametersStruct data in the marshalled COM COptionsDialog object (f.e. in the RAAShellExtension)

    In RAAShellContextMenu
    - Menu items Options, Run As..., Run At Priority are enabled only if RAA Explorer is running

    In RunAsAdminHook
    - Tiny d&d enhancement, in case of WM_MOUSEMOVE when no button is held down a WM_MOUSELEAVE posted to leave a possible 'nothing' d&d
    - BUG FIX: Fixed annoying tray icon drag&drop bugs
    - the TrayNotifyWindow show-hide button auto click sent on every move event over it, now only the entering into the icon's area triggers button auto click.
    - the TrayNotifyWindow show-hide button auto click sent when it wasn't even visible.


Enjoy.