Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/18: Рейтинг темы: голосов - 18, средняя оценка - 4.56
0 / 0 / 1
Регистрация: 06.07.2011
Сообщений: 16

Работа программы в фоновом режиме

27.07.2011, 17:15. Показов 3619. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть программа с progressbar, при нажатии на кнопку она преобразуется в мини окно.
Но если работать в другом окне (мини-окно при этом работает в режиме поверх всех окон), то программа перестает высчитывать данные и менять значения progressbar.

Как такое исправить?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.07.2011, 17:15
Ответы с готовыми решениями:

Работа программы в фоновом режиме
Как сделать чтобы при нажатие на кнопку закрытие программы (т.е. ) программа продолжала работать в фоновом режиме.

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

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

2
Level 2
 Аватар для FakiR
401 / 275 / 48
Регистрация: 22.11.2010
Сообщений: 785
Записей в блоге: 1
27.07.2011, 17:54
По идее всё должно работать нормально. Думаю проблема в кривом коде. Покажите его.
0
0 / 0 / 1
Регистрация: 06.07.2011
Сообщений: 16
27.07.2011, 18:03  [ТС]
Лучший ответ Сообщение было отмечено fresh.rus как решение

Решение

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using VBTablet;
using Aero = CodeKing.Native;
using System.Threading;
using Microsoft.WindowsAPICodePack;
 
 
namespace DigitizerInterface
{
    public partial class frm_mini : Form
    {
        public Tablet Digitizer;
        int tmpl;
        string  tmps;
        int Xold, Yold, RectWidth;
        int iFormX, iFormY, iMouseX, iMouseY;
 
        public frm_mini()
        {
            InitializeComponent();
            backgroundWorker.RunWorkerAsync();
        }
 
        private void MainFrm_Load(object sender, EventArgs e)
        {
            try
            {
                
                // On Error GoTo errorload
                Digitizer = new Tablet(); //Actually create the tablet object
                //that uses a tablet attribute. Remember not everyone has _your_ tablet.
                Digitizer.UnavailableIsError = false;
 
                //Tablet.hWnd = frmMain.DefInstance.Handle
                prgPressure.Maximum = (int)Digitizer.Device.NormalPressure.get_Max(true);
                
                /*Digitizer.ContextClosed += new VBTablet.Tablet.ContextClosedEventHandler(ContextClosed);
                Digitizer.ContextOpened += new VBTablet.Tablet.ContextOpenedEventHandler(ContextOpened);
                Digitizer.ContextRepositioned += new Tablet.ContextRepositionedEventHandler(ContextRepositioned);
                Digitizer.ContextUpdated += new Tablet.ContextUpdatedEventHandler(ContextUpdated);
                Digitizer.CursorChange += new Tablet.CursorChangeEventHandler(CursorChange);
                Digitizer.InfoChange += new Tablet.InfoChangeEventHandler(InfoChange);
                Digitizer.ProximityChange += new Tablet.ProximityChangeEventHandler(ProximityChange);*/
                Digitizer.PacketArrival += new Tablet.PacketArrivalEventHandler(PacketArrival);
            }
 
            catch (Exception  ex)
            {
 
                MessageBox.Show(ex.Message + ". Please Connect the Digitizer Device First !!");
                
                
            }
            
            
      }
        
        private void MainFrm_Activated(object Sender, EventArgs e)
        {
            bool temp,res;
 
              /*if (!Digitizer.Context.hCtx.Equals(IntPtr.Zero))
                {
                    temp = true;
                    res = Digitizer.Context.Reposition(ref temp);
                }*/
            
            
        }
        
        private void MainFrm_Deactivated(object Sender, EventArgs e)
        {
            bool temp, res;
            
 
                /*if (!Digitizer.Context.hCtx.Equals(IntPtr.Zero))
                {
 
                    temp = false;
                    res = Digitizer.Context.Reposition(ref temp);
                }*/
            
            
        }
        
        private void cmdConnect_Click(object sender, EventArgs e)
        {
            IntPtr Hwnd;
            bool IsDigitizingContext=false;
            string ContextID = "FirstContext";
            Hwnd = this.Handle;
            Digitizer.hWnd = Hwnd;
            Digitizer.AddContext(ContextID, ref IsDigitizingContext);
            Digitizer.SelectContext(ref ContextID);
            Digitizer.Connected = true;
            Digitizer.Context.QueueSize = 32;//Set queue size to a reasonable value
        }
 
        private void MainFrm_Closed(object Sender, EventArgs e)
        {
            
        }
 
        private void OutContext() //Cursor has moved out of the context
         {
            lblPressure.Enabled = false;
            prgPressure.Enabled = false;
        }
 
        private void InContext() //Cursor has moved into context
        {
        lblPressure.Enabled = true;
        prgPressure.Enabled = true;
        //If digitising Then timClear.Enabled = False
       }
        // Event Handlers for the Digitizer Object
 
        public void PacketArrival(ref IntPtr ContextHandle, ref int Cursor_Renamed, ref int X , ref int Y , ref int Z, ref int Buttons , ref int Pressure , ref int TangentPressure, ref int Azimuth, ref int Altitude, ref int Twist, ref int Pitch , ref int Roll , ref int Yaw,ref int PacketSerial, ref int PacketTim) 
        {
                
                tmpl = System.Math.Abs(Pressure);
                if( tmpl != prgPressure.Value)
                    prgPressure.Value = tmpl;
                Thread.CurrentThread.Start();
 
        if( Convert.ToInt32(lblPressure.Text)!= Pressure )
            lblPressure.Text = Pressure.ToString();
              }
 
        private void frm_mini_MouseDown(object sender, MouseEventArgs e)
        {
            iFormX = this.Location.X;
            iFormY = this.Location.Y;
            iMouseX = MousePosition.X;
            iMouseY = MousePosition.Y;
        }
 
        private void frm_mini_MouseMove(object sender, MouseEventArgs e)
        {
            int iMouseX2 = MousePosition.X;
            int iMouseY2 = MousePosition.Y;
            if (e.Button == MouseButtons.Left)
                this.Location = new Point(iFormX + (iMouseX2 - iMouseX), iFormY + (iMouseY2 - iMouseY));
        }
 
        private void frm_mini_MouseDoubleClick(object sender, MouseEventArgs e)
        {
            if (e.Clicks == 2)
            {
                Application.Exit();
            }
        }
 
        private void frm_mini_MouseHover(object sender, EventArgs e)
        {
            if (this.Focused == true)
            {
                this.Opacity = 0.9;
            }
        }
 
        private void item_exitMini_Click(object sender, EventArgs e)
        {
            frm_main main = new frm_main();
            Close();
            main.Show();
        }
 
        private void item_about_Click(object sender, EventArgs e)
        {
 
        }
 
        private void item_exit_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }
 
        private void frm_mini_MouseLeave(object sender, EventArgs e)
        {
 
        }
}
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.07.2011, 18:03
Помогаю со студенческими работами здесь

Запустить процесс не в фоновом режиме
Есть программа, которая работает в фоне и при выполнении определённых условий запускает другую программу, но вторая программа начинает...

Консольное приложение в фоновом режиме
Подскажите пожалуйста как можно скрыть работу консольного приложения написаного в Visual C#, чтобы во время работы приложения на экране не...

Прослушка http запросов в фоновом режиме
Здравствуйте. Пишу ВК для прослушки HTTP запросов. Использую класс HttpListener. У него есть метод GetContext(), который слушает сеть....

запуск бат-файла в фоновом режиме
Имеется код на си шарпе: string str_test = "time.bat"; void ViewTime() { using (var vbs1 =...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru