show_window.hpp 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. // Copyright (c) 2006, 2007 Julio M. Merino Vidal
  2. // Copyright (c) 2008 Ilya Sokolov, Boris Schaeling
  3. // Copyright (c) 2009 Boris Schaeling
  4. // Copyright (c) 2010 Felipe Tanus, Boris Schaeling
  5. // Copyright (c) 2011, 2012 Jeff Flinn, Boris Schaeling
  6. // Copyright (c) 2016 Klemens D. Morgenstern
  7. //
  8. // Distributed under the Boost Software License, Version 1.0. (See accompanying
  9. // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
  10. #ifndef BOOST_PROCESS_WINDOWS_SHOW_WINDOW_HPP
  11. #define BOOST_PROCESS_WINDOWS_SHOW_WINDOW_HPP
  12. #include <boost/winapi/process.hpp>
  13. #include <boost/winapi/show_window.hpp>
  14. #include <boost/process/detail/handler_base.hpp>
  15. namespace boost { namespace process { namespace detail { namespace windows {
  16. template<::boost::winapi::WORD_ Flags>
  17. struct show_window : ::boost::process::detail::handler_base
  18. {
  19. template <class WindowsExecutor>
  20. void on_setup(WindowsExecutor &e) const
  21. {
  22. e.startup_info.dwFlags |= ::boost::winapi::STARTF_USESHOWWINDOW_;
  23. e.startup_info.wShowWindow |= Flags;
  24. }
  25. };
  26. struct create_no_window_ : public ::boost::process::detail::handler_base
  27. {
  28. template <class Executor>
  29. void on_setup(Executor &exec) const
  30. {
  31. exec.creation_flags |= ::boost::winapi::CREATE_NO_WINDOW_;
  32. }
  33. };
  34. }}}}
  35. #endif