Я пытаюсь установить флажок внутри программы, называемой AviReComp, и я не могу как-то это сделать.Я пробовал все виды кода:
//Check the checkbox
IntPtr SubtitlesSection = FindWindowEx(MoreOptions, IntPtr.Zero, null, "Subtitles");
IntPtr AddSubtitlesCheckbox = FindWindowEx(SubtitlesSection, IntPtr.Zero, null, "Enable/Disable");
SendMessage(AddSubtitlesCheckbox, BM_SETSTATE, 1, IntPtr.Zero);
SendMessage(AddSubtitlesCheckbox, BM_SETCHECK, 1, IntPtr.Zero);
SendMessage(AddSubtitlesCheckbox, WM_PAINT, 0, IntPtr.Zero);
SendMessage(AddSubtitlesCheckbox, WM_LBUTTONDOWN, 1, MakeLParam(10, 10));
SendMessage(SubtitlesSection, WM_PARENTNOTIFY, (int)MakeLParam((int)AddSubtitlesCheckbox, WM_LBUTTONDOWN), MakeLParam(26, 31));
SendMessage(SubtitlesSection, WM_PARENTNOTIFY, (int)MakeLParam((int)AddSubtitlesCheckbox, WM_LBUTTONUP), MakeLParam(26, 31));
Флажок расположен на вкладке «Дополнения» под разделом «Субтитры» и называется «Включить / Отключить».
Я что-то не так делаю?1006 *
Спасибо за любую помощь!
Редактировать: Теперь я вижу, что этот код действительно работает, и он проверяет флажок, но у меня все еще есть проблема, поскольку он не меняет всеэлементы управления, которые должны измениться, когда я проверяю флажок вручную, а не внутри своей программы.Есть ли способ заставить родительский элемент управления перерисовать себя или вызвать событие изменения, когда я отмечаю флажок как отмеченный?