Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
 Аватар для Mindz
7 / 7 / 1
Регистрация: 31.01.2010
Сообщений: 51

Мониторинг файла?

12.07.2012, 18:49. Показов 1432. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, возникла некоторая проблема в создание программы которая бы выполняла некоторые операции с информацией файла,но при условие того что он открыт пользователем в момент работы программы.Выполняется в ОС Windows.
Не мог бы кто поделится соображениями по этому поводу,был бы весьма благодарен.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.07.2012, 18:49
Ответы с готовыми решениями:

мониторинг действий пользователя
Помогите пожалуйста написать программу мониторинг действий пользователя.Или хотя б код проги скиньте. Задачи. 1) Список запуска...

Мониторинг HTTP трафика
Всем здарова, возникла надобность мониторить http трафик и я так понимаю что для этого нужно слушать порты 80 и 8080, как это можно...

Мониторинг файла
Добрый день. Может кто подскажет - есть контроллер под Linux ARM У него одна из лап заведена на шину прерывания. Состоянию этой...

13
12.07.2012, 19:06

Не по теме:

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

0
 Аватар для Mindz
7 / 7 / 1
Регистрация: 31.01.2010
Сообщений: 51
12.07.2012, 19:14  [ТС]
Не думал что квантовая механика,может вызвать столь бурную аналогию.
Программа производит операцию считывания даты изменения файла,после чего проходить еше много процессов но суть их одна,они должны выполнятся при условие того что просматриваемый файл открыт пользователем в данный момент( в момент работы программы, то есть программа автоматом мониторит процесс).
вот такое не прокатит
C++
1
2
3
4
5
6
ifstream File("File.dat");
 
while( File.is_open() ) {
         someFunction();
         ........
}
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
12.07.2012, 19:19
1. Тип файла?
2. В какой программе будет открываться файл пользователем?
0
 Аватар для Mindz
7 / 7 / 1
Регистрация: 31.01.2010
Сообщений: 51
12.07.2012, 19:21  [ТС]
.MPQ архив, открыт может быть чем угодно.
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
12.07.2012, 19:26
Mindz, посмотри в сторону FindFirstChangeNotification, тут есть код https://www.cyberforum.ru/visu... ost2008026
(правда он немного другие цели приследовал)
0
0 / 0 / 0
Регистрация: 12.06.2012
Сообщений: 56
12.07.2012, 19:32
у меня похожее...
Вот есть файл текстовый. Нужно считать пробелы и выводить их текущее количество по запросу, а файл еще пишется. Если же файл перестает редактироваться, нужно вывести итог и завершиться.
Поправка: файл редактируется пользователем из вне.
0
 Аватар для Mindz
7 / 7 / 1
Регистрация: 31.01.2010
Сообщений: 51
12.07.2012, 19:35  [ТС]
Что значит пишется?
Чем он у вас пишется инородной программой?
0
0 / 0 / 0
Регистрация: 12.06.2012
Сообщений: 56
12.07.2012, 19:37
да, инородной. не моей.
0
 Аватар для Mindz
7 / 7 / 1
Регистрация: 31.01.2010
Сообщений: 51
12.07.2012, 19:45  [ТС]
Шас почитаю литературку,придумаем что нить.

Добавлено через 6 минут
рожать надо в эту сторону FILE_NOTIFY_CHANGE_SIZE
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
12.07.2012, 20:00
.MPQ архив, открыт может быть чем угодно.
Думаю задача не реализуема...
Т.е. некоторые программы не блокирую открываемые ими файлы, а некоторые блокируют и тут облом.

Но честно говоря я плохо понимаю что именно требуется? что реализовано? и с чем проблемы?

Добавлено через 5 минут
рожать надо в эту сторону FILE_NOTIFY_CHANGE_SIZE
А что при открытии файла его размер меняется?
0
 Аватар для Mindz
7 / 7 / 1
Регистрация: 31.01.2010
Сообщений: 51
12.07.2012, 20:09  [ТС]
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
#include <cstdlib>
#include <iostream>
#include <fstream>
#include <sys/types.h>
#include <sys/stat.h>
#include <time.h>
#include <windows.h>
 
 
void setRevision();
void setDate( const char* );
void getFile( const char* );
 
int Revision = 0, Date = 0;
 
using namespace std;
 
int main( int argc, char *argv[] )
{   
    system("COLOR E");
    system("TITLE Revision Maker v 1.0.0");
    
    char Path[100], exit, change;
    
     cout << "\2" << endl;
            
    do {   
        cout << "\nInput your file name (file.dat):";
        cin >> Path;
        
        fstream File( Path );
        
        if( !File.is_open() ) {
            cout << "Wrong Path to directory file!" << endl;
            break;
        }
        
        while(ВОТ сюда надо впихнуть условие при котором проверяется открыт ли сейчас файл пользователем ) {
                 setDate( Path );
                 getFile( Path );
        }
        cout << "Revision: " << Revision << endl
             << "FileName:" << Path << endl;
             << "\nTo finish a program runtime?(Y\N):" << endl;
        cin >> exit;     
    } while( exit != "Y" || exit != "y" );
    
    cout << "bye, i see you later dev :)";
    system("PAUSE");
    return EXIT_SUCCESS;
}
 
void setDate( const char* file )
{
    struct _stat st;
    
    _stat( file, &st );
    
    Date = st.st_mtime;
}
 
 
void setRevision()
{ 
    Revision++;
}
 
void getFile( const char* name )
{
    int buff_revision, buff_date;
     
    fstream Revision_File( "Revision.ini" );
    
    if( !Revision_File.is_open() ) {
        ofstream New_File( "Revision.ini" );
        New_File << "[Information]" << endl
                 << "Revision=" << Revision << endl
                 << "Date=" << Date << endl
                 << "File=" << name << endl;
    } else {
            buff_revision = GetPrivateProfileInt(
                                                 "Information",
                                                 "Revision",
                                                 0,
                                                 "C:\\Dev-Cpp\\Projects\\RevisionMaker\\Revision.ini" 
                                                );
            buff_date = GetPrivateProfileInt(
                                             "Information",
                                             "Date",
                                             0,
                                             "C:\\Dev-Cpp\\Projects\\RevisionMaker\\Revision.ini" 
                                            );
            Revision = buff_revision;                                                    
            if( buff_date < Date ) {
                setRevision();
                Revision_File << "[Information]" << endl
                              << "Revision=" << Revision << endl
                              << "Date=" << Date << endl
                              << "File=" << name << endl;                          
            }           
      }
      Revision_File.close();         
}
Добавлено через 7 минут
Файл то меняется но вот вопрос как?Скорее всего данная функция не поможет.
0
0 / 0 / 0
Регистрация: 12.06.2012
Сообщений: 56
12.07.2012, 20:34
А винда по этому поводу случайно никаких сообщений не кидает?
0
 Аватар для Mindz
7 / 7 / 1
Регистрация: 31.01.2010
Сообщений: 51
12.07.2012, 20:38  [ТС]
Да вроде нет,шас вот эту статью читаю,скорее всего она поможет решить проблему http://wasm.ru/article.php?article=lockfileswork
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.07.2012, 20:38
Помогаю со студенческими работами здесь

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

Постоянный мониторинг файла
Добрый день. С php мало знаком, потому пишу на коленке. Целью является при возникновении определенного события перезаписать нужную строку в...

Мониторинг изменений текстового файла
Добры день. Помогите с кодом, необходимо проверять на изменение теста файл(txt) с интервалом 1 сек на заданном периоде времени. Пишу...

Реализовать мониторинг модификаций файла
Добрый день. Нужна помощь при работе с файлами. Суть в следующем - есть текстовый файл. При изменении в нем должны выводиться эти...

Мониторинг .bat файла Zabbix
Всем привет. Подскажите, как можно организовать в заббиксе мониторинг количества запущенных батников (если имена батников одинаковы) ...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru