Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ КПК ΠΈ смартфонов Π½Π° .NET Compact FrameworkΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 51

Автор АлСксандр Климов

/// Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ VibrateGetDeviceCaps для опрСдСлСния

/// возмоТности воспроизвСдСния Π²ΠΈΠ±Ρ€ΠΎΠ·Π²ΠΎΠ½ΠΊΠ°.

/// </summary>

public enum VibrationCapabilities : int {

 VDC_Amplitude,

 VDC_Frequency,

}


private void mnuStopVibrate_Click(object sender, EventArgs e) {

 StopVibrate();

}


private void mnuVibrate_Click(object sender, EventArgs e) {

 StartVibrate();

}


/// <summary>

/// Π’ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ Π²ΠΈΠ±Ρ€ΠΎΠ·Π²ΠΎΠ½ΠΎΠΊ

/// </summary>

/// <returns>Π’ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΌ случаС возвращаСтся TRUE, Π² случаС

/// ошибки - FALSE.</returns>

public static bool StartVibrate() {

 int result = Vibrate(0, IntPtr.Zero, 0xffffffff, 0xffffffff);

 if (result != 0) {

  return false;

 }

 return true;

}


/// <summary>

/// ΠžΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Π²ΠΈΠ±Ρ€ΠΎΠ·Π²ΠΎΠ½ΠΎΠΊ

/// </summary>

/// <returns>Π’ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΌ случаС возвращаСтся TRUE, Π² случаС

/// ошибки - FALSE.</returns>

public static bool StopVibrate() {

 int result = VibrateStop();

 if (result != 0) {

  return false;

 }

 return true;

}

Π’ΠΠ˜ΠœΠΠΠ˜Π•

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° смартфонах. На Ρ„ΠΎΡ€ΡƒΠΌΠ°Ρ… ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ сообщСния, Ρ‡Ρ‚ΠΎ Π½Π° устройствах ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ PocketPC Phone Edition этот ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Π΄Π°ΠΆΠ΅ Ссли ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ устройство ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π²ΠΈΠ±Ρ€ΠΎΠ·Π²ΠΎΠ½ΠΎΠΊ.

Π“Π»Π°Π²Π° 14

ΠšΠΈΡ€ΠΏΠΈΡ‡ΠΈΠΊΠΈ .NET Compact Framework

Π˜Ρ‚Π°ΠΊ, ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ .NET Compact Framework ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΊΠΎΠ½Ρ†Ρƒ. ΠœΡ‹ с Π²Π°ΠΌΠΈ рассмотрСли Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ аспСкты программирования для ΠΊΠ°Ρ€ΠΌΠ°Π½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² ΠΈ смартфонов. НапослСдок я Ρ…ΠΎΡ‡Ρƒ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ΡŒ Π²Π°ΠΌ нСсколько ΠΌΠ°Π»Π΅Π½ΡŒΠΊΠΈΡ… совСтов-ΠΊΠΈΡ€ΠΏΠΈΡ‡ΠΈΠΊΠΎΠ², с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Ρ‹ смоТСтС ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ своС Π½ΠΎΠ²ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π§Π°ΡΡ‚ΡŒ этих совСтов ΡƒΠΆΠ΅ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°Π»Π°ΡΡŒ Π²Π°ΠΌ Π½Π° страницах этой ΠΊΠ½ΠΈΠ³ΠΈ. Но, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, Π²Ρ‹ Π½Π΅ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΠ»ΠΈ Π½Π° Π½ΠΈΡ… внимания ΠΈΠ»ΠΈ Π½Π΅ ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅, Π³Π΄Π΅ ΠΈΡΠΊΠ°Ρ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹ΠΉ Π²Π°ΠΌ кусок ΠΊΠΎΠ΄Π°. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ я ΠΎΡ‚ΠΎΠ±Ρ€Π°Π» Ρ‡Π°ΡΡ‚ΡŒ этих совСтов ΠΈ помСстил ΠΈΡ… Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ Π³Π»Π°Π²Ρƒ. Π­Ρ‚Ρƒ Π³Π»Π°Π²Ρƒ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ справочный ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»

Π£Π·Π½Π°Ρ‚ΡŒ Π²Π΅Ρ€ΡΠΈΡŽ .NET Compact Framework

Π’ ΠΏΠ°ΠΏΠΊΠ΅ Windows Π΅ΡΡ‚ΡŒ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° CGACUTIL.EXE, которая Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π½ΠΎΠΌΠ΅Ρ€ вСрсии установлСнной .NET Compact Framework. Если Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π½ΠΎΠΌΠ΅Ρ€ вСрсии, Ρ‚ΠΎ слСдуСт Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠΎΠ΄ΠΎΠΌ, ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΌ Π² листингС 14.1.

Листинг 14.1

// Π£Π·Π½Π°Π΅ΠΌ Π²Π΅Ρ€ΡΠΈΡŽ установлСнной .NET Compact Framework

txtAppDir.Text = Environment.Version.ToString();

Π£Π·Π½Π°Ρ‚ΡŒ Π²Π΅Ρ€ΡΠΈΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы

Для получСния вСрсии ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΡƒΠΆΠ΅ свойство OSVersion, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² листингС 14.2.

Листинг 14.2

// Π£Π·Π½Π°Π΅ΠΌ Π²Π΅Ρ€ΡΠΈΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы

txtInfo.Text = Environment.OSVersion.ToString();

ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌΡ‹Π΅ значСния ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ спискС.

β–‘ 3.0 β€” соотвСтствуСт Pocket PC 2000/2002.

β–‘ 4.20 β€” соотвСтствуСт Pocket PC 2003.

β–‘ 4.21 β€” соотвСтствуСт Pocket PC 2003 SE.

β–‘ 5.01 β€” соотвСтствуСт Windows Mobile 5.0.

ΠŸΡƒΡ‚ΡŒ ΠΊ Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½ΠΎΠΌΡƒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ

Иногда трСбуСтся ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½ΠΎΠ³ΠΎ прилоТСния. Для этого ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠΎΠ΄ΠΎΠΌ ΠΈΠ· листинга 14.3.

Листинг 14.3

using System.IO;

using System.Reflection;


txtAppDir.Text =

 Path.GetDirectoryName(Assembly.GetExecutingAssemblΡƒ().GetModule()[0].

  FullyQuelifiedName).ToString();

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ послС Π²Ρ‹Π±ΠΎΡ€Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΏΡƒΠ½ΠΊΡ‚Π° Π² тСкстовом ΠΏΠΎΠ»Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½ΠΎΠ³ΠΎ прилоТСния.

Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°ΠΏΠΊΠΈ

Π’ Π³Π»Π°Π²Π΅, посвящСнной функциям Windows API, ΠΏΡƒΡ‚ΡŒ ΠΊ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΠ°ΠΏΠΊΠ°ΠΌ отыскивался с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ SHGetSpecialFolderPath. Π‘Ρ‚ΠΎΡ€ΠΎΠ½Π½ΠΈΠΊΠΈ управляСмого ΠΊΠΎΠ΄Π° ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ GetFolderPath, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ появился Π² .NET Compact Framework 2.0. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ пСрСчислСния Environment.SpecialFolder ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΡƒΡ‚ΠΈ ΠΊ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΠ°ΠΏΠΊΠ°ΠΌ систСмы. НапримСр, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΏΠ°ΠΏΠΊΠ΅ Start Up, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠΎΠ΄ΠΎΠΌ, ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΌ Π² листингС 14.4.

Листинг 14.4

txtInfo.Text =

 Environment.GetFolderPath(Environment.SpecialFolder.Startup).ToString();

Π£Π·Π½Π°Ρ‚ΡŒ имя устройства

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ имя устройства, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π·Π°ΠΏΡƒΡ‰Π΅Π½ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ достаточно Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ GetHostName, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² листингС 14.5.

Листинг 14.5

txtInfo.Text = System.Net.Dns.GetHostName().ToString();

Π£Π·Π½Π°Ρ‚ΡŒ ΠΎΡ€ΠΈΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ экрана

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠΉ Ρ€Π΅ΠΆΠΈΠΌ экрана установлСн Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚, достаточно ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ свойство Bounds, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² листингС 14.6.

Листинг 14.6

txtInfo.Text =

 Screen.PrimaryScreen.Bounds.Width + ":" + Screen.PrimaryScreen.Bounds.Height;

Зная ΡˆΠΈΡ€ΠΈΠ½Ρƒ ΠΈ высоту экрана, ΡƒΠΆΠ΅ Π½Π΅ составит Ρ‚Ρ€ΡƒΠ΄Π° ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠΉ Ρ€Π΅ΠΆΠΈΠΌ отобраТСния ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚.

ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ

Π‘Ρ‚ΠΎΠΈΡ‚ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ особоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° класс Process. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄Π°Π½Π½ΠΎΠ³ΠΎ класса ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π½ΠΎ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ любой Ρ„Π°ΠΉΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ, сопоставлСнной с Π΄Π°Π½Π½Ρ‹ΠΌ Ρ‚ΠΈΠΏΠΎΠΌ Ρ„Π°ΠΉΠ»Π°. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ воспроизвСсти ΠΌΡƒΠ·Ρ‹ΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» MP3, Π½ΠΎ ΠΏΡ€ΠΈ этом нСизвСстно, какая ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° воспроизвСдСниС этих ΠΌΡƒΠ·Ρ‹ΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ². Π’ этом случаС ΠΌΠΎΠΆΠ½ΠΎ просто ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ имя Ρ„Π°ΠΉΠ»Π°, ΠΈ систСма сама запустит ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ. Π‘ΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ Π² листингС 14.7.

Листинг 14.7

System.Diagnostics.Process.Start("\\My Music\\myfile.mp3");

Π’ΠΠ˜ΠœΠΠΠ˜Π•

Класс System.Diagnostics.Process появился Π² .NET Compact Framework 2.0. Для вСрсии .NET Compact Framework 1.0 Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ API ShellExecuteEx.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° письма

БущСствуСт ΠΎΡ‡Π΅Π½ΡŒ Π»Π΅Π³ΠΊΠΈΠΉ ΠΈ быстрый способ создания ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ письма с использованиСм Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, примСняСмой Π½Π° Π²Π΅Π±-страницах. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова mailto создаСтся Π·Π°Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° письма, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π°Π²Ρ‚ΠΎΡ€ сообщСния, Ρ‚Π΅ΠΌΠ° ΠΈ тСкст письма. ПослС этого запускаСтся процСсс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² автоматичСском Ρ€Π΅ΠΆΠΈΠΌΠ΅ запускаСт Π½ΡƒΠΆΠ½ΡƒΡŽ ΠΏΠΎΡ‡Ρ‚ΠΎΠ²ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈ отсылаСт письмо, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² листингС 14.8.

Листинг 14.8

private void butSendMail_Π‘lick(object sender, EventArgs e) {

 System.Diagnostics.Process.Start

  ("mailto: [email protected]?subject=About Book", null);

}

Кнопки Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ

Π£ ΠΊΠ°Ρ€ΠΌΠ°Π½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² Π΅ΡΡ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ Π½Π° экранС. Π­Ρ‚ΠΎ ΠΊΠ½ΠΎΠΏΠΊΠΈ со стрСлками ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠ° Π²Π²ΠΎΠ΄Π°.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ, Π½Π° ΠΊΠ°ΠΊΡƒΡŽ ΠΊΠ½ΠΎΠΏΠΊΡƒ Π½Π°ΠΆΠ°Π» ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ, Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ событиС OnKeyDown. Для создания тСстового прилоТСния Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅ строку состояния, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π½Π°ΠΆΠ°Ρ‚ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ. Π‘ΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ Π² листингС 14.9.

Листинг 14.9

protected override void OnKeyDown(KeyEventArgs keyg) {

 switch (keyg.KeyData) {

 case Keys.Left:

  sbaKeys.Text = "Left";

  break;

 case Keys.Right:

  sbaKeys.Text = "Right";

  break:

 case Keys.Down:

  sbaKeys.Text = "Down";

  break;

 case Keys.Up:

  sbaKeys.Text = "Up";

  break;

 case Keys.Return:

  sbaKeys.Text = "Return";

  break:

 default:

  break;

 }

}

ПослСсловиС

Π§Ρ‚ΠΎ дальшС?

Π’ΠΎΡ‚ ΠΈ подошла ΠΊ ΠΊΠΎΠ½Ρ†Ρƒ ΠΊΠ½ΠΈΠ³Π° ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ для ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… устройств с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ .NET Compact Framework. НадСюсь, я смог Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎΠ± основных особСнностях программирования Π² этой срСдС, ΠΈ Π²Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Π»Π΅Π³ΠΊΠΎ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ этой Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ. Π–ΠΈΠ·Π½ΡŒ Π½Π΅ стоит Π½Π° мСстС, ΠΈ постоянно Π²Ρ‹ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ Π½ΠΎΠ²Ρ‹Π΅ Ρ€Π΅Π»ΠΈΠ·Ρ‹ эмуляторов, ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ SDK ΠΈ Π½ΠΎΠ²Ρ‹Ρ… ΡƒΡ‚ΠΈΠ»ΠΈΡ‚. Компания Microsoft ΡƒΠΆΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π°Π΄ Π½ΠΎΠ²ΠΎΠΉ мобильной вСрсиСй Windows, которая Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡ€ΠΈΠΉΡ‚ΠΈ Π½Π° смСну Windows Mobile 5.0, ΠΈ ΠΎΠ±Π΅Ρ‰Π°Π΅Ρ‚ Π²Ρ‹ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π΅Π΅ Π² ΠΊΠΎΠ½Ρ†Π΅ 2006 Π³ΠΎΠ΄Π°. Новая опСрационная систСма называСтся Crossbow. По заявлСниям Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², Π² Π½Π΅ΠΉ Π±ΡƒΠ΄ΡƒΡ‚ прСдставлСны Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Π΅ срСдства синхронизации с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ Office 2007 ΠΈ Exchange 12.

Π’Π°ΠΊΠΆΠ΅ Π² состав ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы Π²ΠΎΠΉΠ΄Π΅Ρ‚ новая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Office Communicator, ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‰Π°Ρ ΡˆΠΈΡ€ΠΎΠΊΠΈΠΌΠΈ возмоТностями ΠΎΠ±ΠΌΠ΅Π½Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ Ρ‡Π΅Ρ€Π΅Π· ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½Ρ‹Π΅ сообщСния, Π³ΠΎΠ»ΠΎΡΠΎΠ²ΡƒΡŽ связь ΠΈ Π²ΠΈΠ΄Π΅ΠΎ. Π’Π°ΠΊΠΆΠ΅ появилась информация, Ρ‡Ρ‚ΠΎ послС Crossbow Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½Π° Π΅Ρ‰Π΅ ΠΎΠ΄Π½Π° новая ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° ΠΏΠΎΠ΄ ΠΊΠΎΠ΄ΠΎΠ²Ρ‹ΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Photon. Главная ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ этой систСмы Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Π½Π° смартфонах, Ρ‚Π°ΠΊ ΠΈ Π½Π° ΠΊΠ°Ρ€ΠΌΠ°Π½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ…. На сСгодняшний дСнь, ΠΏΠΎ ΠΎΡ†Π΅Π½ΠΊΠ°ΠΌ экспСртов, компания Microsoft ΡƒΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ 16% Ρ€Ρ‹Π½ΠΊΠ° ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм. Π›ΠΈΠ΄Π΅Ρ€ΠΎΠΌ Π² этом сСгмСнтС являСтся опСрационная систСма Symbian, Π½Π° долю ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ приходится 63%. Но Π΅ΡΡ‚ΡŒ всС прСдпосылки, Ρ‡Ρ‚ΠΎ Π² блиТайшСм Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ эти Ρ†ΠΈΡ„Ρ€Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒΡΡ Π² сторону увСличСния Π΄ΠΎΠ»ΠΈ Windows Mobile.

ΠŸΠΎΠ»Π΅Π·Π½Ρ‹Π΅ рСсурсы

НапослСдок Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ Π±Ρ‹ привСсти нСсколько ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… ссылок Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ рСсурсы Π² Π‘Π΅Ρ‚ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌΠΈ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ².