[code blocks] Nazwa drukarki domyślnej.

0

Witam
Jak w temacie. Jak w code blocks wyłuskać nazwę drukarki domyślnej (w Windows 10) ?

2

Wedle linka poniżej powinien samodzielnie wybrać drukarkę domyślną, co jest normą na windowsie.

https://userweb.cs.txstate.edu/~br02/cs1428/SupportFiles/Programming/CodeBlocks/CodeBlocksCompiler.htm#PaperSize

0

Nie o to mi chodziło. Chciałem zrobić programik, który wyświetla nazwę domyślnej drukarki.

0

A bo nowy tu jestem i trochę nie ogarniam.
A mógłbyś mi jeszcze powiedzieć jak użyć tej funkcji w praktyce, mianowicie jak za pomocą polecenie cout wyświetlić nazwę drukarki

1
    char buf[512];
    DWORD buf_size = 511;
    GetDefaultPrinterA(buf, &buf_size);
    cout << buf << '\n';

Warto poczytać o konwencji w WinAPI z gdzie masz makro Foo które oznacza FooA i FooW w zależności od tego czy masz unicode czy nie. Oraz o typie TCHAR. Tutaj wywołałem wersję ascii/char bezpośrednio, ale to rozwiązanie nie jest specjalnie przyjemne.

0

Bardzo dziękuję za pomoc
ale pomimo, że zrobiłem identycznie to jednak wyskakuje błąd:
title

1

Spróbujmy pociagnąć Cię za język. Co to za błąd wyskakuje? Co komplilator mówi?

0

...że ta funkcja nie została zadeklarowana, ale nie wiem a co chodzi.

2

Hm, zafiksowałem się na błędzie poniżej, gdzie masz literówkę.

Zapisałeś i zrobiłeś rebuild?

0

Poprawiłem literówkę i dalej czepia się funkcji GetDefaultPrinterA

blad2.JPG

0

Kompilujesz na windowsie?

0

Może kompiluje z bardzo bardzo starą biblioteką Windowsa, by program był zgodny z Windows starszym niż Windows 2000?
To by wyjaśniało ten błąd.

0

Kompiluje na Windows 7 prof.
Wersja Code.Blocks: 17.12

0

Hmm. Widzę, że wyciągnięcie nazwę domyślnej drukarki w C++ to naprawdę wyższa szkoła jazdy. Wiedza dla wtajemniczonych. Spoko:) Mimo wszystko dzięki za pomoc. Poradziłem sobie inaczej - sczytałem tę nazwę z rejestru.

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