Archive for June, 2009

Update to Window Hider (Kill Switch)

June 03rd, 2009 | Category: Defense, Tool

So I got to thinking the other day that another potentially nice feature for WindowHider would be a kill switch.  In case of course your boss knows you use WindowHider and comes by looking to see what you are up to, with then intention of double clicking on WindowHider in the task bar and choosing to show the windows.

So ofcource I went ahead and added a kill switch.  Go to the settings page and configure another key combonation, just like you do for the key combo to hide windows.  Then when that key combo is triggered any hidden windows will be closed and so will window hider itself.   Go ahead and download the newest version at the WindowHider page.

5 comments

1.2 Was Buggy 1.2.1 Released

June 02nd, 2009 | Category: Uncategorized

Not much more to say, I rushed 1.2 out last night and it was buggy, had a few reports so I am pushing out 1.2.1.  Check it out on ArrangeByImage’ Page.

No comments

One last update to ArrangeByImage for today

June 01st, 2009 | Category: Funny, News, Offense, Uncategorized

I had a couple of suggestions passed to me today, one to allow drawing in the picture box area and arrange by the drawing, and two to build a few of the pictures into the executable and allow them to be used via a switch.

So for you folks out there who asked, you shall received, I just uploaded ArrangeByImage 1.2 (download from ArrageByImage Page above) which satisfies both requests.

Three new switches have been added “-heart”, “-star”, “-smiley” that will arrange the icons based on one of those three images that are saved in the executable so no additional picture is required.

Finally, there is now a check box that switches the program from selecting a file to allowing you to draw in the image area.

1 comment

Update to ArrangeByImage

June 01st, 2009 | Category: Coding, News, Offense, Tool

As I attempted to anoy those around me with ArrangeByImage today I realized one major flaw.  The original (now updated) code did nothing about the align to grid option on the desktop.  I fiddled a bit and found the style that sets that on the desktop and I am now removing “Align To Grid” when you run the program.  And in the interest of saving others the effort to find out how this is done here is a code snippet in c# / Win32API. Note this will actually work for any listview which is technically what the desktop is.

        [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = false)]
        static extern IntPtr SendMessage(HandleRef hWnd, uint Msg, IntPtr wParam, IntPtr lParam);

        [DllImport("user32.dll", SetLastError = true)]
        static extern IntPtr FindWindow(string lpszClass, string lpszWindow);

        [DllImport("user32.dll", SetLastError = true)]
        static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string lpszClass, string lpszWindow);

        const uint LVM_SETEXTENDEDLISTVIEWSTYLE = 4150;
        const uint LVM_GETEXTENDEDLISTVIEWSTYLE = 4151;
        const uint LVS_EX_SNAPTOGRID = 524288;

        private void turnOffSnapToGrid()
        {
            IntPtr programmanagerWindow = FindWindow(null, "Program Manager");
            IntPtr desktopWindow = FindWindowEx(programmanagerWindow, IntPtr.Zero, "SHELLDLL_DefView", null);
            IntPtr listviewWindow = FindWindowEx(desktopWindow, IntPtr.Zero, "SysListView32", null);
            HandleRef desktopReference = new HandleRef(null, listviewWindow);

            int CurrentSettings = (int) SendMessage(desktopReference, LVM_GETEXTENDEDLISTVIEWSTYLE, IntPtr.Zero, IntPtr.Zero);
            IntPtr ptr = new IntPtr(CurrentSettings & ~LVS_EX_SNAPTOGRID);
            SendMessage(desktopReference, LVM_SETEXTENDEDLISTVIEWSTYLE, IntPtr.Zero, ptr);
        }
No comments