Как увеличить значение трекбара / ползунка в стороннем приложении, используя sendmessage и c #? - PullRequest
2 голосов
/ 17 января 2011

HI, я хочу увеличить или уменьшить значение ползунка / трекбара в стороннем приложении.Можно ли сделать то же самое с помощью sendMessage ().У меня есть ручка слайдера.Может ли кто-нибудь помочь, пожалуйста?Спасибо.

1 Ответ

3 голосов
/ 18 января 2011

Сначала определите функцию SendMessage следующим образом

[DllImport("user32.dll", CharSet = CharSet.Auto)]
static extern IntPtr SendMessage(IntPtr hWnd, UInt32 Msg, IntPtr wParam, IntPtr lParam);

Затем обновите положение ползунка следующим образом

uint TBM_GETPOS = 0x0400;
uint TBM_SETPOS = 0x0405;

IntPtr hWnd = ...
IntPtr pos = SendMessage(hWnd, TBM_GETPOS, 0, 0);
SendMessage(hWnd, TBM_SETPOS, 1, pos.ToInt32() + 1);

Получите максимальную и минимальную доступную позицию, используя

uint TBM_GETRANGEMAX = 0x0402;
uint TBM_GETRANGEMIN = 0x0401;

IntPtr max = SendMessage(hWnd, TBM_GETRANGEMAX, 0, 0);
IntPtr min = SendMessage(hWnd, TBM_GETRANGEMIN, 0, 0);
...