亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? filemon.c

?? 文件監(jiān)視FileMon 一個常用的監(jiān)視軟件
?? C
?? 第 1 頁 / 共 5 頁
字號:
/******************************************************************************
*
* FileMon - File System Monitor for Windows NT/9x
*		
* Copyright (c) 1996-2000 Mark Russinovich and Bryce Cogswell
*
* See readme.txt for terms and conditions.
*
* PROGRAM: Filemon.c
*
* PURPOSE: Communicates with the Filemon driver to display 
*		   file system activity.
*
******************************************************************************/
#include <windows.h>    // includes basic windows functionality
#include <windowsx.h>
#include <tchar.h>
#include <commctrl.h>   // includes the common control header
#include <stdio.h>
#include <string.h>
#include <winioctl.h>
#include "resource.h"
#include "ioctlcmd.h"
#include "filemon.h"


HRESULT (CALLBACK *pDllGetVersionProc)( PDLLVERSIONINFO_ pdvi );

// Handle to device driver
static HANDLE		SysHandle = INVALID_HANDLE_VALUE;

// Drive name strings
TCHAR DrvNames[][32] = {
	_T("UNKNOWN"),
	_T("FIXED"),
	_T("REMOTE"),
	_T("RAM"),
	_T("CD"),
	_T("REMOVEABLE"),
};	

// drives that are hooked
DWORD				CurDriveSet;

// The variable that holds the position settings
POSITION_SETTINGS	PositionInfo;

// button definitions

// for installations that support flat style
TBBUTTON tbButtons[] = {
	{ 0, 0, TBSTATE_ENABLED, TBSTYLE_SEP, 0L, 0},
	{ 0, IDM_SAVE, TBSTATE_ENABLED, TBSTYLE_BUTTON, 0L, 0},
	{ 8, 0, 0, TBSTYLE_BUTTON, 0L, 0},
	{ 2, IDM_CAPTURE, TBSTATE_ENABLED, TBSTYLE_BUTTON, 0L, 0},
	{ 4, IDM_AUTOSCROLL, TBSTATE_ENABLED, TBSTYLE_BUTTON, 0L, 0},
	{ 6, IDM_CLEAR, TBSTATE_ENABLED, TBSTYLE_BUTTON, 0L, 0},
	{ 0, 0, TBSTATE_ENABLED, TBSTYLE_SEP, 0L, 0},
	{ 9, IDM_TIME, TBSTATE_ENABLED, TBSTYLE_BUTTON, 0L, 0 },	
	{ 8, 0, 0, TBSTYLE_BUTTON, 0L, 0},
	{ 5, IDM_FILTER, TBSTATE_ENABLED, TBSTYLE_BUTTON, 0L, 0},
	{ 12, IDM_HISTORY, TBSTATE_ENABLED, TBSTYLE_BUTTON, 0L, 0},
	{ 8, 0, 0, TBSTYLE_BUTTON, 0L, 0},
	{ 7, IDM_FIND, TBSTATE_ENABLED, TBSTYLE_BUTTON, 0L, 0},
	{ 11, IDM_JUMP, TBSTATE_ENABLED, TBSTYLE_BUTTON, 0L, 0},
	{ 8, 0, 0, TBSTYLE_BUTTON, 0L, 0},
};
#define NUMBUTTONS		15

// for older installations
TBBUTTON tbButtonsOld[] = {
	{ 0, 0, TBSTATE_ENABLED, TBSTYLE_SEP, 0L, 0},
	{ 0, IDM_SAVE, TBSTATE_ENABLED, TBSTYLE_BUTTON, 0L, 0},
	{ 0, 0, TBSTATE_ENABLED, TBSTYLE_SEP, 0L, 0},
	{ 2, IDM_CAPTURE, TBSTATE_ENABLED, TBSTYLE_BUTTON, 0L, 0},
	{ 4, IDM_AUTOSCROLL, TBSTATE_ENABLED, TBSTYLE_BUTTON, 0L, 0},
	{ 6, IDM_CLEAR, TBSTATE_ENABLED, TBSTYLE_BUTTON, 0L, 0},	
	{ 0, 0, TBSTATE_ENABLED, TBSTYLE_SEP, 0L, 0},
	{ 9, IDM_TIME, TBSTATE_ENABLED, TBSTYLE_BUTTON, 0L, 0 },	
	{ 0, 0, TBSTATE_ENABLED, TBSTYLE_SEP, 0L, 0},
	{ 5, IDM_FILTER, TBSTATE_ENABLED, TBSTYLE_BUTTON, 0L, 0},
	{ 12, IDM_HISTORY, TBSTATE_ENABLED, TBSTYLE_BUTTON, 0L, 0},
	{ 0, 0, TBSTATE_ENABLED, TBSTYLE_SEP, 0L, 0},
	{ 7, IDM_FIND, TBSTATE_ENABLED, TBSTYLE_BUTTON, 0L, 0},
	{ 11, IDM_JUMP, TBSTATE_ENABLED, TBSTYLE_BUTTON, 0L, 0},
};

#define NUMBUTTONSOLD	14


// Buffer into which driver can copy statistics
char				Stats[ LOGBUFSIZE ];
// Current fraction of buffer filled
DWORD				StatsLen;

// Search string
TCHAR				FindString[256];
FINDREPLACE			FindTextInfo;
DWORD				FindFlags = FR_DOWN;
BOOLEAN				PrevMatch;
TCHAR				PrevMatchString[256];				

// Application instance handle
HINSTANCE			hInst;

// Are we running on NT or 9x?
BOOLEAN				IsNT;

// Misc globals
HWND				hWndMain;
HWND				hWndFind = NULL;
UINT				findMessageID;
HWND				hWndList;
WNDPROC 			ListViewWinMain;
HWND				hBalloon = NULL;
BOOLEAN				Capture = TRUE;
BOOLEAN				Autoscroll = TRUE;
BOOLEAN				Deleting = TRUE;
BOOLEAN				OnTop = FALSE;
BOOLEAN				ShowToolbar = TRUE;
BOOLEAN				HookPipes = FALSE;
BOOLEAN				HookSlots = FALSE;

// Highlight colors
DWORD				HighlightFg;
DWORD				HighlightBg;

// listview size limiting
DWORD				MaxLines = 0;
DWORD				LastRow = 0;

// is time absolute or duration?
BOOLEAN				TimeIsDuration;
BOOLEAN				ShowMs = FALSE;

// Filter strings
TCHAR				FilterString[MAXFILTERLEN];
TCHAR				ExcludeString[MAXFILTERLEN];
TCHAR				HighlightString[MAXFILTERLEN];

// Recent filters
char				RecentInFilters[NUMRECENTFILTERS][MAXFILTERLEN];
char				RecentExFilters[NUMRECENTFILTERS][MAXFILTERLEN];
char				RecentHiFilters[NUMRECENTFILTERS][MAXFILTERLEN];

// Filter-related
FILTER				FilterDefinition;

// For info saving
TCHAR				szFileName[MAX_PATH];
BOOLEAN				FileChosen = FALSE;

// font
HFONT				hFont;
LOGFONT				LogFont;

// General buffer for storing temporary strings
static TCHAR		msgbuf[MAX_PATH];

// General cursor manipulation
HCURSOR 			hSaveCursor;
HCURSOR 			hHourGlass;

// performance counter frequency
LARGE_INTEGER		PerfFrequency;


/******************************************************************************
*
*	FUNCTION:	Abort:
*
*	PURPOSE:	Handles emergency exit conditions.
*
*****************************************************************************/
DWORD Abort( HWND hWnd, TCHAR * Msg, DWORD Error )
{
	LPVOID	lpMsgBuf;
	TCHAR	errmsg[MAX_PATH];

	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 (DWORD) -1;
}


/******************************************************************************
*
*	FUNCTION:	ExplorerJump
*
*	PURPOSE:	Opens Explorer and navigates the desired file/folder
*
*****************************************************************************/
void ExplorerJump( HWND hWnd )
{
	int		currentItem;
	char	path[MAX_PATH], msg[MAX_PATH*2];
	char	*lastslash = NULL;
	char	*ptr;

	// See if we can get a Registry path out of the listview
	// find the item with the focus
	currentItem = ListView_GetNextItem( hWndList, -1, LVNI_SELECTED );

	if( currentItem == -1 ) {

		MessageBox( hWnd, "No item selected.", APPNAME, MB_OK|MB_ICONWARNING );
		return;
	}
	memset( path, 0, MAX_PATH );
	ListView_GetItemText( hWndList, currentItem, 4, path, MAX_PATH );

	// If the file is a handle reference, tell the user we're sorry
	if( path[0] == '0' ) {

		MessageBox( hWnd, "The full name of the selected directory or file is not available.",
			APPNAME, MB_OK|MB_ICONWARNING );
		return;
	}

	// Always explore the parent folder, if there is one
	ptr = path;
	while( *ptr ) {
		if( *ptr == '\\' ) lastslash = ptr;
		ptr++;
	}
	if( lastslash ) *lastslash = 0;

	if( ShellExecute( hWnd, "explore", path, NULL, NULL, SW_SHOWNORMAL ) < (HINSTANCE) 32 ) {

		sprintf( msg, "Explorer could not open %s.", path );
		MessageBox( hWnd, msg, APPNAME, MB_OK|MB_ICONWARNING );
		return;
	}
}


/******************************************************************************
*
*	FUNCTION:	BalloonDialog
*
*	PURPOSE:	Dialog function for home-brewed balloon help.
*
******************************************************************************/
LRESULT APIENTRY BalloonDialog( HWND hDlg, UINT message, UINT wParam, LPARAM lParam )
{
	static ITEM_CLICK	ctx;
	static RECT			rect;
	static HFONT		hfont;
	LPCREATESTRUCT		lpcs;
	HDC					hdc;
	POINTS				pts;
	POINT				pt;
	DWORD				newclicktime;
	static POINT		lastclickpt = {0,0};
	static DWORD		lastclicktime = 0;	

	switch (message) {
		case WM_CREATE:

			lpcs = (void *)lParam;
			ctx = *(PITEM_CLICK) lpcs->lpCreateParams;
			hdc = GetDC( hDlg );

			// is the app the focus?
			if( !GetFocus()) return -1;

			// Compute size of required rectangle
			rect.left	= 0;
			rect.top	= 1;
			rect.right	= lpcs->cx;
			rect.bottom	= lpcs->cy;
			SelectObject( hdc, hFont );
			DrawText( hdc, ctx.itemText, -1, &rect, 
						DT_NOCLIP|DT_LEFT|DT_NOPREFIX|DT_CALCRECT );

			// if the bounding rectangle of the subitem is big enough to display
			// the text then don't pop the balloon
			if( ctx.itemPosition.right > rect.right + 3 ) {

				return -1;
			}

			// Move and resize window
			if( ctx.itemPosition.left - 5 + rect.right + 10 >
				 GetSystemMetrics(SM_CXFULLSCREEN) ) {

				 ctx.itemPosition.left = GetSystemMetrics(SM_CXFULLSCREEN) -
							(rect.right+10);
			}
			MoveWindow( hDlg, 
						ctx.itemPosition.left-1, ctx.itemPosition.top, 
						rect.right + 6, 
						rect.bottom + 1,
						TRUE );

			// Adjust rectangle so text is centered
			rect.left	+= 2;
			rect.right	+= 2;
			rect.top	-= 1; 
			rect.bottom	+= 0;

			// make it so this window doesn't get the focus
			ShowWindow( hDlg, SW_SHOWNOACTIVATE );
			break;

		case WM_LBUTTONDBLCLK:
		case WM_RBUTTONDBLCLK:
		case WM_MBUTTONDBLCLK:
		case WM_LBUTTONDOWN:
		case WM_RBUTTONDOWN:
		case WM_MBUTTONDOWN:
		case WM_LBUTTONUP:
		case WM_RBUTTONUP:
		case WM_MBUTTONUP:

			pts = MAKEPOINTS( lParam );
			pt.x = (LONG) pts.x;
			pt.y = (LONG) pts.y;
			ClientToScreen( hDlg, &pt );

			// pass this through to the listview
			if( ScreenToClient( hWndList, &pt )) {

				if( message == WM_LBUTTONDOWN ) {

					// see if its a double click
					newclicktime = GetTickCount();
					if( pt.x == lastclickpt.x && pt.y == lastclickpt.y && 
						newclicktime - lastclicktime < 300 ) {

						message = WM_LBUTTONDBLCLK;
					}
					lastclicktime = newclicktime;
					lastclickpt = pt;
				}

				PostMessage( hWndList, message, wParam, (SHORT) pt.y<<16 | (SHORT) pt.x );
			}
			break;

		case WM_PAINT:
			hdc = GetDC( hDlg );

			// Set colors
			SetTextColor( hdc, 0x00000000 );
			SetBkMode( hdc, TRANSPARENT );
			SelectObject( hdc, hFont );
			DrawText( hdc, ctx.itemText, -1, &rect, 
						DT_NOCLIP|DT_LEFT|DT_NOPREFIX|DT_WORDBREAK );
			break;

		case WM_DESTROY:
			hBalloon = NULL;
			break;

		case WM_CLOSE:	
			DestroyWindow( hDlg );
			break;
	}

    return DefWindowProc( hDlg, message, wParam, lParam );
}


/******************************************************************************
*
*	FUNCTION:	CopySelection
*
*	PURPOSE:	Copies the currently selected line in the output to the clip
*				board.
*
*****************************************************************************/
void CopySelection( HWND hWnd )
{
    LPTSTR  lptstrCopy; 
    HGLOBAL hglbCopy; 
	size_t	size = 0, newSize;
	int		currentItem, iColumn;
	TCHAR	curText[MAXITEMLENGTH];
	TCHAR	selectedText[NUMCOLUMNS * MAXITEMLENGTH];	

	// Get the currently selected item and construct
	// the message to go to the clipboard
	currentItem = ListView_GetNextItem( hWndList, -1, LVNI_SELECTED );
	if( currentItem == -1 ) {

		return;
	}
	selectedText[0] = 0;
	for( iColumn = 1; iColumn < NUMCOLUMNS; iColumn++ ) {

		curText[0] = 0;
		ListView_GetItemText( hWndList, currentItem, iColumn, 
					curText, MAXITEMLENGTH );
		strcat( selectedText, curText );
		strcat( selectedText, "\t");
	}
	strcat( selectedText, "\r\n");

	// Empty the clipboard
    if (!OpenClipboard( hWnd )) return; 
    EmptyClipboard(); 

	size = strlen( selectedText )+1;
    hglbCopy = GlobalAlloc( GMEM_DDESHARE|GMEM_MOVEABLE, size ); 
    lptstrCopy = GlobalLock(hglbCopy); 
    strcpy(lptstrCopy, selectedText );
    GlobalUnlock(hglbCopy); 

	while( (currentItem = ListView_GetNextItem( hWndList, currentItem, 
				LVNI_SELECTED )) != -1) {
		selectedText[0] = 0;
		for( iColumn = 1; iColumn < NUMCOLUMNS; iColumn++ ) {

			curText[0] = 0;
			ListView_GetItemText( hWndList, currentItem, iColumn, 
						curText, MAXITEMLENGTH );
			strcat( selectedText, curText );
			strcat( selectedText, "\t");
		}
		strcat( selectedText, "\r\n");

		newSize = size + strlen( selectedText );
		hglbCopy = GlobalReAlloc( hglbCopy, newSize, 0 );
		lptstrCopy = GlobalLock(hglbCopy); 
		strcpy( &lptstrCopy[size-1], selectedText );
		GlobalUnlock(hglbCopy); 

		size = newSize;
	}

	// Place it in the clipboard
	SetClipboardData(CF_TEXT, hglbCopy); 
    CloseClipboard(); 	
}


?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品免费视频| 亚洲一线二线三线久久久| 欧美性猛片aaaaaaa做受| 麻豆精品久久精品色综合| 国产精品国产精品国产专区不蜜| 欧美日韩一区 二区 三区 久久精品| 激情文学综合网| 亚洲国产成人av| 国产精品久线在线观看| 精品精品国产高清a毛片牛牛 | 不卡的av电影| 日韩高清欧美激情| 成人欧美一区二区三区白人| 欧美本精品男人aⅴ天堂| av在线这里只有精品| 奇米亚洲午夜久久精品| 日韩一级在线观看| 色综合久久久久| 国产乱人伦精品一区二区在线观看 | 一本色道久久综合亚洲aⅴ蜜桃| 亚洲va国产天堂va久久en| 国产欧美精品一区| 欧美久久高跟鞋激| 色综合天天综合色综合av| 国产最新精品免费| 日韩国产欧美三级| 亚洲精选视频在线| 日本一区二区三区四区在线视频| 日韩亚洲欧美在线观看| 在线中文字幕一区二区| 丰满少妇在线播放bd日韩电影| 亚洲高清一区二区三区| 一区精品在线播放| 国产女同互慰高潮91漫画| 日韩视频在线你懂得| 在线观看一区不卡| 97久久人人超碰| jiyouzz国产精品久久| 狠狠色丁香久久婷婷综| 日本91福利区| 日韩电影免费一区| 亚洲国产日韩在线一区模特| 亚洲同性gay激情无套| 国产欧美日韩另类一区| 久久综合色天天久久综合图片| 在线电影国产精品| 欧美一a一片一级一片| 色综合视频在线观看| 东方aⅴ免费观看久久av| 久久精品国产精品亚洲综合| 午夜精品福利在线| 洋洋av久久久久久久一区| 亚洲欧洲无码一区二区三区| 精品福利视频一区二区三区| 一本色道久久综合精品竹菊| 国产成人av一区二区三区在线观看| 婷婷综合五月天| 日韩激情视频在线观看| 蜜臀av一区二区三区| 精品在线一区二区三区| 精品一区二区日韩| 国产一区二区三区四区五区入口| 久久99热国产| 国产99精品国产| 成人动漫一区二区在线| 91在线视频观看| 在线精品观看国产| 91精选在线观看| 日韩欧美www| 国产日韩影视精品| 亚洲精品国产成人久久av盗摄| 一区二区欧美视频| 亚洲va欧美va人人爽| 另类小说图片综合网| 国产乱子伦视频一区二区三区| 国产成人亚洲综合a∨婷婷图片| 不卡视频免费播放| 不卡的看片网站| 欧美午夜精品久久久久久孕妇| 欧美一级二级三级蜜桃| 6080日韩午夜伦伦午夜伦| 欧美大片顶级少妇| 国产精品视频一二| 亚洲午夜一区二区三区| 久草精品在线观看| 国产黄人亚洲片| 色丁香久综合在线久综合在线观看| 欧美日韩亚洲国产综合| 久久综合一区二区| 亚洲精品乱码久久久久| 日韩高清欧美激情| 成人精品国产福利| 欧美军同video69gay| 国产日韩欧美精品电影三级在线| 一区二区在线观看免费视频播放| 日韩精品久久久久久| 成人污视频在线观看| 欧美日韩电影一区| 国产色综合一区| 亚洲一区二区三区国产| 国产精品911| 一本大道久久精品懂色aⅴ| 91成人在线精品| 欧美一级在线视频| 亚洲欧美日韩中文播放| 极品瑜伽女神91| jizz一区二区| 精品国产免费人成电影在线观看四季| 国产精品美女久久久久aⅴ| 日韩精品一卡二卡三卡四卡无卡| 成人国产精品免费观看动漫| 欧美综合视频在线观看| 久久久高清一区二区三区| 亚洲成va人在线观看| 成人a免费在线看| 日韩精品一区二区三区视频在线观看 | 日韩精品一二三| 国产91精品一区二区麻豆亚洲| 欧美日韩亚洲综合在线| 3d动漫精品啪啪1区2区免费 | 色哟哟一区二区| xvideos.蜜桃一区二区| 亚洲第一av色| 91欧美一区二区| 日韩欧美亚洲国产另类| 一区二区三区日本| 国产69精品久久久久毛片| 欧美一级黄色录像| 国产精品久久久久桃色tv| 精一区二区三区| 欧美一级爆毛片| 首页国产欧美久久| 欧美性生交片4| 亚洲视频狠狠干| 91啪亚洲精品| 专区另类欧美日韩| 久久精品国产77777蜜臀| 欧美精品三级在线观看| 亚洲日韩欧美一区二区在线| 国产成人在线观看免费网站| 久久久亚洲欧洲日产国码αv| 美女被吸乳得到大胸91| 欧美亚洲免费在线一区| 久久久久久久性| 蜜臀av性久久久久蜜臀aⅴ | 天天综合网 天天综合色| 91亚洲精华国产精华精华液| 国产精品毛片久久久久久久| 国产精品一区二区在线观看不卡| 欧美喷水一区二区| 亚洲第一av色| 91精品国产一区二区三区香蕉| 五月婷婷综合激情| 欧美一区二区视频在线观看| 日本三级亚洲精品| 在线不卡免费欧美| 日韩激情视频在线观看| 91精品国产综合久久福利| 免费一级片91| 久久久一区二区| 天堂成人国产精品一区| 在线观看区一区二| 日韩美女久久久| 成人激情动漫在线观看| 中文字幕日韩一区二区| 在线观看一区二区精品视频| 一区二区三区久久| 欧美日韩一区二区在线观看| 日本三级亚洲精品| 337p粉嫩大胆噜噜噜噜噜91av | 强制捆绑调教一区二区| 日韩欧美一区二区视频| 国产精品自拍在线| 中文字幕av一区二区三区| 91视频com| 亚洲天堂福利av| 欧美久久久久中文字幕| 国产综合成人久久大片91| 国产精品全国免费观看高清 | 成人免费视频播放| 一区二区三区精品| 91麻豆精品国产91久久久更新时间 | 国产一区激情在线| 久久精品一区二区三区不卡| av资源网一区| 婷婷久久综合九色综合伊人色| 欧美精品粉嫩高潮一区二区| 国产精品亚洲午夜一区二区三区| 国产网站一区二区| 在线精品视频一区二区| 久久精品国产亚洲5555| 久久婷婷综合激情| 色综合视频一区二区三区高清| 日本欧美一区二区在线观看| 国产日韩影视精品| 欧美日产国产精品| 日本伊人精品一区二区三区观看方式| 久久亚洲影视婷婷| 欧美日韩一本到| 成人免费电影视频|