Dobermann 1 19 сентября, 2012 Опубликовано 19 сентября, 2012 · Жалоба Всем привет. Задачка. Есть программа, например навител навигатор, запускается под wince 6. необходимо реализовать следующее: при старте, прога не должна разворачиваться на весь экран (480*272), а на, например, 430*272. А в остальной области 50*272 я хочу рисовать другое окно. Как такое реализовать? Иначе, необходимо как-то обмануть программу, сказать ей, что экран не 480*272, а 430*272. Заране спасибо за ответы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
fox1 0 20 сентября, 2012 Опубликовано 20 сентября, 2012 (изменено) · Жалоба Так все просто же 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 Изменено 20 сентября, 2012 пользователем fox1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dobermann 1 20 сентября, 2012 Опубликовано 20 сентября, 2012 · Жалоба она передвигает правый нижний угол, НО она при этом обрезает правую часть окна программы(не видно ни кнопок ни карты), плюс в навигаторе я так понимаю идет частая перерисовка окна. и получается постоянно надо задавать левый нижний угол, изза этого пправая сторона вроде как мигает постоянно(она становится 480 пикселея а я ее обратно делаю 437) в общем этот вариант я уже пробовал. не помогает он Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
fox1 0 20 сентября, 2012 Опубликовано 20 сентября, 2012 (изменено) · Жалоба Если программа для Win CE заточена под определенное разрашение - то ни чего уже не сделаешь, задание размера формы программы - это просто обрезание, естественно, что часть элементов управления будет не видна (скрыта). Если программа постоянно регенерируется сама внутри себя (Update, Refresh, Repaint) - то моргание экрана тоже понятно. Я так понимаю вы хотите смасштабировать форму ???? Не факт что такое прокатит в Win CE Можно попробовать сменить разрешение экрана HKLM\Dirivers\Display\ [HKEY_LOCAL_MACHINE\\Drivers\Display\EP931x\RotationDegree] - ориентацию экрана я так менял без всяких перезагрузок Насчет разрешения экрана - не знаю Изменено 20 сентября, 2012 пользователем fox1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dobermann 1 21 сентября, 2012 Опубликовано 21 сентября, 2012 · Жалоба Если программа для Win CE заточена под определенное разрашение - то ни чего уже не сделаешь, задание размера формы программы - это просто обрезание, естественно, что часть элементов управления будет не видна (скрыта). Если программа постоянно регенерируется сама внутри себя (Update, Refresh, Repaint) - то моргание экрана тоже понятно. Я так понимаю вы хотите смасштабировать форму ???? Не факт что такое прокатит в Win CE Можно попробовать сменить разрешение экрана HKLM\Dirivers\Display\ [HKEY_LOCAL_MACHINE\\Drivers\Display\EP931x\RotationDegree] - ориентацию экрана я так менял без всяких перезагрузок Насчет разрешения экрана - не знаю а причем тут смена разрешения, фактически мне надо обмануть приложение, сказать ему, что экран у меня не 480*272, а 430*272. а в остальных 50ти пикселях я буду показывать другое приложение. Идеи есть и можно ли такое вообще под wince сделать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться