another question의 설명을 읽으면 GetWindowThreadProcessId
Windows API 메서드를 사용할 때 경쟁 조건이 발생할 위험이 있음을 알았습니다. 얼마나 큰 위험입니까?GetWindowThreadProcessId 경쟁 조건 위험
내가 시도하고있는 것에 배경 정보를 제공 할 수있게하십시오. C#으로 개인적인 용도로 시간 기록 앱을 쓰고 있습니다. 내 의도는 사용중인 응용 프로그램에 대해 시간을 기록 할 수 있도록 활성 창이 변경되었을 때 응용 프로그램이 Windows API 호출을 통해 감지되도록하는 것이 었습니다. 나는 이미 활성 윈도우가 변경 될 때이를 감지하는 코드를 찾았습니다. 이제 그 창과 관련된 프로세스를 결정하려고합니다. 내가 그 지점에 여러 게시물을 해당 지점을 GetWindowThreadProcessId
해결책으로 언급했지만 내가 사용하는 잠재적 인 문제가 될 것 같습니다. GetWindowThreadProcessId
이 안전한 방법이 아닌 경우 다른 대안을 사용할 수 있습니다.
내 희망은 코드를 C#으로 전부 유지하는 것이지만, 필요한 경우 C/C++로 코드의 일부를 움직이는 것에 완전히 반대하지는 않습니다.
감사합니다.
솔직히, 그게 내가 생각한 것입니다. 윈도우가 열려있는 한 hWnd는 변경되지 않습니다. 맞습니까? 그렇다면 창을 닫을 때 나는 이것에 대해 염려해야 할 유일한 시간이라고 생각할 것입니다. –
네, 맞습니다. 오류를 잘 처리하면 문제가되지 않습니다. Windows는 핸들 재사용을 피하려고 열심히 노력합니다. 당신은 probs 없을 겁니다. –