Hallo, in einem "normalen" C-Programm hab ich aus dem Buch "Windows Programmierung für Experten" von Jeffrey Richter, Microsoft Press folgenden Code übernommen, um Änderungen im Dateisystem überwachen zu können. Nun möchte ich so etwas in einem BC++Builder Projekt machen. Weil es da aber nur ein Application->Run(); in der WinMain-Funktion gibt, weiß ich nicht wie ich das machen soll. Hat jemand schon Erfahrungen damit gesammelt ?
INT WINAPI WinMain(...) {
DWORD dwResult; BOOL fWait4FileChanges;
// die üblichen Initialisierungen hab ich weggelassen
HANDLE WINAPI g_hChange=FindFirstChangeNotification("c:\\temp",F ALSE,FILE_NOTIFY_CHANGE_FILE_NAME);
if(g_hChange==INVALID_HANDLE_VALUE) return(0);
while(!fQuit) { // global deklarierte BOOL-Variable
fWait4FileChanges=(INVALID_HANDLE_VALUE != g_hChange);
dwResult=MsgWaitForMultipleObjects((fWait4FileChan ges) ? 1 : 0,&g_hChange, FALSE, INFINITE, QS_ALLEVENTS);
if(fWait4FileChanges && (WAIT_OBJECT_0 == dwResult)) {
// hier wird dann irgendetwas getan
FindNextChangeNotification(g_hChange);
} else { while (PeekMessage(&msg, NULL, 0,0, PM_REMOVE)) { TranslateMessage(&msg);
DispatchMessage(&msg);
} } } return(0); }
Danke, Günther
INT WINAPI WinMain(...) {
DWORD dwResult; BOOL fWait4FileChanges;
// die üblichen Initialisierungen hab ich weggelassen
HANDLE WINAPI g_hChange=FindFirstChangeNotification("c:\\temp",F ALSE,FILE_NOTIFY_CHANGE_FILE_NAME);
if(g_hChange==INVALID_HANDLE_VALUE) return(0);
while(!fQuit) { // global deklarierte BOOL-Variable
fWait4FileChanges=(INVALID_HANDLE_VALUE != g_hChange);
dwResult=MsgWaitForMultipleObjects((fWait4FileChan ges) ? 1 : 0,&g_hChange, FALSE, INFINITE, QS_ALLEVENTS);
if(fWait4FileChanges && (WAIT_OBJECT_0 == dwResult)) {
// hier wird dann irgendetwas getan
FindNextChangeNotification(g_hChange);
} else { while (PeekMessage(&msg, NULL, 0,0, PM_REMOVE)) { TranslateMessage(&msg);
DispatchMessage(&msg);
} } } return(0); }
Danke, Günther
Comment