Kopiowanie zdjęć z aparatów firmy Canon.

0

Aparaty Canona mają taką nieprzyjemną cechę, że podłączone łączem USB do komputera, nie zgłaszają się jako nowy napęd, z którego można by łatwo i przyjemnie kopiować zdjęcia. Natomiast widać ich w Moim Komputerze jako urządzenie przenośne: Cyfrowy aparat fotograficzny.
Dotychczasowe wersje Total Commandera nie widziały zawartości takich urządzeń. Najnowsza wersja 8.50 umożliwia to, w dodatku bez instalowania jakichś dodatkowych sterowników.

Moje pytanie brzmi:
Jak dostać się do zawartości takiego urządzenia programowo - konkretnie chcę to zrobić w Delphi.

ps
Rozwiązanie w postaci wyciągnięcia karty SD z aparatu i włożenie jej do czytnika nie interesuje mnie.

1

Nie wiem, ale szukałbym w tych okolicach:
http://msdn.microsoft.com/en-us/library/ms630360(v=vs.85).aspx

Polecam zaczynać od przeglądania spisu treści w MSDN Library.

1

No od jakiegoś czasu jest nowy TotalCmd, ale nie wiedziałem, że doszła tam taka nowość jak wspomniano. Ja bym jeszcze spróbował poprosić Ghislera o przykład kodu na oficjalnym forum. Być może znajdzie chwilę by naprowadzić na rozwiązanie. Spróbować na pewno nie zaszkodzi.

0

Wyliczyłem sobie obiekty wyświetlane w MyComputer.

uses
  ActiveX, ShlObj;
  
procedure TForm1.Button1Click(Sender: TObject);
var
  pShell, ShellFolder: IShellFolder;
  pidl: PItemIDList;
  PMalloc: IMalloc;
  sName: string;
  EnumIDList: IEnumIDList;
  pceltFetched: ULONG;
  lpName: TStrRet;
begin
  try
    SHGetDesktopFolder(ShellFolder);
    SHGetSpecialFolderLocation(0,CSIDL_DRIVES, pidl);
    SHGetMalloc(PMalloc);
    ShellFolder.BindToObject(pidl, nil, IID_IShellFolder, Pointer(pShell));
    pShell.EnumObjects(0,SHCONTF_FOLDERS, EnumIDList);
    while EnumIDList.Next(1,pidl, pceltFetched) = S_ok do
    begin
      pceltFetched := 0;
      lpName.uType := 0;
      pShell.GetDisplayNameOf(pidl, SHGDN_FORPARSING, lpName);
      sName := lpName.pOleStr;
      Memo1.Lines.Add(sName);
    end;
  finally
    pMalloc._Release;
    pMalloc := nil;
  end;
end;

Otrzymałem taki wynik

::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\\\?\usb#vid_04a9&pid_325a#5204a740609d4f0e8a3a5a4614ebc6db#{6ac27878-a6fa-4155-ba85-f98f491d4f33}
C:\
D:\
E:\

Pierwsza pozycja niewątpliwie opisuje podłączony aparat Canon. Identycznie jest w TC.
Nie mam pojęcia co to jest. Jakiś wirtualny dysk/katalog?
Jak to ugryźć?

1 użytkowników online, w tym zalogowanych: 0, gości: 1