[code blocks] Nazwa drukarki domyślnej.

[code blocks] Nazwa drukarki domyślnej.
K4
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 8
0

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

kq
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Szczecin
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

K4
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 8
0

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

kq
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Szczecin
K4
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 8
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

kq
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Szczecin
1
Kopiuj
    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.

K4
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 8
0

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

kq
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Szczecin
1

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

K4
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 8
0

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

kq
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Szczecin
2

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

Zapisałeś i zrobiłeś rebuild?

K4
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 8
0

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

blad2.JPG

kq
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Szczecin
0

Kompilujesz na windowsie?

MarekR22
  • Rejestracja: dni
  • Ostatnio: dni
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.

K4
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 8
0

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

K4
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 8
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.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.