阅读:2059回复:9
运行filemon.exe,系统提示:Make sure that you are a administrator,and that filemon is not already running
运行filemon.exe,
系统提示:Make sure that you are a administrator,and that filemon is not already running 我是系统是2000,是用系统管理员登录的,而且重起过系统。 :( |
|
|
沙发#
发布于:2005-02-15 23:16
运行filemon.exe, 我以前测试没有这样的问题 |
|
|
板凳#
发布于:2005-02-16 09:27
你用的是什么版本的filemon,这个问题是由下面这个函数输出的,你如果有代码可以自己跟踪一下:
DWORD Abort( HWND hWnd, TCHAR * Msg, DWORD Error ) { LPVOID lpMsgBuf; TCHAR errmsg[MAX_PATH]; DWORD error = GetLastError(); FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM, NULL, Error, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR) &lpMsgBuf, 0, NULL ); if( IsNT ) UnloadDeviceDriver( SYS_NAME ); _stprintf(errmsg, _T("%s: %s"), Msg, lpMsgBuf ); if( (Error == ERROR_INVALID_HANDLE || Error == ERROR_ACCESS_DENIED || Error == ERROR_FILE_NOT_FOUND) && IsNT ) _stprintf(errmsg, _T("%s\nMake sure that you are an administrator, and ") _T("that Filemon is not already running."), errmsg ); MessageBox( hWnd, errmsg, _T("Filemon"), MB_OK|MB_ICONERROR ); PostQuitMessage( 1 ); LocalFree( lpMsgBuf ); return -1; } |
|
|
地板#
发布于:2005-02-16 10:43
是的,是因为OpenDevice中的CreateFile()返回-1,
但是为什么会打开驱动失败呢???? 我的FileMon是4.34版本 |
|
|
地下室#
发布于:2005-02-16 12:17
你的驱动路径是否正确?
|
|
|
5楼#
发布于:2005-02-16 13:05
你的驱动路径是否正确?
========================== filemon.exe是先打开system32\\drivers\\filem.sys, 如果失败,copy当前目录下的filem.sys到系统目录下, 然后再试的,怎么可能路径不对呢? |
|
|
6楼#
发布于:2005-02-16 13:26
如果你的EXE目录下的filem.sys不存在它又怎么拷贝呢?我所说的路径指的就是你EXE文件夹下的filem.sys路径
|
|
|
7楼#
发布于:2005-02-16 15:38
是的,是因为OpenDevice中的CreateFile()返回-1, CreateFile返回-1,那么GetLastError的结果是不是2(系统找不到指定的文件)? 如果是,那么你搜索一下注册表中的filemon.sys,看看有没有关于filemon.sys服务的键值,如果有就删除掉,然后重新启动,应该就可以了。 |
|
|
8楼#
发布于:2005-02-17 08:30
我把注册表里所有的FileMon删掉试试
:) |
|
|
9楼#
发布于:2005-02-17 08:49
发现在2003DDK里编译的就是不行!!!!
但是,在2000DDK里(ntifs.h是用这里论坛下载的,不知道是那个版本的)编译的就一切正常。 |
|
|