PDA-версия форума ASUSMobile.RU

Поиск - Профиль - Войти и проверить личные сообщения - Вход - Регистрация
Форум Asus Mobile Club Russia > Полезное > Раздел Разработчика и Программиста > Платформа .NET Compact Framework


[Ответить на тему]

romantic [01.03.07, 13:28] Платформа .NET Compact Framework:
Если Вы программируете на данной платформе, то давайте делится опытом. задаем вопрос - ктонить дает ответ.

вот например мой вопрос:

чето я нигде не могу найти класс/метод доступа к реестру на КПК.
помогите плз..
Help me Help me Help me Help me Help me

[Ответить на тему]   Ответить с цитатой   
XmeD [01.03.07, 14:08] :
2romantic

здесь ответы на все вапросы

Вот например Class Registry

[Ответить на тему]   Ответить с цитатой   
romantic [01.03.07, 15:04] :
еслиб было все так просто яб и не спрашивал.
у меня полный MSDN на русском и английском есть.


почитайте внимательно описание класса.
Код:

Платформы: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Семейство Windows Server 2003


А я говорю про Compact!!!!! (для КПК)

[Ответить на тему]   Ответить с цитатой   
XmeD [01.03.07, 15:49] :
romantic - зачем кричать?!

просто using Microsoft.Win32; дописываем и юзаем Registry клас Wink

з.ы. Почитайте там про реестр тоже есть

з.ы.ы. Программирование для PocketPC

Вот исчо статьи

[Ответить на тему]   Ответить с цитатой   
Abel [04.03.07, 00:08] :
.Net Compact Framework по сравнению с .Net Framework для большого ПК достаточно ущербен. А особенно .Net CF 1.0. Рекомендую недостающий функционал искать в opensource-ной разработке Smart Device Framework (www.opennetcf.org). Реестр там точно есть.

[Ответить на тему]   Ответить с цитатой   
waxtah [23.10.07, 20:28] :
У меня никак не получается заставить работать функцию Directory.GetCurrentDirectory() в Compact Framework хотя в .Net Framework она работает отлично.

И вообще может я что-то не понимаю или там с сертификатами надо мутить? Кто-нибудь даст мне вразумительный ответ?

[Ответить на тему]   Ответить с цитатой   
waxtah [28.10.07, 00:40] :
Всё разобрался. Оказывается невнимательно читал MSDN.

[Ответить на тему]   Ответить с цитатой   
duonix [29.10.07, 18:23] :
Здравствуйте!
Подскажите, что делать если при попытке запуска программы на экран выводится сообщение "ТРЕБУЕТСЯ БОЛЕЕ НОВАЯ ВЕРСИЯ .NET CF чем та, что установленана данном устройстве." Можно ли поставить .NET CF 2.0? Или как это все делается?

[Ответить на тему]   Ответить с цитатой   
Irriius [12.11.07, 02:50] :
duonix писал(а):
Можно ли поставить .NET CF 2.0? Или как это все делается?
конечно можно и даже нужно. Установка происходит как и обычной программы из каб архива. Сейчас с выходом ВМ6 необходимость установки 2й версии фреймворка отпала, т.к. он уже встроен.
Если у вас ВМ5 тогда скачайте его, вперед в поиск, тем навалом.
 i  Yak:
Дублирующий пост удален;
Оверквотинг удален;


[Ответить на тему]   Ответить с цитатой   
Elico [02.02.08, 14:33] :
Помогите, пожалуйста, решить небольшую проблему.
Нужо написать приложение, которое бы всегда было запущено, но никак себя не проявляла (не имело окна). По идее, для винды на ББ стоило бы написать приложение-сервис. Но как это делать под покетам? точнее - на чем писать, и в чем заключается идея?
Пишу на Visual Basic. но, в принципе, могу попытать и Cpp.
P.s. Это - не вирус. Программа должна реагировать только на сообщения, передаваемые ей через SendMessage. icon_smile

[Ответить на тему]   Ответить с цитатой   
gobra [02.02.08, 20:06] :
Elico
ну раз уж Вы собираетесь обрабатывать сообщения - окно-то Вам потребуется? не показывайте его и все, Visible = false...
Правда сам так не пробовал, но не вижу причин такой схеме не работать

[Ответить на тему]   Ответить с цитатой   
Elico [02.02.08, 22:18] :
Таки думал, что потребуется. Планировал использовать WndProc для приема сообщений. Но гугл мне однозначно ответил, что CF + WndProc - головная боль...
А свойство Visible у формы можно изменять только этапе выполнения.
Причем, если в обработчик Load запихнуть visible=false, то она все равно будет видима. Попробовал на Click повесить - там работает, но это все равно - не то Sad
P.s. может вообще Console Application написать? правда, придется читать маны... много icon_smile

[Ответить на тему]   Ответить с цитатой   
gobra [02.02.08, 22:37] :
Сразу уточню: я много работал с .net framework, но не с compact.
и тем не менее в большом фреймворке обрабатывать сообщения вообще нет проблем - оверрайд функции классу-окну делается. нет констант и структур из WinApi, но они легко переносятся.
Насчет visible не уверен, но вообще есть способы, например, создания splash-экранов для программ на ББ - прячут ведь там окно. Попробуйте то же самое.

А насчет именно компакта - попробую в ближайшее время, самому интересно стало icon_smile

Что такое консольное приложение на покете - вообще не понимаю. в Любом случае, Вам ведь требуется ловить сообщения? Консольным окном тут не обойтись

[Ответить на тему]   Ответить с цитатой   
Barin [29.02.08, 14:47] :
Elico
Elico писал(а):
Нужо написать приложение, которое бы всегда было запущено


Попробуйте создать плагин-пустышку. На .netcf теперь это стало возможным.

http://www.christec.co.nz/blog/archives/279

http://www.codeplex.com/ManagedTodayScreen

[Ответить на тему]   Ответить с цитатой   
Тошик [27.08.09, 14:19] :
Лично я не сторонник библиотек сторонних производителей, особенно если некоторые вещи можно поднапрячься через P/Invoke.

Вот - пример паттерна типа сервиса, который висит в памяти все время. Передавать ему данные можно по-разному. И опять-таки, смысл сервисов в Windows Mobile ?

Пишу по памяти, могут быть очепятки:

namespace blablabla
{
static class Program
{

// Флаг завершения программы
static bool IsExit = false;

/// <summary>
/// The main entry point for the application.
/// </summary>
[MTAThread]
static void Main()
{
// Этот файл генерит Студия,
// когда мы создаем
// новое Windows приложение,
// мы отсюда выкашиваем старт формы

System.Threading.Thread.CurrentThread.Priority = ThreadPriority.Lowest; // Это очень важно, чтобы процесс в памяти не отжирал вычислительные ресурсы

while (!isExit)
{
// Чего - то делаем, ждем
// ...

Application.DoEvents(); // На всякий случай
}
}
}
}

Добавлено спустя 4 минуты 7 секунд:

да, и еще нужно создать именной мьютекс для проверки а был ли ранее загружен код в память, не загрузить в память вторую копию (это - через P/invoke coredll):

[DllImport("coredll")]
public static extern int CloseHandle(int hObject);

[DllImport("coredll")]
public static extern int ReleaseMutex(int hObject);

[DllImport("coredll")]
public static extern uint WaitForSingleObject(int hHandle, uint dwMilliseconds);

[DllImport("coredll")]
public static extern int CreateMutex(IntPtr lpMutexAttributes, int bInitialOwner, string lpName);

[Ответить на тему]   Ответить с цитатой   
artanisbox [21.01.12, 17:12] :
добрый день! Есть желание написать шедевры под wm6. для начала скачал и поставил visual studio 2010 ultimate. Установил полностью весь диск! Скачал windows mobile 6 SDK с официального сайта, но установить его не получается, пишет что для начала нужно поставить visual studio 2005 или выше... Но у меня уже установлена 2010 !!! И вот теперь сижу и задаюсь вопросом что делать дальше? Помогите, а то так и умру дураком icon_smile извините, если вопрос кому-то покажется ламерским. спасибо за ответ

[Ответить на тему]   Ответить с цитатой   
LiquidStorm [21.01.12, 19:27] :
artanisbox
Когда выпускали SDK версия 2005 была актуальная, про 2010 установщик ничего не знает. Выход - ставить MSVC2005, потом SDK, потом MSVC2010.

[Ответить на тему]   Ответить с цитатой   
Barin [23.01.12, 13:36] :
artanisbox
Установите VS2008 и SDK, потом VS2010. Они нормально себя чувствуют совместно. Все проекты под Compact Framework (wm) в VS2008.

[Ответить на тему]   Ответить с цитатой   

[Ответить на тему]

Форум Asus Mobile Club Russia > Полезное > Раздел Разработчика и Программиста > Платформа .NET Compact Framework