Exemplo n.º 1
0
        /// <summary>
        /// Installs a printer monitor
        /// </summary>
        /// <param name="monitorName">The Name of the printer monitor</param>
        /// <param name="pathToMonitorDLL">The Path to the Monitor-DLL</param>
        private void InstallMonitor(String monitorName, String pathToMonitorDLL)
        {
            PrinterMonitorInstallerPInvoke.MONITOR_INFO_2 mi2;
            mi2.pName        = monitorName;
            mi2.pEnvironment = null;
            mi2.pDLLName     = pathToMonitorDLL;

            if (PrinterMonitorInstallerPInvoke.AddMonitor(null, 2, ref mi2) == 0)
            {
                int errno = Marshal.GetLastWin32Error();

                //3006 == Monitor bereits installiert!
                if (errno != 3006)
                {
                    throw new Win32Exception(errno);
                }
                //else
                MessageBox.Show("Could not install monitor. Monitor already installed!");
            }
        }