xtd - Reference Guide 0.2.0
process_start_info.h
Go to the documentation of this file.
1 #pragma once
5 #include <map>
6 #include <memory>
7 #include <string>
8 #include <vector>
9 #include "../core_export.h"
10 #include "../object.h"
11 #include "../security/secure_string.h"
12 #include "process_window_style.h"
13 
15 namespace xtd {
17  namespace diagnostics {
35  class core_export_ process_start_info final : public xtd::object {
36  public:
38 
43  process_start_info() = default;
44 
49  explicit process_start_info(const xtd::ustring& file_name);
50 
56  process_start_info(const xtd::ustring& file_name, const xtd::ustring& arguments);
57 
60  process_start_info& operator=(const process_start_info&) = default;
63 
65 
69  const xtd::ustring& arguments() const;
73  process_start_info& arguments(const xtd::ustring& value);
74 
78  bool create_no_window() const;
83  process_start_info& create_no_window(bool value);
84 
87  const xtd::ustring& domain() const;
91  process_start_info& domain(const xtd::ustring& value);
92 
97  const std::map<xtd::ustring, xtd::ustring>& environment() const;
102  std::map<xtd::ustring, xtd::ustring>& environment();
103 
107  const std::map<xtd::ustring, xtd::ustring>& environment_variables() const;
111  std::map<xtd::ustring, xtd::ustring>& environment_variables();
112 
116  bool error_dialog() const;
121  process_start_info& error_dialog(bool value);
122 
126  intptr_t error_dialog_parent_handle() const;
131  process_start_info& error_dialog_parent_handle(intptr_t value);
132 
137  const xtd::ustring& file_name() const;
143  process_start_info& file_name(const xtd::ustring& value);
145  process_start_info& file_name(const char* value);
147 
152  bool load_user_profile() const;
158  process_start_info& load_user_profile(bool value);
159 
167  const xtd::security::secure_string& password() const;
176  process_start_info& password(const xtd::security::secure_string& value);
177 
180  xtd::ustring password_in_clear_text() const;
184  process_start_info& password_in_clear_text(const xtd::ustring& value);
185 
293  bool redirect_standard_error() const;
402  process_start_info& redirect_standard_error(bool value);
403 
466  bool redirect_standard_input() const;
530  process_start_info& redirect_standard_input(bool value);
531 
654  bool redirect_standard_output() const;
778  process_start_info& redirect_standard_output(bool value);
779 
785  const xtd::ustring& user_name() const;
792  process_start_info& user_name(const xtd::ustring& value);
793 
802  bool use_shell_execute() const;
812  process_start_info& use_shell_execute(bool value);
813 
818  xtd::ustring verb() const;
824  process_start_info& verb(const xtd::ustring& value);
825 
830  std::vector<xtd::ustring> verbs() const;
831 
835  xtd::diagnostics::process_window_style window_style() const;
840  process_start_info& window_style(xtd::diagnostics::process_window_style value);
841 
850  const xtd::ustring& working_directory() const;
860  process_start_info& working_directory(const xtd::ustring& value);
862 
863  private:
864  xtd::ustring file_name_;
865  xtd::ustring arguments_;
866  bool create_no_window_ = false;
867  xtd::ustring domain_;
868  bool error_dialog_ = false;
869  intptr_t error_dialog_parent_handle_ = 0;
870  std::map<xtd::ustring, xtd::ustring> environment_variables_;
871  bool load_user_profile_ = false;
873  bool redirect_standard_error_ = false;
874  bool redirect_standard_input_ = false;
875  bool redirect_standard_output_ = false;
876  xtd::ustring user_name_;
877  bool use_shell_execute_ = true;
878  xtd::ustring verb_;
880  xtd::ustring working_directory_;
881  };
882  }
883 }
The xtd namespace contains all fundamental classes to access Hardware, Os, System, and more.
Definition: system_report.h:17
Contains xtd::diagnostics::process_window_style enum class.
Represents text as a sequence of UTF-8 code units.
Definition: ustring.h:50
Specifies that the process has no special scheduling needs.
process_window_style
Specified how a new window should appear when the system starts a process.
Definition: process_window_style.h:20
Supports all classes in the xtd class hierarchy and provides low-level services to derived classes...
Definition: object.h:30
Represents text that should be kept confidential, such as by deleting it from computer memory when no...
Definition: secure_string.h:18
The environment class.
Definition: environment.h:34
Specifies a set of values that are used when you start a process.
Definition: process_start_info.h:35