На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS

Дорогие друзья! Поздравляем вас с Новым 2025 годом!

Всем удачи, успеха и благополучия!

msm.ru
! Правила раздела "Программирование под PalmOS"
Правила раздела просты:
1. Будьте вежливыми.
2. Задавате вопросы только по теме. Пользовательские вопросы (у меня не работает пальм) являются оффтопиком. Пользуйтесь конференциями palmz.in, hpc.ru, ihand.ru .
3. Поиск вареза запрещен.
4. Пользуйтесь поиском. Не надейтесь, что кому-то доставляет удовольствие отвечать в сотый раз на один и тот же вопрос.
  
> получить ID текущей программы
    Привет всем.
    При наступлении определенного события я переключаюсь в свое приложение. Как запомнить текущее приложение, чтобы можно было к нему вернуться из моего приложения.
    Спасибо.
    Сообщение отредактировано: debugx -
      Записать при нормальном старте флаг в Prefs, при нормальном завершении - удалять его.
        Вот я, к примеру получил нотификацию в какой то момент времени:
        ExpandedWrap disabled
          static void HandleNotification(MemPtr cmdPBP, UInt16 launchFlags)
          {
              SysNotifyParamType *notifyParamP = (SysNotifyParamType *)cmdPBP;
                  ...

        как мне определить creator того приложения которое было запущено. Это нужно для того, чтобы потом при необходимости запустить его вновь так:
        DmGetNextDatabaseByTypeCreator (true, &searchState, sysFileTApplication, creator, true, &cardNo, &dbID);
        SysUIAppSwitch(cardNo, dbID, sysAppLaunchCmdNormalLaunch, NULL);

        Добавлено
        Наткнулся на вот эту ветку:
        Какое было предыдущее приложение?
        Неужели нельзя никак определить какое приложение было активно до моего? Ведь по сути когда я получаю нотификацию, мое приложение еще не запущено, однако SysCurAppDatabase уже выдает мое приложение.
          Цитата
          Ведь по сути когда я получаю нотификацию, мое приложение еще не запущено


          Ошибаешься :) Уже запущено, но не с sysAppLaunchCmdNormalLaunch ланчкодом.

          Ведь твой код и так получает управление по нотифи, как только ты закончишь обработку нотификации, текущее приложение продолжит выполняться. В чём проблема? Опиши подробнее, что необходимо сделать.
            Ааа, сори, упустил один момент. После получения нотификации, я стартую свое приложение с SysUIAppSwitch. После чего хочу иметь возможность переключиться обратно в то приложение, которое было активно до моего.
            Нужно это вот для чего. После просыпания устройства мое приложение выдаст на экран формочку с разной полезной информацией и кнопкой "Close", по нажатию на которую будет осуществлено переключение в то приложение, которое было активно в момент просыпания.
            Так вот возможно ли как-то узнать какое приложение было активно в момент просыпания?
              можно почитать статью про запуск программ в моём вики.

              а вообще идея такая: обрабатывать нотификацию в процедурном хэндлере, в этом случае curapp выдаст localID не твоей программы, а предыдущей.
              0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
              0 пользователей:


              Рейтинг@Mail.ru
              [ Script execution time: 0,0350 ]   [ 15 queries used ]   [ Generated: 15.01.25, 06:58 GMT ]