IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Программирование (http://www.imho.ws/forumdisplay.php?f=40)
-   -   Помогите с дом заданием (http://www.imho.ws/showthread.php?t=71719)

-Time- 23.10.2004 07:00

Помогите с дом заданием
 
Есть вот такая функц
Код:

#include <conio.h>
#include <iostream>
#include <string>
using namespace std;
DWORD WINAPI MonitoringThread(void * pParam);
static bool g_bGoOn = true;
int main(int argc, char* argv[])
{
cout << "Link zum monitoring eingeben : ";
string sDir;
cin >> sDir;
DWORD dwID;
::CreateThread(NULL, 0, MonitoringThread, (void *)sDir.c_str(), 0, &dwID);
char ch;
while (ch = getch())
{
if ('q' == ch || 'Q' == ch)
break;
}
g_bGoOn = false;
Sleep(300);
return 0;
}

DWORD WINAPI MonitoringThread(void * pParam)
{
const char * pszDir = (char *) pParam;
HANDLE hMonitor = ::FindFirstChangeNotification(pszDir, false, FILE_NOTIFY_CHANGE_LAST_WRITE);
//everything worked wrong
if (INVALID_HANDLE_VALUE == hMonitor)
ExitProcess(-1);
///
cout << "Started monitoring " << pszDir << " directory." << endl;
DWORD dw;
while (g_bGoOn)
{
dw = ::WaitForSingleObject(hMonitor, 1000);
switch (dw)
{
case WAIT_TIMEOUT:
//time out and nothing has changed
break;
case WAIT_OBJECT_0:
//we have changes in the monitored directory
::FindNextChangeNotification(hMonitor);
cout << "In the monitored directory change(s) have occured!" << endl;
break;
default:
//means there's some other error
cout << "Error has occured. Monitoring has stopped. Press 'q' to quit" <<
endl;
g_bGoOn = false;
break;
}
}
//close the search
::FindCloseChangeNotification(hMonitor);
return 0;
}

проверика дериктории, нужно зделать так что бы не в дос окне а виндовс окне появлялось текстовое сообщение - "New Files" или что то в етом роде. Если нетрудно подскажите как ето осуществить.


Спасибо

EvroStandart 23.10.2004 11:12

На пример, через Visual C++

gandalf_g 23.10.2004 13:09

угу, создай Win32 (MFC) проект, портируй туда код. в твоем случае ничего сложного. кстати, как помню на RSDN.RU в форумах проскакивал подобный вопрос

-Time- 24.10.2004 23:03

мммм
вопрос в другом может не чётко выразился

Как правильно мне зделать что бы в винд окне (не досовском) выполнялась выше указыная функция, а с выводом я как нить разберусь ))


Спасибо

/7y3uK 25.10.2004 00:38

2 ALL
Видимо он хочет, чтобы у него было скрещено консольное и оконное приложение.... ИМХО надо делать прогу изначально под виндовозную консоль через API AllocConsole. Тогда в такой проге можно пользовать виндовозные API, но не знаю все ли.... MessageBox уж точно вывести можно

-Time- 25.10.2004 23:15

/7y3uK несовсем .... просто что бы при запуске к примеру proverka.exe запускалось окошко маленькое ... а когда появлялся новый файл(ы) в етом окне появлялось сообщение ... просто как исходник брать вот такого типа функц.


Часовой пояс GMT +4, время: 14:07.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.