clipboard.html
来自「perl教程」· HTML 代码 · 共 287 行
HTML
287 行
<?xml version="1.0" ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<!-- saved from url=(0017)http://localhost/ -->
<script language="JavaScript" src="../../displayToc.js"></script>
<script language="JavaScript" src="../../tocParas.js"></script>
<script language="JavaScript" src="../../tocTab.js"></script>
<link rel="stylesheet" type="text/css" href="../../scineplex.css">
<title>Win32::Clipboard - Interaction with the Windows clipboard</title>
<link rel="stylesheet" href="../../Active.css" type="text/css" />
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link rev="made" href="mailto:" />
</head>
<body>
<script>writelinks('__top__',2);</script>
<h1><a>Win32::Clipboard - Interaction with the Windows clipboard</a></h1>
<p><a name="__index__"></a></p>
<!-- INDEX BEGIN -->
<ul>
<li><a href="#name">NAME</a></li>
<li><a href="#synopsis">SYNOPSIS</a></li>
<li><a href="#description">DESCRIPTION</a></li>
<ul>
<li><a href="#reference">REFERENCE</a></li>
<li><a href="#constants">CONSTANTS</a></li>
</ul>
<li><a href="#author">AUTHOR</a></li>
</ul>
<!-- INDEX END -->
<hr />
<p>
</p>
<h1><a name="name">NAME</a></h1>
<p>Win32::Clipboard - Interaction with the Windows clipboard</p>
<p>
</p>
<hr />
<h1><a name="synopsis">SYNOPSIS</a></h1>
<pre>
<span class="keyword">use</span> <span class="variable">Win32::Clipboard</span><span class="operator">;</span>
</pre>
<pre>
<span class="variable">$CLIP</span> <span class="operator">=</span> <span class="variable">Win32::Clipboard</span><span class="operator">();</span>
</pre>
<pre>
<span class="keyword">print</span> <span class="string">"Clipboard contains: "</span><span class="operator">,</span> <span class="variable">$CLIP</span><span class="operator">-></span><span class="variable">Get</span><span class="operator">(),</span> <span class="string">"\n"</span><span class="operator">;</span>
</pre>
<pre>
<span class="variable">$CLIP</span><span class="operator">-></span><span class="variable">Set</span><span class="operator">(</span><span class="string">"some text to copy into the clipboard"</span><span class="operator">);</span>
</pre>
<pre>
<span class="variable">$CLIP</span><span class="operator">-></span><span class="variable">Empty</span><span class="operator">();</span>
</pre>
<pre>
<span class="variable">$CLIP</span><span class="operator">-></span><span class="variable">WaitForChange</span><span class="operator">();</span>
<span class="keyword">print</span> <span class="string">"Clipboard has changed!\n"</span><span class="operator">;</span>
</pre>
<p>
</p>
<hr />
<h1><a name="description">DESCRIPTION</a></h1>
<p>This module lets you interact with the Windows clipboard: you can get its content,
set it, empty it, or let your script sleep until it changes.
This version supports 3 formats for clipboard data:</p>
<ul>
<li><strong><a name="item_text">text (<code>CF_TEXT</code>)</a></strong>
<p>The clipboard contains some text; this is the <strong>only</strong> format you can use to set
clipboard data; you get it as a single string.</p>
<p>Example:</p>
<pre>
<span class="variable">$text</span> <span class="operator">=</span> <span class="variable">Win32::Clipboard::GetText</span><span class="operator">();</span>
<span class="keyword">print</span> <span class="variable">$text</span><span class="operator">;</span>
</pre>
</li>
<li><strong><a name="item_bitmap">bitmap (<code>CF_DIB</code>)</a></strong>
<p>The clipboard contains an image, either a bitmap or a picture copied in the
clipboard from a graphic application. The data you get is a binary buffer
ready to be written to a bitmap (BMP format) file.</p>
<p>Example:</p>
<pre>
<span class="variable">$image</span> <span class="operator">=</span> <span class="variable">Win32::Clipboard::GetBitmap</span><span class="operator">();</span>
<span class="keyword">open</span> <span class="variable">BITMAP</span><span class="operator">,</span> <span class="string">">some.bmp"</span><span class="operator">;</span>
<span class="keyword">binmode</span> <span class="variable">BITMAP</span><span class="operator">;</span>
<span class="keyword">print</span> <span class="variable">BITMAP</span> <span class="variable">$image</span><span class="operator">;</span>
<span class="keyword">close</span> <span class="variable">BITMAP</span><span class="operator">;</span>
</pre>
</li>
<li><strong><a name="item_files">list of files (<code>CF_HDROP</code>)</a></strong>
<p>The clipboard contains files copied or cutted from an Explorer-like
application; you get a list of filenames.</p>
<p>Example:</p>
<pre>
<span class="variable">@files</span> <span class="operator">=</span> <span class="variable">Win32::Clipboard::GetFiles</span><span class="operator">();</span>
<span class="keyword">print</span> <span class="keyword">join</span><span class="operator">(</span><span class="string">"\n"</span><span class="operator">,</span> <span class="variable">@files</span><span class="operator">);</span>
</pre>
</li>
</ul>
<p>
</p>
<h2><a name="reference">REFERENCE</a></h2>
<p>All the functions can be used either with their full name (eg. <strong>Win32::Clipboard::Get</strong>)
or as methods of a <code>Win32::Clipboard</code> object.
For the syntax, refer to <a href="#synopsis">SYNOPSIS</a> above. Note also that you can create a clipboard
object and set its content at the same time with:</p>
<pre>
<span class="variable">$CLIP</span> <span class="operator">=</span> <span class="variable">Win32::Clipboard</span><span class="operator">(</span><span class="string">"blah blah blah"</span><span class="operator">);</span>
</pre>
<p>or with the more common form:</p>
<pre>
<span class="variable">$CLIP</span> <span class="operator">=</span> <span class="variable">new</span> <span class="variable">Win32::Clipboard</span><span class="operator">(</span><span class="string">"blah blah blah"</span><span class="operator">);</span>
</pre>
<p>If you prefer, you can even tie the Clipboard to a variable like this:</p>
<pre>
<span class="keyword">tie</span> <span class="variable">$CLIP</span><span class="operator">,</span> <span class="string">'Win32::Clipboard'</span><span class="operator">;</span>
<span class="keyword">print</span> <span class="string">"Clipboard content: $CLIP\n"</span><span class="operator">;</span>
<span class="variable">$CLIP</span> <span class="operator">=</span> <span class="string">"some text to copy to the clipboard..."</span><span class="operator">;</span>
</pre>
<p>In this case, you can still access other methods using the <a href="../../lib/Pod/perlfunc.html#item_tied"><code>tied()</code></a> function:</p>
<pre>
<span class="keyword">tied</span><span class="operator">(</span><span class="variable">$CLIP</span><span class="operator">)-></span><span class="variable">Empty</span><span class="operator">;</span>
<span class="keyword">print</span> <span class="string">"got the picture"</span> <span class="keyword">if</span> <span class="keyword">tied</span><span class="operator">(</span><span class="variable">$CLIP</span><span class="operator">)-></span><span class="variable">IsBitmap</span><span class="operator">;</span>
</pre>
<dl>
<dt><strong><a name="item_empty"><code>Empty()</code></a></strong>
<dd>
<p>Empty the clipboard.</p>
</dd>
<P></li>
<dt><strong><a name="item_enumformats"><code>EnumFormats()</code></a></strong>
<dd>
<p>Returns an array of identifiers describing the format for the data currently in the
clipboard. Formats can be standard ones (described in the <a href="#constants">CONSTANTS</a> section) or
application-defined custom ones. See also IsFormatAvailable().</p>
</dd>
<P></li>
<dt><strong><a name="item_get"><code>Get()</code></a></strong>
<dd>
<p>Returns the clipboard content; note that the result depends on the nature of
clipboard data; to ensure that you get only the desired format, you should use
GetText(), <a href="#item_getbitmap"><code>GetBitmap()</code></a> or <a href="#item_getfiles"><code>GetFiles()</code></a> instead. <a href="#item_get"><code>Get()</code></a> is in fact implemented as:</p>
</dd>
<dd>
<pre>
<span class="keyword">if</span><span class="operator">(</span> <span class="variable">IsBitmap</span><span class="operator">()</span> <span class="operator">)</span> <span class="operator">{</span> <span class="keyword">return</span> <span class="variable">GetBitmap</span><span class="operator">();</span> <span class="operator">}</span>
<span class="keyword">elsif</span><span class="operator">(</span> <span class="variable">IsFiles</span><span class="operator">()</span> <span class="operator">)</span> <span class="operator">{</span> <span class="keyword">return</span> <span class="variable">GetFiles</span><span class="operator">();</span> <span class="operator">}</span>
<span class="keyword">else</span> <span class="operator">{</span> <span class="keyword">return</span> <span class="variable">GetText</span><span class="operator">();</span> <span class="operator">}</span>
</pre>
</dd>
<dd>
<p>See also IsBitmap(), IsFiles(), IsText(), <a href="#item_enumformats"><code>EnumFormats()</code></a> and <a href="#item_isformatavailable"><code>IsFormatAvailable()</code></a>
to check the clipboard format before getting data.</p>
</dd>
<P></li>
<dt><strong><a name="item_getas"><code>GetAs(FORMAT)</code></a></strong>
<dd>
<p>Returns the clipboard content in the desired FORMAT (can be one of the constants
defined in the <a href="#constants">CONSTANTS</a> section or a custom format). Note that the only
meaningful identifiers are <code>CF_TEXT</code>, <code>CF_DIB</code> and <code>CF_HDROP</code>; any other
format is treated as a string.</p>
</dd>
<P></li>
<dt><strong><a name="item_getbitmap"><code>GetBitmap()</code></a></strong>
<dd>
<p>Returns the clipboard content as an image, or <a href="../../lib/Pod/perlfunc.html#item_undef"><code>undef</code></a> on errors.</p>
</dd>
<P></li>
<dt><strong><a name="item_getfiles"><code>GetFiles()</code></a></strong>
<dd>
<p>Returns the clipboard content as a list of filenames, or <a href="../../lib/Pod/perlfunc.html#item_undef"><code>undef</code></a> on errors.</p>
</dd>
<P></li>
<dt><strong><a name="item_getformatname"><code>GetFormatName(FORMAT)</code></a></strong>
<dd>
<p>Returns the name of the specified custom clipboard format, or <a href="../../lib/Pod/perlfunc.html#item_undef"><code>undef</code></a> on errors;
note that you cannot get the name of the standard formats (described in the
<a href="#constants">CONSTANTS</a> section).</p>
</dd>
<P></li>
<dt><strong><a name="item_gettext"><code>GetText()</code></a></strong>
<dd>
<p>Returns the clipboard content as a string, or <a href="../../lib/Pod/perlfunc.html#item_undef"><code>undef</code></a> on errors.</p>
</dd>
<P></li>
<dt><strong><a name="item_isbitmap"><code>IsBitmap()</code></a></strong>
<dd>
<p>Returns a boolean value indicating if the clipboard contains an image.
See also GetBitmap().</p>
</dd>
<P></li>
<dt><strong><a name="item_isfiles"><code>IsFiles()</code></a></strong>
<dd>
<p>Returns a boolean value indicating if the clipboard contains a list of
files. See also GetFiles().</p>
</dd>
<P></li>
<dt><strong><a name="item_isformatavailable"><code>IsFormatAvailable(FORMAT)</code></a></strong>
<dd>
<p>Checks if the clipboard data matches the specified FORMAT (one of the constants
described in the <a href="#constants">CONSTANTS</a> section); returns zero if the data does not match,
a nonzero value if it matches.</p>
</dd>
<P></li>
<dt><strong><a name="item_istext"><code>IsText()</code></a></strong>
<dd>
<p>Returns a boolean value indicating if the clipboard contains text.
See also GetText().</p>
</dd>
<P></li>
<dt><strong><a name="item_set"><code>Set(VALUE)</code></a></strong>
<dd>
<p>Set the clipboard content to the specified string.</p>
</dd>
<P></li>
<dt><strong><a name="item_waitforchange"><code>WaitForChange([TIMEOUT])</code></a></strong>
<dd>
<p>This function halts the script until the clipboard content changes. If you specify
a <code>TIMEOUT</code> value (in milliseconds), the function will return when this timeout
expires, even if the clipboard hasn't changed. If no value is given, it will wait
indefinitely. Returns 1 if the clipboard has changed, <a href="../../lib/Pod/perlfunc.html#item_undef"><code>undef</code></a> on errors.</p>
</dd>
</li>
</dl>
<p>
</p>
<h2><a name="constants">CONSTANTS</a></h2>
<p>These constants are the standard clipboard formats recognized by Win32::Clipboard:</p>
<pre>
CF_TEXT 1
CF_DIB 8
CF_HDROP 15</pre>
<p>The following formats are <strong>not recognized</strong> by Win32::Clipboard; they are,
however, exported constants and can eventually be used with the EnumFormats(),
<a href="#item_isformatavailable"><code>IsFormatAvailable()</code></a> and <a href="#item_getas"><code>GetAs()</code></a> functions:</p>
<pre>
CF_BITMAP 2
CF_METAFILEPICT 3
CF_SYLK 4
CF_DIF 5
CF_TIFF 6
CF_OEMTEXT 7
CF_PALETTE 9
CF_PENDATA 10
CF_RIFF 11
CF_WAVE 12
CF_UNICODETEXT 13
CF_ENHMETAFILE 14
CF_LOCALE 16</pre>
<p>
</p>
<hr />
<h1><a name="author">AUTHOR</a></h1>
<p>This version was released by Hideyo Imazu <<em><a href="mailto:himazu@gmail.com">himazu@gmail.com</a></em>>.</p>
<p>Aldo Calpini <<em><a href="mailto:dada@perl.it">dada@perl.it</a></em>> was the former maintainer.</p>
<p>Original XS porting by Gurusamy Sarathy <<em><a href="mailto:gsar@activestate.com">gsar@activestate.com</a></em>>.</p>
</body>
</html>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?