Context Menu Extension DLL 3.1

Licencji: Bezpłatna wersja próbna ‎Rozmiar pliku: 672.22 KB
‎Ocena użytkowników: 4.7/5 - ‎6 ‎Głosów

O Context Menu Extension DLL

Biblioteka DLL rozszerzenia menu kontekstowego jest standardowym typem programów obsługi rozszerzeń powłoki. Podobnie jak wszystkie takie programy obsługi, jest to obiekt com (Component Object Model) w toku zaimplementowany jako biblioteka dynamicznych łączy (DLL). Program obsługi rozszerzenia menu kontekstowego eksportuje dwa interfejsy oprócz IUnknown: IShellExtInit i IContextMenu. Używa standardowych funkcji i procedur, które powłoka systemu Windows wywołuje do zarządzania danymi między rozszerzeniem a powłoką, takich jak IShellExtInit::Initialize, IContextMenu::QueryContextMenu, IContextMenu::GetCommandString, IContextMenu::InvokeCommand. I (oczywiście) podobnie jak wszystkie inne obiekty COM biblioteka DLL rozszerzenia menu kontekstowego eksportuje standardowe funkcje: DllMain, DllGetClassObject, DllCanUnloadNow. ALE TWOJA WŁASNA APLIKACJA NIE MUSI WIEDZIEĆ, WSZYSTKIE RZECZY NAPISANE POWYŻEJ! Dlaczego? Ponieważ biblioteka DLL rozszerzenia menu kontekstowego działa tylko z powłoką i współdziała z własną aplikacją za pośrednictwem wiersza polecenia, przy użyciu funkcji ShellExecute z następnymi parametrami: lpOperation = "open"; lpFile = "fully_qualified_path_to_your_application" (biblioteka DLL rozszerzenia menu kontekstowego odczytuje tę ścieżkę z rejestru) lpParameters = wskaźnik do zerowego zakończonego ciągu, który składa się ze wszystkich elementów, które biblioteka DLL rozszerzenia menu kontekstowego uzyskała z powłoki. Aplikacja analizuje ten ciąg, aby pobrać wszystkie element wybrany przez użytkownika z Eksploratora Windows. nShowCmd = SW_SHOWNORMAL Ostatnią i jedyną rzeczą, trzeba napisać w kodzie, aby rozpocząć wykonywanie aplikacji wraz z menu kontekstowego jest analizowanie wiersza polecenia, aby uzyskać wszystkie elementy, że rozszerzenie menu kontekstowego Dll przeszedł do ciągu wiersza polecenia. W tym pakiecie TestMenu aplikacji pomaga przetestować analizowanie ciągu (jak również funkcje menu) przed będzie kod go w projekcie.