getDownloadFolder function

String getDownloadFolder()

Implementation

String getDownloadFolder() {
  String path = "";
  final Pointer<Utf16> pszPath = path.toNativeUtf16();
  final Pointer<GUID> rfid = calloc<GUID>();
  final Pointer<Pointer<Utf16>> ppszPath = Pointer.fromAddress(pszPath.address);

  GUID guid = rfid.ref;
  guid.setGUID(FOLDERID_Downloads);

  SHGetKnownFolderPath(rfid, 0, 0, ppszPath);

  String downloadPath = ppszPath.value.toDartString();

  calloc.free(ppszPath);

  return downloadPath + "\\";
}