Создайте сервис окон в vb6

Действительно ли возможно создать сервис окон в vb6? если да, как?

5
задан MarkJ 10 March 2010 в 09:14
поделиться

5 ответов

Встроенное диалоговое окно открытия/сохранения файлов ОС позволяет Silverlight получать доступ к любому файлу, указанному пользователем, путем возврата потока файлов, к которому имеет доступ приложение Silverlight.

Кроме этого, приложение Silverlight имеет доступ к собственным изолированным местам хранения.

-121--4859803-

Нужно ли вам каждый раз искать в разных файлах одну и ту же или другую последовательность или искать в одном и том же файле разные последовательности?

Если это последняя строка, вы можете построить индекс файла. Но нет смысла делать это, если файл часто меняется, потому что построение индекса будет дорогим.

Чтобы индексировать файл для полнотекстового поиска, можно использовать библиотеку Lucene.NET.

http://incubator.apache.org/lucene.net/

-121--2695400-

Я никогда не пробовал, но Desaware предлагают коммерческий пакет, NT Service Toolkit , который утверждает, что позволяет вам разместить VB6 DLL в службе Windows. Desaware был основан (и я думаю, все еще принадлежит), гуру VB6 Дэн Апплемен, который является хорошей рекомендацией.

4
ответ дан 14 December 2019 в 01:08
поделиться

Когда вы хотите только изменить некоторые биты выходов микроконтроллера, но регистр для записи является байтом, вы делаете что-то подобное (псевдокод):

char newOut = OutRegister & 0b00011111 //clear 3 msb's
newOut = newOut | 0b10100000 //write '101' to the 3 msb's
OutRegister = newOut //Update Outputs

Конечно, многие микроконтроллеры позволяют изменить каждый бит по отдельности...

-121--604481-

Вот некоторые распространенные идиомы, касающиеся флагов, хранящихся как отдельные биты.

enum CDRIndicators {
  Local = 1 << 0,
  External = 1 << 1,
  CallerIDMissing = 1 << 2,
  Chargeable = 1 << 3
};

unsigned int flags = 0;

Установите флаг тарификации:

flags |= Chargeable;

снимите флаг CallerIDMissing:

flags &= ~CallerIDMissing;

Проверьте, установлены ли CallerIDMissing и Chargeable:

if((flags & (CallerIDMissing | Chargeable )) == (CallerIDMissing | Chargeable)) {

}
-121--604486-

Корпорация Майкрософт создала элемент управления, позволяющий создавать службы в VB6.

http://support.microsoft.com/default.aspx/kb/170883

http://support.microsoft.com/kb/175948/EN-US/

Да, это работает, это лучший способ создать сервис, нет, но если VB6 является требованием (у вас есть куча кода, который вы должны повторно использовать), то я могу из опыта заявить, что он работает. У нас есть исходный контроль от января 1997 MSDN, однако вы можете легко найти его в сети при необходимости ( http://www.google.ca/search?q=ntsvc.ocx+download )

2
ответ дан 14 December 2019 в 01:08
поделиться

Чтобы ответить на ваш вопрос, да можно создать службу Windows с VB6. Чтобы предложить вам совет, есть гораздо лучшие инструменты для использования. Я сделал это однажды как доказательство концептуального проекта, но никогда не понравилось достаточно хорошо, чтобы попытаться использовать его для всего, что мы использовали в компании. Сотрудник сделал это для производственного приложения, и это было погрешно. После того, как он ушел, мы обнаружили, насколько тяжело он работал, чтобы сохранить свою службу и закончил заменить его приложение, не проверяя его код. Таким образом, мой совет, если вы хотите сделать это как упражнение, но если вы смотрите на это для работоспособного решения, вы должны рассмотреть другие инструменты. Вот ссылка к одному способу сделать это.

0
ответ дан 14 December 2019 в 01:08
поделиться

Да, вы можете. Просто следуйте указаниям в этом руководстве:

http://www.vbrad.com/article.aspx?id=92

1
ответ дан 14 December 2019 в 01:08
поделиться

Как выколоть себе глаза ложкой, это технически возможно, но я бы не рекомендовал это.

2
ответ дан 14 December 2019 в 01:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: