Вход/Регистрация
Программирование КПК и смартфонов на .NET Compact Framework
вернуться

Климов Александр Петрович

Шрифт:

 DateTime dt = DateTime.UtcNow.ToLocalTime;

 // Выводим сообщение

 MessageBox.Show("Текущее время: " + st.wHour.ToString + ":" +

st.wMinute.ToString);

}

private void SetTime {

 // Сначала получим системное время

 SYSTEMTIME st = new SYSTEMTIME;

 GetSystemTime(ref st);

 // А теперь прибавим один час

 st.wHour = (ushort)(st.wHour + 1 % 24);

 SetSystemTime(ref st);

 MessageBox.Show("Новое время: " + st.wHour.ToString + ":" +

st.wMinute.ToString);

}

private void butGetTime_Click(object sender, EventArgs e) {

 GetTime;

}

private void butSetTime_Click(object sender, EventArgs e) {

 SetTime;

}

Создание ярлыка

В некоторых случаях программисту необходимо создать ярлык к какой-либо программе. В этом случае можно воспользоваться специальной функцией

SHCreateShortcut
, применение которой демонстрируется в листинге 13.15.

Листинг 13.15

/// <summary>

/// Функция для создания ярлыка

/// </summary>

/// <param name="szShortcut">Строка, содержащая

/// путь и имя создаваемого ярлыка.

///</param>

/// <param name="szTarget">Строка, содержащая

/// путь и аргументы для ярлыка.

/// Размер строки ограничен 256 символами.

/// </param>

/// <returns>B успешном случае возвращается TRUE,

/// в случае ошибки возвращается FALSE

/// </returns>

[DllImport("coredll.dll", EntryPoint = "SHCreateShortcut")]

private static extern bool SHCreateShortcut(string szShortcut,

 string szTarget);

private void butCreateShortcut_Click(object sender, EventArgs e) {

 // Создадим ярлык к калькулятору

 bool success = SHCreateShortcut("\\My Documents\\Shortcut.lnk",

"\\Windows\\calс.exe\"");

}

В этом примере создается ярлык

Shortcut.lnk
для стандартного калькулятора, чей исполняемый файл носит имя
windows\calc.exe
.

Количество строк в текстовом поле

Если у текстового поля свойство

Multiline
имеет значение
True
, то свойство
Lines
возвращает массив строк в текстовом поле. Но у данного свойства есть два недостатка. Во-первых, свойство
Lines
не поддерживается библиотекой .NET Compact Framework, а во-вторых, это свойство не учитывает перенос слов. Для подсчета количества строк в многострочном текстовом поле можно использовать сообщение
EM_GETLINECOUNT
. Соответствующий код приведен в листинге 13.16.

Листинг 13.16

[DllImport("coredll.dll")]

static extern int SendMessage(IntPtr hwnd, int msg, int wParam, int lParam);

const int EM_GETLINECOUNT = 0x00BA;

private void butGetNumber_Click(object sender, EventArgs e) {

 // Узнаем число строк в текстовом поле

 int numberOfLines = SendMessage(textBox1.Handle, EM_GETLINECOUNT, 0, 0);

 sbInfo.Text = "Число строк: " + numberOfLines.ToString;

}

Реестр

Реестр является важной частью любой операционной системы семейства Windows. Не является исключением и система Windows Mobile, в которой тоже имеется собственный реестр. Однако разработчики компании Microsoft не стали включать редактор реестра в состав Windows Mobile. Поэтому для доступа к разделам реестра приходится устанавливать программы от сторонних производителей.

Однако любой программист может написать свой редактор реестра, используя возможности .NET Compact Framework. При этом следует учитывать, что в библиотеке .NET Compact Framework 2.0 появились классы для работы с разделами реестра. Если же вы продолжаете писать программы с использованием .NET Compact Framework 1.0, то придется вызывать функции Windows API.

  • Читать дальше
  • 1
  • ...
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: