wfo*_*ter 3 delphi clipboard windows-xp
我正在为一个较大的项目编写一个测试应用程序,似乎无法从 Windows 剪贴板检索 Unicode CSV 数据,我使用内置的 GetClipboardData api 调用成功检索 CF_UNICODETEXT,但是当我将 Unicode CSV 放在 MSExcel 中的剪贴板上时,尝试使用 CSV 格式检索,但得到的数据不正确。这是一些代码;
procedure TForm1.Button7Click(Sender: TObject);
var
hMem : THandle;
dwLen : DWord;
ps1, ps2 : pChar;
begin
OpenClipboard( form1.Handle );
RichEdit1.Lines.Clear;
try
if Clipboard.HasFormat( CF_UNICODETEXT ) then
begin
hMem := GetClipboardData( CF_UNICODETEXT );
ps1 := GlobalLock( hMem );
dwLen := GlobalSize( hMem );
ps2 := StrAlloc( 1 + dwLen );
StrLCopy( ps2, ps1, dwLen );
GlobalUnlock( hMem );
RichEdit1.Lines.Add( ps2 );
end
else
ShowMessage( 'No CF_UNICODETEXT on Clipboard!' );
finally
CloseClipboard;
end;
end;
Run Code Online (Sandbox Code Playgroud)
现在这段代码也应该适用于 CSV,但是当我将剪贴板格式更改为我想要的格式时,应用程序将无法获取正确的数据。重要的是要知道我可以很好地获得选项卡式 Unicode,但不是我想要的 CSV。
归档时间: |
|
查看次数: |
2038 次 |
最近记录: |