PDA

View Full Version : ثابت بودن HandleWindow



دنیای دلفی
چهارشنبه 16 مرداد 1387, 16:37 عصر
سلام


Procedure ReadDataFromAddress;
var
window , ProcessId : integer;
HandleWindow : cardinal;

begin
Window := FindWindow(nil, PChar(Form1.Caption));
GetWindowThreadProcessId(Window,@ProcessId);
HandleWindow := OpenProcess(PROCESS_VM_READ,False,ProcessId);
end;


كد بالا را مشاهده مي كنيد . آيا HandleWindow بدست آمده از زمان اجراي برنامه تا پايان آن يعني بستن برنامه هميشه ثابت است و تغيير نمي كند . يعني وقتي من آنرا بدست مي آورم مي توانم در هركجاي برنامه و در هر زماني از آن استفاده كنم .

ممنون اگر راهنمايي كنيد

Hamid_PaK
چهارشنبه 16 مرداد 1387, 18:46 عصر
تابع OpenProcess مقدار Handle پراسس مورد نظر را بر می گرداند.
و چه Handle پراسس و چه Window از زمان ساختن آن تا زمان آزاد سازی از حافظه یکسان است.

یا حق ....