https://bugs.winehq.org/show_bug.cgi?id=53037
--- Comment #7 from Fabian Maurer dark.shadow4@web.de --- I suspected the program just hardcodes the amount of lines, here is the proof. Since the program is VB, we can pretty easily take a peek with a disassembler. Here a trimmed snipped:
push 00000001h mov eax, var_B0 push eax call GetScrollPos mov var_B4, eax ... lea edx, var_24 push edx lea eax, var_20 push eax push 00000001h mov ecx, var_B0 push ecx call GetScrollRange mov edx, var_24 sub edx, 0000000Ch jo 007493D8h cmp var_B4, edx jnz 0074928Ah ... 0074928A: ... 007493D8h:
High level code translation (Might be not 100% accurate):
pos = GetScrollPos(<hwnd>, 1) GetScrollRange(<hwnd>, 1, &dummy, &max) if (pos == max - 12) { //Disable timer, enable radio buttons }
Seems like a badly designed program TBH, but it's what we have to deal with.