クリップボードからの文字の取り出し – プログラミング – Home

クリップボードからの文字の取り出し
 
通知
すべてクリア

[解決済] クリップボードからの文字の取り出し


田中さん
 田中さん
(@田中さん)
ゲスト
結合: 19年前
投稿: 49
Topic starter  

開発環境WindowsXP VisualStudio2008 SDK使用

こんにわ。
猫でも出来るウィンドウズを参考にクリップボードから文字列を取り出すコードを
書いています。
クリップボードにコピーされた文字を取り出したいのですが、文字化けをしてしまいま
す。
文字コードの取り扱いが悪いのか、クリップボードの取り出し方が悪いのか分からないの
で質問させてください。
コードは以下のコードです。
int ReadClipBoard(HWND hWnd)
{
HANDLE hClipData;
DWORD dwSize;
LPTSTR lpClipText;

if(!IsClipboardFormatAvailable(CF_TEXT))
{
OutputDebugString(_T(クリップボードが読めません));
return FALSE;
}

OpenClipboard(hWnd);
hClipData=GetClipboardData(CF_TEXT);
if(hClipData == NULL)
{
CloseClipboard();
return FALSE;
}
lpClipText=(LPTSTR)GlobalLock(hClipData);

//テキスト出力
OutputDebugString(lpClipText);
MessageBox(hWnd,lpClipText,_T(クリップボード確認),MB_OK);

//データ量調査
dwSize=lstrlen(lpClipText) * sizeof(TCHAR);

GlobalUnlock(hClipData);
CloseClipboard();

return TRUE;
}

何となくクリップボードから何か取得出来ていますが、文字化けして読めません。


引用未解決
トピックタグ
仲澤@失業者
(@uncle_kei)
Prominent Member
結合: 5年前
投稿: 828
 

コンパイルオプションがUnicodeになってませんか?
LPTSTRの型はオプションによって異なります。

非常に有意義な過去ログも参考にしてください。
http://rararahp.cool.ne.jp/cgi-bin/lng/vc/vclng.cgi?print+200807/08070011.txt


返信引用
田中さん
 田中さん
(@田中さん)
ゲスト
結合: 19年前
投稿: 49
Topic starter  

仲澤@失業者さんありがとうございます。

hClipData=GetClipboardData(CF_TEXT);

hClipData=GetClipboardData(CF_UNICODETEXT);
とする事で解決しました。

過去ログにばっちり乗ってました。


返信引用
田中さん
 田中さん
(@田中さん)
ゲスト
結合: 19年前
投稿: 49
Topic starter  

解決済みをチェックしました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました