Udostępnij za pośrednictwem


Odwoływanie się do ustawień regionalnych

Ważny

Nowoczesna platforma drukowania jest preferowanym sposobem komunikacji z drukarkami w systemie Windows. Zalecamy używanie sterownika klasy skrzynki odbiorczej IPP firmy Microsoft wraz z aplikacjami do obsługi drukowania (PSA), aby dostosować środowisko drukowania w systemie Windows 10 i 11 na potrzeby opracowywania urządzeń drukarki.

Aby uzyskać więcej informacji, zapoznaj się z przewodnikiem projektowania aplikacji obsługujących drukowanie .

Korzystanie z plików GPD

Pliki GPD mogą odwoływać się do ustawień regionalnych systemu. Zazwyczaj używa się identyfikatorów ustawień regionalnych w *instrukcjach Switch, gdzie parametry, takie jak domyślne rozmiary papieru i biblioteki DLL zasobów (Resource DLLs), można określić w sposób właściwy dla danego ustawienia regionalnego.

Aby odwoływać się do informacji o ustawieniach regionalnych, plik GPD musi zawierać instrukcję *Include, która zawiera plik locale.gpd, który znajduje się w zestawie Sterowników systemu Windows (WDK), w następujący sposób:

*Include: locale.gpd

Ten plik GPD definiuje funkcję o nazwie "Ustawienia regionalne" i definiuje opcje dla wielu ustawień regionalnych. (Zapoznaj się z plikiem, aby zobaczyć, które ustawienia regionalne są zdefiniowane). Poniżej przedstawiono przykładowe użycie tych opcji ustawień regionalnych. W przykładzie domyślny rozmiar papieru jest oparty na ustawieniach regionalnych.

*Feature: PaperSize
{
...
    Option: A4
    {
    }
    ...
*switch: Locale
{
    *case: English_United_States
    {
        *DefaultOption: Letter
    }
    *case: English_United_Kingdom
    {
        *DefaultOption: A4
    }
    *default:
    {
        *DefaultOption: Letter
    }
} *% End of switch
} *% End of Feature: PaperSize

W czasie wykonywania unidrv określa domyślne ustawienia regionalne systemu, wywołując GetSystemDefaultLCID. Po zainstalowaniu drukarki analizator GPD odczytuje plik GPD drukarki i używa informacji w *instrukcji Case skojarzonej z domyślnymi ustawieniami regionalnymi. Należy pamiętać, że jeśli ustawienia regionalne systemu zostaną zmienione po zainstalowaniu drukarki, opcje oparte na ustawieniach regionalnych nie zostaną zmienione.

Oto inny przykład, który wybiera zasobową bibliotekę DLL na podstawie ustawień regionalnych. Biblioteka DLL zasobu może zawierać zasoby specyficzne dla ustawień regionalnych, takie jak ciągi wyświetlania.

*switch: Locale
{
    *case: English_United_States
    {
        *ResourceDLL: english.dll
    }
    *case: German_Standard
    {
        *ResourceDLL: german.dll
    }
    *default:
    {
        *ResourceDLL: english.dll
    }
}

Ustawianie domyślnego rozmiaru papieru według ustawień regionalnych

Możesz poprosić swojego kierowcę, aby przypisał domyślny rozmiar papieru, metryczny lub niemetryczny, w zależności od lokalizacji geograficznej użytkownika.

Poniższy algorytm pobiera domyślne ustawienia regionalne systemu, a następnie używa kodów kraju/regionu w celu określenia, czy ustawienia regionalne systemu reprezentują kraj, w którym zwykle są używane rozmiary papieru metryki lub niemetryczne. Dzięki tym informacjom sterownik może odpowiednio ustawić domyślny rozmiar papieru, taki jak A4 dla krajów korzystających z systemu metryki i rozmiaru litery dla krajów, które nie.

  1. Użyj funkcji GetLocaleInfo, aby pobrać domyślne ustawienia regionalne systemu. Użyj LOCALE_SYSTEM_DEFAULT dla pierwszego parametru Localei LOCALE_ICOUNTRY dla drugiego parametru LCType.

  2. Użyj domyślnych ustawień regionalnych systemu uzyskanych z GetLocaleInfo, aby określić rozmiar papieru metrycznego lub niemetrycznego.

    • Niemetryczne, jeśli domyślne ustawienia regionalne systemu to:

      • CTRY_UNITED_STATES lub

      • CTRY_CANADA lub

      • Większe niż lub równe 50, ale mniejsze niż 60, a nie CTRY_BRAZIL lub

      • Większe niż lub równe 500, ale mniejsze niż 600

    • Metryka w przeciwnym razie.