// hwinenvironment.h
#pragma once
#ifndef __HWINENVIRONMENT_H__
#define __HWINENVIRONMENT_H__
#include "hwindef.h"
#include "hwinobject.h"
#include "hwindatetime.h"
namespace harlinn
{
namespace windows
{
enum class KnownFolderFlags : uint
{
Default = 0x00000000,
NoAppContainerRedirection = 0x00010000,
Create = 0x00008000,
DontVerify = 0x00004000,
DontUnexpand = 0x00002000,
NoAlias = 0x00001000,
Init = 0x00000800,
DefaultPath = 0x00000400,
NotParentRelative = 0x00000200,
SimpleIDList = 0x00000100,
AliasOnly = 0x80000000
};
HWIN_DEFINE_ENUM_FLAG_OPERATORS( KnownFolderFlags, uint )
enum class AccessTimeoutFlags : DWord
{
None = 0x0000,
TimeOutOn = 0x0001,
FeedbackOn = 0x0002
};
HWIN_DEFINE_ENUM_FLAG_OPERATORS( AccessTimeoutFlags, DWord )
struct AccessTimeOut
{
AccessTimeoutFlags Flags;
TimeSpan TimeOut;
};
enum class FilterKeysFlags : DWord
{
FilterKeysOn = 0x00000001,
Available = 0x00000002,
HotKeyActive = 0x00000004,
ConfirmHotKey = 0x00000008,
HotKeySound = 0x00000010,
Indicator = 0x00000020,
ClickOn = 0x00000040
};
HWIN_DEFINE_ENUM_FLAG_OPERATORS( FilterKeysFlags, DWord )
struct FilterKeys
{
FilterKeysFlags Flags;
TimeSpan Wait;
TimeSpan Delay;
TimeSpan Repeat;
TimeSpan Bounce;
};
enum class HighContrastFlags : DWord
{
HighContrastOn = 0x00000001,
Available = 0x00000002,
HotKeyActive = 0x00000004,
ConfirmHotKey = 0x00000008,
HotKeySound = 0x00000010,
Indicator = 0x00000020,
HotKeyAvailable = 0x00000040,
LogonDesktop = 0x00000100,
DefaultDesktop = 0x00000200
};
HWIN_DEFINE_ENUM_FLAG_OPERATORS( HighContrastFlags, DWord )
struct HighContrast
{
HighContrastFlags Flags;
WideString DefaultScheme;
};
enum class MouseKeysFlags : DWord
{
MouseKeysOn = 0x00000001,
Available = 0x00000002,
HotKeyActive = 0x00000004,
ConfirmHotKey = 0x00000008,
HotKeySound = 0x00000010,
Indicator = 0x00000020,
Modifiers = 0x00000040,
ReplaceNumbers = 0x00000080,
LeftButtonSel = 0x10000000,
RightButtonSel = 0x20000000,
LeftButtonDown = 0x01000000,
RightButtonDown = 0x02000000,
MOUSEMODE = 0x80000000
};
HWIN_DEFINE_ENUM_FLAG_OPERATORS( MouseKeysFlags, DWord )
struct MouseKeys
{
MouseKeysFlags Flags;
DWORD MaxSpeed;
TimeSpan TimeToMaxSpeed;
DWORD CtrlSpeed;
};
enum class FontSmoothingOrientation : UInt
{
BGR = 0x0000,
RGB = 0x0001
};
class Environment
{
HWIN_EXPORT Environment( );
public:
HWIN_EXPORT static WideString GetResourceString( const wchar_t* key, ... );
HWIN_EXPORT static std::string GetResourceString( const char* key, ... );
HWIN_EXPORT static WideString GetResourceString( const WideString& key, ... );
HWIN_EXPORT static WideString NewLine( );
HWIN_EXPORT static WideString Expand( const WideString& s );
class SystemParameters
{
HWIN_EXPORT SystemParameters( );
public:
// Desktop
HWIN_EXPORT static bool ClearType( );
HWIN_EXPORT static void SetClearType( bool theValue, bool sendChange = true, bool updateProfile = true );
HWIN_EXPORT static WideString DesktopWallpaper( );
HWIN_EXPORT static void SetDesktopWallpaper( const WideString& theValue, bool sendChange = true, bool updateProfile = true );
HWIN_EXPORT static bool DropShadow( );
HWIN_EXPORT static void SetDropShadow( bool theValue, bool sendChange = true, bool updateProfile = true );
HWIN_EXPORT static bool FlatMenu( );
HWIN_EXPORT static void SetFlatMenu( bool theValue, bool sendChange = true, bool updateProfile = true );
HWIN_EXPORT static bool FontSmoothing( );
HWIN_EXPORT static void SetFontSmoothing( bool theValue, bool sendChange = true, bool updateProfile = true );
HWIN_EXPORT static UINT FontSmoothingContrast( );
HWIN_EXPORT static void SetFontSmoothingContrast( UINT theValue, bool sendChange = true, bool updateProfile = true );
HWIN_EXPORT static harlinn::windows::FontSmoothingOrientation FontSmoothingOrientation( );
HWIN_EXPORT static void SetFontSmoothingOrientation( harlinn::windows::FontSmoothingOrientation theValue, bool sendChange = true, bool updateProfile = true );
HWIN_EXPORT static std::shared_ptr<NONCLIENTMETRICS> NonClientMetrics( );
};
class SystemMetrics
{
HWIN_EXPORT SystemMetrics( );
public:
HWIN_EXPORT static int ScreenWidth( );
HWIN_EXPORT static int ScreenHeight( );
HWIN_EXPORT static SIZE ScreenSize( );
HWIN_EXPORT static int VerticalScrollBarWidth( );
HWIN_EXPORT static int HorizontalScrollBarHeight( );
HWIN_EXPORT static int CaptionHeight( );
HWIN_EXPORT static int BorderWidth( );
HWIN_EXPORT static int BorderHeight( );
HWIN_EXPORT static int VerticalScrollBarThumbHeight( );
HWIN_EXPORT static int HorizontalScrollBarThumbWidth( );
HWIN_EXPORT static int IconWidth( );
HWIN_EXPORT static int IconHeight( );
HWIN_EXPORT static SIZE IconSize( );
HWIN_EXPORT static int CursorWidth( );
HWIN_EXPORT static int CursorHeight( );
HWIN_EXPORT static SIZE CursorSize( );
HWIN_EXPORT static int MenuBarHeight( );
HWIN_EXPORT static int PrimaryDisplayWidth( );
HWIN_EXPORT static int PrimaryDisplayHeight( );
HWIN_EXPORT static SIZE PrimaryDisplaySize( );
HWIN_EXPORT static int KanjiWindowHeight( );
HWIN_EXPORT static int MousePresent( );
HWIN_EXPORT static int VerticalScrollBarArrowHeight( );
HWIN_EXPORT static int HorizontalScrollBarArrowWidth( );
HWIN_EXPORT static int IsDebugVersion( );
HWIN_EXPORT static int AreMouseButtonsSwapped( );
HWIN_EXPORT static int MinimumWindowWidth( );
HWIN_EXPORT static int MinimumWindowHeight( );
HWIN_EXPORT static SIZE MinimumWindowSize( );
HWIN_EXPORT static int CaptionButtonWidth( );
HWIN_EXPORT static int CaptionButtonHeight( );
HWIN_EXPORT static SIZE CaptionButtonSize( );
HWIN_EXPORT static int SizeableBorderWidth( );
HWIN_EXPORT static int SizeableBorderHeight( );
HWIN_EXPORT static int MinimumWindowResizableWidth( );
HWIN_EXPORT static int MinimumWindowResizableHeight( );
HWIN_EXPORT static int DoubleClickAreaWidth( );
HWIN_EXPORT static int DoubleClickAreaHeight( );
HWIN_EXPORT static SIZE DoubleClickAreaSize( );
HWIN_EXPORT static int IconViewCellWidth( );
HWIN_EXPORT static int IconViewCellHeight( );
HWIN_EXPORT static SIZE IconViewCellSize( );
HWIN_EXPORT static int DropDownMenusAreRightAligned( );
HWIN_EXPORT static int IsWindowsPenEnabled( );
HWIN_EXPORT static int DBCSEnabled( );
HWIN_EXPORT static int NumberOfMouseButtons( );
HWIN_EXPORT static int FixedBorderWidth( );
HWIN_EXPORT static int FixedBorderHeight( );
HWIN_EXPORT static int EdgeBorderWidth( );
HWIN_EXPORT static int EdgeBorderHeight( );
HWIN_EXPORT static int MinimizedWindowCellWidth( );
HWIN_EXPORT static int MinimizedWindowCellHeight( );
HWIN_EXPORT static int SmallIconWidth( );
HWIN_EXPORT static int SmallIconHeight( );
HWIN_EXPORT static SIZE SmallIconSize( );
HWIN_EXPORT static int SmallCaptionHeight( );
HWIN_EXPORT static int SmallCaptionButtonWidth( );
HWIN_EXPORT static int SmallCaptionButtonHeight( );
HWIN_EXPORT static SIZE SmallCaptionButtonSize( );
HWIN_EXPORT static int MenuBarButtonWidth( );
HWIN_EXPORT static int MenuBarButtonHeight( );
HWIN_EXPORT static SIZE MenuBarButtonSize( );
HWIN_EXPORT static int MinimizedWindowsArragement( );
HWIN_EXPORT static int MinimizedWindowWidth( );
HWIN_EXPORT static int MinimizedWindowHeight( );
HWIN_EXPORT static int MaximumWindowResizableWidth( );
HWIN_EXPORT static int MaximumWindowResizableHeight( );
HWIN_EXPORT static int PrimaryDisplayMaximumWindowWidth( );
HWIN_EXPORT static int PrimaryDisplayMaximumWindowHeight( );
HWIN_EXPORT static int NetworkIsPresent( );
HWIN_EXPORT static int CleanBoot( );
HWIN_EXPORT static int MinimumNoDragHorizontalMouseMovement( );
HWIN_EXPORT static int MinimumNoDragVerticalMouseMovement( );
HWIN_EXPORT static int ShowSounds( );
HWIN_EXPORT static int MenuCheckMarkWidth( );
HWIN_EXPORT static int MenuCheckMarkHeight( );
HWIN_EXPORT static SIZE MenuCheckMarkSize( );
HWIN_EXPORT static int SlowMachine( );
HWIN_EXPORT static int MiddleEastEnabled( );
HWIN_EXPORT static int MouseWheelPresent( );
HWIN_EXPORT static int VirtualScreenXPosition( );
HWIN_EXPORT static int VirtualScreenYPosition( );
HWIN_EXPORT static POINT VirtualScreenPosition( );
HWIN_EXPORT static int VirtualScreenWidth( );
HWIN_EXPORT static int VirtualScreenHeight( );
HWIN_EXPORT static SIZE VirtualScreenSize( );
HWIN_EXPORT static int NumberOfMonitors( );
HWIN_EXPORT static int MonitorsHasSameDisplayFormat( );
HWIN_EXPORT static int InputMethodManagerEnabled( );
HWIN_EXPORT static int FocusedBorderWidth( );
HWIN_EXPORT static int FocusedBorderHeight( );
HWIN_EXPORT static int TabletPC( );
HWIN_EXPORT static int MediaCenterPC( );
HWIN_EXPORT static int StarterEdition( );
HWIN_EXPORT static int WindowsServer2003R2BuildNumber( );
HWIN_EXPORT static int MouseHorizontalWheelPresent( );
HWIN_EXPORT static int CaptionedWindowBorderPadding( );
HWIN_EXPORT static int TabletPCInputTypeFlags( );
HWIN_EXPORT static int MaximumTouches( );
HWIN_EXPORT static int InTerminalServicesClientSession( );
HWIN_EXPORT static int ShuttingDown( );
HWIN_EXPORT static int IsTerminalServerSessionRemoteControlled( );
HWIN_EXPORT static int IsCaretBlinkingEnabled( );
HWIN_EXPORT static int ConvertibleSlateMode( );
HWIN_EXPORT static int IsSystemDocked( );
};
class ComputerName
{
HWIN_EXPORT ComputerName( );
HWIN_EXPORT static WideString QueryComputerName( COMPUTER_NAME_FORMAT format );
public:
HWIN_EXPORT static WideString DnsDomain( );
HWIN_EXPORT static WideString DnsFullyQualified( );
HWIN_EXPORT static WideString DnsHostname( );
HWIN_EXPORT static WideString NetBIOS( );
HWIN_EXPORT static WideString PhysicalDnsDomain( );
HWIN_EXPORT static WideString PhysicalDnsFullyQualified( );
HWIN_EXPORT static WideString PhysicalDnsHostname( );
HWIN_EXPORT static WideString PhysicalNetBIOS( );
};
class UserName
{
HWIN_EXPORT UserName( );
HWIN_EXPORT static WideString QueryUserName( EXTENDED_NAME_FORMAT format );
public:
HWIN_EXPORT static WideString FullyQualifiedDN( );
HWIN_EXPORT static WideString SamCompatible( );
HWIN_EXPORT static WideString Display( );
HWIN_EXPORT static WideString UniqueId( );
HWIN_EXPORT static WideString Canonical( );
HWIN_EXPORT static WideString UserPrincipal( );
HWIN_EXPORT static WideString CanonicalEx( );
HWIN_EXPORT static WideString ServicePrincipal( );
HWIN_EXPORT static WideString DnsDomain( );
HWIN_EXPORT static WideString GivenName( );
HWIN_EXPORT static WideString Surname( );
};
class KnownFolder
{
HWIN_EXPORT KnownFolder( );
HWIN_EXPORT static WideString QueryKnownFolder( const GUID& folderId, KnownFolderFlags flags, HANDLE userToken );
public:
HWIN_EXPORT static WideString NetworkFolder( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString ComputerFolder( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString InternetFolder( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString ControlPanelFolder( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString PrintersFolder( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString SyncManagerFolder( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString SyncSetupFolder( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString ConflictFolder( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString SyncResultsFolder( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString RecycleBinFolder( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString ConnectionsFolder( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString Fonts( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString Desktop( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString Startup( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString Programs( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString StartMenu( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString Recent( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString SendTo( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString Documents( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString Favorites( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString NetHood( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString PrintHood( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString Templates( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString CommonStartup( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString CommonPrograms( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString CommonStartMenu( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString PublicDesktop( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString ProgramData( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString CommonTemplates( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString PublicDocuments( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString RoamingAppData( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString LocalAppData( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString LocalAppDataLow( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString InternetCache( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString Cookies( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString History( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString System( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString SystemX86( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString Windows( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString Profile( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString Pictures( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString ProgramFilesX86( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString ProgramFilesCommonX86( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString ProgramFilesX64( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString ProgramFilesCommonX64( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString ProgramFiles( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString ProgramFilesCommon( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString UserProgramFiles( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString UserProgramFilesCommon( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString AdminTools( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString CommonAdminTools( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString Music( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString Videos( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString Ringtones( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString PublicPictures( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString PublicMusic( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString PublicVideos( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString PublicRingtones( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString ResourceDir( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString LocalizedResourcesDir( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString CommonOEMLinks( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString CDBurning( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString UserProfiles( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString Playlists( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString SamplePlaylists( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString SampleMusic( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString SamplePictures( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString SampleVideos( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString PhotoAlbums( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString Public( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString ChangeRemovePrograms( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString AppUpdates( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString AddNewPrograms( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString Downloads( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString PublicDownloads( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString SavedSearches( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString QuickLaunch( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString Contacts( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString SidebarParts( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString SidebarDefaultParts( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString PublicGameTasks( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString GameTasks( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString SavedGames( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString Games( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString SEARCH_MAPI( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString SEARCH_CSC( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString Links( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString UsersFiles( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString UsersLibraries( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString SearchHome( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString OriginalImages( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString DocumentsLibrary( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString MusicLibrary( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString PicturesLibrary( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString VideosLibrary( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString RecordedTVLibrary( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString HomeGroup( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString HomeGroupCurrentUser( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString DeviceMetadataStore( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString Libraries( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString PublicLibraries( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString UserPinned( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString ImplicitAppShortcuts( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString AccountPictures( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString PublicUserTiles( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString AppsFolder( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString ApplicationShortcuts( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString RoamingTiles( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString RoamedTileImages( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
HWIN_EXPORT static WideString Screenshots( KnownFolderFlags flags = KnownFolderFlags::Default, HANDLE userToken = nullptr );
};
};
}
}
#endif // __HWINENVIRONMENT_H__