여기에는 특별한 것이 없습니다. GetWindowThreadProcessId
을 선언하는 Winapi.Windows
유닛을 사용해야하며이 함수를 호출 할 수 있습니다. 그게 전부 야.
제공하는 링크는 다른 기능 (GetProcessHandleFromHwnd
)을 나타냅니다. 이것은 GetWindowThreadProcessId
을 호출하여 프로세스 ID를 얻은 다음 OpenProcess
을 호출하여 프로세스 핸들을 얻는 것과 같은 편리한 함수입니다.
그러나이 편리한 방법으로는 액세스 권한을 지정할 수 없습니다. 프로세스 핸들은 PROCESS_DUP_HANDLE | PROCESS_VM_OPERATION | PROCESS_VM_READ | PROCESS_VM_WRITE | SYNCHRONIZE
으로 요청됩니다. 그것들이 당신이 필요로하지 않는 것이라면이 기능은 당신에게 쓸모가 없습니다. 추가 제한 사항은 대상 프로세스가 호출 프로세스와 동일한 사용자로 실행중인 경우에만 편의 함수가 성공한다는 것입니다. 따라서 GetWindowThreadProcessId
으로 전화 한 다음 OpenProcess
으로 전화하여 필요한 액세스 권한을 지정하는 것이 좋습니다.
TApplication.IsKeyMsg에서 사용되며 도쿄도의 Windows에서 – FredS
@FredS로 선언되었으므로 Delphi 7에서와 같을 수 있습니다. 연결된 질문은 다른 기능입니다. – Victoria
@ 빅토리아, 하나의 질문이 두 개 있습니다. – FredS