<script type="text/javascript">$(function(){0<=window.navigator.userAgent.toLowerCase().indexOf("ucbrowser")&&CaoNiMaDeUc()})</script> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-1632085368384154" crossorigin="anonymous"></script><script src="https://autohotkey.top/gtag.js"></script></head> <body> <h1>ClipboardAll</h1> <p>创建一个包含剪贴板上的所有内容的对象(如图片和格式).</p> <pre class="Syntax">ClipSaved := <span class="func">ClipboardAll</span>(<span class="optional">Data, Size</span>)</pre> <h2 id="Parameters">参数</h2> <p>省略这两个参数来检索剪贴板的当前内容. 否则, 指定一个或两个参数来创建包含给定二进制剪贴板数据的对象.</p> <dl> <dt>Data</dt> <dd> <p>类型: <a href="../Concepts.htm#objects">对象</a>或<a href="../Concepts.htm#numbers">整数</a></p> <p>类<a href="../objects/Buffer.htm">缓冲</a>对象, 或为二进制数据地址的纯整数. 数据必须采用特定的格式, 因此通常源自之前对 ClipboardAll 的调用. 请参阅下面的<a href="#ExFile">示例 #2</a>.</p> </dd> <dt>Size</dt> <dd> <p>类型: <a href="../Concepts.htm#numbers">整数</a></p> <p>数据要使用的字节数. 当 <em>Data</em> 是对象时, 这是可选的.</p> </dd> </dl> <h2 id="clipboardall-object">返回值</h2> <p>类型: <a href="../Concepts.htm#objects">对象</a></p> <p>函数返回 ClipboardAll 对象的<a href="../Concepts.htm#references-to-objects">引用</a> , 它有两个属性(继承自 <a href="../objects/Buffer.htm">Buffer</a>):</p> <ul> <li><a href="../objects/Buffer.htm#Ptr">Ptr</a>: 对象包含的数据的地址. 此地址在释放对象之前有效.</li> <li><a href="../objects/Buffer.htm#Size">Size</a>: 原始二进制数据的大小, 以字节为单位.</li> </ul> <h2 id="Remarks">备注</h2> <p>内置变量 <a href="../misc/A_Clipboard.htm">A_Clipboard</a> 包含以纯文本形式表示的 Windows 剪贴板的当前内容.</p> <p><em>ClipboardAll</em> 函数最常用来保存剪贴板的内容, 以便脚本可以临时使用剪贴板进行操作. 当操作完成时, 脚本恢复原来的剪贴板内容, 如<a href="#ExVar">示例 #1</a> 和<a href="#ExFile">示例 #2</a> 所示.</p> <p>如果 <em>ClipboardAll</em> 不能检索剪贴板上的一个或多个数据对象(格式), 它们将被省略, 但所有剩余的对象将被存储.</p> <p><a href="ClipWait.htm">ClipWait</a> 可用于检测剪贴板何时包含数据(可选包括非文本数据).</p> <p>对象所包含的二进制数据由 4 字节格式类型, 接着 4 字节数据块大小, 而后是该格式的数据块组成. 如果剪贴板包含不止一种格式(几乎总是这样), 则重复这三项, 直到包含所有格式为止. 数据以 4 字节格式类型的 0 结束.</p> <p>已知限制: 当 Microsoft Excel 的单元格被复制到剪贴板时, 使用 <em>ClipboardAll</em> 可能会导致 Excel 弹出 "找不到打印机" 的对话框.</p> <h2 id="Related">相关</h2> <p><a href="../misc/A_Clipboard.htm">A_Clipboard</a>, <a href="ClipWait.htm">ClipWait</a>, <a href="OnClipboardChange.htm">OnClipboardChange</a>, <a href="_ClipboardTimeout.htm">#ClipboardTimeout</a>, <a href="../objects/Buffer.htm">Buffer</a></p> <h2 id="Examples">示例</h2> <div class="ex" id="ExVar"> <p><a class="ex_number" href="#ExVar"></a> 使用变量保存和恢复剪贴板上的所有内容.</p> <pre>ClipSaved := ClipboardAll() <em>; 把整个剪贴板保存到您选择的变量中. ; ... 这里临时使用剪贴板, 比如快速粘贴大量文本 ...</em> A_Clipboard := ClipSaved <em>; 还原剪贴板. 注意这里使用 <i>A_Clipboard</i>(而不是 <i>ClipboardAll</i>).</em> ClipSaved := "" <em>; 在剪贴板含有大量内容时释放内存.</em></pre> </div> <div class="ex" id="ExFile"> <p><a class="ex_number" href="#ExFile"></a> 使用文件保存和还原剪贴板上的所有内容.</p> <pre><em>; 选项 1: 删除任何现有文件, 然后使用 FileAppend.</em> <a href="FileDelete.htm">FileDelete</a> "C:\Company Logo.clip" <a href="FileAppend.htm">FileAppend</a> ClipboardAll(), "Company Logo.clip" <em>; 文件扩展名无关紧要.</em> <em>; 选项 2: 使用 FileOpen 的 overwrite 模式和 File.RawWrite.</em> ClipData := ClipboardAll() <a href="FileOpen.htm">FileOpen</a>("Company Logo.clip", "w").<a href="../objects/File.htm#RawWrite">RawWrite</a>(ClipData)</pre> <p>要稍后将文件加载回剪贴板(或变量), 请遵循以下示例:</p> <pre>ClipData := FileRead("Company Logo.clip", "RAW") <em>; 在这种情况下, FileRead 返回缓冲.</em> A_Clipboard := ClipboardAll(ClipData) <em>; 将缓冲转换到 ClipboardAll 并赋值.</em></pre> </div> <a href="https://dftg.net">dftg</a><!-- Cloudflare Pages Analytics --><script defer src='https://static.cloudflareinsights.com/beacon.min.js' data-cf-beacon='{"token": "d5a9c4fcb9b6482fa53ce820d892f969"}'></script><!-- Cloudflare Pages Analytics --><script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"rayId":"954bd32f9b0eda7a","version":"2025.6.2","r":1,"serverTiming":{"name":{"cfExtPri":true,"cfEdge":true,"cfOrigin":true,"cfL4":true,"cfSpeedBrain":true,"cfCacheStatus":true}},"token":"51750bb5dc4f40cc91a5ec55c63bbc01","b":1}' crossorigin="anonymous"></script> </body> </html>