Wdrażamy niektóre maszyny wirtualne z oprogramowaniem robotów, które wykonuje działania w przeglądarce, i mamy problemy z niektórymi z nich podczas uzyskiwania dostępu do schowka w celu odczytu lub zapisu. Pokazują „Nie można otworzyć schowka”.
Jest więc inna aplikacja przechowująca schowek.
Jak możemy to debugować? Czy jest jakieś narzędzie, które może to monitorować? AFAIK ProcMon nie wykonuje pracy.
Maszyny to Windows XP.
windows
monitoring
clipboard
Áxel Costas Pena
źródło
źródło
Odpowiedzi:
Clipboard API pochodzi z systemu Windows 3.0 (lub wcześniej?) I jest źle zaprojektowany. Niestety zamiast prymitywów get / set korzysta z funkcji open / close, co umożliwia aplikacjom zbyt długo utrzymywać dostęp. Vista wprowadziła pewne usprawnienia w obsłudze łańcucha przeglądających, ale nie ma nowego API.
Dzięki istniejącemu interfejsowi API można zidentyfikować właściciela schowka tylko wtedy, gdy ten właściciel ma również co najmniej jedno otwarte okno. Jeśli właściciel nie ma okien, jedno nie ma szczęścia.
W wątku Dlaczego mój schowek przestał działać? Jay Parzych napisał następujący kod vbs, w którym funkcja GetClipboardLocker zwraca nazwę pliku procesu przechowującego schowek:
Podobną funkcję C # można znaleźć w poście Uzyskaj właściciela tytułu / podpisu ze schowka .
źródło