lord_viper
مدیر کل انجمن
ارسالها: 3,949
موضوعها: 352
تاریخ عضویت: بهمن ۱۳۸۴
تشکرها : 5193
( 9875 تشکر در 2650 ارسال )
|
RE: دريافت مقادير آبجكت برنامه هاي ديگه
برای تبدیل integer به hex
نقل قول: function Int2Hex( Value : DWord; Digits : Integer ) : String;
var Buf: array[ 0..8 ] of Char;
Dest : PChar;
function HexDigit( B : Byte ) : Char;
{$IFDEF F_P}
const
HexDigitChr: array[ 0..15 ] of Char = ( '0','1','2','3','4','5','6','7',
'8','9','A','B','C','D','E','F' );
begin
Result := HexDigitChr[ B and $F ];
end;
{$ELSE DELPHI}
asm
{$IFDEF PARANOIA}
DB $3C,9
{$ELSE}
CMP AL,9
{$ENDIF}
JA @@1
{$IFDEF PARANOIA}
DB $04, $30-$41+$0A
{$ELSE}
ADD AL,30h-41h+0Ah
{$ENDIF}
@@1:
{$IFDEF PARANOIA}
DB $04, $41-$0A
{$ELSE}
ADD AL,41h-0Ah
{$ENDIF}
end;
{$ENDIF F_P/DELPHI}
begin
Dest := @Buf[ 8 ];
Dest^ := #0;
repeat
Dec( Dest );
Dest^ := '0';
if Value <> 0 then
begin
Dest^ := HexDigit( Value and $F );
Value := Value shr 4;
end;
Dec( Digits );
until (Value = 0) and (Digits <= 0);
Result := Dest;
end;
گرفتن ادرس فایل exe از روی pid شناسه پروسه
نقل قول: function Pid2Path(PID: DWORD): string;
var
Handle: THandle;
begin
Result := 'Not Found!';
Handle := OpenProcess(PROCESS_QUERY_INFORMATION or PROCESS_VM_READ, False, PID);
if Handle <> 0 then
try
SetLength(Result, MAX_PATH);
begin
if GetModuleFileNameEx(Handle, 0, PChar(Result), MAX_PATH) > 0 then
SetLength(Result, StrLen(PChar(Result)))
else
exit;
end
finally
CloseHandle(Handle);
end;
end;
گرفتن سایز فایل
نقل قول: function GetFileSize(sFilePath: String): Integer;
var
tsrRec: TSearchRec;
iRes: Integer;
begin
Result := 0;
FillChar(tsrRec,SizeOf(tsrRec),0);
iRes := SysUtils.FindFirst(sFilePath,faAnyFile,tsrRec);
if iRes = 0 then
begin
Result := tsrRec.Size;
SysUtils.FindClose(tsrRec);
end;
end;
اینجا یه timer هست
نقل قول: procedure TForm1.Timer1Timer(Sender: TObject);
var
Pos:Tpoint;
WHwnd:hwnd;
WinClass : Array[0..256] Of Char;
ParentClass : Array[0..256] Of Char;
Path,Name : string;
First:hwnd;
Rect:TRect;
ID,Tid:Cardinal;
info:tagWINDOWINFO;
style:integer;
Proc:Thandle;
Loop: Integer;
Size:integer;
ControlID:integer;
begin
گرفتن مکان مکانما
نقل قول: (*******************************************)
GetCursorPos(Pos);
Px.Text := intTostr(pos.X);
Py.Text := intTostr(pos.Y);
گرفتن هندل جایی که مکانما در انجا قرار دارد
نقل قول: (*******************************************)
WHwnd:=WindowFromPoint(Pos);
Hwt.Text := intTostr(WHwnd);
Hwh.Text := '0x'+int2hex(WHwnd,5);
گرفتن نام کلاس شیی
نقل قول: (*******************************************)
GetClassName(WHwnd,WinClass,255);
Cls.Text :=WinClass;
(*******************************************)
If SendMessage(WHwnd,EM_GETPASSWORDCHAR,0,0) <> 0 then
begin
Pw.Color := clyellow ;
Pw.Text := 'Yes';
end
else begin
Pw.Color:=clWindow ;
Pw.Text := 'No';
end;
گرقتن محدوده نمایش ان کنترل
نقل قول: (*******************************************)
GetWindowRect(WHwnd,Rect);
Rec.Text := '[ '+intTostr(Rect.Left )+' x '+intTostr(rect.Top)+' ]'+' [ '+intTostr(rect.Right)+' x '+intTostr(rect.Bottom)+' ] '+
intTostr(Rect.Right - Rect.Left )+ ' x '+intTostr(Rect.Bottom - Rect.Top);
اطلاعات مربوت به style کنترل
نقل قول: (*******************************************)
GetWindowInfo(WHwnd,info);
Style := info.dwStyle;
St.Text :='0x'+int2Hex(style,8);
بدشت اوردن شناسه ریسمان مربوط به ان کنترل
نقل قول: (*******************************************)
Tid:=GetWindowThreadProcessId(WHwnd,ID);
Path:=Pid2Path(ID);
Name:=ExtractFileName(Path);
Size:=GetFileSize(Path);
ControlID:=GetDlgCtrlID(WHwnd);
Fs.Text:=IntToStr(Size);
En.Text:=Name;
Pth.Text := Path;
Td.Text := intTostr(Tid);
Cid.Text := IntToStr(ControlID);
(*******************************************)
Pid.Text := intTostr(ID);
بدست اوردن parent ان کنترل
نقل قول: (*******************************************)
First:=GetParent(WHwnd);
Pcl.Text := intTostr(First);
(*******************************************)
Pch.Text := '0x'+int2hex(First,5);
بدست اوردن کلاس مربوط به parent
نقل قول: (*******************************************)
GetClassName(First,ParentClass,255);
Ph.Text := ParentClass;
(*******************************************)
end;
end.
موفق باشید[/quote]
|
|