Lösung über .Net scheint nicht möglich, da der Report selbst mit ActiveX zu funktionieren scheint...
Jedoch ist es Möglich über die Registry die Druckereinstellungen zu ändern
Der anzupassende Key ist: HKEY_CURRENT_USER\Printers\Connections\*Druckername*\DevMode
Nun habe ich das Problem, dass ich die Datenstruktur nur für C habe und daher nicht genau weiss wie ich das ganze auswerten muss:-S
Mein benötigter Wert besitzt den Offset von 98 (dmDuplex), möchte jedoch gleich ein VI für die ganzen Einstellungen machen damit sich nach mir keiner mehr damit abmühen muss
Hier die Definition von Microsoft aus:
typedef struct _devicemode {
TCHAR dmDeviceName[CCHDEVICENAME];
WORD dmSpecVersion;
WORD dmDriverVersion;
WORD dmSize;
WORD dmDriverExtra;
DWORD dmFields;
union {
struct {
short dmOrientation;
short dmPaperSize;
short dmPaperLength;
short dmPaperWidth;
short dmScale;
short dmCopies;
short dmDefaultSource;
short dmPrintQuality;
};
struct {
POINTL dmPosition;
DWORD dmDisplayOrientation;
DWORD dmDisplayFixedOutput;
};
};
short dmColor;
short dmDuplex;
short dmYResolution;
short dmTTOption;
short dmCollate;
TCHAR dmFormName[CCHFORMNAME];
WORD dmLogPixels;
DWORD dmBitsPerPel;
DWORD dmPelsWidth;
DWORD dmPelsHeight;
union {
DWORD dmDisplayFlags;
DWORD dmNup;
};
DWORD dmDisplayFrequency;
#if (WINVER >= 0x0400)
DWORD dmICMMethod;
DWORD dmICMIntent;
DWORD dmMediaType;
DWORD dmDitherType;
DWORD dmReserved1;
DWORD dmReserved2;
#if (WINVER >= 0x0500) || (_WIN32_WINNT >= 0x0400)
DWORD dmPanningWidth;
DWORD dmPanningHeight;
#endif
#endif
} DEVMODE, *PDEVMODE, *LPDEVMODE;
Mir geht es vorallem darum die Offsets zu bestimmen, dazu fehlt mir jedoch die Ahnung wieviel Platz die ganzen structs einnehmen, die Datentypen sind mir grösstenteils (bis auf TChar und Pointl) bekannt...
Hoffe jemand kann mir weiterhelfen.
Vielen dank schon mal im vorraus