Jump to content
    

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

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

Share this post


Link to post
Share on other sites

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

 

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

 

 

 

 

Edited by fox1

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

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

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

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

 

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

 

HKLM\Dirivers\Display\

 

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

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

 

 

Edited by fox1

Share this post


Link to post
Share on other sites

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

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

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

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

 

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

 

HKLM\Dirivers\Display\

 

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

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

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...