Improved: Recompiled and changed some code to comply with official and final PureBasic V4.51 release.
Added: Now supports memory based flash cards, usb sticks and typical NON-SPINNING flash/memory devices. Old-school floppy drive IS spinning, and therefore it should not been mixed with the same flag also covering non-spinning devices such as memory stick! This is a strange design by Microsoft.
It says that "DRIVE_REMOVABLE" can either be; "The drive has removable media; for example, a floppy drive, "thumb drive, or flash card reader." **THIS IS WRONG LOGIC**. M$ _SHOULD_, and I cannot stress this much enough, ** S H O U L D ** , make a new flag at the bottom of the list indicating, real thumb drive, or flash card reader. They should leave the old-school flag of a real HARD MOUNTED FLOPPY SPINNING device in its own category. This makes no sense at all, and this is a SERIOUS logic flaw in all of the Window's OS's. It goes against its own specification.
Anyway, adding some more code to FloatLED took care of filtering out Floppy from Flash Based assigned devices that has no media in it, and it do remind me of how Microsoft program their OS's, layers of stuff that filters out its own layers based on the previous layers going back to the origin of the layers and back to end and reverse, re-do, re-check...no wonder why we need QuadCore these days to take care of these small little things that M$ can't seem to get their head around and do it logically correct instead of working with code from the 70's and adapting.
Adding this code however will scan the floppy drive (normally A:\), so you will hear a click drive noise once. This only happen every time FloatLED start-up and *not* during the regular Detection Interval to detect changes to added or removed drives. It is 100% avoidable and only way to support Flash Based disks, as this detection flag within Windows also coveres spinning floppy-drives. WRONG LOGIC, M$!
Changed: "HDD Detect Interval (seconds)" now renamed to "Device Detect Interval (seconds)", since its not only HDD (Hard Disks) FloatLED detects, even flash based are detected in V1.08. The old INI entry will be renamed when saving, changing or exiting FloatLED, so it's consistent with the current naming and future versions.
Added: Minimal IconSize set to 10 (instead of 30) for those who really need that. Remember you can use keyboard arrow keys to fine tune when this gadget is active.
Added: All changes to icons when using the Custom IconSize is also now realtime. Expect things to go slow updating/rescaling window if you go high!
Added: "Request Administrator Mode for Vista". I have no idea what its for, but somebody needed it. Anyway, it was just a checkmark in the PureBasic Compiler.
Added: A "Detected Drives" listview in the "Drives and Icons Configuration" window to let the user know what drives are scanned by floatled, what is present (without no disk in it) and those which are not scanned and supported by FloatLED. Only tested for HDD, FDD, Flash, Network, CD-ROM, RAM-DISK....any other...I have no idea what happens :-)
Added: Option to turn off completely the "HDD Detect Interval (seconds)" as this function WOULD also scan through network mapped drives as well. It was also renamed to "Turn off Device Detect Interval" in ini since we can detect flash based devices now as well (non-spinning). Note that turning OFF the "Device Detect Interval (seconds)" will ignore the "Auto Hide Disconnected" as this function is 100% dependent on that 10 sec (default) scanning of all DRIVETYPES found in your system.
Improved: Some users reported "network chatter" by FloatLED. I must state that there is no network code added in my code, however certain API commands I use from MSDN *WILL* regardlessly scan the system for what is Physical Drive, Removable Drive, Floppy Drive, CD-ROM, Network Drive etc. So, now, the main routine only scans the known disks found in the system and not everything. Previously it did scan all drives and this happen every 50ms, we should be rest assured that the possible CPU time FloatLED once used to catch network drives should now be even lower....we might expect 0.0% CPU-Time now.
Fixed: Check for <1.07 upgrade to v1.08 to detect if FloatLED had max 24 drives. A and B drives were added in v1.07, causing it to become 26 letters, this would skew v1.06 and below settings by two drives to the right, maybe causing drive icons to disappear or act wierd.
Fixed: Fixed a minor bug in checking the flag "Ignore On-Top upon First-Time Run".
Added: To the detection loop if FloatLED window was outside the window area (like a resolution change happen) it will snap FloatLED window back into viewable desktop. This is triggered within the "HDD Detect Interval (seconds)" found in .INI file.
Note: If the "Device Detect Interval (seconds)" feature is turned off, a secondary trigger will anyway detect the window out of area every interval as specified in the "Device Detect Interval (seconds)" so no need to panic.