Update: Version 1.0 has been released. Get it from here.
A new week, a new plugin
The plan for this plugin is to include all system-related functionality that isn’t already available in the DesktopX System namespace.
You can download a test version here (set to expire on 10/5/2009).
If you have ideas for stuff to add to this plugin, feel free to post them on the DesktopX 4.x request thread.
- SystemEx_OnMButtonDown(x, y)
- SystemEx_OnMButtonUp(x, y, dragged)
- PeakValue (read-only)
- VerifySignature(path, signature, type)
When the mouse is over the object and the mousewheel is used, the SystemExOnMouseWheel
function will be called with the wheel rotation passed as a parameter.
The wheel rotation will be in number of lines.
Default value: 3
Default value for page scrolling: 10
A positive value indicates that the wheel was rotated forward, away from the user;
a negative value indicates that the wheel was rotated backward, toward the user.
SystemEx_OnMButtonDown(x, y) & SystemEx_OnMButtonUp(x, y, dragged)
When you middle click on your object, the SystemEx_OnMButtonDown function will be
called. When you release the button, theSystemEx_OnMButtonUp function will be called.
Both functions will have the mouse coordinates relative to your object passed as
This one was asked by Zubaz to better handle multi-monitor systems. As it turns out, the virtual screen coordinates are not nearly enough to be able to position objects on multi-monitor systems. WMI is exposing monitor information, but it does not seems to work reliably (it only gives information for the first monitor on my system for example).
Gets an array of MonitorInfo objects
Returns the MonitorInfo for the given screen
Gets the number of monitors on the machine
When the user change the master volume through the volume mixer or another application
your object callback is called. The volume parameter will contain the current master
XP Compatibility: never called.
If the volume is muted, your object callback is called.
isMuted will be True if the volume has been muted, false otherwise.
XP Compatibility: never called.
Sets or gets the master volume.
SystemEx.Volume = <volume>
<volume> = SystemEx.Volume
<volume> should/will be between 0 and 100. Any value outside these bounds will be capped.
Mute or un-mute the audio stream
SystemEx.Mute = True
isMuted = SystemEx.Mute
Mute can take two values: True and False.
If Mute is True the audio stream is muted, otherwise it is not muted.
This is a read-only property. It allows you to get the peak level value for the
currently playing sample.
level = SystemEx.PeakValue
level will be between 0 and 100.
XP Compatibility: might not work with some cards, in which case it will always returns 100.
It reads from the waveout device, so it won't work when reading from a CD for example.
Get the full command line (including the path to the executable and DesktopX-specific arguments)
Get an array of command line arguments.
Command line arguments have been cleaned up to remove DesktopX-specific arguments (in the case of single-exe gadgets)
Will be True if this is the first instance to run, False otherwise.
It is preferable to check for it at startup and close the gadget accordingly,
as only the first instance will receive a callback message when a new instance is started.
Gets called when another instance is started. The command line arguments are passed in an array.
SystemEx.VerifySignature(path, signature, type)
Check the signature of the file pointed to by path.
The only type of signature supported at this time is SIGNATURE_SHA1
1.0 Build 228:
- Renamed to DXSystemEX (plugin namespace is now SystemEx)
- Added SHA1 signature check
- Added MouseWheel and Middle button click callbacks (merged from DXMouseWheel)
- Added Master volume control / Mute / Peak (merged from DXVolumeControl)
1.0 Build 205: