| |
HISTORY
VERSION 0.6
- Multiple small changes to optimize the code and project organization;
- Fixed a problem with long file names where ProSysLib didn't translate short
version of a file path into its long version as intended originally with API GetLongPathName.
- Added property DomainName into namespace System->Network;
- Added object PSLIPv4 to implement a very good IPv4 parser to and from text string using
all possible forms of input and output;
- Added method System->Network->IPv4FromString to create a new IPv4 object;
- Added object PSLIPv6 to implement a powerful and universal IPv6 parser to and from text string using
all existing IPv6 notations (NOT FINISHED): http://en.wikipedia.org/wiki/IPv6
- Added method System->Network->IPv6FromString to create a new IPv6 object;
- Implemented namespace System->Hardware->Processor. It now contains information about the CPU (Name and Usage) and sub-collection
of CPU Cores;
- Added property Version into System->Software->OS. It contains complete information about the OS version
that's very easy to use;
- Added property AffinityMask into System->Software->OS to have access to the system CPU affinity;
- Added properties ProductName and ProductId into System->Software->OS;
- Added method GetSpecialFolder to namespace System->Software->OS for easy access to any special folder in the system.
- Moved property Hardware->Memory into Software->OS, because all the memory information refers to the OS much more than
it does to the PC hardware;
- Implemented property Software->OS->Memory that provides detailed global information about the OS memory;
- Added a VB6 demo application into SDK that shows how easy it is to control system load by adjusting
Process Affinity and Process Priority, and by using basic information about the CPU like the number of cores
and the CPU current usage;
- Added property Hardware->Monitors that represents a collection of all display monitors connected to the PC;
VERSION 0.5
- In namespace PSLSystem->Process implemented properties: ProcessID, FileName, FilePath, FileDir,
CurrentDir, Created, Version (type PSLModuleVersion) and Commands (type PSLCmdParams)
- Added interface PSLModuleVersion that extracts version information from a module's version resource.
- Added interface PSLVersionNumber for easier presentation of version number in interface PSLModuleVersion
- Added method GetModuleVersion to namespace PSLSystem->Software to get version object based on any
module in the system.
- Added collection of command-line parameters for the current process, interface
PSLCmdParams. Property Process->Commands now allows easy processing for all command-line
parameters of the current process
- Added interface PSLCmdParam that represents a single command from the command-line. It contains the command, plus uses
common rules for commands to parse the command into Name + Value;
- Fully implemented collection of windows for property PSLSystem->Process->Windows. It now enumerates
all windows within the current process, using a powerful filter, which is property Windows->Filter of type (PSLWindowsFilter)
- Implemented interface PSLWindowsFilter that allows easy filtering for collection of windows within
the current process.
- Implemented interface PSLWindow that represents a window in ProSysLib. It is both within the collection Process->Windows
and as standalone method WindowFromHandle that was added into namespace PSLSystem->Software at the same time.
- Fully implemented collection of threads within the current process for property Process->Threads. It is now
very easy to enumerate through all the threads in the process using this collection and internal objects of type PSLThread
- Implemented interface PSLThread to represent the collection element in namespace Process->Threads
- Improved declaration and implementation of method Security->GetNamedObjectAccess
- Optimized COM exception support in the library
- Added method ProcessIDFromThreadID into namespace PSLSystem->Software. It does pretty much the same
as API GetProcessIdOfThread, only works on 2000/XP as well
- Added C++ example StealthDeployment with one extra header to show how to simplify
Stealth Deployment of ProSysLib with C++ applications;
- Added C# example ProcessInfo that shows the basics of accessing current process
information via ProSysLib;
- Added collection of environment variables to the current process
- Added collection of modules in use by the current process
- Added advanced information about IO Counters to the current process
- Added advanced information about memory usage by the current process
- STOP: Author stopped adding more to the list, as the real number of changes already surpassed 100.
Version 0.5 is a single biggest change to the component, and most of changes got into namespace PSLSystem->Process.
VERSION 0.4
- Changed the wrong compilation mode to be correct for Free mode, and not Apartment;
- Modified compilation targets to be exactly the initial version of Windows 2000 for 32-bit
version and Windows XP for 64-bit version, i.e. the component won't support 64-bit mode on
Windows 2000 64-bit, only 32-bit mode, because that OS has problems with 64-bit Automation (variant types VT_I8 and VT_UI8 are not supported);
- Fixed a problem for method Security->GetNamedObjectAccess that might prevent it from working correctly in 64-bit mode;
- Changed implementation of AffinityMask everywhere.
Now this variant property will always be VT_UI4 in 32-bit mode and VT_UI8 in 64-bit mode for
consistency with handles;
- Reduced time-out check for method Process->Kill from 1 second to 500ms so the method works faster;
- Finished the ProSysLib license and included it into the installation;
- Included ProSysLib Source Code into the installation;
- Added the page of Options into the installation.
VERSION 0.3
- Linked the DLL-s using a different mode to get rid of VS2008 dependencies that prevented the DLL from being registered and used on systems without VS2008. Successfully tested the new version on a fresh installation of Windows 2000;
- Added method Find into Software->Processes that will locate and return the process using Process ID;
- Changed property AffinityMask in PSLProcess to read the value from the system, plus added the possibility to set a new value;
- Fixed a bug in the process enumeration where an open token wasn't closed after usage;
- Fixed a bug in PSLProcess that didn't allow it to gather information about the process when compiled in 64-bit mode. This bug was related to misinformation provided with MSDN;
- Added property Is64Bit to PSLProcess to detect whether the process is 64-bit or not;
- Added property Is64Bit to Software->OS to detect a 64-bit OS;
- Added first code example into SDK: Simple Process Viewer for C# 2005;
- Added this History file to the SDK installation;
|
| |