Witam
Jak w temacie. Jak w code blocks wyłuskać nazwę drukarki domyślnej (w Windows 10) ?
Wedle linka poniżej powinien samodzielnie wybrać drukarkę domyślną, co jest normą na windowsie.
Nie o to mi chodziło. Chciałem zrobić programik, który wyświetla nazwę domyślnej drukarki.
To dlaczego zapytałeś o coś innego? https://docs.microsoft.com/en-us/windows/win32/printdocs/getdefaultprinter
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
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.
Bardzo dziękuję za pomoc
ale pomimo, że zrobiłem identycznie to jednak wyskakuje błąd:
Spróbujmy pociagnąć Cię za język. Co to za błąd wyskakuje? Co komplilator mówi?
...że ta funkcja nie została zadeklarowana, ale nie wiem a co chodzi.
Hm, zafiksowałem się na błędzie poniżej, gdzie masz literówkę.
Zapisałeś i zrobiłeś rebuild?
Kompilujesz na windowsie?
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.
Kompiluje na Windows 7 prof.
Wersja Code.Blocks: 17.12
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.