Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym temacie omówiono instrukcje programowania dotyczące lokalizowania przekierowanych ciągów rejestru. Aby uzyskać więcej informacji, zobacz Using Registry String Redirection.
Ładowanie wartości rejestru Language-Neutral
W systemie Windows Vista i nowszych aplikacja MUI używa wartości rejestru neutralnej dla języka, aby umożliwić dostęp do ciągów specyficznych dla języka przechowywanych w tabeli zasobów ciągu. Aby uzyskać więcej informacji, zobacz Create a Language-Neutral Resource in Using Registry String Redirection (Tworzenie zasobu Language-Neutral przy użyciu przekierowania ciągu rejestru).
Kod aplikacji, który odczytuje wartość neutralną dla języka z rejestru, powinien załadować ciągi w poprawnym języku interfejsu użytkownika, wywołując RegLoadMUIStringW. W przypadku korzystania z tej funkcji aplikacja nie musi jawnie zajmować się ładowaniem zasobów.
Jeśli aktualizujesz istniejącą aplikację do neutralnego językowo użycia rejestru, zazwyczaj zachowasz istniejące wartości ciągów, zlokalizowane na język angielski lub inny pojedynczy język w rejestrze, jako zapasowe oraz dla wstecznej zgodności. Utrzymanie ciągu literału w rejestrze pozwala aplikacji wrócić do tego ciągu, jeśli wywołanie RegLoadMUIStringW zakończy się niepowodzeniem. Musisz zdecydować, jak zaimplementować taki mechanizm rezerwowy, ponieważ interfejs MUI nie zapewnia wsparcia dla takiej implementacji.
Użyj interfejsu API powłoki do ustawiania ciągów skrótów z rejestru
Twoja aplikacja może używać powłoki API do tworzenia ścieżek dla skrótów, które łączą pliki lub foldery w menu Start lub na pulpicie. Aby uzyskać więcej informacji, zobacz sekcję "Create Resources for Shortcut Strings in Using Registry String Redirection".
Aplikacja może użyć SHSetLocalizedName do załadowania nazwy wyświetlanej zgodnej ze standardem MUI dla skrótu. Należy użyć IShellLink::SetDescription, aby ustawić skojarzoną wskazówkę informacyjną. Wywołania rejestrują ciągi znaków w rejestrze. Rozważmy następujące przykłady, dla których "HKCR" reprezentuje klucz rejestru HKEY_CLASSES_ROOT:
HKCR,"CLSID\%CLSID_AntiSpyware%",,,"Windows AntiSpyware"
HKCR,"CLSID\%CLSID_AntiSpyware%","LocalizedString",,"@%ProgramFiles%\Windows AntiSpyware\MSASCui.exe,-104"
HKCR,"CLSID\%CLSID_AntiSpyware%","InfoTip",,"@%ProgramFiles%\Windows AntiSpyware\MSASCui.exe,-208"
Pierwszy wiersz zawiera niezlokalizowany ciąg znaków w celu zapewnienia zastępowalności i zgodności wstecznej. Drugi wiersz przedstawia zgodny ze standardem MUI sposób rejestrowania nazwy wyświetlanej. Ten wiersz wskazuje identyfikator ciągu 104 przechowywany w Msascui.exe (dla systemu Windows XP) lub w skojarzonym pliku specyficznym dla języka (dla systemu Windows Vista). Ten identyfikator tekstowy odpowiada "Moje miejsca sieciowe". Trzeci wiersz w przykładzie obsługuje rejestrację etykietki informacji. %CLSID_AntiSpyware% określa zmienną środowiskową reprezentującą identyfikator GUID zgodny z identyfikatorem klasy tego składnika.
W powyższym przykładzie aplikacja wywołuje SHSetLocalizedName w celu określenia ścieżki pliku wykonywalnego dla pierwszych dwóch parametrów i określ idsRes jako "@%ProgramFiles%\Windows AntiSpyware\MSASCui.exe,104". Wywołanie polecenia IShellLink::SetDescriptionokreśla ścieżkę dla etykietki informacji jako "@%ProgramFiles%\Windows AntiSpyware\MSASCui.exe,208".
Tworzenie zapytań o przyjazne nazwy typów dokumentów w rejestrze
Tworzenie zasobów dla przyjaznych nazw typów dokumentów omówiono w temacie "Tworzenie zasobów dla przyjaznych nazw typów dokumentów w , używając przekierowania ciągów rejestru". Aby wykonać zapytanie dotyczące przyjaznej nazwy dokumentu, aplikacja powinna użyć IQueryAssociations::Init, a następnie wywołać metodę IQueryAssociations::GetString. Wywołanie metody IQueryAssociations::Init określa typ dokumentu, na przykład ".txt". Wywołanie metody IQueryAssociations::GetString musi określać ASSOCSTR_FRIENDLYDOCNAME jako identyfikator ciągu.
Rejestrowanie ciągów przystawek konsoli zarządzania firmy Microsoft, które nie są odczytywane z rejestru
Aplikacja może używać przystawki programu Microsoft Management Console (MMC) do hostowania zadań zarządzania. Większość ciągów jest obsługiwana jako zasoby dzięki użyciu ustawień rejestru opisanych w sekcji Create String Resources for Microsoft Management Console Snap-Ins w Using Registry String Redirection. Jednak niektóre przystawki rejestrują wartości ciągów znaków w rejestrze, których program MMC nie może odczytać. W takim przypadku przystawka musi uzyskać wartości przy użyciu interfejsu ISnapinAbout, który jest zgodny z interfejsem MUI.
Ustaw nazwę wyświetlaną i opis usługi systemu Windows z rejestru
Jeśli aplikacja MUI korzysta z usługi systemu Windows, musi wyświetlić nazwę wyświetlaną i opis usługi. Skojarzone zasoby zostały omówione w "Create String Resources for a Windows Service" w używając Registry String Redirection.
Aby ustawić nazwę wyświetlaną usługi, aplikacja MUI wywołuje CreateService lub ChangeServiceConfig. Nazwa jest ciągiem formy "@<PE-path>,-<stringID>[;<comment>]". Jeśli na przykład usługa jest implementowana przez plik .dll ze ścieżką %ProgramFiles%\%MyPath%\MyDll.dll, a identyfikator ciągu nazwy wyświetlanej specyficznej dla języka to 347, parametr jest określony jako "@%ProgramFiles%\\%MyPath%\\MyDll.dll,-347". Podwójne ukośniki odwrotne (\\) są niezbędne, ponieważ język C/C++ używa ukośnika odwrotnego jako znaku ucieczki w ciągach.
Aby ustawić opis usługi specyficznej dla języka, aplikacja MUI powinna uczynić lpDescription składową struktury SERVICE_DESCRIPTION wskazywać na ciąg formy "@<PE-path>,-<stringID>[;<comment>]", odwołując się do odpowiedniego identyfikatora ciągu. Następnie aplikacja wywołuje ChangeServiceConfig2 z parametrem dwInfoLevel określony jako SERVICE_CONFIG_DESCRIPTION i parametr lpInfo określony jako struktura SERVICE_DESCRIPTION.
Tematy pokrewne
-
przy użyciu przekierowania ciągu rejestru