• 締切済み

C++ テキストファイルをクリップボードにコピー

ブログの更新を楽にするためにいくつか言葉を入力したら内容を生成するプログラムを作ったのですが、 出力したテキストファイルを毎回開いて全てコピーしているので、ほんの少しだけですが手間が掛かります。 どうせなら、実行したときに生成したテキストファイルをクリップボードにコピーできたら、わざわざ生成したテキストファイルを開いてコピーする必要がないと考え、調べたのですが分かりませんでした。 どなたか教えてくれたら幸いです。よろしくお願いします。

  • ppyy
  • お礼率100% (2/2)

みんなの回答

noname#126653
noname#126653
回答No.2

いや、ウィキペディアよりも、MSDNを見れば一目瞭然でしょう。 http://msdn.microsoft.com/ja-jp/library/cc430068.aspx http://msdn.microsoft.com/ja-jp/library/cc430086.aspx http://msdn.microsoft.com/ja-jp/library/cc429781.aspx あとは、クリップボード用の割り当てのAPIは http://msdn.microsoft.com/ja-jp/library/cc430065.aspx でないと失敗するかもしれんねえ。 いまだにクリップボード系はHGLOBALに縛られている感じがします。 どの領域までをWINDOWS APIと呼ぶかは、書籍によって、見解が異なるからねえ。 Directx??の部分は、COMインプロセスサーバのほうだから、厳密にはWINDOWS APIとは言わないかもねえ。 実際にCOM・OLE実装の専門書籍じゃ、COMインターフェースをクエリする関連のAPIを COMサブシステムAPIと呼んでいたりもして、COMインターフェース自体をWINDOWS APIなんて表現していなかったくらいだから。 ま~、いずれも、マイクロソフトが考案して、月日がたつにつれて、考案した張本人が、MSDN上でクソみそなコトを言いだして、結局は実装者を振り回しているんだけどね。

ppyy
質問者

お礼

すみません。前に返事したつもりだったのですが送信エラーだったようです。 結局のところ、どうすればできるようになるのかが分からないです^^; 勉強したいという気持ちはなく、ただ質問した件ができるようになれば嬉しいと思っています。

  • dido123
  • ベストアンサー率34% (11/32)
回答No.1

WindowsAPIなら可能だと思います。 OpenClipboard(HWND) SetClipboardDate(UINT,HANDLE) CloseClipboard()

ppyy
質問者

お礼

回答ありがとうございます。 WindowsAPIというのがよく分からないです^^; http://ja.wikipedia.org/wiki/Windows_API

関連するQ&A

  • クリップボードにテキストを送る

    MFCのプログラムの中で,テキストのデータをクリップボードにコピーしたいのですが,どうすればよろしいのでしょうか?

  • セル内のテキストをクリップボードにコピーするVBA

    EXCELに入力している表からテキストを抜き出して、jpegファイル名に入りつけようとしています。 その際、毎回右クリックしてコピーするのが面倒なので、ボタン(アクティブなセル内のテキストをクリップボードにコピーするVBA)を作ろうとしているのですが、単に Sub copy() ActiveCell.copy End Sub だと、ファイル名にペーストした際、「ファイル名には次の文字は使用できません」と言われてしまいます。(余分なスペースが入っているようです) どうすればうまくできるのでしょうか?

  • テキストファイルの一列目から順にクリップボードにコピー

    初歩的な質問でしたらすいません。 現在スクリプトの勉強をしているのですが、 あらかじめテキストファイル(.txt)に単語を一行ずつ入力しておき、 そのファイルの一行目から順にクリップボードに単語をコピーしていくスクリプトを作りたいと思っています。 どなたか作り方もしくはヒントを下さい。

  • テキストファイルの一行目から順に自動でクリップボードにコピー

    初歩的な質問でしたらすいません。 現在JavaScriptの勉強をしているのですが、 あらかじめテキストファイル(.txt)に単語を一行ずつ入力しておき、 そのファイルの一行目から順にクリップボードに単語をコピーしていくスクリプトを作りたいと思っています。 どなたか作り方もしくはヒントを下さい。

  • クリップボードについて。

    既存のExcelファイルを開き、1シート全てをクリップボードにコピーし、 テキストボックスに貼り付けるという動作をさせたいのですが、 クリップボードを貼り付ける際に以下のようなメッセージが表示されます。 --------------------------------------------------------------------- クリップボードに大きな情報があります。この情報をほかのプログラムに貼り付けられるようにしますか? ・後で貼り付けるためにクリップボードに保存する場合は、[はい]をクリックします。 ・クリップボードにある情報を削除する場合は、[いいえ]をクリックします。 --------------------------------------------------------------------- このメッセージは表示させたくないのですが、非表示にすることはできますか?

  • テキストエリアに書き込んだデータをクリップボードにコピーする方法

    <input type = "text" name = "namae">として、テキストエリア入力した文字を クリップボードにコピーする方法はありますでしょうか? できれば、『送信』ボタンを押すと同時にクリップボードに貼り付けたいです。 よろしくお願いします。

  • テキストボックスに入力された内容をクリップボードにコピー

    プログラミング初心者です。少し教えていただけないでしょうか? 3*3で配置したテキストボックスに入力された内容をクリップボードにコピーするツールを作ろうと思っています。  受付番号  名前    備考 1[TextboxA1][Textbox12][Textbox13] 2[TextboxA2][Textbox22][Textbox23] 3[TextboxA3][Textbox32][Textbox33] [実行ボタン] 受付番号は入力の簡素化のため"No."という文字列を入力したいと思っています。もっと効率的な方法があると思いますが 実行ボタンを押したときに下記のプログラムを実行すれば 一応クリップボードにコピーできることが分かりました。 Dim MsgAll as string MsgALL = "No." & Textbox1.text & Textbox12.text & Textbox13.text & vbCrLf &TextboxA2.text (以下Textbox33.textまで) Clipboard.SetDataObject(MsgAll) ただし、3*3のテキストボックスは必ずしも全て入力されるわけではないので空白行の場合はその行をジャンプしたいのです。 各行の受付番号のテキストボックスに入力があるかどうかを判断させて空白だった場合はクリップボードにコピーさせなければよいのでは?と考えています。 色々ネットで調べた結果あらかじめ各行の内容を配列に代入しておき、 テキストボックスのコントロール名を取得してFOR文で処理を繰り返す方法を考えました。 lines(1) = "No." & TextboxA1.text & Textbox12.text & Textbox13.text & vbCrLf lines(2) ="No." & TextboxA2.text & Textbox22.text & Textbox23.text & vbCrLf lines(3) ="No." & TextboxA3.text & Textbox32.text & Textbox33.text & vbCrLf  For i = 1 To 3   ControlName = "TextBox_top" & i   If Me.Controls(ControlName).Text = "" Then    Else     MsgAll = MsgAll + lines(i)     Clipboard.SetDataObject(MsgAll) End If Next 以上のようなプログラムで動くかどうか不安でしたので 新たにプロジェクトを作り直し試みたところ動作したので ほんとうのプログラムにこの部分のロジックを組み込んで動作させたところ ”オブジェクト参照がオブジェクト インスタンスに設定されていません。”のエラーが返り正常に動作しませんでした。 テキストボックス名などがテストプログラムなどとは異なりますが 他に異なる部分はありません。 なぜこのようなエラーが発生してしまうのでしょうか? また、もっと効率のよい方法がある場合はその方法もご教示願えないでしょうか? 大変お手数ですがよろしくお願いいたします。

  • リンクからクリップボードへコピー

    JavaScript で、クリップボードへテキストを送る方法がありました。 それが以下のようなものですが、 <input type="button" value="クリップボードへ送る" onClick='window.clipboardData.setData("text","テキスト文字")'> これだとボタンを押す時にのみクリップボードへ送られますが、 URL 先へのリンクをクリックしたら、クリップボードコピーできるように したいのです。可能でしょうか。

  • ファイル名からクリップボードにコピーしたい

    vc++で、ファイル名からクリップボードにコピーして、別のフォルダにファイルをコピーしたいのですが上手くできません、サンプル的な物はどこかにありませんか?

  • コピーしたテキストを保存

    ニュースサイトや掲示板を見て面白い話などをコピーしてテキストに貼り付けて保存しています。 このいちいち貼り付けて上書き保存をする手間を省きたいので コピーするだけでクリップボード内のデータが自動的に1つのファイルに保存されるようなソフトってないですか。 よろしくお願いします。

専門家に質問してみよう