@msdn=http://search.microsoft.com/search/results.aspx?qu=$$$ @pinvoke=http://pinvoke.net/$$$.htm Summary: Returns TRUE if the path is relative, or FALSE if it is absolute. !!!!C# Signature: [DllImport("shlwapi.dll", CharSet = CharSet.Auto)] static extern bool PathIsRelative([In] string lpszPath); !!!!VB.NET Signature ''' <summary> ''' Searches a path and determines if it is relative. ''' </summary> ''' <param name="pszPath">A pointer to a null-terminated string of maximum length MAX_PATH that contains the path to search.</param> ''' <returns>Returns TRUE if the path is relative, or FALSE if it is absolute.</returns> <DllImport("shlwapi.dll", EntryPoint:="PathIsRelativeW", SetLastError:=True, CharSet:=CharSet.Unicode)> _ Public Function PathIsRelative(<MarshalAs(UnmanagedType.LPTStr)>pszPath As String) As <MarshalAs(UnmanagedType.Bool)> Boolean End Function !!!!VB Signature: 'THIS IS UNTESTED!!! Private Declare Function PathIsRelative Lib "shlwapi" _ Alias "PathIsRelativeA" (ByVal pszPath As String) As Long !!!!User-Defined Types: None. !!!!Alternative Managed API: The '''Path.IsPathRooted''' function works the same, but the return value is opposite. It returns '''true''' for an absolute path, and '''false''' for a relative path. !!!!Notes: None. !!!!Tips & Tricks: None !!!!Sample Code: !!!!!C# Example [DllImport("shlwapi.dll", CharSet = CharSet.Auto)] static extern bool PathIsRelative([In] string lpszPath); public static bool IsRelativePath(string path) { return PathIsRelative(path); } //nunit test [Test] public void TestIsRelative() { Assert.AreEqual(true,IO.IsRelativePath(@"test.txt"),"Test 1"); Assert.AreEqual(true, IO.IsRelativePath(@"..\test.txt"), "Test 2"); Assert.AreEqual(true, IO.IsRelativePath(@"..\..\test.txt"), "Test 3"); Assert.AreEqual(false, IO.IsRelativePath(@"C:\test.txt"), "Test 4"); } !!!!!VB.NET Example <DllImport("shlwapi.dll", EntryPoint:="PathIsRelativeW", SetLastError:=True, CharSet:=CharSet.Unicode)> _ Public Function PathIsRelative(<MarshalAs(UnmanagedType.LPTStr)>pszPath As String) As <MarshalAs(UnmanagedType.Bool)> Boolean End Function Public Shared Function IsRelativePath(path As String) As Boolean Return PathIsRelative(path) End Function 'nunit test <Test> _ Public Sub TestIsRelative() Assert.AreEqual(true,IsRelativePath("test.txt"),"Test 1") Assert.AreEqual(true, IsRelativePath("..\test.txt"), "Test 2") Assert.AreEqual(true, IsRelativePath("..\..\test.txt"), "Test 3") Assert.AreEqual(false, IsRelativePath("C:\test.txt"), "Test 4") End Sub Documentation: PathIsRelative@msdn on MSDN
Edit shlwapi.PathIsRel...
You do not have permission to change this page. If you feel this is in error, please send feedback with the contact link on the main page.