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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? filemon.c

?? Socket異步通信示程序代碼下載.非常直觀
?? C
?? 第 1 頁 / 共 4 頁
字號:
	}

	// Add all List items from Stats[] data
	for ( ptr = (void *)Stats; (char *)ptr < min(Stats+StatsLen,Stats + sizeof (Stats)); )  {
	 	// Add to list
		ULONG len = strlen(ptr->text);
        len += 4; len &= 0xFFFFFFFC; // +1 for null-terminator +3 for 32bit alignment
		List_Append( hWndList, ptr->seq, ptr->time.QuadPart, ptr->text );
		ptr = (void *)(ptr->text + len);
	}

	// Empty the buffer
	StatsLen = 0;

	// limit number of lines saved
	if (MaxLines) {
		SendMessage(hWndList, WM_SETREDRAW, FALSE, 0);
		while ( LastRow > MaxLines ) {
			ListView_DeleteItem ( hWndList, 0 );
		    LastRow--;
		}
		SendMessage(hWndList, WM_SETREDRAW, TRUE, 0);
    }

	// Scroll so newly added items are visible
	if ( Autoscroll ) 
		ListView_EnsureVisible( hWndList, ListView_GetItemCount(hWndList)-1, FALSE ); 
}


/****************************************************************************
* 
*    FUNCTION: CreateListView(HWND)
*
*    PURPOSE:  Creates the statistics list view window and initializes it
*
****************************************************************************/
HWND CreateList( HWND hWndParent )                                     
{
	HWND		hWndList;    	  	// handle to list view window
	RECT		rc;         	  	// rectangle for setting size of window
	LV_COLUMN	lvC;				// list view column structure
	DWORD		j;
	static struct {
		TCHAR *	Label;	// title of column
		DWORD	Width;	// width of column in pixels
		DWORD	Fmt;
	} column[] = {
		{	_T("#"),			35		},
		{   _T("Time"),       50      },
#if GETPROCESS
		{	_T("Process"),	90		},
#endif
		{	_T("Request"),	130		},
		{	_T("Path"),		200		},
		{	_T("Result"),		70		},
		{	_T("Other"),		150		},
	};

	// Ensure that the common control DLL is loaded.
	InitCommonControls();

	// Set the column widths according to the user-settings
#if GETPROCESS
	for( j = 0; j < NUMCOLUMNS; j++ ) {
#else
	for( j = 0; j < NUMCOLUMNS-1; j++ ) {
#endif
		column[j].Width = PositionInfo.column[j];
	}

	// Get the size and position of the parent window.
	GetClientRect( hWndParent, &rc );

	// Create the list view window
	hWndList = CreateWindowEx( 0L, WC_LISTVIEW, _T(""), 
								WS_VISIBLE | WS_CHILD | WS_BORDER | LVS_REPORT | 
								   LVS_SINGLESEL | WS_EX_CLIENTEDGE,	// styles
								0, TOOLBARHEIGHT, rc.right - rc.left, rc.bottom - rc.top - TOOLBARHEIGHT,
								hWndParent,	(HMENU)ID_LIST, hInst, NULL );
	if ( hWndList == NULL )
		return NULL;

	// Initialize columns
	lvC.mask	= LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM;
	lvC.fmt		= LVCFMT_LEFT;	// left-align column

	// Add the columns.
	for ( j = 0; j < sizeof column/sizeof column[0]; ++j )  {
		lvC.iSubItem	= j;
		lvC.cx			= column[j].Width;
	 	lvC.pszText		= column[j].Label;
		if ( ListView_InsertColumn( hWndList, j, &lvC ) == -1 )
			return NULL;
	}

	// set full-row selection
	SendMessage( hWndList, LVM_SETEXTENDEDLISTVIEWSTYLE,
			LVS_EX_FULLROWSELECT, LVS_EX_FULLROWSELECT );

	return hWndList;
}


/****************************************************************************
* 
*    FUNCTION: SaveFile()
*
*    PURPOSE:  Lets the user go select a file.
*
****************************************************************************/
void SaveFile( HWND hWnd, HWND ListBox, BOOLEAN SaveAs )
{
	OPENFILENAME	SaveFileName;
	TCHAR			szFile[256] = _T(""), fieldtext[256], output[1024];
	FILE			*hFile;
	int				numitems;
	int				row, subitem;

	if( SaveAs || !FileChosen ) {
		SaveFileName.lStructSize       = sizeof (SaveFileName);
		SaveFileName.hwndOwner         = hWnd;
		SaveFileName.hInstance         = (HANDLE) hInst;
		SaveFileName.lpstrFilter       = _T("File Info (*.FIL)\0*.FIL\0All (*.*)\0*.*\0");
		SaveFileName.lpstrCustomFilter = (LPTSTR)NULL;
		SaveFileName.nMaxCustFilter    = 0L;
		SaveFileName.nFilterIndex      = 1L;
		SaveFileName.lpstrFile         = szFile;
		SaveFileName.nMaxFile          = 256;
		SaveFileName.lpstrFileTitle    = NULL;
		SaveFileName.nMaxFileTitle     = 0;
		SaveFileName.lpstrInitialDir   = NULL;
		SaveFileName.lpstrTitle        = _T("Save File Info...");
		SaveFileName.nFileOffset       = 0;
		SaveFileName.nFileExtension    = 0;
		SaveFileName.lpstrDefExt       = _T("*.fil");
		SaveFileName.lpfnHook		   = NULL;
 		SaveFileName.Flags = OFN_LONGNAMES|OFN_HIDEREADONLY;

		if( !GetSaveFileName( &SaveFileName )) 
			return;
	} else 
		// open previous szFile
		wcscpy( szFile, szFileName );

	// open the file
	hFile = _wfopen( szFile, _T("w") );
	if( !hFile ) {
		MessageBox(	NULL, _T("Create File Failed."),
				_T("Save Error"), MB_OK|MB_ICONSTOP );
		return;
	}

	// post hourglass icon
	SetCapture(hWnd);
	hSaveCursor = SetCursor(hHourGlass);

	numitems = ListView_GetItemCount(ListBox);
	for ( row = 0; row < numitems; row++ )  {
		output[0] = 0;
#if GETPROCESS
		for( subitem = 0; subitem < NUMCOLUMNS; subitem++ ) {
#else
		for( subitem = 0; subitem < NUMCOLUMNS-1; subitem++ ) {
#endif
			fieldtext[0] = 0;
			ListView_GetItemText( ListBox, row, subitem, fieldtext, 256 );
			wcscat( output, fieldtext );
			wcscat( output, _T("\t") );
		}
		fwprintf( hFile, _T("%s\n"), output );
	}
	fclose( hFile );
	wcscpy( szFileName, szFile );
	FileChosen = TRUE;
	SetCursor( hSaveCursor );
	ReleaseCapture(); 
}


/****************************************************************************
*
*	FUNCTION:	About
*
*	PURPOSE:	Processes messages for "About" dialog box
*
****************************************************************************/
BOOL APIENTRY About( HWND hDlg, UINT message, UINT wParam, LONG lParam )
{
	switch ( message )  {
		case WM_INITDIALOG:
			return TRUE;

		case WM_COMMAND:              
			if ( LOWORD( wParam ) == IDOK )	 {
			  EndDialog( hDlg, TRUE );
			  return TRUE;
			}
			break;

		case WM_CLOSE:
			
			EndDialog( hDlg, TRUE );
			return TRUE;			
	}
	return FALSE;   
}


/******************************************************************************
*
*	FUNCTION:	GetDLLVersion
*
*	PURPOSE:	Gets the version number of the specified DLL.
*
******************************************************************************/
HRESULT GetDLLVersion( PWCHAR DllName, LPDWORD pdwMajor, LPDWORD pdwMinor)
{
	HINSTANCE			hDll;
	HRESULT				hr = S_OK;
	DLLVERSIONINFO_		dvi;

	*pdwMajor = 0;
	*pdwMinor = 0;

	//Load the DLL.
	hDll = LoadLibrary(DllName);

	if( hDll ) {

	   pDllGetVersionProc = (PVOID)GetProcAddress(hDll, "DllGetVersion");

	   if(pDllGetVersionProc) {
  
		  ZeroMemory(&dvi, sizeof(dvi));
		  dvi.cbSize = sizeof(dvi);

		  hr = (*pDllGetVersionProc)(&dvi);
  
		  if(SUCCEEDED(hr)) {

			 *pdwMajor = dvi.dwMajorVersion;
			 *pdwMinor = dvi.dwMinorVersion;
		  }
 	  } else {

		  // If GetProcAddress failed, the DLL is a version previous to the one 
		  // shipped with IE 3.x.
		  *pdwMajor = 4;
		  *pdwMinor = 0;
      }
   
	  FreeLibrary(hDll);
	  return hr;
	}

	return E_FAIL;
}


/****************************************************************************
*
*    FUNCTION: MainWndProc(HWND, unsigned, WORD, LONG)
*
*    PURPOSE:  Processes messages for the statistics window.
*
****************************************************************************/
LONG APIENTRY MainWndProc( HWND hWnd, UINT message, UINT wParam, LONG lParam) 
{
	static DWORD	MaxDriveSet = 0;
	static HMENU	DriveMenu;
    static HWND		hWndTT;
	static HWND		hWndToolbar;
	DWORD			newDriveSet;
	LPTOOLTIPTEXT	lpToolTipText;
	LPFINDREPLACE	findMessageInfo;
#if _DEBUG
	ULONG			irpcount;
#endif
	DWORD			nb, versionNumber;
	DWORD			drive, drivetype;
	TCHAR			Path[ 256 ];
	static TCHAR	szBuf[128];
	TCHAR 			name[32];
	TCHAR			*File;
	DWORD			majorver, minorver;
	ITEM_CLICK		itemClick;
	LVHITTESTINFO	hitItem;
	DWORD			startTime;

	switch ( message ) {

		case WM_CREATE:

			// get hourglass icon ready
			hHourGlass = LoadCursor( NULL, IDC_WAIT );

			// post hourglass icon
			SetCapture(hWnd);
			hSaveCursor = SetCursor(hHourGlass);

			// determine performance counter frequency
			QueryPerformanceFrequency( &PerfFrequency );

			// Create the toolbar control - use modern style if available.
			GetDLLVersion( L"comctl32.dll", &majorver, &minorver );
			if( majorver > 4 || (majorver == 4 && minorver >= 70) ) {
				hWndToolbar = CreateToolbarEx( 
					hWnd, TOOLBAR_FLAT | WS_CHILD | WS_BORDER | WS_VISIBLE | TBSTYLE_TOOLTIPS,  
					ID_TOOLBAR, 11, hInst, IDB_TOOLBAR, (LPCTBBUTTON)&tbButtons,
					NUMBUTTONS, 16,16,16,15, sizeof(TBBUTTON)); 
			} else {
				hWndToolbar = CreateToolbarEx( 
					hWnd, WS_CHILD | WS_BORDER | WS_VISIBLE | TBSTYLE_TOOLTIPS,  
					ID_TOOLBAR, 11, hInst, IDB_TOOLBAR, (LPCTBBUTTON)&tbButtonsOld,
					NUMBUTTONSOLD, 16,16,16,15, sizeof(TBBUTTON)); 
			}
			if (hWndToolbar == NULL )
				MessageBox (NULL, _T("Toolbar not created!"), NULL, MB_OK );

			// Create the ListBox within the main window
			hWndList = CreateList( hWnd );
			if ( hWndList == NULL )
				MessageBox( NULL, _T("List not created!"), NULL, MB_OK );

		    // open the handle to the device
			if( !SearchPath( NULL, SYS_FILE, NULL, sizeof(Path), Path, &File ) ) {

				// that failed, last ditch - try current directory again.
				GetCurrentDirectory( sizeof Path, Path );
				wsprintf( Path+lstrlen(Path), _T("\\%s"), SYS_FILE );
			}
			if ( ! LoadDeviceDriver( SYS_NAME, Path, &sys_handle ) )  {
				wsprintf( msgbuf, _T("Opening %s (%s): error %d"), SYS_NAME, Path,
								GetLastError( ) );
				Abort( hWnd, msgbuf );
			}

			// Correct driver version?
			if ( ! DeviceIoControl(	sys_handle, FILEMON_version,
									NULL, 0, &versionNumber, sizeof(DWORD), &nb, NULL ) ||
					versionNumber != FILEMONVERSION )
			{
				MessageBox( hWnd, _T("Filemon located a driver with the wrong version.\n")
					_T("If you just installed a new version you must reboot before you are\n")
					_T("able to use it."), _T("Filemon"), MB_ICONERROR);
				PostQuitMessage( 1 );
				return 0;
			}

			// Have driver zero information
			if ( ! DeviceIoControl(	sys_handle, FILEMON_zerostats,
									NULL, 0, NULL, 0, &nb, NULL ) )
			{
				Abort( hWnd, _T("Couldn't access device driver") );
				return 0;
			}

			// Give the user to change initial filter
			if( strcmp(FilterDefinition.processfilter, "*") ||
				strcmp(FilterDefinition.excludeprocess, "") ||
				strcmp(FilterDefinition.pathfilter, "*")    ||
				strcmp(FilterDefinition.excludefilter, "") ||
				!FilterDefinition.logreads ||
				!FilterDefinition.logwrites ) {

				DialogBox( hInst, _T("InitFilter"), hWnd, (DLGPROC) FilterProc );
			
			} else {

				// tell the driver the initial filter
				if ( ! DeviceIoControl(	sys_handle, FILEMON_setfilter,
										&FilterDefinition, sizeof(FILTER), NULL, 
										0, &nb, NULL ) )
				{
					Abort( hWnd, _T("Couldn't access device driver") );
					return 0;
				}	
			}
			
			// tell the driver the timing type
			if ( !DeviceIoControl(	sys_handle, FILEMON_timetype,
									(PVOID) &TimeIsDuration, sizeof(BOOLEAN), 
									NULL, 0, &nb, NULL ) )
			{
				Abort( hWnd, _T("Couldn't access device driver") );
				return 0;
			}
			CheckMenuItem( GetMenu(hWnd), IDM_TIME,
							MF_BYCOMMAND|(TimeIsDuration?MF_CHECKED:MF_UNCHECKED) ); 

			// Tell driver to start filtering
			if ( ! DeviceIoControl(	sys_handle, FILEMON_startfilter,
									NULL, 0, NULL, 0, &nb, NULL ) )
			{
				Abort( hWnd, _T("Couldn't access device driver") );
				return 0;
			}	

			// Create a pop-up menu item with the drives
			DriveMenu = CreateMenu();

			// Get available drives we can monitor
			MaxDriveSet = GetLogicalDrives();
			if( PositionInfo.curdriveset != (DWORD) -1 )
				CurDriveSet = PositionInfo.curdriveset;
			else
				CurDriveSet = MaxDriveSet;
			for ( drive = 0; drive < 32; ++drive )  {
				if ( MaxDriveSet & (1 << drive) )  {
					wsprintf( name, _T("%c:\\"), 'A'+drive );
					switch ( GetDriveType( name ) )  {
						// We don't like these: remove them
						case 0:					// The drive type cannot be determined.
						case 1:					// The root directory does not exist.
							drivetype = DRVUNKNOWN;
							CurDriveSet &= ~(1 << drive);
							break;
						case DRIVE_REMOVABLE:	// The drive can be removed from the drive.
							drivetype = DRVREMOVE;
							CurDriveSet &= ~(1 << drive);
							break;
						case DRIVE_CDROM:		// The drive is a CD-ROM drive.
							drivetype = DRVCD;
							CurDriveSet &= ~(1 << drive);
							break;

						// We like these types
						case DRIVE_FIXED:		// The disk cannot be removed from the drive.
							drivetype = DRVFIXED;
							break;
						case DRIVE_REMOTE:		// The drive is a remote (network) drive.
							drivetype = DRVREMOTE;
							break;
						case DRIVE_RAMDISK:		// The drive is a RAM disk.
							drivetype = DRVRAM;
							break;
					}
					wsprintf( name, _T("Drive &%c: (%s)"), 'A'+drive, DrvNames[drivetype] );
					InsertMenu( DriveMenu, 0xFFFFFFFF, MF_BYPOSITION|MF_STRING,
								IDC_DRIVE+drive, name );

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品福利视频| 一区二区久久久| 精品国产91久久久久久久妲己| 欧美吻胸吃奶大尺度电影| 日本精品免费观看高清观看| 99久久久久久| 91丨九色丨尤物| 日本道在线观看一区二区| 91麻豆精品一区二区三区| 91免费在线看| 91国产视频在线观看| 欧美在线视频全部完| 欧美中文一区二区三区| 欧美日韩国产影片| 欧美丰满少妇xxxbbb| 欧美一卡二卡在线观看| 精品日韩一区二区三区免费视频| 精品国产亚洲一区二区三区在线观看| 精品欧美乱码久久久久久1区2区| 久久久99精品免费观看不卡| 国产人成一区二区三区影院| 亚洲国产岛国毛片在线| 中文字幕亚洲精品在线观看| 亚洲精品国产第一综合99久久| 午夜久久久久久久久久一区二区| 欧美aaaaaa午夜精品| 国产成人自拍高清视频在线免费播放| 丰满放荡岳乱妇91ww| 91免费在线看| 日韩一级完整毛片| 久久久精品欧美丰满| 1024精品合集| 日韩中文字幕不卡| 国产一二精品视频| 91女人视频在线观看| 日韩三级免费观看| 国产精品美女久久久久久| 亚洲激情六月丁香| 另类小说视频一区二区| 成人h动漫精品| 91麻豆精品国产91久久久资源速度| 欧美精品一区二区在线观看| 中文字幕亚洲欧美在线不卡| 日韩国产欧美视频| 国产.精品.日韩.另类.中文.在线.播放| 白白色 亚洲乱淫| 欧美喷潮久久久xxxxx| 久久九九99视频| 婷婷成人综合网| 国产白丝网站精品污在线入口| 在线观看日韩一区| 久久久久国产精品人| 亚洲午夜久久久| 国产伦精品一区二区三区免费迷 | 久久久久久久久久久99999| 中文字幕一区二区不卡| 奇米精品一区二区三区在线观看一| 国产盗摄一区二区三区| 欧美日韩免费不卡视频一区二区三区| 精品国产自在久精品国产| 亚洲精品国产精华液| 国产伦精品一区二区三区免费迷 | 中文字幕一区二区三区乱码在线| 五月天视频一区| 成人深夜福利app| 精品毛片乱码1区2区3区| 亚洲欧美另类久久久精品| 国内外精品视频| 在线中文字幕一区二区| 国产色一区二区| 久久狠狠亚洲综合| 欧美日韩视频在线一区二区| 国产精品国产馆在线真实露脸| 蜜桃av一区二区三区| 欧美影院一区二区三区| 国产欧美日韩综合精品一区二区| 日精品一区二区| 日本韩国视频一区二区| 国产精品乱子久久久久| 国产精品一区二区在线观看不卡| 这里只有精品免费| 亚洲国产综合91精品麻豆| 成人av午夜影院| 久久久不卡网国产精品二区| 蜜桃在线一区二区三区| 欧美浪妇xxxx高跟鞋交| 亚洲综合成人在线| 97久久精品人人爽人人爽蜜臀| 日本一区二区三区四区| 国产一级精品在线| 久久久久久久久久久久电影 | 日本精品一级二级| 亚洲欧洲色图综合| 成人一区二区三区在线观看 | 免费在线观看一区| 7799精品视频| 天天影视色香欲综合网老头| 欧美亚洲自拍偷拍| 亚洲综合免费观看高清完整版在线| 色综合天天视频在线观看 | 国产美女一区二区三区| 精品国产一区二区国模嫣然| 麻豆一区二区三| 日韩亚洲欧美综合| 老司机精品视频一区二区三区| 日韩午夜中文字幕| 久久99国产精品尤物| 日韩精品影音先锋| 黄网站免费久久| 久久久久久久网| 国产成人精品aa毛片| 中文字幕不卡三区| 97久久精品人人做人人爽50路| 中文字幕在线不卡视频| 一道本成人在线| 一区二区免费看| 欧美精品99久久久**| 热久久久久久久| 久久这里只精品最新地址| 国产麻豆91精品| 成人欧美一区二区三区小说| 色综合久久六月婷婷中文字幕| 夜夜嗨av一区二区三区网页| 欧美日韩一区二区三区四区五区| 日韩在线一二三区| 精品福利一区二区三区免费视频| 国产一区不卡精品| 亚洲欧美日韩国产综合| 欧美日韩综合色| 另类欧美日韩国产在线| 日本一区二区动态图| 色综合色狠狠天天综合色| 亚洲成人综合网站| 精品国产不卡一区二区三区| 成人美女在线观看| 亚洲国产精品麻豆| 精品久久久久久久久久久院品网| 国产传媒久久文化传媒| 一个色综合av| 欧美电视剧免费全集观看| 国产激情一区二区三区桃花岛亚洲| 中文字幕在线不卡一区| 欧美日韩久久久久久| 国产高清不卡二三区| 亚洲一区免费视频| 精品国产91乱码一区二区三区| 91在线免费看| 青青草精品视频| 亚洲欧美一区二区在线观看| 欧美精品欧美精品系列| 国产91精品免费| 天堂成人免费av电影一区| 欧美激情综合网| 337p亚洲精品色噜噜| 成人动漫在线一区| 毛片av中文字幕一区二区| √…a在线天堂一区| 日韩欧美综合一区| 色综合久久中文字幕综合网| 精品一区在线看| 亚洲国产cao| 亚洲国产精品t66y| 日韩精品一区二区三区视频播放 | 婷婷一区二区三区| 国产日韩欧美不卡在线| 538prom精品视频线放| 成人综合婷婷国产精品久久免费| 污片在线观看一区二区 | 成人午夜激情视频| 另类人妖一区二区av| 亚洲一区二区三区在线看| 国产日韩精品一区二区浪潮av | 亚洲国产岛国毛片在线| 欧美一区二区三区四区视频| 91美女在线看| 国产成人精品网址| 久久99国产乱子伦精品免费| 亚洲福利电影网| 亚洲精品中文字幕乱码三区| 国产色一区二区| 久久青草国产手机看片福利盒子| 欧美日韩高清不卡| 日韩免费一区二区| 91精品婷婷国产综合久久竹菊| 色8久久精品久久久久久蜜| 成人亚洲精品久久久久软件| 狠狠色丁香久久婷婷综合_中| 日韩制服丝袜先锋影音| 亚洲午夜羞羞片| 亚洲欧美福利一区二区| 欧美国产激情二区三区 | 日本欧美韩国一区三区| 亚洲线精品一区二区三区| 最新国产成人在线观看| 国产欧美一二三区| 国产亚洲一区二区三区在线观看| 欧美成人video| 日韩天堂在线观看| 欧美一卡二卡在线观看| 日韩三级在线免费观看|