1 Wstęp
2 Interfejsy związane z powłoką windows
3 Inne artykuły powiązane z powłoką windows
Wstęp
Kilka wstępnie zebranych informacji na temat powłoki windows.
Powinno się tu jeszcze znaleźć mnóstwo informacji (komunikaty, funkcje SH*).
Na razie to na dobry początek, zachęcam do rozwoju.
Interfejsy związane z powłoką windows
Nazwy interfejsów | Opis skrócony | Powiązane artykuły/FAQ/Gotowce | Minimalna wersja shella/systemu |
---|---|---|---|
IDropTarget | Odpowiedzialny za obsługę obiektów (OLE) upuszczonych na dane okno. | Obsługa Interfejsu IDropTarget (DragNDrop) | |
IDropTargetHelper | pozwala dodać `bajery` i pokazywać za pomocą obrazków co się przenosi. | ||
IDropSource | Odpowiedzialny za źródło obiektów, które zostaną upuszczone (można tu np. dostosowywać format do danej aplikacji, na którą obiekt ma być upuszczony). | ||
IDragSourceHelper | pozwala dodać `bajery` i pokazywać za pomocą obrazków co się przenosi. | ||
IShellIconOverlayIdentifier | Umożliwia utworzenie ikonki w rogu ikonki (jak np. ikonka skrótu lub udostępniania). | Skojarzenie pliku z naszym programem bez względu na rozszerzenie | |
IExtractIcon | Tworzenie ikony w `locie` w zależności od zawartości pliku lub też jej uzyskanie. | ||
IExtractImage | Pozwala uzyskać albo utworzyć miniaturkę dla danego pliku. Dla windows Vista i wyżej patrz IThumbnailProvider | 4.70 | |
IThumbnailProvider | Odpowiednik IExtractImage w Vista i wyżej. Większa funkcjonalność | Vista | |
IPreviewHandler | Wymagane Vista lub wyżej. Pozwala uzyskać/tworzyć podgląd pliku w oknie explorer'a. | Vista | |
IInitializeWithStream | Potrzebny do współdziałania z IThumbnailProvider oraz IPreviewHandler. | Vista | |
IQueryInfo | Umożliwia dodawanie niestandardowych elementów do opisu pliku (widzianych w ToolTip'ie oraz w bocznym panelu) | Jak wstawić własne dymki podpowiedzi dla plików w powłoce windows (IQueryInfo) | |
IContextMenu | Umożliwia dodanie własnych menu do menu kontekstowego (danego rozszerzenia). | Przykład w katalogu Demos\ActiveX\ShellExt (delphi 6 i 7) IContextMenu - jak dodać podmenu Icontextmenu i Ikoną |
|
IContextMenu2 | Rozszerzona wersja IContextMenu | ||
IContextMenu3 | Rozszerzona wersja IContextMenu | ||
IPersistFile | Potrzebny do współpracy z interfejsami, które potrzebują informacji o danym pliku (np ścieżka). Np. IContextMenu, IQueryInfo | ||
IShellExecuteHook | Umożliwia dodanie niestandardowej reakcji na dwukrotne kliknięcie (uruchomienie z powłoki) pliku. | Skojarzenie pliku z naszym programem bez względu na rozszerzenie | |
ICopyHook | Umożliwia dodanie niestandardowej reakcji podczas kopiowania/przenoszenia/kasowania plików w powłoce. | Przykład w katalogu Demos\ActiveX\ShellExt (delphi 6 i 7) | |
IColumnProvider | Umożliwia dodanie niestandardowej kolumny do widoku szczegółowego. | ||
IEmptyVolumeCache | Zabytek, patrz IEmptyVolumeCache2. | 5.0 | |
IEmptyVolumeCache2 | Za pomocą tego interfejsu można dodać własną akcje w przypadku gdy zabraknie miejsca na dysku (np oczyszczenie pliku tymczasowego naszego programu). | 5.0 | |
IShellPropSheetExt | Pozwala dodać zakładkę do właściwości obiektów powłoki. Np. pliki, właściwości pulpit, ekran, etc. | ||
IDeskBand | Pozwala utworzyć własny pasek narzędziowy, który może być zadokowany w: pasku narzędziowym (tam gdzie guzik start), w pasku narzędziowym okien windows oraz IE. | ||
IInputObject | Odpowiedzialny za interakcje z użytkownikiem. Np. w IDeskBand. | ||
IShellBrowser | Przechowuje informacje dotyczące całego okna. Tego interfejsu nie implementuje się. Pozwala on jednak na interakcje z oknem windows (np zmiana tekstu w pasku statusu.). Najczęściej we współpracy z IShellView oraz IShellFolder | ||
IShellView | dzięki temu interfejsowi można uzyskać widok okna. Znacznie częściej stosuje się go jednak do wykreowania niestandardowego widoku okna wraz z interfejsem IShellFolder. Te interfejsy razem pozwalają na utworzenie rozszerzenia przestrzeni nazw w powłoce windows (Windows Shell Namespace Extension). Do tego typu rozszerzeń należą takie obiekty jak: aktówka, folder drukarek, historia | ||
IShellFolder | Odpowiedzialny za budowanie wirtualnej struktury plików. Patrz IShellView. | Ikonka w oknie Mój komputer i innych folderach specjalnych | 4.0 |
IShellFolder2 | Rozszerzony IShellFolder | 5.0 | |
IENumIDList | Pozwala tworzyć liste katalogow, plikow (PIDL) często (a własciwie powinno być zawsze) z IShellFolder oraz IShellView | 4.0 | |
IShellItem | 6.0 | ||
IShellLibrary | Umożliwia tworzenie specjalnych folderów (bibliotek) ewolucja folderów w stylu CSIDL np. moje dokumenty | w7 ws2008r2 | |
ITaskBarList | Nie do końca opisany interfejs (2010 już tak). Pozwala na modyfikacje paska zawierającego guziki związane z oknami na pasku zadań. | w2000 ws2000 | |
ITaskBarList2 | ITaskBarList + oznaczanie okna `Full Screen` | wXP ws2003 | |
ITaskBarList3 | ITaskBarList2 + gadżety dla windows 7 oraz 2008 R2 (ikonki, obrazki, historia plików) | w7 ws2008r2 | |
ITaskBarList4 | w7 ws2008r2 | ||
IShellDispatch | Umożliwia dobranie się do systemowych okien `Uruchom` i `Szukaj` | ||
IThumbnailCapture | Bazujący na funkcjonalności IE. Umożliwia stworzenie miniaturki z podanej strony WWW. | ||
IDelegateFolder | Nie do końca opisany interfejs przez MS. Umożliwia tworzenie folderów (np w mój komputer), które dostępne są bezpośrednio z pominięciem drzewa. Jako przykład można tu podać folder skanerów i aparatów. W mo komputer dostępne są bezpośrednio foldery z konkretnym modelem skanear/aparatu, jednak w strukturze poprzedza je folder `skanery i aparaty` | ||
IObjectWithSite | Pozwala budować rozszerzenia (najczęściej wraz z innymi interfejsami) dla paska narzędzi/menu/... IE oraz okien windows. | ||
IOleWindow | Wszędzie tam gdzie potrzeba okna. Niekoniecznie związany z powłoką. | ||
IDockingWindow | Jesli rozszerzenie będzie paskiem narzędziowym (np. IDeskBand). Niekoniecznie związany z powłoką. | ||
IPersist | Tu dostaje się info o CLSID. Interfejs niekoniecznie związany z powłoką. |
Inne artykuły powiązane z powłoką windows
(może doczekają sie jakiejś inne systematyzacji)
che che dlugo myslalem aby cos napisac (przykladow testowych swoich mam ze set mb), ale czas .... zachecam do dopiskow i rozwoju. Wlasciwie dzial delphi jest przypadkiem (bo najwiecej w tym pisalem) ale moze byc cokolwiek. Ideaa wszedzie ta sama (a i naglowkow wiecej).
reichel: Zaskakujesz mnie. O co się zapytam to ty o tym piszesz :D Oby tak dalej :p
~reichel, jak masz "przykladow testowych ze set mb", to moze podeslij mi je, co? akurat jestem w kropce bo po wpisaniu w Google hasla "IContextMenu Delphi" to idzie od razu fala stron o wykorzystaniu ToolTip. a ja akurat potrzebuje o IContextMenu bo to niezbedne dla projektow ktore robie. to podeslesz?