- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:クリップボードへのコピー)
クリップボードへのコピーに関するエラー解決方法
このQ&Aのポイント
- あるHPのコードを参考に文字をクリップボードへコピーするコードを書いてみましたが、エラーが発生しています。
- 特にヒープの壊れが原因と考えられます。ヒープを正しく扱う方法を確認しましょう。
- コードに手抜きがあり、チェックが不十分ですが、一旦動作は正常とします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
GlobalAllocで割り当てサイズとして「4」を指定していますが、これは「4バイト」を意味します。 ところが、lstrcpyでコピーしているL"abc"は4文字=8バイトを占有するので、確保したメモリの量を超えてメモリを書き換え(=破壊)してしまっています。 これが原因ではないでしょうか。
お礼
ご回答ありがとうございます。 いまちょうど自己解決したところです。 原因はおっしゃる通りです。 ただしくは hText = GlobalAlloc(GMEM_DDESHARE | GMEM_MOVEABLE, 4 * sizeof(wchar_t)); です。 で、返信がない場合どうやって質問を締めようかと悩んでいたところです^^; #いつになったらこの文字操作に慣れてくるんだろう。。