Według mnie, do uzyskania PID'u wystarczy wspomniana funkcja. W zmiennej typu liczbowego, przekazanej jako drugi parametr, zwróci ona PID procesu, do którego należy kontrolka o uchwycie HWND, podanym jako pierwszy parametr. Zresztą zapoznaj się z opism na MSDNie.
Co do dodatkowych kombinacji, to mogę Tobie zapodać moje unity pisane pod kątem WinAPI i enumeracji kontrolek oraz procesów. Jest tam na przykład uzyskiwanie HWND z główngo okna procesu o wskazanym PID, uzyskiwanie zawsze uchwytu podstawowego rodzica i tym podobne. Jednak do tych źródeł będę miał swobodny dostęp z PC dopiero jutro po pracy. pewnie po południu lub wieczorem.
Natomiast jestem ciekaw, jak rozwiążesz kwestie wyboru kontrolki po prawokliku. Ja napisałem sobie kiedyś program, który na zasadzie globalnego hooka, po środkowym kliknięciu na standardową kontrolkę edycyjną pokazuje menu, gdzie można wybrać case liter jej tekstu. Są też skróty klawoszowe do tych opcji. Ponieważ niestety pomimo wielu kombinacji, nie udało się mi dodać własnych pozycji do systemowego menu dla wytnij, kopiuj i wklej pod prawo klikiem. Jest to chyba niemożliwe.
FindFirst
iFindNext
- po prostu najprościej i najkrócej jest użyć do tego celu pętlirepeat
i jednego warunku, bez dodatkowych zmiennych; Podobnie ze zmiennąPName
- w odróżnieniu od cplusplusowategoreturn
, do ukrytegoResult
można sobie coś wrzucić, by później z tego skorzystać; To zwykła zmienna, więc można śmiało z niej korzystać;