以下一段vb程序,请问用dp怎么实现?请给出详细代码和注释。谢谢!
Option Explicit
Private Declare Sub RtlMoveMemory Lib "KERNEL32" (lpvDest As Any, lpvSource As Any, ByVal cbCopy As Long)
Public Function gettext(ByVal hh As Long) As String
Dim l As Long
l = SendMessage(hh, &HE, 0, 0)
If l > 0 Then
ReDim b1(l + 1) As Byte, b2(l - 1) As Byte
RtlMoveMemory b1(0), l, 2
SendMessage hh, &HD, l + 1, b1(0)
RtlMoveMemory b2(0), b1(0), l
gettext = StrConv(b2, vbUnicode)
Else
gettext = ""
End If
End Function
Option Explicit
Private Declare Sub RtlMoveMemory Lib "KERNEL32" (lpvDest As Any, lpvSource As Any, ByVal cbCopy As Long)
Public Function gettext(ByVal hh As Long) As String
Dim l As Long
l = SendMessage(hh, &HE, 0, 0)
If l > 0 Then
ReDim b1(l + 1) As Byte, b2(l - 1) As Byte
RtlMoveMemory b1(0), l, 2
SendMessage hh, &HD, l + 1, b1(0)
RtlMoveMemory b2(0), b1(0), l
gettext = StrConv(b2, vbUnicode)
Else
gettext = ""
End If
End Function
解决方案 »
- delphi 2010 如何查看工程文件
- ********零分求助********早上街上碰到一个求助的美女,家产都给她了.身无分文的!
- res文件的调用
- 使用 DBGridEh 碰到的 applyupdate 的问题。
- 老板拖欠工資﹐都走了三個月了還拿不到﹐有類似經歷的請給點建議。
- 注冊表出了問題!
- 存储过程的调试?
- 救命~~~~~~~~~~~!关于asp组件的问题!解决问题的送100分!
- ADO连接Access2000
- 如何将控件Image显示在自定义的对象(Image1:TImage)的上方?
- dbgrid问题求教!!
- 请问怎么样可以画一个可随着半径变化而改变的圆?共200分(含BCB论坛的100分)
var
l:longint;
b1,b2:pchar;
begin
l:= sendmessage(hh,$E,0,0);
If l > 0 Then
begin
getmem(b1,l+1);getmem(b2,l-1);
b1[0]:=#1;
b1[1]:=#1;
SendMessage(hh, $D, l + 1,integer(b1));
copymemory(b2,b1,l);
gettext := b2
end
else
gettext :='';end;
procedure TForm1.Button1Click(Sender: TObject);
begin
edit1.Text := gettext(Button1.Handle);
end;
tion gettext(hh:longint):string;
var
l:longint;
b1,b2:pchar;
begin
l:= sendmessage(hh,$E,0,0);
If l > 0 Then
begin
getmem(b1,l+1);getmem(b2,l-1);
b1[0]:=#1;
b1[1]:=#1;
SendMessage(hh, $D, l + 1,integer(b1));
copymemory(b2,b1,l);
gettext := b2;
freemem(b1);
freemem(b2);
end
else
gettext :='';end;