Модераторы: Akina

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как сделать программу фоновой ? 
:(
    Опции темы
XPurple
Дата 19.5.2006, 07:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 4.5.2006
Где: Челябинск

Репутация: 1
Всего: 1



Написал программу для запуска из командной строки. Интерфейс отсутствует. Но видно, что при запуске программа запускается не в фоновом режиме (форма курсора мышки меняется на песочные часы). Как сделать, чтобы программа запускалась в фоновом режиме ? 
--------------------
Кто никогда ни о чем не спрашивает: тот либо знает все, либо не знает ничего.  Не помню, кто сказал, может быть, я   (с) 
PM MAIL   Вверх
boevik
Дата 19.5.2006, 07:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1452
Регистрация: 31.5.2004
Где: Израиль

Репутация: 12
Всего: 35



При создании программы, добавить модуль и убрать форму.
В модуле создать процедуру main, это стартовая тожка программы.
Так же в project properties изменить старт программы с формы на main. 


--------------------
Никогда не говори никогда
PM MAIL WWW   Вверх
XPurple
Дата 19.5.2006, 09:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 4.5.2006
Где: Челябинск

Репутация: 1
Всего: 1



Цитата(boevik @  19.5.2006,  07:46 Найти цитируемый пост)
При создании программы, добавить модуль и убрать форму.

Сделал, как вы рекомендоввали, но при загрузке песочные часики остались плюс исчезло свойство иконки (Icon).
Может быть в самой программе как-то можно указать?  

Это сообщение отредактировал(а) XPurple - 19.5.2006, 10:02
--------------------
Кто никогда ни о чем не спрашивает: тот либо знает все, либо не знает ничего.  Не помню, кто сказал, может быть, я   (с) 
PM MAIL   Вверх
Akina
Дата 19.5.2006, 10:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



Цитата(XPurple @  19.5.2006,  08:41 Найти цитируемый пост)
при запуске программа запускается не в фоновом режиме (форма курсора мышки меняется на песочные часы).

Это не программа работает, а ОС ее запускает и ждет возврата управления.

Цитата(XPurple @  19.5.2006,  10:47 Найти цитируемый пост)
исчезло свойство иконки (Icon)

Добавь в ресурсы икону с ID=1.

Цитата(XPurple @  19.5.2006,  08:41 Найти цитируемый пост)
Как сделать, чтобы программа запускалась в фоновом режиме ? 

Это тебе не ДОС и не Никсы - тут нет фонового режима, тут ногозадачность вытесняющая, понимаешь. Попробуй в начале программы DoEvents добавить... 


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
~FoX~
Дата 19.5.2006, 10:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград

Репутация: 10
Всего: 68



SetPriority тебе в руки  smile  


--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
XPurple
Дата 19.5.2006, 12:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 4.5.2006
Где: Челябинск

Репутация: 1
Всего: 1



Цитата(~FoX~ @  19.5.2006,  10:27 Найти цитируемый пост)
SetPriority 

Пишет, неизвестная функция или процедура.
  

Это сообщение отредактировал(а) XPurple - 19.5.2006, 13:05
--------------------
Кто никогда ни о чем не спрашивает: тот либо знает все, либо не знает ничего.  Не помню, кто сказал, может быть, я   (с) 
PM MAIL   Вверх
boevik
Дата 19.5.2006, 13:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1452
Регистрация: 31.5.2004
Где: Израиль

Репутация: 12
Всего: 35



Поосторожнее с приоритетами, а то система может перестать реагировать 


--------------------
Никогда не говори никогда
PM MAIL WWW   Вверх
~FoX~
Дата 19.5.2006, 15:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград

Репутация: 10
Всего: 68



Цитата(XPurple @  19.5.2006,  13:21 Найти цитируемый пост)
Пишет, неизвестная функция или процедура.

Я погорячился, скорее тебе подойдет SetTheardPriority хотя смысл не меняется
Это АПИ функция, ее сначала надо определить:
Код

Public Declare Function SetThreadPriority Lib "Kernel32" _
(ByVal HANDLE As Long, _   ' Хэндл процесса
 ByVal nPriority As Long) _  ' Тип приоритета
As Boolean

Const THREAD_PRIORITY_LOWEST = -2 ' А это то что кладется в nPriority 
 


--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
XPurple
Дата 19.5.2006, 22:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 4.5.2006
Где: Челябинск

Репутация: 1
Всего: 1



Цитата(~FoX~ @  19.5.2006,  15:21 Найти цитируемый пост)
Public Declare Function SetThreadPriority Lib "Kernel32" _

Несколько раз встречал подобное выражение. Это означает использование функций не из  VB ?
 
--------------------
Кто никогда ни о чем не спрашивает: тот либо знает все, либо не знает ничего.  Не помню, кто сказал, может быть, я   (с) 
PM MAIL   Вверх
cardinal
Дата 20.5.2006, 03:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 19
Всего: 99



Это означает использование библиотеки kernel32.dll, а точнее API функции SetThreadPriority сидящей в этой библиотеке... 


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Walera
Дата 22.5.2006, 04:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 4.5.2006

Репутация: нет
Всего: нет



а что должна делать твоя программа в фоновом режиме 
PM MAIL   Вверх
XPurple
Дата 22.5.2006, 06:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 4.5.2006
Где: Челябинск

Репутация: 1
Всего: 1



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

Добавлено @ 06:37 
Вот так сделал пока. Взято из примеров, но почему-то везде в примерах указывают/объявляют SetPriotityClass, а не SetThreadPriority.
Чем эти функции различаются между собой ?
Код

Private Declare Function GetCurrentProcess Lib "kernel32" () As Long
Private Declare Function SetPriorityClass Lib "kernel32" (ByVal hProcess As _
Long, ByVal dwPriorityClass As Long) As Long
Private Declare Function GetPriorityClass Lib "kernel32" (ByVal hProcess As _
Long) As Long

Public Enum Priority
   IDLE_PRIORITY_CLASS = &H40
   NORMAL_PRIORITY_CLASS = &H20
   HIGH_PRIORITY_CLASS = &H80
   REALTIME_PRIORITY_CLASS = &H100
End Enum

Public Sub SetPriority(pParam As Priority)
   SetPriorityClass GetCurrentProcess(), pParam
End Sub


Private Sub Form_Load()
SetPriority (IDLE_PRIORITY_CLASS)
'....
End sub

  

Это сообщение отредактировал(а) XPurple - 22.5.2006, 06:39
--------------------
Кто никогда ни о чем не спрашивает: тот либо знает все, либо не знает ничего.  Не помню, кто сказал, может быть, я   (с) 
PM MAIL   Вверх
~FoX~
Дата 22.5.2006, 08:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград

Репутация: 10
Всего: 68



SetThreadPriority - устанавливает приоретет для потока
SetPriorityClass  - устанавливает приоритет для всех потоков процесса 


--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
XPurple
Дата 22.5.2006, 10:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 4.5.2006
Где: Челябинск

Репутация: 1
Всего: 1



Немного в оффтоп:
Как расчитать: какие используются потоки или хотя бы где почерпнуть соответствующую информацию ? 
--------------------
Кто никогда ни о чем не спрашивает: тот либо знает все, либо не знает ничего.  Не помню, кто сказал, может быть, я   (с) 
PM MAIL   Вверх
Akina
Дата 22.5.2006, 10:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



Что-то мне подсказывает, что не в этом дело. Проблема имхо - в неверном написании кода самой программы.
Цитата(XPurple @  22.5.2006,  07:29 Найти цитируемый пост)
Она должна считывать список файлов и фольдеров с сохранением в текстовом виде(файле).

Дай код блока сканирования. 


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0562 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.