005
19.09.2003, 11:08 Uhr
~TheBRuth
Gast
|
Das mit dem ShellHook scheint nicht so einfach zu sein... Ich hab mal folgenden Code gemacht:
C++: |
dwChangeHandles[0] = FindFirstChangeNotification( "C: \\stuff", // directory to watch true, // watch subtrees FILE_NOTIFY_CHANGE_LAST_ACCESS); if (dwChangeHandles[0] == INVALID_HANDLE_VALUE) ExitProcess(GetLastError());
|
Dann eine Schleife, in der ich die Results abfrage:
C++: |
... dwWaitStatus = WaitForMultipleObjects(2, dwChangeHandles, FALSE, INFINITE); switch (dwWaitStatus) { case WAIT_OBJECT_0: ...
|
Dann kommt eine Funktion zum schreiben des File-Infos in eine Datei.
C++: |
... if(dwChangeHandles[0] != INVALID_HANDLE_VALUE) { DWORD dwFileSize; LPSTR pszFileText; dwFileSize = GetFileSize(dwChangeHandles[0], NULL); if(dwFileSize != 0xFFFFFFFF) { pszFileText = (LPSTR)GlobalAlloc(GPTR, dwFileSize + 1); if(pszFileText != NULL) { DWORD dwRead; //if(ReadFile(dwChangeHandles[0], pszFileText, dwFileSize, &dwRead, NULL)) //{ ReadFile(dwChangeHandles[0], pszFileText, dwFileSize, &dwRead, NULL); pszFileText[dwFileSize] =0; printf(pszFileText); // } } }
} ...
|
Das Problem ist, das pszFileText immer leer ist... Außerdem scheint das Flag "FILE_NOTIFY_CHANGE_LAST_ACCESS" nicht richtig zu funktionieren... Dieser Post wurde am 19.09.2003 um 17:07 Uhr von FloSoft editiert. |