В этой статье единственная причина, по которой он получает ScaleMode, - установить ширину горизонтальной полосы прокрутки. Тебе не обязательно это делать.
SendMessageByNum List1.hwnd, LB_SETHORIZONTALEXTENT, 800, 0
, где 800 - ширина пикселя, которую вы хотите, чтобы окно списка могло прокручиваться вправо.
Вам все еще понадобится hWnd. Лучше всего использовать внешнюю DLL (написанную на VB), которая может перечислять через дочерние окна вашего процесса, пока не найдет класс окон для списка (вам нужно будет найти какой-то способ уникальной идентификации его родителя, например окно название / текст или что-то). Та же самая DLL может также выполнить вышеупомянутый вызов SendMessage, чтобы установить горизонтальный текстовый экстент (возможно, также он может измерить ширину содержащихся элементов списка).