Advertisement
Guest User

Untitled

a guest
Jul 23rd, 2014
202
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.14 KB | None | 0 0
  1. param($KNOWNFOLDERID)
  2.  
  3. $Pinvoke = @’
  4. [DllImport("shell32.dll")]
  5. public static extern int SHGetKnownFolderPath(
  6. [MarshalAs(UnmanagedType.LPStruct)] Guid rfid,
  7. uint dwFlags,
  8. IntPtr hToken,
  9. out String pszPath // API uses CoTaskMemAlloc
  10. );
  11. ‘@
  12.  
  13. $type = Add-Type -MemberDefinition $Pinvoke
  14. -Name Win32Utils -Namespace SHGetKnownFolderPath
  15. -PassThru
  16.  
  17. $type::SHGetKnownFolderPath($KNOWNFOLDERID)
  18.  
  19. int SHGetKnownFolderPath( [MarshalAs(UnmanagedType.LPStruct)] Guid rfid, uint dwFlags, IntPtr hToken, out String pszPath )
  20.  
  21. SHGetKnownFolderPath FDD39AD0-238F-46AF-ADB4-6C85480369C7 0 0 [ref]$path
  22.  
  23. Argument: '4' should be a System.Management.Automation.PSReference. Use [ref].
  24. At line:1 char:56
  25. + New-Item Function:Global:SHGetKnownFolderPath -Value { [Microsoft.PowerShell.Com ...
  26. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  27. + CategoryInfo : NotSpecified: (:) [], MethodException
  28. + FullyQualifiedErrorId : NonRefArgumentToRefParameterMsg
  29.  
  30. [environment]::getfolderpath("mydocuments")
  31.  
  32. $mydocuments = [environment]::getfolderpath("mydocuments")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement