Jun 2
1.2 Was Buggy 1.2.1 Released
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 commentsJun 1
One last update to ArrangeByImage for today
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 commentJun 1
Update to ArrangeByImage
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
May 30
Updated ArrangeByImage
Made an update to ArrangeByImage so it now supports command line switches. This is in keeping with the general purpose of this site which is to annoy your co-workers. Now you can run ArrangeByIcon on a friends computer and watch their confused face. Have Fun!
No commentsMay 30
Arrange By Image
New app released, ArrangeByImage. My co-worker Mike and I modified some code he found and came up with this. Check out the link for full back story, screen shots, and the app with source code. ArrangeByImage allows you to arrange the icons on your desktop based on the black lines in a bitmap image.
No comments