📄 classphttpserviceprocess.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>PHTTPServiceProcess class Reference</title><link href="doxygen.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.2.18 --><center><a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="namespaces.html">Namespace List</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="annotated.html">Compound List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Compound Members</a> <a class="qindex" href="globals.html">File Members</a> </center><hr><h1>PHTTPServiceProcess Class Reference</h1><code>#include <<a class="el" href="httpsvc_8h-source.html">httpsvc.h</a>></code><p><p>Inheritance diagram for PHTTPServiceProcess:<p><center><img src="classPHTTPServiceProcess.png" usemap="#PHTTPServiceProcess_map" border="0" alt=""></center><map name="PHTTPServiceProcess_map"><area href="classPServiceProcess.html" alt="PServiceProcess" shape="rect" coords="0,168,182,192"><area href="classPProcess.html" alt="PProcess" shape="rect" coords="0,112,182,136"><area href="classPThread.html" alt="PThread" shape="rect" coords="0,56,182,80"><area href="classPObject.html" alt="PObject" shape="rect" coords="0,0,182,24"><area href="classPSecureHTTPServiceProcess.html" alt="PSecureHTTPServiceProcess" shape="rect" coords="0,280,182,304"></map><a href="classPHTTPServiceProcess-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0><tr><td></td></tr><tr><td colspan=2><br><h2>Public Types</h2></td></tr><tr><td nowrap align=right valign=top>enum </td><td valign=bottom>{ <a class="el" href="classPHTTPServiceProcess.html#s1s0">MaxSecuredKeys</a> = 10 }</td></tr><tr><td colspan=2><br><h2>Public Methods</h2></td></tr><tr><td nowrap align=right valign=top> </td><td valign=bottom><a class="el" href="classPHTTPServiceProcess.html#a0">PHTTPServiceProcess</a> (const <a class="el" href="structPHTTPServiceProcess_1_1Info.html">Info</a> &inf)</td></tr><tr><td nowrap align=right valign=top> </td><td valign=bottom><a class="el" href="classPHTTPServiceProcess.html#a1">~PHTTPServiceProcess</a> ()</td></tr><tr><td nowrap align=right valign=top>BOOL </td><td valign=bottom><a class="el" href="classPHTTPServiceProcess.html#a2">OnStart</a> ()</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classPHTTPServiceProcess.html#a3">OnStop</a> ()</td></tr><tr><td nowrap align=right valign=top>BOOL </td><td valign=bottom><a class="el" href="classPHTTPServiceProcess.html#a4">OnPause</a> ()</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classPHTTPServiceProcess.html#a5">OnContinue</a> ()</td></tr><tr><td nowrap align=right valign=top>const char * </td><td valign=bottom><a class="el" href="classPHTTPServiceProcess.html#a6">GetServiceDependencies</a> () const</td></tr><tr><td nowrap align=right valign=top>virtual void </td><td valign=bottom><a class="el" href="classPHTTPServiceProcess.html#a7">OnConfigChanged</a> ()=0</td></tr><tr><td nowrap align=right valign=top>virtual BOOL </td><td valign=bottom><a class="el" href="classPHTTPServiceProcess.html#a8">Initialise</a> (const char *initMsg)=0</td></tr><tr><td nowrap align=right valign=top>BOOL </td><td valign=bottom><a class="el" href="classPHTTPServiceProcess.html#a9">ListenForHTTP</a> (WORD port, <a class="el" href="classPSocket.html#z369_0">PSocket::Reusability</a> reuse=PSocket::CanReuseAddress, PINDEX stackSize=0x4000)</td></tr><tr><td nowrap align=right valign=top>BOOL </td><td valign=bottom><a class="el" href="classPHTTPServiceProcess.html#a10">ListenForHTTP</a> (<a class="el" href="classPSocket.html">PSocket</a> *listener, <a class="el" href="classPSocket.html#z369_0">PSocket::Reusability</a> reuse=PSocket::CanReuseAddress, PINDEX stackSize=0x4000)</td></tr><tr><td nowrap align=right valign=top>virtual <a class="el" href="classPString.html">PString</a> </td><td valign=bottom><a class="el" href="classPHTTPServiceProcess.html#a11">GetPageGraphic</a> ()</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classPHTTPServiceProcess.html#a12">GetPageHeader</a> (<a class="el" href="classPHTML.html">PHTML</a> &)</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classPHTTPServiceProcess.html#a13">GetPageHeader</a> (<a class="el" href="classPHTML.html">PHTML</a> &, const <a class="el" href="classPString.html">PString</a> &title)</td></tr><tr><td nowrap align=right valign=top>virtual <a class="el" href="classPString.html">PString</a> </td><td valign=bottom><a class="el" href="classPHTTPServiceProcess.html#a14">GetCopyrightText</a> ()</td></tr><tr><td nowrap align=right valign=top>const <a class="el" href="classPString.html">PString</a> & </td><td valign=bottom><a class="el" href="classPHTTPServiceProcess.html#a15">GetMacroKeyword</a> () const</td></tr><tr><td nowrap align=right valign=top>const <a class="el" href="classPTime.html">PTime</a> & </td><td valign=bottom><a class="el" href="classPHTTPServiceProcess.html#a16">GetCompilationDate</a> () const</td></tr><tr><td nowrap align=right valign=top>const <a class="el" href="classPString.html">PString</a> & </td><td valign=bottom><a class="el" href="classPHTTPServiceProcess.html#a17">GetHomePage</a> () const</td></tr><tr><td nowrap align=right valign=top>const <a class="el" href="classPString.html">PString</a> & </td><td valign=bottom><a class="el" href="classPHTTPServiceProcess.html#a18">GetEMailAddress</a> () const</td></tr><tr><td nowrap align=right valign=top>const <a class="el" href="classPString.html">PString</a> & </td><td valign=bottom><a class="el" href="classPHTTPServiceProcess.html#a19">GetProductName</a> () const</td></tr><tr><td nowrap align=right valign=top>const <a class="el" href="structPTEACypher_1_1Key.html">PTEACypher::Key</a> & </td><td valign=bottom><a class="el" href="classPHTTPServiceProcess.html#a20">GetProductKey</a> () const</td></tr><tr><td nowrap align=right valign=top>const <a class="el" href="classPStringArray.html">PStringArray</a> & </td><td valign=bottom><a class="el" href="classPHTTPServiceProcess.html#a21">GetSecuredKeys</a> () const</td></tr><tr><td nowrap align=right valign=top>const <a class="el" href="structPTEACypher_1_1Key.html">PTEACypher::Key</a> & </td><td valign=bottom><a class="el" href="classPHTTPServiceProcess.html#a22">GetSignatureKey</a> () const</td></tr><tr><td nowrap align=right valign=top>BOOL </td><td valign=bottom><a class="el" href="classPHTTPServiceProcess.html#a23">ShouldIgnoreSignatures</a> () const</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classPHTTPServiceProcess.html#a24">SetIgnoreSignatures</a> (BOOL ig)</td></tr><tr><td nowrap align=right valign=top>virtual void </td><td valign=bottom><a class="el" href="classPHTTPServiceProcess.html#a25">AddRegisteredText</a> (<a class="el" href="classPHTML.html">PHTML</a> &html)</td></tr><tr><td nowrap align=right valign=top>virtual void </td><td valign=bottom><a class="el" href="classPHTTPServiceProcess.html#a26">AddUnregisteredText</a> (<a class="el" href="classPHTML.html">PHTML</a> &html)</td></tr><tr><td nowrap align=right valign=top>virtual BOOL </td><td valign=bottom><a class="el" href="classPHTTPServiceProcess.html#a27">SubstituteEquivalSequence</a> (<a class="el" href="classPHTTPRequest.html">PHTTPRequest</a> &request, const <a class="el" href="classPString.html">PString</a> &, <a class="el" href="classPString.html">PString</a> &)</td></tr><tr><td nowrap align=right valign=top>virtual <a class="el" href="classPHTTPServer.html">PHTTPServer</a> * </td><td valign=bottom><a class="el" href="classPHTTPServiceProcess.html#a28">CreateHTTPServer</a> (<a class="el" href="classPTCPSocket.html">PTCPSocket</a> &socket)</td></tr><tr><td nowrap align=right valign=top>virtual <a class="el" href="classPHTTPServer.html">PHTTPServer</a> * </td><td valign=bottom><a class="el" href="classPHTTPServiceProcess.html#a29">OnCreateHTTPServer</a> (const <a class="el" href="classPHTTPSpace.html">PHTTPSpace</a> &urlSpace)</td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPTCPSocket.html">PTCPSocket</a> * </td><td valign=bottom><a class="el" href="classPHTTPServiceProcess.html#a30">AcceptHTTP</a> ()</td></tr><tr><td nowrap align=right valign=top>BOOL </td><td valign=bottom><a class="el" href="classPHTTPServiceProcess.html#a31">ProcessHTTP</a> (<a class="el" href="classPTCPSocket.html">PTCPSocket</a> &socket)</td></tr><tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr><tr><td nowrap align=right valign=top>PHTTPServiceProcess & </td><td valign=bottom><a class="el" href="classPHTTPServiceProcess.html#d0">Current</a> ()</td></tr><tr><td colspan=2><br><h2>Protected Methods</h2></td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classPHTTPServiceProcess.html#b0">ShutdownListener</a> ()</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classPHTTPServiceProcess.html#b1">BeginRestartSystem</a> ()</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classPHTTPServiceProcess.html#b2">CompleteRestartSystem</a> ()</td></tr><tr><td nowrap align=right valign=top> </td><td valign=bottom><a class="el" href="classPHTTPServiceProcess.html#b3">PLIST</a> (ThreadList, <a class="el" href="classPHTTPServiceThread.html">PHTTPServiceThread</a>)</td></tr><tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPSocket.html">PSocket</a> * </td><td valign=bottom><a class="el" href="classPHTTPServiceProcess.html#n0">httpListeningSocket</a></td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPHTTPSpace.html">PHTTPSpace</a> </td><td valign=bottom><a class="el" href="classPHTTPServiceProcess.html#n1">httpNameSpace</a></td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPString.html">PString</a> </td><td valign=bottom><a class="el" href="classPHTTPServiceProcess.html#n2">macroKeyword</a></td></tr><tr><td nowrap align=right valign=top><a class="el" href="structPTEACypher_1_1Key.html">PTEACypher::Key</a> </td><td valign=bottom><a class="el" href="classPHTTPServiceProcess.html#n3">productKey</a></td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPStringArray.html">PStringArray</a> </td><td valign=bottom><a class="el" href="classPHTTPServiceProcess.html#n4">securedKeys</a></td></tr><tr><td nowrap align=right valign=top><a class="el" href="structPTEACypher_1_1Key.html">PTEACypher::Key</a> </td><td valign=bottom><a class="el" href="classPHTTPServiceProcess.html#n5">signatureKey</a></td></tr><tr><td nowrap align=right valign=top>BOOL </td><td valign=bottom><a class="el" href="classPHTTPServiceProcess.html#n6">ignoreSignatures</a></td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPTime.html">PTime</a> </td><td valign=bottom><a class="el" href="classPHTTPServiceProcess.html#n7">compilationDate</a></td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPString.html">PString</a> </td><td valign=bottom><a class="el" href="classPHTTPServiceProcess.html#n8">manufacturersHomePage</a></td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPString.html">PString</a> </td><td valign=bottom><a class="el" href="classPHTTPServiceProcess.html#n9">manufacturersEmail</a></td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPString.html">PString</a> </td><td valign=bottom><a class="el" href="classPHTTPServiceProcess.html#n10">productNameHTML</a></td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPString.html">PString</a> </td><td valign=bottom><a class="el" href="classPHTTPServiceProcess.html#n11">gifHTML</a></td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPString.html">PString</a> </td><td valign=bottom><a class="el" href="classPHTTPServiceProcess.html#n12">copyrightHolder</a></td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPString.html">PString</a> </td><td valign=bottom><a class="el" href="classPHTTPServiceProcess.html#n13">copyrightHomePage</a></td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPString.html">PString</a> </td><td valign=bottom><a class="el" href="classPHTTPServiceProcess.html#n14">copyrightEmail</a></td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPThread.html">PThread</a> * </td><td valign=bottom><a class="el" href="classPHTTPServiceProcess.html#n15">restartThread</a></td></tr><tr><td nowrap align=right valign=top>ThreadList </td><td valign=bottom><a class="el" href="classPHTTPServiceProcess.html#n16">httpThreads</a></td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPMutex.html">PMutex</a> </td><td valign=bottom><a class="el" href="classPHTTPServiceProcess.html#n17">httpThreadsMutex</a></td></tr><tr><td colspan=2><br><h2>Friends</h2></td></tr><tr><td nowrap align=right valign=top>class </td><td valign=bottom><a class="el" href="classPHTTPServiceProcess.html#l0">PConfigPage</a></td></tr><tr><td nowrap align=right valign=top>class </td><td valign=bottom><a class="el" href="classPHTTPServiceProcess.html#l1">PConfigSectionsPage</a></td></tr><tr><td nowrap align=right valign=top>class </td><td valign=bottom><a class="el" href="classPHTTPServiceProcess.html#l2">PHTTPServiceThread</a></td></tr></table><hr><h2>Member Enumeration Documentation</h2><a name="s1" doxytag="PHTTPServiceProcess::@17"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> anonymous enum </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p><dl compact><dt><b>Enumeration values: </b></dt><dd><table border=0 cellspacing=2 cellpadding=0><tr><td valign=top><em><a name="s1s0" doxytag="MaxSecuredKeys"></a><em>MaxSecuredKeys</em></em> </td><td></td></tr></table></dl> </td> </tr></table><hr><h2>Constructor & Destructor Documentation</h2><a name="a0" doxytag="PHTTPServiceProcess::PHTTPServiceProcess"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> PHTTPServiceProcess::PHTTPServiceProcess </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">const <a class="el" href="structPHTTPServiceProcess_1_1Info.html">Info</a> & </td> <td class="mdname1" valign="top" nowrap> <em>inf</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p> </td> </tr></table><a name="a1" doxytag="PHTTPServiceProcess::~PHTTPServiceProcess"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> PHTTPServiceProcess::~PHTTPServiceProcess </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p> </td> </tr></table><hr><h2>Member Function Documentation</h2><a name="a30" doxytag="PHTTPServiceProcess::AcceptHTTP"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> <a class="el" href="classPTCPSocket.html">PTCPSocket</a>* PHTTPServiceProcess::AcceptHTTP </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p> </td> </tr></table><a name="a25" doxytag="PHTTPServiceProcess::AddRegisteredText"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> virtual void PHTTPServiceProcess::AddRegisteredText </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="classPHTML.html">PHTML</a> & </td> <td class="mdname1" valign="top" nowrap> <em>html</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap><code> [virtual]</code></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p> </td> </tr></table><a name="a26" doxytag="PHTTPServiceProcess::AddUnregisteredText"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> virtual void PHTTPServiceProcess::AddUnregisteredText </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="classPHTML.html">PHTML</a> & </td> <td class="mdname1" valign="top" nowrap> <em>html</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap><code> [virtual]</code></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p> </td> </tr></table><a name="b1" doxytag="PHTTPServiceProcess::BeginRestartSystem"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> void PHTTPServiceProcess::BeginRestartSystem </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap><code> [protected]</code></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p> </td> </tr></table><a name="b2" doxytag="PHTTPServiceProcess::CompleteRestartSystem"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> void PHTTPServiceProcess::CompleteRestartSystem </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap><code> [protected]</code></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p> </td> </tr></table><a name="a28" doxytag="PHTTPServiceProcess::CreateHTTPServer"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> virtual <a class="el" href="classPHTTPServer.html">PHTTPServer</a>* PHTTPServiceProcess::CreateHTTPServer </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="classPTCPSocket.html">PTCPSocket</a> & </td> <td class="mdname1" valign="top" nowrap> <em>socket</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap><code> [virtual]</code></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p><p>Reimplemented in <a class="el" href="classPSecureHTTPServiceProcess.html#a2">PSecureHTTPServiceProcess</a>. </td> </tr></table><a name="d0" doxytag="PHTTPServiceProcess::Current"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> PHTTPServiceProcess& PHTTPServiceProcess::Current </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap><code> [static]</code></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>Get the current service process object.<p><dl compact><dt><b>Returns: </b></dt><dd> Pointer to service process. </dl><p>Reimplemented from <a class="el" href="classPServiceProcess.html#z411_2">PServiceProcess</a>. </td> </tr></table><a name="a16" doxytag="PHTTPServiceProcess::GetCompilationDate"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> const <a class="el" href="classPTime.html">PTime</a>& PHTTPServiceProcess::GetCompilationDate </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap> const<code> [inline]</code></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p> </td> </tr></table><a name="a14" doxytag="PHTTPServiceProcess::GetCopyrightText"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> virtual <a class="el" href="classPString.html">PString</a> PHTTPServiceProcess::GetCopyrightText </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap><code> [virtual]</code></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -