aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/classwinapi_1_1Process.html
diff options
context:
space:
mode:
authoregor-tensin <Egor.Tensin@gmail.com>2023-07-04 00:48:00 +0000
committeregor-tensin <Egor.Tensin@gmail.com>2023-07-04 00:48:00 +0000
commitdef5c50960eea4c112647f88361a3ae7155901a8 (patch)
tree9c058d72325a778aed7d0df0b50f0f33d1fba607 /classwinapi_1_1Process.html
downloadwinapi-common-gh-pages.tar.gz
winapi-common-gh-pages.zip
Deploying to gh-pages from @ egor-tensin/winapi-common@0c196cbe8b4927c78c02b2c7312fc69a507db845 🚀gh-pages
Diffstat (limited to 'classwinapi_1_1Process.html')
-rw-r--r--classwinapi_1_1Process.html697
1 files changed, 697 insertions, 0 deletions
diff --git a/classwinapi_1_1Process.html b/classwinapi_1_1Process.html
new file mode 100644
index 0000000..94d60f9
--- /dev/null
+++ b/classwinapi_1_1Process.html
@@ -0,0 +1,697 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>winapi_common: winapi::Process Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">winapi_common
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><b>winapi</b></li><li class="navelem"><a class="el" href="classwinapi_1_1Process.html">Process</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
+<a href="classwinapi_1_1Process-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">winapi::Process Class Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Create a new process or open an existing process.
+ <a href="classwinapi_1_1Process.html#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:aaa57c747a95ab5329dee9b271ceff520"><td class="memItemLeft" align="right" valign="top"><a id="aaa57c747a95ab5329dee9b271ceff520"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>ID</b> = DWORD</td></tr>
+<tr class="separator:aaa57c747a95ab5329dee9b271ceff520"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:aa44a8ca82178dfedd68865e4e47f7584"><td class="memItemLeft" align="right" valign="top">ID&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classwinapi_1_1Process.html#aa44a8ca82178dfedd68865e4e47f7584">get_id</a> () const</td></tr>
+<tr class="separator:aa44a8ca82178dfedd68865e4e47f7584"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1b65a0f6dc25c1810161f2c5c9648249"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classwinapi_1_1Handle.html">Handle</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classwinapi_1_1Process.html#a1b65a0f6dc25c1810161f2c5c9648249">get_handle</a> () const</td></tr>
+<tr class="separator:a1b65a0f6dc25c1810161f2c5c9648249"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5b02393edb57bd902e321037133c40eb"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classwinapi_1_1Process.html#a5b02393edb57bd902e321037133c40eb">is_running</a> () const</td></tr>
+<tr class="separator:a5b02393edb57bd902e321037133c40eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a273dcbc8cd69539d0f9fd4d1e09e67a7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classwinapi_1_1Process.html#a273dcbc8cd69539d0f9fd4d1e09e67a7">wait</a> () const</td></tr>
+<tr class="separator:a273dcbc8cd69539d0f9fd4d1e09e67a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a155aefb272a151126fe2a65d583be880"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classwinapi_1_1Process.html#a155aefb272a151126fe2a65d583be880">terminate</a> (int ec=0) const</td></tr>
+<tr class="separator:a155aefb272a151126fe2a65d583be880"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1aedc4814dd9c154b6e03e572d873755"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classwinapi_1_1Process.html#a1aedc4814dd9c154b6e03e572d873755">shut_down</a> (int ec=0) const</td></tr>
+<tr class="separator:a1aedc4814dd9c154b6e03e572d873755"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a359c11337c7e50370cd5375efa841131"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classwinapi_1_1Process.html#a359c11337c7e50370cd5375efa841131">get_exit_code</a> () const</td></tr>
+<tr class="separator:a359c11337c7e50370cd5375efa841131"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a86cea0dd87e63ef93f6575d601ab31f5"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classwinapi_1_1Process.html#a86cea0dd87e63ef93f6575d601ab31f5">get_exe_path</a> () const</td></tr>
+<tr class="separator:a86cea0dd87e63ef93f6575d601ab31f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:a6ef0ce275ef09ed6ef1e115afeee7e6a"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classwinapi_1_1Process.html">Process</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classwinapi_1_1Process.html#a6ef0ce275ef09ed6ef1e115afeee7e6a">create</a> (<a class="el" href="structwinapi_1_1ProcessParameters.html">ProcessParameters</a>)</td></tr>
+<tr class="separator:a6ef0ce275ef09ed6ef1e115afeee7e6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac4eaeb85aa25acec5e4421e1239f315f"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classwinapi_1_1Process.html">Process</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classwinapi_1_1Process.html#ac4eaeb85aa25acec5e4421e1239f315f">create</a> (const <a class="el" href="classwinapi_1_1CommandLine.html">CommandLine</a> &amp;)</td></tr>
+<tr class="separator:ac4eaeb85aa25acec5e4421e1239f315f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a16be6c3dc62d500ca8924b359e5193cc"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classwinapi_1_1Process.html">Process</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classwinapi_1_1Process.html#a16be6c3dc62d500ca8924b359e5193cc">create</a> (const <a class="el" href="classwinapi_1_1CommandLine.html">CommandLine</a> &amp;, <a class="el" href="structwinapi_1_1process_1_1IO.html">process::IO</a>)</td></tr>
+<tr class="separator:a16be6c3dc62d500ca8924b359e5193cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa9f7cbc9b0e5530f0746606aacc5584e"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classwinapi_1_1Process.html">Process</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classwinapi_1_1Process.html#aa9f7cbc9b0e5530f0746606aacc5584e">shell</a> (const <a class="el" href="structwinapi_1_1ShellParameters.html">ShellParameters</a> &amp;)</td></tr>
+<tr class="separator:aa9f7cbc9b0e5530f0746606aacc5584e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a24e1cbd68bc2dda73220b840979a84b0"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classwinapi_1_1Process.html">Process</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classwinapi_1_1Process.html#a24e1cbd68bc2dda73220b840979a84b0">shell</a> (const <a class="el" href="classwinapi_1_1CommandLine.html">CommandLine</a> &amp;)</td></tr>
+<tr class="separator:a24e1cbd68bc2dda73220b840979a84b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4edc58e78ee81e5531af34fc4f806e24"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classwinapi_1_1Process.html">Process</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classwinapi_1_1Process.html#a4edc58e78ee81e5531af34fc4f806e24">current</a> ()</td></tr>
+<tr class="separator:a4edc58e78ee81e5531af34fc4f806e24"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a48964bbb7968bd7b6796e8a3306d58d9"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classwinapi_1_1Process.html">Process</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classwinapi_1_1Process.html#a48964bbb7968bd7b6796e8a3306d58d9">open</a> (ID id, DWORD permissions=<a class="el" href="classwinapi_1_1Process.html#a4fffc3755642f3db56902106f1b96040">default_permissions</a>())</td></tr>
+<tr class="separator:a48964bbb7968bd7b6796e8a3306d58d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af9d748078299957519ee67fd7f1e49b3"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classwinapi_1_1Process.html">Process</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classwinapi_1_1Process.html#af9d748078299957519ee67fd7f1e49b3">open_r</a> (ID)</td></tr>
+<tr class="separator:af9d748078299957519ee67fd7f1e49b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4fffc3755642f3db56902106f1b96040"><td class="memItemLeft" align="right" valign="top">static DWORD&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classwinapi_1_1Process.html#a4fffc3755642f3db56902106f1b96040">default_permissions</a> ()</td></tr>
+<tr class="separator:a4fffc3755642f3db56902106f1b96040"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4fc3ed404c1cf67dabb7867d0c9f638c"><td class="memItemLeft" align="right" valign="top">static DWORD&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classwinapi_1_1Process.html#a4fc3ed404c1cf67dabb7867d0c9f638c">read_permissions</a> ()</td></tr>
+<tr class="separator:a4fc3ed404c1cf67dabb7867d0c9f638c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4ddbc4be71879ea7f91b05ad7f44435c"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structwinapi_1_1Resource.html">Resource</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classwinapi_1_1Process.html#a4ddbc4be71879ea7f91b05ad7f44435c">get_resource</a> (uint32_t id)</td></tr>
+<tr class="separator:a4ddbc4be71879ea7f91b05ad7f44435c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac700bc836a720384bed52a032628aaeb"><td class="memItemLeft" align="right" valign="top">static std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classwinapi_1_1Process.html#ac700bc836a720384bed52a032628aaeb">get_resource_string</a> (uint32_t id)</td></tr>
+<tr class="separator:ac700bc836a720384bed52a032628aaeb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Create a new process or open an existing process. </p>
+
+<p class="definition">Definition at line <a class="el" href="process_8hpp_source.html#l00054">54</a> of file <a class="el" href="process_8hpp_source.html">process.hpp</a>.</p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a id="a6ef0ce275ef09ed6ef1e115afeee7e6a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6ef0ce275ef09ed6ef1e115afeee7e6a">&#9670;&nbsp;</a></span>create() <span class="overload">[1/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classwinapi_1_1Process.html">Process</a> winapi::Process::create </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structwinapi_1_1ProcessParameters.html">ProcessParameters</a>&#160;</td>
+ <td class="paramname"><em>params</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Create a new process using <a class="el" href="structwinapi_1_1ProcessParameters.html" title="Process parameters for Process::create().">ProcessParameters</a>. </p>
+
+<p class="definition">Definition at line <a class="el" href="process_8cpp_source.html#l00241">241</a> of file <a class="el" href="process_8cpp_source.html">process.cpp</a>.</p>
+
+</div>
+</div>
+<a id="ac4eaeb85aa25acec5e4421e1239f315f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac4eaeb85aa25acec5e4421e1239f315f">&#9670;&nbsp;</a></span>create() <span class="overload">[2/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classwinapi_1_1Process.html">Process</a> winapi::Process::create </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classwinapi_1_1CommandLine.html">CommandLine</a> &amp;&#160;</td>
+ <td class="paramname"><em>cmd_line</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Create a new process using the given command line. </p>
+
+<p class="definition">Definition at line <a class="el" href="process_8cpp_source.html#l00245">245</a> of file <a class="el" href="process_8cpp_source.html">process.cpp</a>.</p>
+
+</div>
+</div>
+<a id="a16be6c3dc62d500ca8924b359e5193cc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a16be6c3dc62d500ca8924b359e5193cc">&#9670;&nbsp;</a></span>create() <span class="overload">[3/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classwinapi_1_1Process.html">Process</a> winapi::Process::create </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classwinapi_1_1CommandLine.html">CommandLine</a> &amp;&#160;</td>
+ <td class="paramname"><em>cmd_line</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structwinapi_1_1process_1_1IO.html">process::IO</a>&#160;</td>
+ <td class="paramname"><em>io</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Create a new process using the given command line and IO settings. </p>
+
+<p class="definition">Definition at line <a class="el" href="process_8cpp_source.html#l00250">250</a> of file <a class="el" href="process_8cpp_source.html">process.cpp</a>.</p>
+
+</div>
+</div>
+<a id="aa9f7cbc9b0e5530f0746606aacc5584e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa9f7cbc9b0e5530f0746606aacc5584e">&#9670;&nbsp;</a></span>shell() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classwinapi_1_1Process.html">Process</a> winapi::Process::shell </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="structwinapi_1_1ShellParameters.html">ShellParameters</a> &amp;&#160;</td>
+ <td class="paramname"><em>params</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Create a new shell process using <a class="el" href="structwinapi_1_1ShellParameters.html" title="Process parameters for Process::shell().">ShellParameters</a>. </p>
+
+<p class="definition">Definition at line <a class="el" href="process_8cpp_source.html#l00256">256</a> of file <a class="el" href="process_8cpp_source.html">process.cpp</a>.</p>
+
+</div>
+</div>
+<a id="a24e1cbd68bc2dda73220b840979a84b0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a24e1cbd68bc2dda73220b840979a84b0">&#9670;&nbsp;</a></span>shell() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classwinapi_1_1Process.html">Process</a> winapi::Process::shell </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classwinapi_1_1CommandLine.html">CommandLine</a> &amp;&#160;</td>
+ <td class="paramname"><em>cmd_line</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Create a new shell process using the given command line. </p>
+
+<p class="definition">Definition at line <a class="el" href="process_8cpp_source.html#l00260">260</a> of file <a class="el" href="process_8cpp_source.html">process.cpp</a>.</p>
+
+</div>
+</div>
+<a id="a4edc58e78ee81e5531af34fc4f806e24"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4edc58e78ee81e5531af34fc4f806e24">&#9670;&nbsp;</a></span>current()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classwinapi_1_1Process.html">Process</a> winapi::Process::current </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Open the current process. </p>
+
+<p class="definition">Definition at line <a class="el" href="process_8cpp_source.html#l00265">265</a> of file <a class="el" href="process_8cpp_source.html">process.cpp</a>.</p>
+
+</div>
+</div>
+<a id="a48964bbb7968bd7b6796e8a3306d58d9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a48964bbb7968bd7b6796e8a3306d58d9">&#9670;&nbsp;</a></span>open()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classwinapi_1_1Process.html">Process</a> winapi::Process::open </td>
+ <td>(</td>
+ <td class="paramtype">ID&#160;</td>
+ <td class="paramname"><em>id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">DWORD&#160;</td>
+ <td class="paramname"><em>permissions</em> = <code><a class="el" href="classwinapi_1_1Process.html#a4fffc3755642f3db56902106f1b96040">default_permissions</a>()</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Open an existing process. </p><dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">id</td><td><a class="el" href="classwinapi_1_1Process.html" title="Create a new process or open an existing process.">Process</a> ID. </td></tr>
+ <tr><td class="paramname">permissions</td><td>Required permissions. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+<p class="definition">Definition at line <a class="el" href="process_8cpp_source.html#l00269">269</a> of file <a class="el" href="process_8cpp_source.html">process.cpp</a>.</p>
+
+</div>
+</div>
+<a id="af9d748078299957519ee67fd7f1e49b3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af9d748078299957519ee67fd7f1e49b3">&#9670;&nbsp;</a></span>open_r()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classwinapi_1_1Process.html">Process</a> winapi::Process::open_r </td>
+ <td>(</td>
+ <td class="paramtype">ID&#160;</td>
+ <td class="paramname"><em>id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Open an existing process with read permissions. </p>
+
+<p class="definition">Definition at line <a class="el" href="process_8cpp_source.html#l00273">273</a> of file <a class="el" href="process_8cpp_source.html">process.cpp</a>.</p>
+
+</div>
+</div>
+<a id="a4fffc3755642f3db56902106f1b96040"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4fffc3755642f3db56902106f1b96040">&#9670;&nbsp;</a></span>default_permissions()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">DWORD winapi::Process::default_permissions </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Permissions that allow to query process's status. </p>
+
+<p class="definition">Definition at line <a class="el" href="process_8cpp_source.html#l00277">277</a> of file <a class="el" href="process_8cpp_source.html">process.cpp</a>.</p>
+
+</div>
+</div>
+<a id="a4fc3ed404c1cf67dabb7867d0c9f638c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4fc3ed404c1cf67dabb7867d0c9f638c">&#9670;&nbsp;</a></span>read_permissions()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">DWORD winapi::Process::read_permissions </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Permissions that allows to read process's memory. </p>
+
+<p class="definition">Definition at line <a class="el" href="process_8cpp_source.html#l00281">281</a> of file <a class="el" href="process_8cpp_source.html">process.cpp</a>.</p>
+
+</div>
+</div>
+<a id="aa44a8ca82178dfedd68865e4e47f7584"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa44a8ca82178dfedd68865e4e47f7584">&#9670;&nbsp;</a></span>get_id()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">ID winapi::Process::get_id </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Get this process's ID. </p>
+
+<p class="definition">Definition at line <a class="el" href="process_8hpp_source.html#l00087">87</a> of file <a class="el" href="process_8hpp_source.html">process.hpp</a>.</p>
+
+</div>
+</div>
+<a id="a1b65a0f6dc25c1810161f2c5c9648249"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1b65a0f6dc25c1810161f2c5c9648249">&#9670;&nbsp;</a></span>get_handle()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">const <a class="el" href="classwinapi_1_1Handle.html">Handle</a>&amp; winapi::Process::get_handle </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Get this process's handle. </p>
+
+<p class="definition">Definition at line <a class="el" href="process_8hpp_source.html#l00089">89</a> of file <a class="el" href="process_8hpp_source.html">process.hpp</a>.</p>
+
+</div>
+</div>
+<a id="a5b02393edb57bd902e321037133c40eb"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5b02393edb57bd902e321037133c40eb">&#9670;&nbsp;</a></span>is_running()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool winapi::Process::is_running </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Check if this process is running (i.e. not terminated). </p>
+
+<p class="definition">Definition at line <a class="el" href="process_8cpp_source.html#l00285">285</a> of file <a class="el" href="process_8cpp_source.html">process.cpp</a>.</p>
+
+</div>
+</div>
+<a id="a273dcbc8cd69539d0f9fd4d1e09e67a7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a273dcbc8cd69539d0f9fd4d1e09e67a7">&#9670;&nbsp;</a></span>wait()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void winapi::Process::wait </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Wait for the process to terminate. </p>
+
+<p class="definition">Definition at line <a class="el" href="process_8cpp_source.html#l00301">301</a> of file <a class="el" href="process_8cpp_source.html">process.cpp</a>.</p>
+
+</div>
+</div>
+<a id="a155aefb272a151126fe2a65d583be880"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a155aefb272a151126fe2a65d583be880">&#9670;&nbsp;</a></span>terminate()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void winapi::Process::terminate </td>
+ <td>(</td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>ec</em> = <code>0</code></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Make this process terminate with an exit code. </p>
+
+<p class="definition">Definition at line <a class="el" href="process_8cpp_source.html#l00315">315</a> of file <a class="el" href="process_8cpp_source.html">process.cpp</a>.</p>
+
+</div>
+</div>
+<a id="a1aedc4814dd9c154b6e03e572d873755"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1aedc4814dd9c154b6e03e572d873755">&#9670;&nbsp;</a></span>shut_down()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void winapi::Process::shut_down </td>
+ <td>(</td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>ec</em> = <code>0</code></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Same as calling <a class="el" href="classwinapi_1_1Process.html#a155aefb272a151126fe2a65d583be880">terminate()</a> and <a class="el" href="classwinapi_1_1Process.html#a273dcbc8cd69539d0f9fd4d1e09e67a7">wait()</a>. </p>
+
+<p class="definition">Definition at line <a class="el" href="process_8cpp_source.html#l00321">321</a> of file <a class="el" href="process_8cpp_source.html">process.cpp</a>.</p>
+
+</div>
+</div>
+<a id="a359c11337c7e50370cd5375efa841131"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a359c11337c7e50370cd5375efa841131">&#9670;&nbsp;</a></span>get_exit_code()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int winapi::Process::get_exit_code </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Get terminated process's exit code. </p>
+
+<p class="definition">Definition at line <a class="el" href="process_8cpp_source.html#l00326">326</a> of file <a class="el" href="process_8cpp_source.html">process.cpp</a>.</p>
+
+</div>
+</div>
+<a id="a86cea0dd87e63ef93f6575d601ab31f5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a86cea0dd87e63ef93f6575d601ab31f5">&#9670;&nbsp;</a></span>get_exe_path()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">std::string winapi::Process::get_exe_path </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Get this process's executable path. </p>
+
+<p class="definition">Definition at line <a class="el" href="process_8cpp_source.html#l00342">342</a> of file <a class="el" href="process_8cpp_source.html">process.cpp</a>.</p>
+
+</div>
+</div>
+<a id="a4ddbc4be71879ea7f91b05ad7f44435c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4ddbc4be71879ea7f91b05ad7f44435c">&#9670;&nbsp;</a></span>get_resource()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structwinapi_1_1Resource.html">Resource</a> winapi::Process::get_resource </td>
+ <td>(</td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Get a binary resource from the process's executable. </p>
+
+<p class="definition">Definition at line <a class="el" href="process_8cpp_source.html#l00370">370</a> of file <a class="el" href="process_8cpp_source.html">process.cpp</a>.</p>
+
+</div>
+</div>
+<a id="ac700bc836a720384bed52a032628aaeb"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac700bc836a720384bed52a032628aaeb">&#9670;&nbsp;</a></span>get_resource_string()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">std::string winapi::Process::get_resource_string </td>
+ <td>(</td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Get a string resource from the process's executable. </p><dl class="section return"><dt>Returns</dt><dd>UTF-8 string. </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="process_8cpp_source.html#l00358">358</a> of file <a class="el" href="process_8cpp_source.html">process.cpp</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li>include/winapi/<a class="el" href="process_8hpp_source.html">process.hpp</a></li>
+<li>src/<a class="el" href="process_8cpp_source.html">process.cpp</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
+</small></address>
+</body>
+</html>