هل يمكن جلب hWindow من خلال dwProcess,hProcess ؟
#5
الحمد لله وجدت الطريقة لعمل ذلك Smile

وهذه الدالة التي قمت ببرمجتها لعمل بحث عن hWindow باخذ dwProcessID و WinTitle
هذه الدالة :
PHP كود :
var
  
sTitle : string;
  
dwProcessID : Integer;
  
RetHandle : HWND;
function 
GethWndByPID(dwPID:Integer ; Title:String):HWND ;

function 
EnumWindowsProc(hHandle: HWND; Info: lParam): BOOL; stdcall;
var
  
sLength : Integer;
  
PID : Integer;
  
WinCaption: string;
begin
  Result 
:= true;
  
GetWindowThreadProcessId(hHandle,@PID);
  if 
PID = dwProcessID then
  begin
    sLength 
:= GetWindowTextLength(hHandle);
    
SetLength(WinCaption, sLength);
    if 
GetWindowText(hHandle,PWideChar(WinCaption), sLength + 1) > 0 then
    begin
      
if WinCaption = sTitle then
      begin
        RetHandle 
:= hHandle;
        
Result := False;
      
end;
    
end;
  
end;
end;

begin
  dwProcessID 
:= dwPID;
  
sTitle := Title;
  if 
EnumWindows(@EnumWindowsProc, 0) = True then
    RetHandle 
:= 0;
  
Result := RetHandle;
end; 

وهذا الاستعمال :
PHP كود :
TargetWinHandle := GethWndByPID(dwProcessId,'TitleWindow'); 

لا اعلم إذا كان هناك طريقة اسهل او افضل من هذه لكن هذا ما استطعت عمله ...
والسلام عليكم ورحمة الله وبركاتة
الرد


الردود في هذا الموضوع
هل يمكن جلب hWindow من خلال dwProcess,hProcess ؟ - بواسطة ALmuhhnad - 24-02-2013, 03:51 PM

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم