Python win32api.SetConsoleCtrlHandler() Examples
The following are 14
code examples of win32api.SetConsoleCtrlHandler().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
win32api
, or try the search function
.
Example #1
Source File: win32.py From cherrypy with BSD 3-Clause "New" or "Revised" License | 6 votes |
def stop(self): if not self.is_set: self.bus.log('Handler for console events already off.', level=20) return try: result = win32api.SetConsoleCtrlHandler(self.handle, 0) except ValueError: # "ValueError: The object has not been registered" result = 1 if result == 0: self.bus.log('Could not remove SetConsoleCtrlHandler (error %r)' % win32api.GetLastError(), level=40) else: self.bus.log('Removed handler for console events.', level=20) self.is_set = False
Example #2
Source File: win32serviceutil.py From ironpython2 with Apache License 2.0 | 6 votes |
def DebugService(cls, argv = []): # Run a service in "debug" mode. Re-implements what pythonservice.exe # does when it sees a "-debug" param. # Currently only used by "frozen" (ie, py2exe) programs (but later may # end up being used for all services should we ever remove # pythonservice.exe) import servicemanager global g_debugService print "Debugging service %s - press Ctrl+C to stop." % (cls._svc_name_,) servicemanager.Debugging(True) servicemanager.PrepareToHostSingle(cls) g_debugService = cls(argv) # Setup a ctrl+c handler to simulate a "stop" win32api.SetConsoleCtrlHandler(_DebugCtrlHandler, True) try: g_debugService.SvcRun() finally: win32api.SetConsoleCtrlHandler(_DebugCtrlHandler, False) servicemanager.Debugging(False) g_debugService = None
Example #3
Source File: win32.py From opsbro with MIT License | 6 votes |
def stop(self): if not self.is_set: self.bus.log('Handler for console events already off.', level=40) return try: result = win32api.SetConsoleCtrlHandler(self.handle, 0) except ValueError: # "ValueError: The object has not been registered" result = 1 if result == 0: self.bus.log('Could not remove SetConsoleCtrlHandler (error %r)' % win32api.GetLastError(), level=40) else: self.bus.log('Removed handler for console events.', level=40) self.is_set = False
Example #4
Source File: win32.py From bazarr with GNU General Public License v3.0 | 6 votes |
def stop(self): if not self.is_set: self.bus.log('Handler for console events already off.', level=40) return try: result = win32api.SetConsoleCtrlHandler(self.handle, 0) except ValueError: # "ValueError: The object has not been registered" result = 1 if result == 0: self.bus.log('Could not remove SetConsoleCtrlHandler (error %r)' % win32api.GetLastError(), level=40) else: self.bus.log('Removed handler for console events.', level=40) self.is_set = False
Example #5
Source File: win32.py From Tautulli with GNU General Public License v3.0 | 6 votes |
def stop(self): if not self.is_set: self.bus.log('Handler for console events already off.', level=40) return try: result = win32api.SetConsoleCtrlHandler(self.handle, 0) except ValueError: # "ValueError: The object has not been registered" result = 1 if result == 0: self.bus.log('Could not remove SetConsoleCtrlHandler (error %r)' % win32api.GetLastError(), level=40) else: self.bus.log('Removed handler for console events.', level=40) self.is_set = False
Example #6
Source File: win32.py From moviegrabber with GNU General Public License v3.0 | 6 votes |
def stop(self): if not self.is_set: self.bus.log('Handler for console events already off.', level=40) return try: result = win32api.SetConsoleCtrlHandler(self.handle, 0) except ValueError: # "ValueError: The object has not been registered" result = 1 if result == 0: self.bus.log('Could not remove SetConsoleCtrlHandler (error %r)' % win32api.GetLastError(), level=40) else: self.bus.log('Removed handler for console events.', level=40) self.is_set = False
Example #7
Source File: win32.py From cherrypy with BSD 3-Clause "New" or "Revised" License | 5 votes |
def start(self): if self.is_set: self.bus.log('Handler for console events already set.', level=20) return result = win32api.SetConsoleCtrlHandler(self.handle, 1) if result == 0: self.bus.log('Could not SetConsoleCtrlHandler (error %r)' % win32api.GetLastError(), level=40) else: self.bus.log('Set handler for console events.', level=20) self.is_set = True
Example #8
Source File: cli.py From opsbro with MIT License | 5 votes |
def __call_service_handler(): def __ctrlHandler(ctrlType): return True from opsbro.windows_service.windows_service import Service win32api.SetConsoleCtrlHandler(__ctrlHandler, True) win32serviceutil.HandleCommandLine(Service)
Example #9
Source File: cluster.py From opsbro with MIT License | 5 votes |
def set_exit_handler(self): func = self.manage_signal if os.name == "nt": try: import win32api win32api.SetConsoleCtrlHandler(func, True) except ImportError: version = ".".join(map(str, sys.version_info[:2])) raise Exception("pywin32 not installed for Python " + version) else: for sig in (signal.SIGTERM, signal.SIGINT, signal.SIGUSR1, signal.SIGUSR2): signal.signal(sig, func)
Example #10
Source File: win32.py From opsbro with MIT License | 5 votes |
def start(self): if self.is_set: self.bus.log('Handler for console events already set.', level=40) return result = win32api.SetConsoleCtrlHandler(self.handle, 1) if result == 0: self.bus.log('Could not SetConsoleCtrlHandler (error %r)' % win32api.GetLastError(), level=40) else: self.bus.log('Set handler for console events.', level=40) self.is_set = True
Example #11
Source File: core.py From LedFx with MIT License | 5 votes |
def start(self, open_ui=False): async_fire_and_forget(self.async_start(open_ui=open_ui), self.loop) # Windows does not seem to handle Ctrl+C well so as a workaround # register a handler and manually stop the app if sys.platform == 'win32': import win32api def handle_win32_interrupt(sig, func=None): self.stop() return True win32api.SetConsoleCtrlHandler(handle_win32_interrupt, 1) try: self.loop.run_forever() except KeyboardInterrupt: self.loop.call_soon_threadsafe(self.loop.create_task, self.async_stop()) self.loop.run_forever() except: # Catch all other exceptions and terminate the application. The loop # exeception handler will take care of logging the actual error and # LedFx will cleanly shutdown. self.loop.run_until_complete(self.async_stop(exit_code = -1)) pass finally: self.loop.stop() return self.exit_code
Example #12
Source File: win32.py From bazarr with GNU General Public License v3.0 | 5 votes |
def start(self): if self.is_set: self.bus.log('Handler for console events already set.', level=40) return result = win32api.SetConsoleCtrlHandler(self.handle, 1) if result == 0: self.bus.log('Could not SetConsoleCtrlHandler (error %r)' % win32api.GetLastError(), level=40) else: self.bus.log('Set handler for console events.', level=40) self.is_set = True
Example #13
Source File: win32.py From Tautulli with GNU General Public License v3.0 | 5 votes |
def start(self): if self.is_set: self.bus.log('Handler for console events already set.', level=40) return result = win32api.SetConsoleCtrlHandler(self.handle, 1) if result == 0: self.bus.log('Could not SetConsoleCtrlHandler (error %r)' % win32api.GetLastError(), level=40) else: self.bus.log('Set handler for console events.', level=40) self.is_set = True
Example #14
Source File: win32.py From moviegrabber with GNU General Public License v3.0 | 5 votes |
def start(self): if self.is_set: self.bus.log('Handler for console events already set.', level=40) return result = win32api.SetConsoleCtrlHandler(self.handle, 1) if result == 0: self.bus.log('Could not SetConsoleCtrlHandler (error %r)' % win32api.GetLastError(), level=40) else: self.bus.log('Set handler for console events.', level=40) self.is_set = True