スラッシュドット    はてなブックマーク  Yahoo!ブックマークに登録  印刷
Windows TIPS
[System Environment]
  Windows TIPS TOPへ
Windows TIPS全リストへ
内容別分類一覧へ

少ないメモリを無駄なく使う方法

―― クリップボードにある巨大なデータをクリアする ――

解説をスキップして操作方法を読む

デジタルアドバンテージ
2000/12/19
2002/05/08 更新
 
対象OS
Windows 95
Windows 98
Windows 98 SE
Windows Me
Windows NT
Windows 2000 Professional
Windows XP Professional
Windows XP Home Edition
Windows 2000 Server
Windows 2000 Advanced Server
クリップボードは便利なしくみだが、場合によっては予想外に大量のデータがクリップボード(メモリ)に格納され、メインメモリを圧迫する場合もある。
そんなときには、ごく小さなデータをわざとクリップボードに転送して、以前のデータをクリアすることができる。
 

解説

 異なるアプリケーション間でのデータ交換を可能にするカット&ペースト機能は、クリップボードと呼ばれるメカニズムによってWindows環境に実装されている(クリップボードの詳細については、別稿の「Windows TIPS:クリップボードの中身をのぞき見る方法」を参照)。しかしアプリケーションによっては、次のようなメッセージを表示するものがある。

Excelによって表示された警告ダイアログ
Excelを終了しようとしたときに表示されたダイアログ。メッセージの内容から、クリップボードに巨大なデータが格納されたままになっているという警告であることが分かる。このようにExcelでは、クリップボードに格納したデータをアプリケーションの終了時に消去できるようにしている。
  クリップボードに格納されたデータはそのままにして、アプリケーションを終了する。
  クリップボードのデータを消去し、アプリケーションを終了する。
  アプリケーションの終了をキャンセルする。

 このようにExcelでは、巨大なデータがクリップボードに残されたままになっているときには上のような警告ダイアログを表示し、必要ならこのダイアログからクリップボードのデータを消去できるようにしている。数百Mbytesのメモリを搭載することも珍しくなくなった昨今、クリップボードにコピーしたデータのことなど気にする必要があるのだろうか?

クリップボードには、さまざまな種類のデータが転送されている

 OSの内部的にみれば、クリップボードは、複数のアプリケーションからアクセス可能な、一種の共有メモリだと考えることができる。あるアプリケーションでデータをカット(コピー)すると、そのデータがこの共有メモリに転送され、別のアプリケーションでこのデータをペーストすると、共有メモリからアプリケーションにデータが転送されるというわけだ。よほど大量のデータをクリップボードに転送しないかぎり、これによってメモリが圧迫されることはないとたかをくくってはいけない。クリップボードには、できるだけ多くのアプリケーションがデータを取り出せるようにするために、さまざまな形式のデータが転送されるようになっているからだ。ここでその実例として、Excelでシート・データをクリップボードに転送して、クリップボードの状態を確認してみよう。

Excelでシートを開いたところ
ここでは、Excelで適当なシートを開き、シート・データをクリップボードに転送してみる。
  クリップボードに転送するデータ。このように、別段何の変哲もないシート・データである。これをクリップボードに転送してみると……。

 Excelを起動して適当なシートを開き、シートを選択してこれをクリップボードに転送する([編集]−[コピー]コマンドなどを実行する)。画面から分かるとおり、別段何の変哲もないただのシート・データである。シート・データをクリップボードに転送したら、クリップボードにどのようなデータが転送されたかをクリップブックを使って確認する。クリップブックはWindows 2000/XPの標準ツールの1つで、これを使えば、現在のクリップボードの内容を確認することができる(クリップブックの詳細については、別稿「Windows TIPS:クリップボードの中身をのぞき見る方法」を参照)。

Windows 2000のクリップブックでクリップボードの内容を表示したところ
クリップブックを使えば、現在のクリップボードの内容を確認できる。[表示]メニューをドロップダウンすれば、クリップボードに転送されたデータの種類を一覧表示することも可能。
  先ほどの操作でExcelからクリップボードに転送されたデータの種類の一覧。単純なシート・データのコピーだと思いきや、実にさまざまな形式でクリップボードへデータが転送されていることが分かる。

 クリップブックの[表示]メニューをドロップダウンすれば、現在クリップボードに格納されているデータのタイプを一覧表示することができる。画面から分かるとおり、単純なシート・データのコピーだと思いきや、実にさまざまな種類のデータが転送されていることが分かるだろう。ざっと見ただけでも、メタファイル(Windowsのグラフィックス描画命令を列挙した形式のグラフィックス・データ形式)、ピクチャやDIBビットマップ(ビットマップ形式)、テキストなどさまざまな形式がある。クリップブックの[表示]メニューで選択不能表示(淡色表示)となっている項目は、クリップブックで表示できないという意味で、これらの形式のデータ自体もクリップボードに転送されている。例えばここで[テキスト]を選択してみると、シートのデータがタブ区切りテキスト形式で格納されている様子を確認できる。

クリップブックで[表示]−[テキスト]を選択したところ
テキスト形式(タブ区切りテキスト形式)で格納されたデータを表示したところ。

 次はビットマップ形式の[ピクチャ]を選択してみる。シートのイメージがビットマップ・データとしてもクリップボードに格納されていることが分かる。

クリップブックで[表示]−[ピクチャ]を選択したところ
ビットマップであるピクチャ形式のデータもクリップボードに格納されていることが分かる。

 このように、自分ではちょっとしたデータをクリップボードに転送しているつもりでも、アプリケーションによっては、数多くの形式でデータが転送される場合がある。ケースによるが、場合によっては大量のデータがクリップボードに転送され、メモリを占有してしまう可能性もある。


操作方法

クリップボードをクリアするには

 クリップボードに転送されたデータは、次のデータが転送されるまでは残されたままになる。特別なツールでも用意しないかぎり、これをきれいにクリアする方法はない。しかし逆に言えば、次のデータを転送すれば、前のデータはメモリから削除されるので、原始的な方法でよければ、ほぼクリアするのと同等の措置を施すことができる。つまり、ごく小さなデータをわざとクリップボードに転送するのだ。これは、1文字のデータでもよいし、エクスプローラで選択した適当なファイル名でもよい(どれか1つのファイルを選んで[コピー](Ctrl+C)を実行する)。クリップボードに何Mbytesのデータが格納されていても、これでクリップボードは数bytesのデータに置き換えられ、元のデータは削除される。End of Article

関連記事(Windows Server Insider)
  Windows TIPS:クリップボードの中身をのぞき見る方法
     
この記事と関連性の高い別のWindows TIPS
クリップボードの中身をのぞき見る方法
邪魔なOffice クリップボードを表示しないようにする
コマンドラインからクリップボードへコピーする
アクティブウィンドウだけをキャプチャする方法
リモート・デスクトップ接続でクリップボード共有を禁止する
このリストは、(株)デジタルアドバンテージが開発した
自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
generated by

更新履歴
【2002/05/08】Windows XPに関する情報追加に加え、最新情報を反映して加筆・修正しました。
 
「Windows TIPS」

ホワイトペーパーTechTargetジャパン

Windows Server Insider フォーラム 新着記事

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

スキルアップ/キャリアアップ(JOB@IT)

- PR -
- PR -

お勧め求人情報

キャリアアップ 〜JOB@IT
@IT Special -PR-
  カカクコムCOO 安田氏の登壇決定!あの情報
漏えい事件の教訓と、その後の対策とは?

New!
  BI活用は難しいと思い込んでいませんか?
情報を“戦略的に”活用する手法を探る

New!
  世界3位のERPベンダーが緊急提言!
日本の製造業がグローバル競争に勝つ秘策

New!
  いまUI開発のあるべき姿とは?
@IT リッチクライアントカンファレンス

New!

  3500万以上の悪質なWebサイトをブロック
マルウェアの脅威から企業を守る方法は?

New!
  「こんなはずじゃなかったのに……」
仮想化導入後に生まれる課題とは?

New!
  「地頭は良い」が「受け身」な新人には
修羅場が必要だ! ◆2010年度の新人研修◆

New!

  ストレージシステムの構成作業が苦手でも
富士通エントリ・ストレージなら大丈夫

  「クラウドでIT基盤を最適化したい……」
クラウド構築・管理の手法がここに集結!

  コスト削減・可用性向上のための真実解
スケールアップ型サーバでクラウド構築!

  マイクロソフトの知られざる一面。MSの
成長を支えるのは意外にも働くママだった

  新入社員研修を成功させる7つのルール
あなたはいくつ知っているか?

  省スペースで大容量、さらに経費削減?
ムチャぶりの嵐にくじけそうなあなたに

  エフセキュアのセキュリティがSaaSに!
運用コスト約20%減の実績、あります。

ソリューションFLASHPR