I ringraziamenti per la risposta, questa sono scritti in VB non C#, tuttavia, stavo provando a scrivere qualcosa ed ancora stavo avendo problemi:
[DllImport (“winspool.drv„, CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall, SetLastError = allineano)]
int extern statico AddPrinterDriver (pName della stringa, livello del uint, [dentro] pDriverInfo di riferimento DRIVER_INFO_3);
[StructLayout (LayoutKind.Sequential, CharSet = CharSet.Auto)]
struct pubblico DRIVER_INFO_3
{
cVersion pubblico di IntPtr;
pName pubblico della stringa;
pEnvironment pubblico della stringa;
pDriverPath pubblico della stringa;
stringa pubblica pDataFile;
stringa pubblica pConfigFile;
stringa pubblica pHelpFile;
pDependentFiles pubblici della stringa;
pMonitorName pubblico della stringa;
pDefaultDataType pubblico della stringa;
}
AddPrinter vuoto statico pubblico ()
{
dInfo DRIVER_INFO_3 = nuovo DRIVER_INFO_3
{
pConfigFile = “UNIDRVUI.DLL„,
pDataFile = “HPW100T.GPD„,
pHelpFile = “UNIDRV.HLP„,
pName = “getto di inchiostro 1000 di affari dell'HP„,
};
se (== 0 di AddPrinterDriver (nome, 3, dInfo di riferimento))
tiro nuovo Win32Exception (Marshal.GetLastWin32Error ());
}
Questa di codice eccezione negata accesso del tiro sempre.