Få langt printernavn retur fra PrintDlg
Jeg er ved at rette et program, som bl.a. får hentet printernavnet fra en printerdialog. Problemet er, at navnet kan være længere end 32 tegn, og så virker pdevmode->dmDeviceName ikke, da denne kortes ned.Jeg forsøger så i stedet at bruge print_dlg->hDevNames, men jeg kan ikke se, hvordan jeg får noget fornuftigt retur.
PRINTDLG print_dlg;
DEVNAMES *dn_handle;
char *pName;
char temp_name[64];
// Initierer print_dlg til nulls her
PrintDlg(&print_dlg);
// Error check her
dn_handle = print_dlg.hDevNames;
pName = dn_handle+dn_handle->wDeviceOffset;
strcpy(temp_name, pName);
Jeg får ikke noget fornuftigt retur. wDeviceOffset ser dog ud til at indeholde en værdi, men den peger på ingenting.
Beskrivelse hos microsoft:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/userinput/commondialogboxlibrary/commondialogboxreference/commondialogboxstructures/devnames.asp
På forhånd tak.