Click here to Skip to main content
15,897,518 members
Articles / Desktop Programming / Win32

Application Management

Rate me:
Please Sign up or sign in to vote.
3.71/5 (5 votes)
18 Feb 2010Ms-PL3 min read 27.7K   651   48  
Application Management makes your application's life easier. It will automatically do memory management, handle and log unhandled exceptions, profile your functions, make your application single instance, and also provide utility functions to get system information.
<?xml version="1.0"?>
<doc>
    <assembly>
        <name>ApplicationManagement</name>
    </assembly>
    <members>
        <member name="T:ApplicationManagement.AssemblyEx">
            <summary>
            Provide utilities relationed with assembly.
            </summary>
        </member>
        <member name="M:ApplicationManagement.AssemblyEx.GetLoadedAssemblies">
            <summary>
            Get a list with the loaded assemblies.
            </summary>
            <returns>Returns a list.</returns>
        </member>
        <member name="T:ApplicationManagement.WINAPI.Kernel32">
            <summary>
            Provide some Kernel32.dll functions. 
            </summary>
        </member>
        <member name="M:ApplicationManagement.WINAPI.Kernel32.SetProcessWorkingSetSize(System.IntPtr,System.Int32,System.Int32)">
            <summary>
            Sets the minimum and maximum working set sizes for the specified process.
            </summary>
            <param name="process">A handle to the process whose working set sizes is to be set. 
            
            The handle must have the PROCESS_SET_QUOTA access right. 
            For more information, see Process Security and Access Rights.</param>
            <param name="minimumWorkingSetSize">The minimum working set size for the process, in bytes. 
            The virtual memory manager attempts to keep at least this much memory resident in the process whenever the process is active. 
            
            This parameter must be greater than zero but less than or equal to the maximum working set size. 
            The default size is 50 pages (for example, this is 204,800 bytes on systems with a 4K page size). 
            If the value is greater than zero but less than 20 pages, the minimum value is set to 20 pages. 
            
            If both dwMinimumWorkingSetSize and dwMaximumWorkingSetSize have the value (SIZE_T)–1, 
            the function removes as many pages as possible from the working set of the specified process.</param>
            <param name="maximumWorkingSetSize">The maximum working set size for the process, in bytes. 
            The virtual memory manager attempts to keep no more than this much memory resident in the process whenever 
            the process is active and available memory is low. 
            
            This parameter must be greater than or equal to 13 pages (for example, 53,248 on systems with a 4K page size), 
            and less than the system-wide maximum (number of available pages minus 512 pages). 
            The default size is 345 pages (for example, this is 1,413,120 bytes on systems with a 4K page size). 
            
            If both dwMinimumWorkingSetSize and dwMaximumWorkingSetSize have the value (SIZE_T)–1, 
            the function removes as many pages as possible from the working set of the specified process.</param>
            <returns>If the function succeeds, the return value is nonzero. 
            
            If the function fails, the return value is zero. 
            Call GetLastError to obtain extended error information.</returns>
            <remarks>The working set of a process is the set of memory pages in the virtual 
            address space of the process that are currently resident in physical memory. 
            These pages are available for an application to use without triggering a page fault. 
            For more information about page faults, see Working Set. 
            The minimum and maximum working set sizes affect the virtual memory paging behavior of a process. 
            
            The working set of the specified process can be emptied by specifying the value (SIZE_T)–1 
            for both the minimum and maximum working set sizes. This removes as many pages as possible from the working set. 
            The EmptyWorkingSet function can also be used for this purpose. 
            
            If the values of either dwMinimumWorkingSetSize or dwMaximumWorkingSetSize are greater than the process' 
            current working set sizes, the specified process must have the SE_INC_WORKING_SET_NAME privilege. 
            All users generally have this privilege. For more information about security privileges, see Privileges. 
            
            Windows Server 2003 and Windows XP/2000:  
            The specified process must have the SE_INC_BASE_PRIORITY_NAME privilege. 
            Users in the Administrators and Power Users groups generally have this privilege. 
            The operating system allocates working set sizes on a first-come, first-served basis. 
            For example, if an application successfully sets 40 megabytes as its minimum working set size on a 64-megabyte system, 
            and a second application requests a 40-megabyte working set size, the operating system denies the second application's request.
            
            Using the SetProcessWorkingSetSize function to set an application's minimum and maximum working set sizes 
            does not guarantee that the requested memory will be reserved, or that it will remain resident at all times. 
            When the application is idle, or a low-memory situation causes a demand for memory, 
            the operating system can reduce the application's working set. 
            An application can use the VirtualLock function to lock ranges of the application's virtual address space in memory; 
            however, that can potentially degrade the performance of the system.
            
            When you increase the working set size of an application, 
            you are taking away physical memory from the rest of the system. 
            This can degrade the performance of other applications and the system as a whole. 
            It can also lead to failures of operations that require physical memory to be present 
            (for example, creating processes, threads, and kernel pool). 
            Thus, you must use the SetProcessWorkingSetSize function carefully. 
            You must always consider the performance of the whole system when you are designing an application.</remarks>
        </member>
        <member name="M:ApplicationManagement.WINAPI.Kernel32.GetVersionEx(ApplicationManagement.WINAPI.Kernel32.OSVERSIONINFOEX@)">
            <summary>
            Retrieves information about the current operating system. 
            ... Product Setting; Windows XP Media Center Edition: SM_MEDIACENTER: Windows XP Starter Edition
            </summary>
            <param name="osVersionInfo">An OSVERSIONINFO or OSVERSIONINFOEX structure that receives the operating system information. 
            
            Before calling the GetVersionEx function, 
            set the dwOSVersionInfoSize member of the structure as appropriate 
            to indicate which data structure is being passed to this function.</param>
            <returns>If the function succeeds, the return value is a nonzero value. 
            
            If the function fails, the return value is zero. 
            To get extended error information, call GetLastError. 
            The function fails if you specify an invalid value for the 
            dwOSVersionInfoSize member of the OSVERSIONINFO or OSVERSIONINFOEX structure.</returns>
            <remarks>Identifying the current operating system is usually not the best way to determine 
            whether a particular operating system feature is present. 
            This is because the operating system may have had new features added in a redistributable DLL. 
            Rather than using GetVersionEx to determine the operating system platform or version number, 
            test for the presence of the feature itself. For more information, see Operating System Version. 
            
            The GetSystemMetrics function provides additional information about the current operating system. 
            
            Product - Setting 
            Windows XP Media Center Edition - SM_MEDIACENTER 
            Windows XP Starter Edition - SM_STARTER 
            Windows XP Tablet PC Edition - SM_TABLETPC 
            Windows Server 2003 R2 - SM_SERVERR2
            
            To check for specific operating systems or operating system features, use the IsOS function. 
            The GetProductInfo function retrieves the product type. 
            
            To retrieve information for the operating system on a remote computer, 
            use the NetWkstaGetInfo function, the Win32_OperatingSystem WMI class, 
            or the OperatingSystem property of the IADsComputer interface. 
            
            To compare the current system version to a required version, 
            use the VerifyVersionInfo function instead of using GetVersionEx to perform the comparison yourself. 
            
            If compatibility mode is in effect, the GetVersionEx function reports the operating system as 
            it identifies itself, which may not be the operating system that is installed. 
            For example, if compatibility mode is in effect, GetVersionEx reports the operating system that 
            is selected for application compatibility.</remarks>
        </member>
        <member name="T:ApplicationManagement.WINAPI.Kernel32.OSVERSIONINFOEX">
            <summary>
            Contains operating system version information. 
            The information includes major and minor version numbers, a build number, a platform identifier, 
            and information about product suites and the latest Service Pack installed on the system. 
            This structure is used with the GetVersionEx and VerifyVersionInfo functions.
            </summary>
            <remarks>Relying on version information is not the best way to test for a feature. 
            Instead, refer to the documentation for the feature of interest. 
            For more information on common techniques for feature detection, see Operating System Version. 
            
            If you must require a particular operating system, be sure to use it as a minimum supported version, 
            rather than design the test for the one operating system. 
            This way, your detection code will continue to work on future versions of Windows. 
            
            The following table summarizes the values returned by supported versions of Windows. 
            Use the information in the Other column to distinguish between operating systems with identical version numbers.</remarks>
        </member>
        <member name="F:ApplicationManagement.WINAPI.Kernel32.OSVERSIONINFOEX.dwOSVersionInfoSize">
            <summary>
            The size of this data structure, in bytes. Set this member to sizeof(OSVERSIONINFOEX).
            </summary>
        </member>
        <member name="F:ApplicationManagement.WINAPI.Kernel32.OSVERSIONINFOEX.dwMajorVersion">
            <summary>
            The major version number of the operating system. For more information, see Remarks.
            </summary>
        </member>
        <member name="F:ApplicationManagement.WINAPI.Kernel32.OSVERSIONINFOEX.dwMinorVersion">
            <summary>
            The minor version number of the operating system. For more information, see Remarks.
            </summary>
        </member>
        <member name="F:ApplicationManagement.WINAPI.Kernel32.OSVERSIONINFOEX.dwBuildNumber">
            <summary>
            The build number of the operating system.
            </summary>
        </member>
        <member name="F:ApplicationManagement.WINAPI.Kernel32.OSVERSIONINFOEX.dwPlatformId">
            <summary>
            The operating system platform. This member can be VER_PLATFORM_WIN32_NT (2).
            </summary>
        </member>
        <member name="F:ApplicationManagement.WINAPI.Kernel32.OSVERSIONINFOEX.szCSDVersion">
            <summary>
            A null-terminated string, such as "Service Pack 3", 
            that indicates the latest Service Pack installed on the system. 
            If no Service Pack has been installed, the string is empty.
            </summary>
        </member>
        <member name="F:ApplicationManagement.WINAPI.Kernel32.OSVERSIONINFOEX.wServicePackMajor">
            <summary>
            The major version number of the latest Service Pack installed on the system. 
            For example, for Service Pack 3, the major version number is 3. 
            If no Service Pack has been installed, the value is zero.
            </summary>
        </member>
        <member name="F:ApplicationManagement.WINAPI.Kernel32.OSVERSIONINFOEX.wServicePackMinor">
            <summary>
            The minor version number of the latest Service Pack installed on the system. 
            For example, for Service Pack 3, the minor version number is 0.
            </summary>
        </member>
        <member name="F:ApplicationManagement.WINAPI.Kernel32.OSVERSIONINFOEX.wSuiteMask">
            <summary>
            A bit mask that identifies the product suites available on the system. 
            This member can be a combination of the following values. 
            
            Value - Meaning
            
            VER_SUITE_BACKOFFICE (0x00000004) - Microsoft BackOffice components are installed. 
            VER_SUITE_BLADE (0x00000400) - Windows Server 2003, Web Edition is installed. 
            VER_SUITE_COMPUTE_SERVER (0x00004000) - Windows Server 2003, Compute Cluster Edition is installed. 
            VER_SUITE_DATACENTER (0x00000080) - Windows Server 2008 Datacenter, Windows Server 2003, Datacenter Edition, or Windows 2000 Datacenter Server is installed.  
            VER_SUITE_ENTERPRISE (0x00000002) - Windows Server 2008 Enterprise, Windows Server 2003, Enterprise Edition, or Windows 2000 Advanced Server is installed. Refer to the Remarks section for more information about this bit flag. 
            VER_SUITE_EMBEDDEDNT (0x00000040) - Windows XP Embedded is installed. 
            VER_SUITE_PERSONAL (0x00000200) - Windows Vista Home Premium, Windows Vista Home Basic, or Windows XP Home Edition is installed. 
            VER_SUITE_SINGLEUSERTS (0x00000100) - Remote Desktop is supported, but only one interactive session is supported. This value is set unless the system is running in application server mode. 
            VER_SUITE_SMALLBUSINESS (0x00000001) - Microsoft Small Business Server was once installed on the system, but may have been upgraded to another version of Windows. Refer to the Remarks section for more information about this bit flag. 
            VER_SUITE_SMALLBUSINESS_RESTRICTED (0x00000020) - Microsoft Small Business Server is installed with the restrictive client license in force. Refer to the Remarks section for more information about this bit flag. 
            VER_SUITE_STORAGE_SERVER (0x00002000) - Windows Storage Server 2003 R2 or Windows Storage Server 2003is installed. 
            VER_SUITE_TERMINAL (0x00000010) - Terminal Services is installed. This value is always set. 
            If VER_SUITE_TERMINAL is set but VER_SUITE_SINGLEUSERTS is not set, the system is running in application server mode. 
            VER_SUITE_WH_SERVER (0x00008000) - Windows Home Server is installed.
            </summary>
        </member>
        <member name="F:ApplicationManagement.WINAPI.Kernel32.OSVERSIONINFOEX.wProductType">
            <summary>
            Any additional information about the system. This member can be one of the following values. 
            
            Value - Meaning
            
            VER_NT_DOMAIN_CONTROLLER (0x0000002) - The system is a domain controller and the operating system is Windows Server 2008, Windows Server 2003, or Windows 2000 Server. 
            VER_NT_SERVER (0x0000003) - The operating system is Windows Server 2008, Windows Server 2003, or Windows 2000 Server. 
            Note that a server that is also a domain controller is reported as VER_NT_DOMAIN_CONTROLLER, not VER_NT_SERVER. 
            VER_NT_WORKSTATION (0x0000001) - The operating system is Windows Vista, Windows XP Professional, Windows XP Home Edition, or Windows 2000 Professional.
            </summary>
        </member>
        <member name="F:ApplicationManagement.WINAPI.Kernel32.OSVERSIONINFOEX.wReserved">
            <summary>
            Reserved for future use.
            </summary>
        </member>
        <member name="T:ApplicationManagement.MemoryManagement">
            <summary>
            This class provide methods to automatic do the Memory Management, 
            free some resources and collect garbage
            </summary>
        </member>
        <member name="F:ApplicationManagement.MemoryManagement._ticks">
            <summary>
            Current app ticks
            </summary>
        </member>
        <member name="F:ApplicationManagement.MemoryManagement._hasStarted">
            <summary>
            Gets a value indicating if the Memory Management is stopped or running.
            </summary>
        </member>
        <member name="M:ApplicationManagement.MemoryManagement.#ctor(System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:ApplicationManagement.MemoryManagement"/> class. 
            Note: This class is only for Win32NT Operative Systems, static methods still can be used in both.
            </summary>
            <param name="start">If true initializes the class and starts the memory management, 
            otherwise only initializes the class</param>
            <remarks>If that class is used in a unsupported Operative System, nothing will happen.</remarks>
        </member>
        <member name="M:ApplicationManagement.MemoryManagement.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:ApplicationManagement.MemoryManagement"/> class. 
            Note: This class is only for Win32NT Operative Systems, static methods still can be used in both.
            </summary>
            <remarks>If that class is used in a unsupported Operative System, nothing will happen.</remarks>
        </member>
        <member name="M:ApplicationManagement.MemoryManagement.Start">
            <summary>
            Starts the automatic memory management.
            </summary>
            <returns>Returns true if function starts successful, otherwise false.</returns>
        </member>
        <member name="M:ApplicationManagement.MemoryManagement.Stop">
            <summary>
            Stops the automatic memory management.
            </summary>
            <returns>Returns true if function stops successful, otherwise false.</returns>
        </member>
        <member name="M:ApplicationManagement.MemoryManagement.Free">
            <summary>
            Free resources.
            </summary>
        </member>
        <member name="M:ApplicationManagement.MemoryManagement.CanUseClass">
            <summary>
            Gets if this class <see cref="T:ApplicationManagement.MemoryManagement"/> can be used. 
            </summary>
            <returns>Returns true if this class can be used under current Operative System, otherwise false.</returns>
        </member>
        <member name="M:ApplicationManagement.MemoryManagement.CollectGarbage">
            <summary>
            Collect Garbage and free memory.
            </summary>
        </member>
        <member name="M:ApplicationManagement.MemoryManagement.Application_Idle(System.Object,System.EventArgs)">
            <summary>
            When application is idle, this event is fired.
            </summary>
            <param name="sender">Sender object.</param>
            <param name="e">Event aruments.</param>
        </member>
        <member name="M:ApplicationManagement.MemoryManagement.Dispose">
            <summary>
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            </summary>
            <filterpriority>2</filterpriority>
        </member>
        <member name="P:ApplicationManagement.MemoryManagement.HasStarted">
            <summary>
            Gets a value indicating if the Memory Management is stopped or running.
            </summary>
        </member>
        <member name="T:ApplicationManagement.MiniDump">
            <summary>
            Static class <see cref="T:ApplicationManagement.MiniDump"/>
            </summary>
        </member>
        <member name="M:ApplicationManagement.MiniDump.MiniDumpToFile(System.String,ApplicationManagement.WINAPI.Dbghelp.MINIDUMP_TYPE)">
            <summary>
            Writes user-mode minidump information to the specified file.
            </summary>
            <param name="fileToDump">A string to the file in which the information is to be written.</param>
            <param name="dumpType">The type of information to be generated. 
            This parameter can be one or more of the values from the MINIDUMP_TYPE enumeration.</param>
            <returns>If the function succeeds, the return value is TRUE; otherwise, the return value is FALSE. 
            To retrieve extended error information, call GetLastError. Note that the last error will be an HRESULT value.
            
            If the operation is canceled, the last error code is HRESULT_FROM_WIN32(ERROR_CANCELLED).</returns>
            <remarks>The MiniDumpCallback function receives extended minidump information from MiniDumpWriteDump. 
            It also provides a way for the caller to determine the granularity of information written 
            to the minidump file, as the callback function can filter the default information.
            
            MiniDumpWriteDump may not produce a valid stack trace for the calling thread. 
            To work around this problem, you must capture the state of the calling thread before 
            calling MiniDumpWriteDump and use it as the ExceptionParam parameter. 
            One way to do this is to force an exception inside a __try/__except block and use the EXCEPTION_POINTERS 
            information provided by GetExceptionInformation. 
            Alternatively, you can call the function from a 
            new worker thread and filter this worker thread from the dump.</remarks>
        </member>
        <member name="M:ApplicationManagement.MiniDump.MiniDumpToFile(System.String)">
            <summary>
            Writes user-mode minidump information to the specified file.
            </summary>
            <param name="fileToDump">A string to the file in which the information is to be written.</param>
            <returns>If the function succeeds, the return value is TRUE; otherwise, the return value is FALSE. 
            To retrieve extended error information, call GetLastError. Note that the last error will be an HRESULT value.
            
            If the operation is canceled, the last error code is HRESULT_FROM_WIN32(ERROR_CANCELLED).</returns>
            <remarks>The MiniDumpCallback function receives extended minidump information from MiniDumpWriteDump. 
            It also provides a way for the caller to determine the granularity of information written 
            to the minidump file, as the callback function can filter the default information.
            
            MiniDumpWriteDump may not produce a valid stack trace for the calling thread. 
            To work around this problem, you must capture the state of the calling thread before 
            calling MiniDumpWriteDump and use it as the ExceptionParam parameter. 
            One way to do this is to force an exception inside a __try/__except block and use the EXCEPTION_POINTERS 
            information provided by GetExceptionInformation. 
            Alternatively, you can call the function from a 
            new worker thread and filter this worker thread from the dump.</remarks>
        </member>
        <member name="T:ApplicationManagement.About">
            <summary>
            Provide information about the library.
            </summary>
        </member>
        <member name="F:ApplicationManagement.About.ProjectAuthor">
            <summary>
            Library Author.
            </summary>
        </member>
        <member name="F:ApplicationManagement.About.ProjectDonations">
            <summary>
            Library Donations.
            </summary>
        </member>
        <member name="F:ApplicationManagement.About.ProjectSFDonations">
            <summary>
            Library Donations via SourceForge.
            </summary>
        </member>
        <member name="F:ApplicationManagement.About.ProjectMonoCompiled">
            <summary>
            Gets a value indicating if project has been compiled with MONO
            </summary>
        </member>
        <member name="F:ApplicationManagement.About.ProjectWebpage">
            <summary>
            Library HomePages.
            </summary>
        </member>
        <member name="T:ApplicationManagement.WINAPI.Dbghelp">
            <summary>
            Provide some Dbghelp.dll functions. 
            </summary>
        </member>
        <member name="M:ApplicationManagement.WINAPI.Dbghelp.MiniDumpWriteDump(System.IntPtr,System.Int32,System.IntPtr,ApplicationManagement.WINAPI.Dbghelp.MINIDUMP_TYPE,System.IntPtr,System.IntPtr,System.IntPtr)">
            <summary>
            Writes user-mode minidump information to the specified file.
            </summary>
            <param name="hProcess">A handle to the process for which the information is to be generated. 
            
            This handle must have PROCESS_QUERY_INFORMATION and PROCESS_VM_READ access to the process. 
            For more information, see Process Security and Access Rights. 
            The caller must also be able to get THREAD_ALL_ACCESS access to the threads in the process. 
            For more information, see Thread Security and Access Rights.</param>
            <param name="ProcessId">The identifier of the process for which the information is to be generated.</param>
            <param name="hFile">A handle to the file in which the information is to be written.</param>
            <param name="DumpType">The type of information to be generated. This parameter can be one or more of the values from the MINIDUMP_TYPE enumeration.</param>
            <param name="ExceptionParam">A pointer to a MINIDUMP_EXCEPTION_INFORMATION structure 
            describing the client exception that caused the minidump to be generated. 
            If the value of this parameter is NULL, no exception information is included in the minidump file.</param>
            <param name="UserStreamParam">A pointer to a MINIDUMP_USER_STREAM_INFORMATION structure. 
            If the value of this parameter is NULL, no user-defined information is included in the minidump file.</param>
            <param name="CallackParam">A pointer to a MINIDUMP_CALLBACK_INFORMATION structure that specifies a callback routine 
            which is to receive extended minidump information. 
            If the value of this parameter is NULL, no callbacks are performed.</param>
            <returns>If the function succeeds, the return value is TRUE; otherwise, the return value is FALSE. 
            To retrieve extended error information, call GetLastError. Note that the last error will be an HRESULT value.
            
            If the operation is canceled, the last error code is HRESULT_FROM_WIN32(ERROR_CANCELLED).</returns>
            <remarks>The MiniDumpCallback function receives extended minidump information from MiniDumpWriteDump. 
            It also provides a way for the caller to determine the granularity of information written 
            to the minidump file, as the callback function can filter the default information.
            
            MiniDumpWriteDump may not produce a valid stack trace for the calling thread. 
            To work around this problem, you must capture the state of the calling thread before 
            calling MiniDumpWriteDump and use it as the ExceptionParam parameter. 
            One way to do this is to force an exception inside a __try/__except block and use the EXCEPTION_POINTERS 
            information provided by GetExceptionInformation. 
            Alternatively, you can call the function from a 
            new worker thread and filter this worker thread from the dump.</remarks>
        </member>
        <member name="T:ApplicationManagement.WINAPI.Dbghelp.MINIDUMP_TYPE">
            <summary>
            Identifies the type of information that will be written to the minidump file by the MiniDumpWriteDump function.
            </summary>
        </member>
        <member name="F:ApplicationManagement.WINAPI.Dbghelp.MINIDUMP_TYPE.MiniDumpNormal">
            <summary>
            Include just the information necessary to capture stack traces for all existing threads in a process.
            </summary>
        </member>
        <member name="F:ApplicationManagement.WINAPI.Dbghelp.MINIDUMP_TYPE.MiniDumpWithDataSegs">
            <summary>
            Include the data sections from all loaded modules. 
            This results in the inclusion of global variables, which can make the minidump file significantly larger. 
            For per-module control, use the ModuleWriteDataSeg enumeration value from MODULE_WRITE_FLAGS.
            </summary>
        </member>
        <member name="F:ApplicationManagement.WINAPI.Dbghelp.MINIDUMP_TYPE.MiniDumpWithFullMemory">
            <summary>
            Include all accessible memory in the process. 
            The raw memory data is included at the end, so that the initial structures can be 
            mapped directly without the raw memory information. This option can result in a very large file.
            </summary>
        </member>
        <member name="F:ApplicationManagement.WINAPI.Dbghelp.MINIDUMP_TYPE.MiniDumpWithHandleData">
            <summary>
            Include high-level information about the operating system handles that are active when the minidump is made.
            </summary>
        </member>
        <member name="F:ApplicationManagement.WINAPI.Dbghelp.MINIDUMP_TYPE.MiniDumpFilterMemory">
            <summary>
            Stack and backing store memory written to the minidump file should be filtered to remove all 
            but the pointer values necessary to reconstruct a stack trace. Typically, this removes any private information.
            </summary>
        </member>
        <member name="F:ApplicationManagement.WINAPI.Dbghelp.MINIDUMP_TYPE.MiniDumpScanMemory">
            <summary>
            Stack and backing store memory should be scanned for pointer references to modules in the module list. 
            If a module is referenced by stack or backing store memory, 
            the ModuleWriteFlags member of the MINIDUMP_CALLBACK_OUTPUT structure is set to ModuleReferencedByMemory.
            </summary>
        </member>
        <member name="F:ApplicationManagement.WINAPI.Dbghelp.MINIDUMP_TYPE.MiniDumpWithUnloadedModules">
            <summary>
            Include information from the list of modules that were recently unloaded, 
            if this information is maintained by the operating system.
            
            Windows Server 2003 and Windows XP:  
            The operating system does not maintain information for unloaded modules until 
            Windows Server 2003 with SP1 and Windows XP with SP2.
            DbgHelp 5.1:  This value is not supported.
            </summary>
        </member>
        <member name="F:ApplicationManagement.WINAPI.Dbghelp.MINIDUMP_TYPE.MiniDumpWithIndirectlyReferencedMemory">
            <summary>
            Include pages with data referenced by locals or other stack memory. 
            This option can increase the size of the minidump file significantly.
            
            DbgHelp 5.1:  This value is not supported.
            </summary>
        </member>
        <member name="F:ApplicationManagement.WINAPI.Dbghelp.MINIDUMP_TYPE.MiniDumpFilterModulePaths">
            <summary>
            Filter module paths for information such as user names or important directories. This option may prevent the system from locating the image file and should be used only in special situations.
            
            DbgHelp 5.1:  This value is not supported.
            </summary>
        </member>
        <member name="F:ApplicationManagement.WINAPI.Dbghelp.MINIDUMP_TYPE.MiniDumpWithProcessThreadData">
            <summary>
            Include complete per-process and per-thread information from the operating system. 
            
            DbgHelp 5.1:  This value is not supported.
            </summary>
        </member>
        <member name="F:ApplicationManagement.WINAPI.Dbghelp.MINIDUMP_TYPE.MiniDumpWithPrivateReadWriteMemory">
            <summary>
            Scan the virtual address space for PAGE_READWRITE memory to be included. 
            
            DbgHelp 5.1:  This value is not supported.
            </summary>
        </member>
        <member name="F:ApplicationManagement.WINAPI.Dbghelp.MINIDUMP_TYPE.MiniDumpWithoutOptionalData">
            <summary>
            Reduce the data that is dumped by eliminating memory regions that are not essential 
            to meet criteria specified for the dump. This can avoid dumping memory that may contain 
            data that is private to the user. However, it is not a guarantee that no private information will be present. 
            
            DbgHelp 6.1 and earlier:  This value is not supported.
            </summary>
        </member>
        <member name="F:ApplicationManagement.WINAPI.Dbghelp.MINIDUMP_TYPE.MiniDumpWithFullMemoryInfo">
            <summary>
            Include memory region information. For more information, see MINIDUMP_MEMORY_INFO_LIST. 
            
            DbgHelp 6.1 and earlier:  This value is not supported.
            </summary>
        </member>
        <member name="F:ApplicationManagement.WINAPI.Dbghelp.MINIDUMP_TYPE.MiniDumpWithThreadInfo">
            <summary>
            Include thread state information. For more information, see MINIDUMP_THREAD_INFO_LIST. 
            
            DbgHelp 6.1 and earlier:  This value is not supported.
            </summary>
        </member>
        <member name="F:ApplicationManagement.WINAPI.Dbghelp.MINIDUMP_TYPE.MiniDumpWithCodeSegs">
            <summary>
            Include all code and code-related sections from loaded modules to capture executable content. 
            For per-module control, use the ModuleWriteCodeSegs enumeration value from MODULE_WRITE_FLAGS. 
            
            DbgHelp 6.1 and earlier:  This value is not supported.
            </summary>
        </member>
        <member name="F:ApplicationManagement.WINAPI.Dbghelp.MINIDUMP_TYPE.MiniDumpWithoutAuxiliaryState">
            <summary>
            Turns off secondary auxiliary-supported memory gathering.
            </summary>
        </member>
        <member name="F:ApplicationManagement.WINAPI.Dbghelp.MINIDUMP_TYPE.MiniDumpWithFullAuxiliaryState">
            <summary>
            Requests that auxiliary data providers include their state in the dump image; 
            the state data that is included is provider dependent. This option can result in a large dump image.
            </summary>
        </member>
        <member name="F:ApplicationManagement.WINAPI.Dbghelp.MINIDUMP_TYPE.MiniDumpWithPrivateWriteCopyMemory">
            <summary>
            Scans the virtual address space for PAGE_WRITECOPY memory to be included. 
            
            Prior to DbgHelp 6.1:  This value is not supported.
            </summary>
        </member>
        <member name="F:ApplicationManagement.WINAPI.Dbghelp.MINIDUMP_TYPE.MiniDumpIgnoreInaccessibleMemory">
            <summary>
            If you specify MiniDumpWithFullMemory, the MiniDumpWriteDump function will fail if the function cannot read 
            the memory regions; however, if you include MiniDumpIgnoreInaccessibleMemory, 
            the MiniDumpWriteDump function will ignore the memory read failures and continue to generate the dump. 
            Note that the inaccessible memory regions are not included in the dump.
            
            Prior to DbgHelp 6.1:  This value is not supported.
            </summary>
        </member>
        <member name="F:ApplicationManagement.WINAPI.Dbghelp.MINIDUMP_TYPE.MiniDumpWithTokenInformation">
            <summary>
            Adds security token related data. This will make the "!token" extension work when processing a user-mode dump. 
            
            Prior to DbgHelp 6.1:  This value is not supported.
            </summary>
        </member>
        <member name="T:ApplicationManagement.SystemInformationEx">
            <summary>
            Retrieve additional information from system.
            </summary>
        </member>
        <member name="M:ApplicationManagement.SystemInformationEx.Is32Bits">
            <summary>
            Check is the current system is running on 32Bits.
            </summary>
            <returns>Returns true if is 32bits, otherwise false.</returns>
        </member>
        <member name="M:ApplicationManagement.SystemInformationEx.Is64Bits">
            <summary>
            Check is the current system is running on 64Bits.
            </summary>
            <returns>Returns true if is 64bits, otherwise false.</returns>
        </member>
        <member name="M:ApplicationManagement.SystemInformationEx.GetSystemBits">
            <summary>
            Gets the operating system bits.
            </summary>
            <returns>Returns 32 or 64 integer.</returns>
        </member>
        <member name="M:ApplicationManagement.SystemInformationEx.GetSystemBitsName">
            <summary>
            Gets a string with the operating system bits.
            </summary>
            <returns>Returns a string x86 if is 32bits, otherwise return x64.</returns>
            <remarks>x86 = 32bits and x64 = 64bits</remarks>
        </member>
        <member name="M:ApplicationManagement.SystemInformationEx.GetServicePackValue">
            <summary>
            Retrieve the current service pack installed. WinNT Only!
            </summary>
            <returns></returns>
        </member>
        <member name="M:ApplicationManagement.SystemInformationEx.GetOSName(System.Boolean,System.Boolean)">
            <summary>
            Get the current operative system name.
            </summary>
            <param name="includeServicePack">If true, append ServicePack name to operating system name.</param>
            <param name="includeBits">If true, append system bits name to operating system name.</param>
            <returns>Returns a string containing the current operative system name.</returns>
            <remarks>Windows Vista ServicePack 1 x64</remarks>
        </member>
        <member name="M:ApplicationManagement.SystemInformationEx.GetProcessorCount">
            <summary>
            Gets the total processores on the system.
            </summary>
            <returns>Returns the number of processors.</returns>
        </member>
        <member name="M:ApplicationManagement.SystemInformationEx.GetSystemInfo(System.String,System.String)">
            <summary>
            
            </summary>
            <param name="strTable"></param>
            <param name="strProperties"></param>
            <returns></returns>
            <example>GetSystemInfo("Win32_Processor", "Caption,Manufacturer");</example>
        </member>
        <member name="T:ApplicationManagement.Instance">
            <summary>
            Control your application instance with the possibility of make your application single instance.
            </summary>
        </member>
        <member name="F:ApplicationManagement.Instance._instanceName">
            <summary>
            A string that contain a unique instance name, that must be unique. 
            When some application finds a Mutex with same unique name will returns false. (Kill Application)
            </summary>
        </member>
        <member name="F:ApplicationManagement.Instance._mutex">
            <summary>
            Mutex that holds the instance name, 
            it can be null if function 'MakeSingleInstance' never got called.
            </summary>
        </member>
        <member name="M:ApplicationManagement.Instance.#ctor(System.String)">
            <summary>
            Initializes a new class <see cref="T:ApplicationManagement.Instance"/>
            </summary>
            <param name="instanceName">A string that contain a unique instance name, that must be unique. 
            When some application finds a Mutex with same unique name will returns false. (Kill Application)
            </param>
            <exception cref="T:System.ArgumentNullException"></exception>
        </member>
        <member name="M:ApplicationManagement.Instance.MakeSingleInstance(System.Boolean,System.Boolean)">
            <summary>
            Make your application single instance only, that means user only can open one process of your application. 
            You must kill your application if this returns false.
            
            NOTE: Call only one time, or you will get an ApplicationException
            </summary>
            <param name="global">Sets true if you need to limit your application to one instance across all sessions.</param>
            <param name="checkProcess">If true, it will check for a process with same name of the current process. 
            NOTE: That check is only performed if Mutex dont found a instance with same name.</param>
            <returns>Returns true if there are no other instances opened, otherwise false.</returns>
            <remarks>Use that function before run any form or any code that shouldn't be processed with more than 1 instance.</remarks>
            <exception cref="T:System.ApplicationException"></exception>
        </member>
        <member name="M:ApplicationManagement.Instance.MakeSingleInstance">
            <summary>
            Make your application single instance only, that means user only can open one process of your application. 
            You must kill your application if this returns false.
            
            NOTE: Call only one time, or you will get an ApplicationException
            </summary>
            <returns>Returns true if there are no other instances opened, otherwise false.</returns>
            <remarks>Use that function before run any form or any code that shouldn't be processed with more than 1 instance. 
            NOTE: That function make instance global and will not check for process equality.</remarks>
            <exception cref="T:System.ApplicationException"></exception>
        </member>
        <member name="M:ApplicationManagement.Instance.PriorProcess">
            <summary>
            Returns a <see cref="T:System.Diagnostics.Process"/> pointing to
            a pre-existing process with the same name as the
            current one, if any; or null if the current process
            is unique.
            </summary>
            <returns>Returns a <see cref="T:System.Diagnostics.Process"/> pointing to
            a pre-existing process with the same name as the
            current one, if any; or null if the current process
            is unique.</returns>
        </member>
        <member name="M:ApplicationManagement.Instance.ShowDuplicateInstanceDialogError">
            <summary>
            Show a MessageBox saying "The application is already running." 
            Title: Application.ProductName 
            Buttons: Ok 
            Icon: Exclamation
            </summary>
            <returns>Returns a <see cref="T:System.Windows.Forms.DialogResult"/> with the button the user preset.</returns>
        </member>
        <member name="M:ApplicationManagement.Instance.ToString">
            <summary>
            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:System.Object"/>.
            </summary>
            <returns>
            A <see cref="T:System.String"/> that represents the current <see cref="T:System.Object"/>.
            </returns>
            <filterpriority>2</filterpriority>
        </member>
        <member name="M:ApplicationManagement.Instance.Dispose">
            <summary>
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. 
            </summary>
            <filterpriority>2</filterpriority>
        </member>
        <member name="P:ApplicationManagement.Instance.InstanceName">
            <summary>
            A string that contain a unique instance name, that must be unique. 
            When some application finds a Mutex with same unique name will returns false. (Kill Application)
            </summary>
        </member>
        <member name="P:ApplicationManagement.Instance.Mutex">
            <summary>
            Mutex that holds the instance name, 
            it can be null if function 'MakeSingleInstance' never got called.
            </summary>
        </member>
        <member name="T:ApplicationManagement.Profiling">
            <summary>
            Initializes a new instance of the <see cref="T:ApplicationManagement.Profiling"/> class. 
            </summary>
        </member>
        <member name="F:ApplicationManagement.Profiling._profiles">
            <summary>
            Store a <see cref="T:System.Collections.Generic.Dictionary`2"/> collection of profiling functions, <see cref="T:ApplicationManagement.Profiling.ProfilingData"/>
            </summary>
        </member>
        <member name="M:ApplicationManagement.Profiling.#ctor">
            <summary>
            Initializes the class <see cref="T:ApplicationManagement.Profiling"/>
            </summary>
        </member>
        <member name="M:ApplicationManagement.Profiling.#ctor(System.String,System.Boolean)">
            <summary>
            Initializes the class, and create a profiling.
            <param name="name">A string that contains a unique name.</param>
            <param name="start">If true create and starts the profiling if possible, otherwise create only.</param>
            </summary>
        </member>
        <member name="M:ApplicationManagement.Profiling.Create(System.String,System.Boolean)">
            <summary>
            Creates a new profiling function.
            </summary>
            <param name="name">A string that contains a unique name.</param>
            <param name="start">If true create and starts the profiling if possible, otherwise create only.</param>
            <returns>Returns a <see cref="T:ApplicationManagement.Profiling.ProfilingData"/> Class for handle a profiling directly, 
            returns null if <paramref name="name"/> already exist.</returns>
        </member>
        <member name="M:ApplicationManagement.Profiling.Create(System.String)">
            <summary>
            Creates a new profiling function.
            </summary>
            <param name="name">A string that contains a unique name.</param>
            <returns>Returns a <see cref="T:ApplicationManagement.Profiling.ProfilingData"/> Class for handle a profiling directly, 
            returns null if <paramref name="name"/> already exist.</returns>
        </member>
        <member name="M:ApplicationManagement.Profiling.Remove(System.String)">
            <summary>
            Remove a profiling function.
            </summary>
            <param name="name">A string that contains a unique name.</param>
            <returns>Returns true if the profiling name got removed successful, otherwise false.</returns>
            <remarks>Stop(); before Remove(); is unless.</remarks>
        </member>
        <member name="M:ApplicationManagement.Profiling.Start(System.String)">
            <summary>
            Starts a profiling function.
            </summary>
            <param name="name">A string that contains a unique name.</param>
            <returns>Returns true if the profiling starts successful, otherwise false.</returns>
        </member>
        <member name="M:ApplicationManagement.Profiling.Stop(System.String)">
            <summary>
            Stop a profiling function.
            </summary>
            <param name="name">A string that contains a unique name.</param>
            <returns>Returns true if the profiling stops successful, otherwise false.</returns>
        </member>
        <member name="M:ApplicationManagement.Profiling.Reset(System.String)">
            <summary>
            Resets a profiling function.
            </summary>
            <param name="name">A string that contains a unique name.</param>
            <returns>Returns true if the profiling resets successful, otherwise false.</returns>
        </member>
        <member name="M:ApplicationManagement.Profiling.Get(System.String)">
            <summary>
            Retrieve a <see cref="T:ApplicationManagement.Profiling.ProfilingData"/> from collection, for handle a profiling directly.
            </summary>
            <param name="name">A string that contains a unique name.</param>
            <returns>Returns a <see cref="T:ApplicationManagement.Profiling.ProfilingData"/> class, if <paramref name="name"/> not exists returns null.</returns>
        </member>
        <member name="M:ApplicationManagement.Profiling.Exists(System.String)">
            <summary>
            Check for a profiling existence.
            </summary>
            <param name="name">A string that contains a unique name.</param>
            <returns>Returns true if the profiling name exists, otherwise false.</returns>
        </member>
        <member name="M:ApplicationManagement.Profiling.Dispose">
            <summary>
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            </summary>
            <filterpriority>2</filterpriority>
        </member>
        <member name="T:ApplicationManagement.Profiling.ProfilingData">
            <summary>
            Initializes a new instance of the <see cref="T:ApplicationManagement.Profiling.ProfilingData"/> class. 
            </summary>
        </member>
        <member name="F:ApplicationManagement.Profiling.ProfilingData._startDate">
            <summary>
            Gets a <see cref="T:System.DateTime"/> Object containing the Date and Time when the profiling was started. 
            Note: If the value is equal to 'DateTine.MinValue' means the profiling never got started.
            </summary>
        </member>
        <member name="F:ApplicationManagement.Profiling.ProfilingData._endDate">
            <summary>
            Gets a <see cref="T:System.DateTime"/> Object containing the Date and Time when the profiling was ended. 
            Note: If the value is equal to 'DateTine.MinValue' means the profiling not end.
            </summary>
        </member>
        <member name="F:ApplicationManagement.Profiling.ProfilingData._timeTaken">
            <summary>
            Gets a <see cref="T:System.TimeSpan"/> Object containing the total time taken of profiling function. 
            Note: If the value is equal to 'TimeSpan.Zero' means the profiling is not concluded.
            </summary>
        </member>
        <member name="M:ApplicationManagement.Profiling.ProfilingData.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:ApplicationManagement.Profiling.ProfilingData"/> class.
            </summary>
        </member>
        <member name="M:ApplicationManagement.Profiling.ProfilingData.Start">
            <summary>
            Starts profiling.
            </summary>
            <returns>Returns true if Starts normaly, otherwise false.</returns>
        </member>
        <member name="M:ApplicationManagement.Profiling.ProfilingData.Stop">
            <summary>
            Stops profiling.
            </summary>
            <returns>Returns true if Stops normaly, otherwise false.</returns>
        </member>
        <member name="M:ApplicationManagement.Profiling.ProfilingData.Reset">
            <summary>
            Stop any current profiling and reset class to reuse. 
            </summary>
        </member>
        <member name="P:ApplicationManagement.Profiling.ProfilingData.StartDate">
            <summary>
            Gets a <see cref="T:System.DateTime"/> Object containing the Date and Time when the profiling was started. 
            Note: If the value is equal to 'DateTine.MinValue' means the profiling never got started.
            </summary>
        </member>
        <member name="P:ApplicationManagement.Profiling.ProfilingData.EndDate">
            <summary>
            Gets a <see cref="T:System.DateTime"/> Object containing the Date and Time when the profiling was ended. 
            Note: If the value is equal to 'DateTine.MinValue' means the profiling not end.
            </summary>
        </member>
        <member name="P:ApplicationManagement.Profiling.ProfilingData.TimeTaken">
            <summary>
            Gets a <see cref="T:System.TimeSpan"/> Object containing the total time taken of profiling function. 
            Note: If the value is equal to 'TimeSpan.Zero' means the profiling is not concluded.
            </summary>
        </member>
        <member name="P:ApplicationManagement.Profiling.ProfilingData.IsConcluded">
            <summary>
            Gets a value indicating if the profiling function had been concluded, this.Stop();
            </summary>
        </member>
        <member name="T:ApplicationManagement.ExceptionHandler">
            <summary>
            Cath, handle and log unhandled exceptions.
            </summary>
        </member>
        <member name="F:ApplicationManagement.ExceptionHandler._appName">
            <summary>
            Gets or Sets the application name to show on logs and events.
            </summary>
        </member>
        <member name="F:ApplicationManagement.ExceptionHandler._logPath">
            <summary>
            Gets or Sets the full path to store log files.
            </summary>
        </member>
        <member name="F:ApplicationManagement.ExceptionHandler._dumpPath">
            <summary>
            Gets or Sets the full path to store dump files.
            </summary>
        </member>
        <member name="F:ApplicationManagement.ExceptionHandler._useLog">
            <summary>
            Gets or Sets if application can generate a log file for exception.
            </summary>
        </member>
        <member name="F:ApplicationManagement.ExceptionHandler._useDump">
            <summary>
            Gets or Sets if application can generate a dump file for exception.
            </summary>
        </member>
        <member name="F:ApplicationManagement.ExceptionHandler._prefixText">
            <summary>
            Sets the prefix text on log files.
            </summary>
        </member>
        <member name="F:ApplicationManagement.ExceptionHandler._suffixText">
            <summary>
            Sets the suffix text on log files.
            </summary>
        </member>
        <member name="F:ApplicationManagement.ExceptionHandler._isHandlingExceptions">
            <summary>
            Gets if application is automatic handling exceptions. 
            Note: Use StartHandlingExceptions(); or StopHandlingExceptions();
            </summary>
        </member>
        <member name="M:ApplicationManagement.ExceptionHandler.#ctor(System.String,System.String,System.String,System.Boolean,System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:ApplicationManagement.ExceptionHandler"/> class. 
            </summary>
            <param name="appName">Application name to show on logs, titles, etc.</param>
            <param name="logPath">The path for store TXT logs, null to use the default path.</param>
            <param name="dumpPath">The path for store dump files, null to use the default path.</param>
            <param name="useLog">If true will log all errors to a simple text file.</param>
            <param name="useDump">If true will dump all errors to a file, to be debug latter.</param>
            <exception cref="T:System.ArgumentNullException"></exception>
        </member>
        <member name="M:ApplicationManagement.ExceptionHandler.#ctor(System.String,System.String,System.Boolean,System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:ApplicationManagement.ExceptionHandler"/> class. 
            Note: Application.ProductName will be used as AppName.
            </summary>
            <param name="logPath">The path for store TXT logs, null to use the default path.</param>
            <param name="dumpPath">The path for store dump files, null to use the default path.</param>
            <param name="useLog">If true will log all errors to a simple text file.</param>
            <param name="useDump">If true will dump all errors to a file, to be debug latter.</param>
            <exception cref="T:System.ArgumentNullException"></exception>
        </member>
        <member name="M:ApplicationManagement.ExceptionHandler.#ctor(System.String,System.Boolean,System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:ApplicationManagement.ExceptionHandler"/> class. 
            </summary>
            <param name="path">The path for store both txt and dump files.</param>
            <param name="useLog">If true will log all errors to a simple text file.</param>
            <param name="useDump">If true will dump all errors to a file, to be debug latter.</param>
            <exception cref="T:System.ArgumentNullException"></exception>
        </member>
        <member name="M:ApplicationManagement.ExceptionHandler.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:ApplicationManagement.ExceptionHandler"/> class.
            Note: This Constructor will use Application.ProductName, active both log methods.
            </summary>
            <param name="path">The path for store both txt and dump files.</param>
            <exception cref="T:System.ArgumentNullException"></exception>
        </member>
        <member name="M:ApplicationManagement.ExceptionHandler.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:ApplicationManagement.ExceptionHandler"/> class. 
            Note: This Constructor will use Application.ProductName, DefaultPath and active both log methods.
            </summary>
            <exception cref="T:System.ArgumentNullException"></exception>
        </member>
        <member name="M:ApplicationManagement.ExceptionHandler.StartHandlingExceptions">
            <summary>
            Start handling automatic the exceptions. 
            </summary>
        </member>
        <member name="M:ApplicationManagement.ExceptionHandler.StopHandlingExceptions">
            <summary>
            Stop handling automatic the exceptions. 
            </summary>
        </member>
        <member name="M:ApplicationManagement.ExceptionHandler.ClearAllLogs">
            <summary>
            Clear all logs including folders.
            </summary>
        </member>
        <member name="M:ApplicationManagement.ExceptionHandler.WriteCrashToFile(System.Exception)">
            <summary>
            Writes a crash to file, including dump creation.
            </summary>
            <param name="ex">Exception value.</param>
        </member>
        <member name="M:ApplicationManagement.ExceptionHandler.ShowExceptionDialog(System.String,System.Exception)">
            <summary>
            Show a dialog with the exception information.
            </summary>
            <param name="title">Dialog title.</param>
            <param name="e">Exception to debug.</param>
            <returns>Returns the <see cref="T:System.Windows.Forms.DialogResult"/></returns>
        </member>
        <member name="M:ApplicationManagement.ExceptionHandler.UnhandledException(System.Object,System.UnhandledExceptionEventArgs)">
            <summary>
            Handle Unhandled Exceptions. 
            For manualy use only! 
            Must be called from inside 'System.AppDomain.UnhandledException' Event}
            </summary>
            <param name="sender">Event sender.</param>
            <param name="e">Event Arguments <see cref="T:System.UnhandledExceptionEventArgs"/></param>
        </member>
        <member name="M:ApplicationManagement.ExceptionHandler.DebugException(System.String,System.Exception,System.IO.TextWriter)">
            <summary>
            Complete debug exception to a file.
            </summary>
            <param name="filename">Output file to save the information.</param>
            <param name="ex">Exception to debug.</param>
            <param name="tw"><see cref="T:System.IO.TextWriter"/> Instance to write inner exception.</param>
        </member>
        <member name="M:ApplicationManagement.ExceptionHandler.DebugException(System.String,System.Exception,System.Boolean)">
            <summary>
            Complete debug exception to a file.
            </summary>
            <param name="filename">Output file to save the information.</param>
            <param name="ex">Exception to debug.</param>
            <param name="isBaseException">Use true if <paramref name="ex"/> is a base exception.</param>
        </member>
        <member name="M:ApplicationManagement.ExceptionHandler.ThreadException(System.Object,System.Threading.ThreadExceptionEventArgs)">
            <summary>
            Handle Thread Exceptions. 
            For manualy use only! 
            Must be called from inside 'System.Windows.Forms.Application.ThreadException' Event}
            </summary>
            <param name="sender">Event sender.</param>
            <param name="e">Event Arguments <see cref="T:System.Threading.ThreadExceptionEventArgs"/></param>
        </member>
        <member name="P:ApplicationManagement.ExceptionHandler.DefaultPath">
            <summary>
            Gets the default path (Recommended) to Log and Dump path. 
            
            Application.StartupPath + "\Logs\AppErrors"
            </summary>
        </member>
        <member name="P:ApplicationManagement.ExceptionHandler.AppName">
            <summary>
            /// <summary>
            Gets or Sets the application name to show on logs and events.
            </summary>
            </summary>
        </member>
        <member name="P:ApplicationManagement.ExceptionHandler.LogPath">
            <summary>
            Gets or Sets the full path to store log files.
            </summary>
        </member>
        <member name="P:ApplicationManagement.ExceptionHandler.DumpPath">
            <summary>
            Gets or Sets the full path to store dump files.
            </summary>
        </member>
        <member name="P:ApplicationManagement.ExceptionHandler.UseLog">
            <summary>
            Gets or Sets if application can generate a log file for exception.
            </summary>
        </member>
        <member name="P:ApplicationManagement.ExceptionHandler.UseDump">
            <summary>
            Gets or Sets if application can generate a dump file for exception.
            </summary>
        </member>
        <member name="P:ApplicationManagement.ExceptionHandler.PrefixText">
            <summary>
            Sets or Gets the prefix text on log files.
            </summary>
        </member>
        <member name="P:ApplicationManagement.ExceptionHandler.SuffixText">
            <summary>
            Sets or Gets the suffix text on log files.
            </summary>
        </member>
        <member name="P:ApplicationManagement.ExceptionHandler.IsHandlingExceptions">
            <summary>
            Gets if application is automatic handling exceptions. 
            Note: Use StartHandlingExceptions(); or StopHandlingExceptions();
            </summary>
        </member>
        <member name="T:ApplicationManagement.VistaSecurity">
            <summary>
            Functions relative to Windows Vista and/or above.
            </summary>
        </member>
        <member name="M:ApplicationManagement.VistaSecurity.IsAdmin">
            <summary>
            Check if current user is an administrator.
            </summary>
            <returns>Returns true if user is an administrator, otherwise false.</returns>
        </member>
        <member name="M:ApplicationManagement.VistaSecurity.RestartElevated(System.String)">
            <summary>
            Restart application with elevated permitions.
            </summary>
            <param name="app">Path to application executable, use: Application.ExecutablePath</param>
            <returns>Returns true if all went fine, otherwise false.</returns>
            <remarks>You need kill your application if this returns true, be call: Application.Exit();</remarks>
            <example>
            if(!VistaSecurity.IsAdmin())
            {
                if(VistaSecurity.RestartElevated(Application.ExecutablePath))
                    Application.Exit();
            }
            </example>
        </member>
    </members>
</doc>

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Microsoft Public License (Ms-PL)


Written By
Portugal Portugal
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions