Прежде всего, я знаю, что в SO есть вопрос с аналогичной формулировкой, но на него не было дано должного ответа, и большая часть дискуссии вокруг него сводилась к тому, что «вам не следует делать это ".
Итак, давайте начнем с основ. Зачем это нужно.
Я работаю в компании, которая раздала нашим рабочим несколько десятков планшетных нетбуков. Как вы знаете, нетбуки имеют сравнительно более низкое разрешение, а площадь экрана очень и очень важна.
Когда мы переводим нетбуки в режим планшета, мы используем их для письма, и портретный режим для этого намного удобнее. Дело в том, что при повороте экрана панель задач остается на том же относительном крае, что и в альбомной ориентации. Если он был внизу, он остается внизу на портрете. Но поскольку мы уже используем его на левом краю в альбомной ориентации, мы получаем панель задач, занимающую очень заметный процент доступного экрана.
У меня уже есть структура для прослушивания события изменения разрешения, и она работает правильно, но все образцы i ' Мы видели, как передать сообщения в окно панели задач, в конечном итоге не смогли его переместить. Это похоже на то, что его насильно игнорируют.
Есть ли способ добиться этого? В настоящее время я использую C #, но это не является обязательным требованием, я могу легко выполнить преобразование из C ++ или vb, и вызовы p / не страшны.
Операционная система - Windows 7.
[Изменить: я уже пробовал SHAppBarMessage с SETPOS, он не работает в Windows 7. Я пробовал пинвоксы MoveWindow и SetWindowPos, также не работают в Windows 7 на панели задач. Для других окон он отлично работает. И я уверен, что у меня правильный дескриптор, потому что, если я использую Pinvoke ShowWindow, чтобы скрыть его, он действительно скрывается, хотя я не могу вернуть неиспользуемое пространство для чего-либо еще. Эти методы действительно работали в XP, поэтому это так разочаровывает.]
Большое спасибо за ваше время, Жоао Коррейя