Перейти к содержанию
    

Запуск приложения в окне заданого разрешения

Всем привет. Задачка. Есть программа, например навител навигатор, запускается под wince 6. необходимо реализовать следующее: при старте, прога не должна разворачиваться на весь экран (480*272), а на, например, 430*272. А в остальной области 50*272 я хочу рисовать другое окно. Как такое реализовать? Иначе, необходимо как-то обмануть программу, сказать ей, что экран не 480*272, а 430*272. Заране спасибо за ответы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так все просто же

 

this.MainForm.Location = new System.Drawing.Point(0,0);

 

this.MainForm.Size = new System.Drawing.Size(430, 272);

 

Если внешнее приложение

 

string i = "C:\\My.exe";

if (!System.IO.File.Exists(i))

{

MessageBox.Show("Программа My.exe не установлена!", "", MessageBoxButtons.OK, MessageBoxIcon.Error);

return;

}

try

{

System.Diagnostics.Process p = new System.Diagnostics.Process();

p.EnableRaisingEvents = false;

p.StartInfo.FileName = i;

p.StartInfo.Arguments = "1 2 3"; //Аргументы командной строки

p.Start();

p.WaitForInputIdle();

}

catch

{

MessageBox.Show("Программа My.exe не запускается!", "", MessageBoxButtons.OK, MessageBoxIcon.Error);

}

 

 

далее

 

Process.MainWindowHandle.

 

и SetWindowPos

 

[DllImport("core.dll")]

[return: MarshalAs(UnmanagedType.Bool)]

static extern bool SetWindowPos(IntPtr hWnd, IntPtr hWndInsertAfter, int X, int Y, int cx, int cy, SetWindowPosFlags uFlags);

 

http://www.pinvoke.net/default.aspx/user32/SetWindowPos.html

 

 

 

 

Изменено пользователем fox1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

она передвигает правый нижний угол, НО она при этом обрезает правую часть окна программы(не видно ни кнопок ни карты), плюс в навигаторе я так понимаю идет частая перерисовка окна. и получается постоянно надо задавать левый нижний угол, изза этого пправая сторона вроде как мигает постоянно(она становится 480 пикселея а я ее обратно делаю 437)

в общем этот вариант я уже пробовал. не помогает он

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если программа для Win CE заточена под определенное разрашение - то ни чего уже не сделаешь, задание размера формы программы - это просто обрезание, естественно, что часть элементов управления будет не видна (скрыта).

Если программа постоянно регенерируется сама внутри себя (Update, Refresh, Repaint) - то моргание экрана тоже понятно.

Я так понимаю вы хотите смасштабировать форму ????

Не факт что такое прокатит в Win CE

 

Можно попробовать сменить разрешение экрана

 

HKLM\Dirivers\Display\

 

[HKEY_LOCAL_MACHINE\\Drivers\Display\EP931x\RotationDegree] - ориентацию экрана я так менял без всяких перезагрузок

Насчет разрешения экрана - не знаю

 

 

Изменено пользователем fox1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если программа для Win CE заточена под определенное разрашение - то ни чего уже не сделаешь, задание размера формы программы - это просто обрезание, естественно, что часть элементов управления будет не видна (скрыта).

Если программа постоянно регенерируется сама внутри себя (Update, Refresh, Repaint) - то моргание экрана тоже понятно.

Я так понимаю вы хотите смасштабировать форму ????

Не факт что такое прокатит в Win CE

 

Можно попробовать сменить разрешение экрана

 

HKLM\Dirivers\Display\

 

[HKEY_LOCAL_MACHINE\\Drivers\Display\EP931x\RotationDegree] - ориентацию экрана я так менял без всяких перезагрузок

Насчет разрешения экрана - не знаю

а причем тут смена разрешения, фактически мне надо обмануть приложение, сказать ему, что экран у меня не 480*272, а 430*272. а в остальных 50ти пикселях я буду показывать другое приложение. Идеи есть и можно ли такое вообще под wince сделать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...