у меня есть проблема с помощью "Кода Событий Буфера обмена выгоды", найденного на этой ссылке:
код работает отлично, только если форма остается на переднем плане, не минимизированном к лотку, НО: если Вы добавляете notifyicon и минимизируете форму к лотку и поворачиваете showintaskbar ко лжи (так, чтобы у Вас только был значок в лотке), привычка программы ловят любые изменения буфера обмена больше..., даже если Вы максимизируете форму назад, это работа привычки, снова... необходимо перезапустить программу..
любая идея о том, как решить эту проблему!? как может я ловить изменения буфера обмена, даже если форма минимизирована в лоток!?
любая справка действительно ценится...
Спасибо
Он должен работать, если он свернут - правда, свернут или скрыт. Если ваша реализация «свернутого» вызывает уничтожение окна, то этот дескриптор недействителен. И цепочка буфера обмена теперь разорвана из-за того, что слушало события буфера обмена ниже по потоку ...
Добавьте туда некоторый отладочный код, чтобы отобразить this.Handle как строку (например: «123456»). Поместите вызов SetClipboardViewer в событие щелчка в форме. Щелкните по нему, посмотрите номер. Свернуть, восстановить. Щелкните еще раз. У тебя такой же номер? вам следует. Если нет, то в этом проблема. События буфера обмена ДОЛЖНЫ передаваться в окно, которое остается. Это может быть скрытое окно на заднем плане.
- Крис
Крис