Desktop Functions: Smart Device Functions:
|
Search Results for "RECT" in [All]fbwflibprintuiAdvantages of using the function directly in your program instead of calling rundll32.exe are meanful error codes and no external process needs to be called resulting in more control. hhctrl5: HtmlHelp
struct RECT
public RECT(int left, int top, int right, int bottom)
public RECT(Rectangle r)
public static RECT FromXYWH(int x, int y, int width, int height)
return new RECT(x, y, x + width, y + height);
internal RECT rcMargins = RECT.FromXYWH(-1, -1, -1, -1); gdiplus
static extern int GdipAddPathRectanglesI(HandleRef path,
HandleRef rects, int count);
Declare Function GdipAddPathRectanglesI Lib "gdiplus.dll" (TODO) As TODO
static extern int GdipAddPathRectangleI(HandleRef path, int x, int y,
Declare Function GdipAddPathRectangleI Lib "gdiplus.dll" (TODO) As TODO
static extern int GdipAddPathRectangles(HandleRef path,
HandleRef rects, int count);
Declare Function GdipAddPathRectangles Lib "gdiplus.dll" (TODO) As TODO
ref GPRECT layoutRect, HandleRef format);
ref GPRECT dstRect, ref GPRECT srcRect, int unit, out int state);
static extern int GdipBitmapLockBits(HandleRef bitmap, ref GPRECT rect,
static extern int GdipCombineRegionRectI(HandleRef region,
ref GPRECT gprect, CombineMode mode);
Declare Function GdipCombineRegionRectI Lib "gdiplus.dll" (TODO) As TODO
internal static extern int GdipMeasureString(HandleRef graphics, string textString, int length, HandleRef font, ref GPRECTF layoutRect, HandleRef stringFormat, [In, Out] ref GPRECTF boundingBox, out int codepointsFitted, out int linesFilled); Constants14: BM_CLICK
RECT r;
//GetClientRect(mainFrame, &r);
//GetClientRect(mainFrame, &r);
GetClientRect(pls_frame, &r); 15: CB_
CB_GETDROPPEDCONTROLRECT = 0x0152,
public const int CB_GETDROPPEDCONTROLRECT = 0x0152;
CB_GETDROPPEDCONTROLRECT = &H152
Public Const CB_GETDROPPEDCONTROLRECT As Integer = &H152 16: EMR_
EMR_EXCLUDECLIPRECT = 29,
EMR_INTERSECTCLIPRECT = 30,
EMR_CREATEBRUSHINDIRECT = 39,
EMR_RECTANGLE = 43,
EMR_ROUNDRECT = 44,
EMR_SETARCDIRECTION = 57,
EMR_EXTCREATEFONTINDIRECTW = 82,
EMR_COLORCORRECTPALETTE =111, public const int FILE_ATTRIBUTE_DIRECTORY = 0x10;
Public Const FILE_ATTRIBUTE_DIRECTORY As Integer = &H10 18: GRADIENT_
GRADIENT_FILL_RECT_H = 0x00000000,
GRADIENT_FILL_RECT_V = 0x00000001, 19: IDANI_
// ported http://stackoverflow.com/questions/6218325/how-do-you-check-if-a-directory-exists-on-windows-in-c
public static bool DirectoryExists(string path)
return (attributes != INVALID_FILE_ATTRIBUTES && ((attributes & FILE_ATTRIBUTE_DIRECTORY) != 0)); 21: LR_
/// Returns the original hImage if it satisfies the criteria for the copy—that is, correct dimensions and color depth—in
''' Returns the original hImage if it satisfies the criteria for the copy—that is, correct dimensions and color depth—in 22: NERR_
public const int DevNotRedirected = 2107;
/// <summary> 2116 - The device or directory does not exist. </summary>
/// <summary> 2117 - The operation is invalid on a redirected resource. </summary>
public const int RedirectedPath = 2117;
/// <summary> 2232 - The parent directory could not be located. </summary>
/// <summary> 2319 - The information in the list of servers may be incorrect. </summary>
/// <summary> 2380 - The source path cannot be a directory. </summary>
/// <summary> 2450 - The user accounts database is not configured correctly. </summary>
/// <summary> 2481 - The UPS service is not configured correctly. </summary>
/// <summary> 2683 - A child or parent directory of the share is already in a Dfs. </summary> 23: PROPERTYKEY
public static PropertyKey PKEY_GPS_ImgDirection = new PropertyKey( 0x16473C91, 0xD017, 0x4ED9, 0xBA, 0x4D, 0xB6, 0xBA, 0xA5, 0x5D, 0xBC, 0xF8, 100);
public static PropertyKey PKEY_GPS_ImgDirectionDenominator = new PropertyKey( 0x10B24595, 0x41A2, 0x4E20, 0x93, 0xC2, 0x57, 0x61, 0xC1, 0x39, 0x5F, 0x32, 100);
public static PropertyKey PKEY_GPS_ImgDirectionNumerator = new PropertyKey( 0xDC5877C7, 0x225F, 0x45F7, 0xBA, 0xC7, 0xE8, 0x13, 0x34, 0xB6, 0x13, 0x0A, 100);
public static PropertyKey PKEY_GPS_ImgDirectionRef = new PropertyKey( 0xA4AAA5B7, 0x1AD0, 0x445F, 0x81, 0x1A, 0x0F, 0x8F, 0x6E, 0x67, 0xF6, 0xB5, 100);
public static PropertyKey PKEY_Search_IsClosedDirectory = new PropertyKey( 0x0B63E343, 0x9CCC, 0x11D0, 0xBC, 0xDB, 0x00, 0x80, 0x5F, 0xCC, 0xCE, 0x04, 23);
public static PropertyKey PKEY_Video_Director = new PropertyKey( 0x64440492, 0x4C8B, 0x11D1, 0x8B, 0x70, 0x08, 0x00, 0x36, 0xB1, 0x1A, 0x03, 20);
public static PropertyKey WPD_IMAGE_COLOR_CORRECTED_STATUS = new PropertyKey(0x63D64908, 0x9FA1, 0x479F, 0x85, 0xBA, 0x99, 0x52, 0x21, 0x64, 0x47, 0xDB, 5);
public static PropertyKey SENSOR_DATA_TYPE_WIND_DIRECTION_DEGREES_ANTICLOCKWISE = new PropertyKey(0X8B0AA2F1, 0X2D57, 0X42EE, 0X8C, 0XC0, 0X4D, 0X27, 0X62, 0X2B, 0X46, 0XC4, 5); //[VT_R4]
/// typeof(directshow.mediatype).InterpretGuidType(guid) returns: "Video")
/// typeof(directshow.mediatype).InterpretGuidType(guid) returns: "Video")
/// (directshow.mediatype.ListGuidTypes() returns: "Null", "Video", "Interleaved", "Audio", ...) 24: ShellAPI
public const int FOF_NORECURSION = 0x1000; // don't recurse into directories.
public const int SHIL_SYSSMALL = 3; // like SHIL_SMALL, but tracks system small icon metric correctly 25: ShellAPI
public const int FOF_NORECURSION = 0x1000; // don't recurse into directories.
public const int SHIL_SYSSMALL = 3; // like SHIL_SMALL, but tracks system small icon metric correctly 26: TCM_ public const UInt32 TCM_GETITEMRECT = (TCM_FIRST + 10);
// (BOOL)SNDMSG((hwnd), TCM_GETITEMRECT, (WPARAM)(int)(i), (LPARAM)(RECT FAR*)(prc)) public const UInt32 TCM_ADJUSTRECT = (TCM_FIRST + 40);
// (int)SNDMSG(hwnd, TCM_ADJUSTRECT, (WPARAM)(BOOL)bLarger, (LPARAM)(RECT FAR *)prc)
Private Const TCM_GETITEMRECT As UInt32 = (TCM_FIRST + 10)
' (BOOL)SNDMSG((hwnd), TCM_GETITEMRECT, (WPARAM)(int)(i), (LPARAM)(RECT FAR*)(prc))
Private Const TCM_ADJUSTRECT As UInt32 = (TCM_FIRST + 40)
' (int)SNDMSG(hwnd, TCM_ADJUSTRECT, (WPARAM)(BOOL)bLarger, (LPARAM)(RECT FAR *)prc) 27: WINERROR
/// Incorrect function.
/// The environment is incorrect.
/// An attempt was made to load a program with an incorrect format.
/// The directory cannot be removed.
public const int ERROR_CURRENT_DIRECTORY = 16;
/// The program issued a command but the command length is incorrect.
/// Windows cannot find the network path. Verify that the network path is correct and the destination computer is not busy or turned off. If Windows still cannot find the network path, contact your network administrator.
/// The network resource type is not correct.
/// The directory or file cannot be created.
/// The specified network password is not correct.
/// The parameter is incorrect.
/// The target internal file identifier is incorrect.
/// The IOCTL call made by the application program is not correct.
/// The verify-on-write switch parameter value is not correct.
/// The filename, directory name, or volume label syntax is incorrect.
/// The system call level is not correct.
public const int ERROR_DIRECT_ACCESS_HANDLE = 130;
/// The system tried to join a drive to a directory on a joined drive.
/// The system tried to substitute a drive to a directory on a substituted drive.
/// The system tried to join a drive to a directory on a substituted drive.
/// The system tried to SUBST a drive to a directory on a joined drive.
/// The system cannot join or substitute a drive to or for a directory on the same drive.
/// The directory is not a subdirectory of the root directory.
/// The directory is not empty.
/// An attempt was made to join or substitute a drive for which a directory on the drive is the target of a previous substitute.
/// The number of specified semaphore events for DosMuxSemWait is not correct.
/// The DosMuxSemWait list is not correct.
/// The address for the thread ID is not correct.
/// One or more arguments are not correct.
/// The system detected a segment number that was not correct.
/// The flag passed is not correct.
/// The global filename characters, * or ?, are entered incorrectly or too many global filename characters are specified.
/// The signal being posted is not correct.
/// The directory name is invalid.
public const int ERROR_DIRECTORY = 267;
/// When accessing a new tape of a multivolume partition, the current block size is incorrect.
/// A file was found, but it may not be the correct file.
public const int ERROR_INCORRECT_ADDRESS = 1241;
/// Unable to update the password. The value provided as the current password is incorrect.
/// The file or directory is corrupted and unreadable.
/// Logon Failure: The target account name is incorrect.
/// The Windows Installer Service could not be accessed. This can occur if you are running Windows in safe mode, or if the Windows Installer is not correctly installed. Contact your support personnel for assistance.
/// d that you have the correct upgrade patch.
/// The binding handle is not the correct type.
/// The redirector is in use and cannot be unloaded.
public const int ERROR_REDIRECTOR_HAS_OPEN_HANDLES = 1794;
/// The backup failed. Check the directory to which you are backing the database.
/// The file or directory is not a reparse point.
/// The group or resource is not in the correct state to perform the requested operation.
/// This computer cannot be made a member of a cluster because it does not have the correct version of Windows installed.
/// The directory has been disabled for encryption.
/// This is most often the result of a driver or system DLL requiring direct console access.
/// The file replication service API was called incorrectly.
/// An error occurred while installing the directory service. For more information, see the event log.
/// The directory service evaluated group memberships locally.
/// The specified directory service attribute or value does not exist.
/// The attribute syntax specified to the directory service is invalid.
/// The attribute type specified to the directory service is not defined.
/// The specified directory service attribute or value already exists.
/// The directory service is busy.
/// The directory service is unavailable.
/// The directory service was unable to allocate a relative identifier.
/// The directory service has exhausted the pool of relative identifiers.
/// The requested operation could not be performed because the directory service is not the master for that type of operation.
public const int ERROR_DS_INCORRECT_ROLE_OWNER = 8210;
/// The directory service was unable to initialize the subsystem that allocates relative identifiers.
/// The directory service can perform the requested operation only on a leaf object.
/// The directory service cannot perform the requested operation on the RDN attribute of an object.
/// The directory service detected an attempt to modify the object class of an object.
/// The requested policy information is only in the directory service.
/// An attempt was made to add an object to the directory with a name that is already in use.
/// Directory object not found.
/// A directory service error has occurred.
/// The directory service encountered an error parsing a name.
/// The directory service cannot get the attribute type for a name.
/// The operation could not be performed because the directory service is shutting down.
/// The directory service request is invalid.
/// The global catalog verification failed. The global catalog is not available or does not support the operation. Some part of the directory is currently not available.
/// The directory configuration parameter is missing from the registry.
/// The directory service encountered an internal failure.
/// The directory service encountered an unknown failure.
/// This directory server is shutting down, and cannot take ownership of new floating single-master operation roles.
/// The directory service is missing mandatory configuration information, and is unable to determine the ownership of floating single-master operation roles.
/// The directory service was unable to transfer ownership of one or more floating single-master operation roles to other servers.
/// The directory service is too busy to complete the replication operation at this time.
/// The requested operation is not supported by this version of the directory service.
/// The version of the Active Directory schema of the source forest is not compatible with the version of Active Directory on this computer. You must upgrade the operating system on a domain controller in the source forest before this computer can be added as a domain controller to that forest.
/// The OM-Object-Class specified is incorrect for an attribute with the specified syntax.
/// The requested operation requires a directory service, and none was available.
/// The directory cannot validate the proposed naming context name because it does not hold a replica of the naming context above the proposed naming context. Please ensure that the domain naming master role is held by a server that is configured as a global catalog server, and that the server is up to date with its replication partners. (Applies only to Windows 2000 Domain Naming masters)
/// The directory service failed to lock a tree in preparation for a tree deletion because the tree was in use.
/// The directory service failed to identify the list of objects to delete while attempting a tree deletion.
/// Error Status: 0x%2. Click OK to shut down the system and reboot into Directory Services Restore Mode. Check the event log for detailed information.
/// Adding a new mandatory attribute to an existing class, deleting a mandatory attribute from an existing class, or adding an optional attribute to the special class Top that is not a backlink attribute (directly or through inheritance, for example, by adding or deleting an auxiliary class) is not allowed.
/// The replica/child install failed to read the objectVersion attribute in the SCHEMA section of the file schema.ini in the system32 directory.
/// The syntax of the linked attribute being added is incorrect. Forward links can only have syntax 2.5.5.1, 2.5.5.7, and 2.5.5.14, and backlinks can only have syntax 2.5.5.1
/// Directory Service cannot start.
/// Directory Services could not start.
/// Critical Directory Service System objects cannot be deleted during tree delete operations. The tree delete may have been partially performed.
/// Directory Services could not start because of the following error: %1.
/// This version of Windows is too old to support the current directory forest behavior. You must upgrade the operating system on this server before it can become a domain controller in this forest.
/// This version of Windows no longer supports the behavior version in use in this directory forest. You must advance the forest behavior version before this server can become a domain controller in the forest.
/// Could not access a partition of the Active Directory located on a remote server. Make sure at least one server is running for the partition in question.
/// The directory cannot validate the proposed naming context (or partition) name because it does not hold a replica nor can it contact a replica of the naming context above the proposed naming context. Please ensure that the parent naming context is properly registered in DNS, and at least one replica of this naming context is reachable by the Domain Naming master.
/// The Directory Service failed to enter single user mode.
/// The Directory Service cannot parse the script because of a syntax error.
/// The Directory Service cannot process the script because of an error.
/// The directory service cannot perform the requested operation because the servers
/// The directory service binding must be renegotiated due to a change in the server
/// The directory service failed to authorize the request.
/// The Directory Service cannot process the script because it is invalid.
/// The directory service is unavailable.
/// DNS zone already exists in the directory service.
/// DNS server not creating or reading the boot file for the directory service integrated DNS zone.
/// The specified directory partition does not exist.
/// The specified directory partition already exists.
/// The DS is not enlisted in the specified directory partition.
/// The DS is already enlisted in the specified directory partition.
/// A request to send or receive data was disallowed because the socket had already been shut down in that direction with a previous shutdown call.
/// Cannot remove a directory that is not empty.
/// The requested name is valid and was found in the database, but it does not have the correct associated data being resolved for.
/// An incorrect number of QOS FILTERSPECs were specified in the FLOWDESCRIPTOR.
/// An incorrect number of flow descriptors was specified in the QOS structure.
/// This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem.
/// Two or more components referenced directly or indirectly by the application manifest have files by the same name.
/// Two or more components referenced directly or indirectly by the application manifest have window classes with the same name.
/// Two or more components referenced directly or indirectly by the application manifest have the same COM server CLSIDs.
/// Two or more components referenced directly or indirectly by the application manifest have proxies for the same COM interface IIDs.
/// Two or more components referenced directly or indirectly by the application manifest have the same COM type library TLBIDs.
/// Two or more components referenced directly or indirectly by the application manifest have the same COM ProgIDs.
/// Two or more components referenced directly or indirectly by the application manifest are different versions of the same component which is not permitted.
/// Manifest Parse Error : Incorrect syntax was used in a comment.
/// Failed to obtain new SPI for the inbound SA from Ipsec driver. The most common cause for this is that the driver does not have the correct filter. Check your policy to verify the filters.
/// The server process could not be started. The pathname may be incorrect.
/// The server process could not be started as the configured identity. The pathname may be incorrect or unavailable.
/// The server process could not be started because the configured identity is incorrect. Check the username and password.
/// Incorrect function.
/// Invalid rectangle
public const int OLE_E_INVALIDRECT = (int)(0x8004000D - 0x100000000);
/// No package in the software installation data in the Active Directory meets this criteria.
/// An error occurred in the software installation data in the Active Directory.
/// No package in the software installation data in the Active Directory meets this criteria.
/// Deleting this will break the referential integrity of the software installation data in the Active Directory.
/// The CLSID was not found in the software installation data in the Active Directory.
/// The software installation data in the Active Directory is corrupt.
/// There is no software installation data in the Active Directory.
/// There is no software installation data object in the Active Directory.
/// The software installation data object in the Active Directory already exists.
/// The path to the software installation data in the Active Directory is not correct.
/// The schema for the software installation data in the Active Directory does not match the required schema.
/// An error occurred in the software installation data in the Active Directory.
/// Contents of the OLESTREAM not in correct format
/// Contents of the IStorage not in correct format
/// The COM+ component you created must use object construction to work correctly.
/// Incorrect inheritance depth in standard OLE hmember.
/// The data packet with the marshalled parameter data is incorrect.
/// Unable to obtain the Windows directory
/// Provider DLL failed to initialize correctly.
/// The target principal name is incorrect.
/// The client cert name does not matches the user name or the KDC name is incorrect.
/// Client's supplied SSPI channel bindings were incorrect.
/// The hash value is not correct.
/// Not a cryptographic message or the cryptographic message is not formatted correctly.
/// The request is incorrectly formatted. The encrypted private key must be in an unauthenticated attribute in an outermost signature.
/// The Active Directory GUID is unavailable and cannot be added to the Subject Alternate name.
public const int CERTSRV_E_SUBJECT_DIRECTORY_GUID_REQUIRED = (int)(0x8009480E - 0x100000000);
/// The magic number in the head table is incorrect.
/// The offset table has incorrect values.
/// A table checksum is incorrect.
/// The file checksum is incorrect.
/// The signature does not have the correct attributes for the policy.
/// The structure of the DSIG table is incorrect.
/// The validity periods of the certification chain do not nest correctly.
/// A certification chain processed correctly, but one of the CA certificates is not trusted by the policy provider.
/// An INF was copied into the Windows INF directory in an improper manner.
public const int SPAPI_E_INCORRECTLY_COPIED_INF = (int)(0x800F0237 - 0x100000000);
/// The identified directory does not exist in the smart card.
/// The supplied path does not represent a smart card directory.
/// The supplied PIN is incorrect.
/// Application install directory not found 28: WINNT
private const uint FILE_ATTRIBUTE_DIRECTORY = 0x00000010; 29: WM
shlwapi30: IPreviewHandler
void SetWindow(IntPtr hwnd, ref RECT rect);
void SetRect(ref RECT rect); 31: PathAddBackslash
/// Adds a backslash to the end of a string to create the correct syntax for a path.
''' Adds a backslash to the end of a string to create the correct syntax for a path. 32: PathCombine Current signature is incorrect, because return value is string and CLR trying to release the same string twice (return value and lpszDest). I have unxpected crashes. I think that type of return value should change to IntPtr. This page contains some discussion about this problem: http://objectmix.com/dotnet/747522-p-invoke-signature-pathcombine.html 33: PathFileExists
/// Determines whether a path to a file system object such as a file or directory is valid.
''' Determines whether a path to a file system object such as a file or directory is valid. 34: PathFindOnPath ppszOtherDirs is a list of specific directories to search first. It can be null if you want to search only the PATH. 35: PathIsDirectory
/// Verifies that a path is a valid directory.
/// <returns>Returns (BOOL)FILE_ATTRIBUTE_DIRECTORY if the path is a valid directory; otherwise, FALSE.</returns>
[DllImport("shlwapi.dll", EntryPoint = "PathIsDirectoryW", SetLastError = True, CharSet= CharSet.Unicode)]
static extern bool PathIsDirectory([MarshalAs(UnmanagedType.LPTStr)]string pszPath);
''' Verifies that a path is a valid directory.
''' <returns>Returns (BOOL)FILE_ATTRIBUTE_DIRECTORY if the path is a valid directory; otherwise, FALSE.</returns>
<DllImport("shlwapi.dll", EntryPoint:="PathIsDirectoryW", SetLastError:=True, CharSet:=CharSet.Unicode)> _
Public Function PathIsDirectory(<MarshalAs(UnmanagedType.LPTStr)>pszPath As String) As <MarshalAs(UnmanagedType.Bool)> Boolean
Public Declare Function PathIsDirectory Lib "shlwapi" Alias "PathIsDirectoryA" _ bool System.IO.Directory.Exists(string path) http://msdn.microsoft.com/en-us/library/system.io.directory.exists%28v=vs.110%29.aspx 36: PathIsRoot
/// Parses a path to determine if it is a directory root.
''' Parses a path to determine if it is a directory root.
''' <param name="dwAttrFrom">The file attributes of <paramref name="pszFrom" />. If this value contains Directory, <paramref name="pszFrom" /> is assumed to be a directory; otherwise, <paramref name="pszFrom" /> is assumed to be a file</param>
''' <param name="dwAttrTo">The file attributes of <paramref name="pszTo" />. If this value contains Directory, <paramref name="pszTo" /> is assumed to be a directory; otherwise, <paramref name="pszTo" /> is assumed to be a file</param>
@"c:\a\b\path", FileAttributes.Directory,
if (path is DirectoryInfo) {
if (fullName[fullName.Length - 1] != Path.DirectorySeparatorChar) {
fullName += Path.DirectorySeparatorChar; 38: PathStripPath This is similar, but not identical, to Path.GetFileName. If the input string ends with a directory, the directory is returned rather than nothing; for example, "C:\foo\" becomes "foo\", "C:" stays "C:".
public static extern int SHLoadIndirectString(string pszSource, StringBuilder pszOutBuf, int cchOutBuf, IntPtr ppvReserved);
Public Declare Auto Function SHLoadIndirectString Lib "shlwapi.dll" (ByVal pszSource As String, ByVal pszOutBuf As String, ByVal cchOutBuf As UInteger, ByVal ppvReserved As IntPtr) As UInteger int result = SHLoadIndirectString(resourcePath, outBuff, -1, IntPtr.Zero); //SHLoadIndirectString returns S_OK (0) if successful int result = SHLoadIndirectString(sWin8ManifestString, outBuff, outBuff.Capacity, IntPtr.Zero); opengl32
public enum FrontFaceDirection : uint
GL_PERSPECTIVE_CORRECTION_HINT = 0x0C50,
GL_SPOT_DIRECTION = 0x1204,
public static extern void glRectd(double x1, double y1, double x2, double y2);
public static extern void glRectdv(double[] v1, double[] v2);
public static extern void glRectf(float x1, float y1, float x2, float y2);
public static extern void glRectfv(float[] v1, float[] v2);
public static extern void glRecti(int x1, int y1, int x2, int y2);
public static extern void glRectiv(int[] v1, int[] v2);
public static extern void glRects(short x1, short y1, short x2, short y2);
public static extern void glRectsv(short[] v1, short[] v2); odbc3241: SQLDataSources
/// <param name="Direction">[Input] Determines which data source the Driver Manager returns information on.</param>
static extern short SQLDataSources(IntPtr EnvironmentHandle, short Direction,
Declare Function SQLDataSources Lib "odbc32.dll" (ByVal EnvironmentHandle As Integer, ByVal Direction As Short, _ Depending on the value of Direction, you may access System DSN, User DSN or both. Since the same DSN name may be used in User and System DSN, watch out for possible duplicate values. 42: SQLExecDirect
static extern short SQLExecDirect (int statementHandle,
Private Shared Function SQLExecDirect(ByVal statementHandle As IntPtr, ByVal statementText As String, _ userenv43: CreateProfile
static extern bool GetProfilesDirectory(StringBuilder path, ref int size);
if (GetProfilesDirectory(path, ref size) )
if (GetProfilesDirectory(path, &size) ) {
MessageBox(NULL, path, "GetProfilesDirectory()", MB_OK);
WINBOOL WINAPI GetProfilesDirectoryA(LPSTR lpProfileDir, LPDWORD lpcchSize);
if (GetProfilesDirectory(path, &size) ) {
MessageBox(NULL, path, "GetProfilesDirectory()", MB_OK); Enums45: ADDRESS_FAMILIES
/// Direct data link interface [value = 13].
SHACF_FILESYS_DIRS = 0x00000020, // Same as SHACF_FILESYS_ONLY except it only includes directories, UNC servers, and UNC server shares.
SHACF_FILESYS_DIRS = &H20 ' Same as SHACF_FILESYS_ONLY except it only includes directories, UNC servers, and UNC server shares.
// If ACO_RTLREADING is set, the text reads in the opposite direction from the text in the parent window. 48: BrowseInfoFlags
/// Only return file system directories.
''' Only return file system directories. 49: CDS
SetRect = 536870912,
SetRect = 536870912 50: ClassStyles
/// <summary>Aligns the window's client area on a byte boundary (in the x direction). This style affects the width of the window and its horizontal placement on the display.</summary>
/// <summary>Aligns the window on a byte boundary (in the x direction). This style affects the width of the window and its horizontal placement on the display.</summary>
/// Sets the clipping rectangle of the child window to that of the parent window so that the child can draw on the parent.
''' <summary>Aligns the window's client area on a byte boundary (in the x direction). This style affects the width of the window and its horizontal placement on the display.</summary>
''' <summary>Aligns the window on a byte boundary (in the x direction). This style affects the width of the window and its horizontal placement on the display.</summary>
''' Sets the clipping rectangle of the child window to that of the parent window so that the child can draw on the parent. 51: CSIDL
CSIDL_COMMON_DESKTOPDIRECTORY = 0x0019,
CSIDL_DESKTOPDIRECTORY = 0x0010,
CSIDL_COMMON_DESKTOPDIRECTORY = &H19
CSIDL_DESKTOPDIRECTORY = &H10
/// <summary>DCX_WINDOW: Returns a DC that corresponds to the window rectangle rather
/// than the client rectangle.</summary>
''' <summary>DCX_WINDOW: Returns a DC that corresponds to the window rectangle rather
''' than the client rectangle.</summary> 53: DEVICE_TYPE
FILE_DEVICE_NETWORK_REDIRECTOR = 0x28,
FILE_DEVICE_NETWORK_REDIRECTOR = &H28
ClipRect = 0x00000001,
ClipRect = &H1 55: DriveTypes
Case System.IO.DriveType.NoRootDirectory 56: DT
CalcRect = (1 << 9), 57: DTT
CalcRect = (1UL << 9), 58: FileAttributes
/// A file that is read-only. Applications can read the file, but cannot write to it or delete it. This attribute is not honored on directories. For more information, see "You cannot view or change the Read-only or the System attributes of folders in Windows Server 2003, in Windows XP, or in Windows Vista".
/// The file or directory is hidden. It is not included in an ordinary directory listing.
/// A file or directory that the operating system uses a part of, or uses exclusively.
/// The handle that identifies a directory.
Directory = 0x00000010,
/// A file or directory that is an archive file or directory. Applications typically use this attribute to mark files for backup or removal.
/// A file or directory that has an associated reparse point, or a file that is a symbolic link.
/// A file or directory that is compressed. For a file, all of the data in the file is compressed. For a directory, compression is the default for newly created files and subdirectories.
/// The file or directory is not to be indexed by the content indexing service.
/// A file or directory that is encrypted. For a file, all data streams in the file are encrypted. For a directory, encryption is the default for newly created files and subdirectories.
''' A file that is read-only. Applications can read the file, but cannot write to it or delete it. This attribute is not honored on directories. For more information, see "You cannot view or change the Read-only or the System attributes of folders in Windows Server 2003, in Windows XP, or in Windows Vista".
''' The file or directory is hidden. It is not included in an ordinary directory listing.
''' A file or directory that the operating system uses a part of, or uses exclusively.
''' The handle that identifies a directory.
Directory = &H10
''' A file or directory that is an archive file or directory. Applications typically use this attribute to mark files for backup or removal.
''' A file or directory that has an associated reparse point, or a file that is a symbolic link.
''' A file or directory that is compressed. For a file, all of the data in the file is compressed. For a directory, compression is the default for newly created files and subdirectories.
''' The file or directory is not to be indexed by the content indexing service.
''' A file or directory that is encrypted. For a file, all data streams in the file are encrypted. For a directory, encryption is the default for newly created files and subdirectories. 59: FILEOP_FLAGS
/// Don't recurse into directories.
''' Don't recurse into directories.
FileIdBothDirectoryInfo = 10,// 0x0A
FileIdBothDirectoryRestartInfo = 11, // 0xB
FileFullDirectoryInfo = 14, // 0xE
FileFullDirectoryRestartInfo = 15, // 0xF
FileIdExtdDirectoryInfo = 19, // 0x13
FileIdExtdDirectoryRestartInfo = 20, // 0x14 Cut off search results after 60. Please refine your search. |