91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

自己實現的區分物理網卡并獲取其網速的程序 沒有實現hook其他進程 獲得網速的功能

資源截圖

代碼片段和文件信息

bool?IsLocalAdapter?(?const?char?*pAdapterName?)?const
{
????BOOL?ret_value?=?FALSE;

#define?NET_CARD_KEY?“System/CurrentControlSet/Control/Network/{4D36E972-E325-11CE-BFC1-08002BE10318}“
????char?szDataBuf[MAX_PATH+1];
????DWORD?dwDataLen?=?MAX_PATH;
????DWORD?dwType?=?REG_SZ;
????HKEY?hNetKey?=?NULL;
????HKEY?hLocalNet?=?NULL;

????if(ERROR_SUCCESS?!=?RegOpenKeyEx(HKEY_LOCAL_MACHINE?NET_CARD_KEY?0?KEY_READ?&hNetKey))
????????return?FALSE;
????sprintf(szDataBuf?“%s/Connection“?pAdapterName);
????if(ERROR_SUCCESS?!=?RegOpenKeyEx(hNetKey?szDataBuf?0?KEY_READ?&hLocalNet))
????...{
????????RegCloseKey(hNetKey);
????????return?FALSE;
????}
????if?(ERROR_SUCCESS?!=?RegQueryValueEx(hLocalNet?“MediaSubType“?0?&dwType?(BYTE?*)szDataBuf?&dwDataLen))
????...{
????????goto?ret;
????}
????if?(*((DWORD?*)szDataBuf)!=0x01)
????????goto?ret;
????dwDataLen?=?MAX_PATH;
????if?(ERROR_SUCCESS?!=?RegQueryValueEx(hLocalNet?“;PnpInstanceID“?0?&dwType?(BYTE?*)szDataBuf?&dwDataLen))
????...{
????????goto?ret;
????}
????if?(strncmp(szDataBuf?“;PCI“?strlen(“;PCI“)))
????????goto?ret;

????ret_value?=?TRUE;

ret:
????RegCloseKey(hLocalNet);
????RegCloseKey(hNetKey);

????return?ret_value!=0;

}









SetupDiGetClassDevs?//?獲取設備信息集
SetupDiEnumDeviceInfo?//?從設備信息集中枚舉每個設備的具體信息
SetupDiGetDeviceRegistryProperty?//?從注冊表中讀取PnP設備的屬性
SetupDiSetClassInstallParams?//?設置(包括取消)設備類的安裝參數
SetupDiCallClassInstaller?//?安裝指定設備



/*我要介紹的方法是通過使用AdapterName來判斷的。這個就要涉及到注冊表和SetupDi函數了,或許有點復雜。
AdapterName是一個guid數據,這個數據可以讓我們查詢這個所在網卡信息。
HLM\\System\\CurrentControlSet\\Control\\Network\\{4D36E972-E325-11CE-BFC1-08002BE10318}
\\{AdapterName}\\connection?下面去看看,在這個下面一般有MediaSubType,這個可以用來表示是否
為無線網卡,還有一個Name,這個是用于在網絡連接中顯示的名稱,一般真實的pci板載網卡叫做本地連接
,當然也可以用這個方法來判斷是否為物理網卡了。還有一個就是PnpInstanceId,這個指是有系統在
枚舉pci的時候設置的,這個值其實就是device?instance?id,你可以在設備管理其中看到這個。
接下來就是我想說的用SetupDi來判斷是否為物理網卡的方法了。其實這個挺簡單的,只要我們知道物理網卡,
肯定是掛在某個bus上面的,因此對于虛擬網卡,肯定是沒有bus號的。主要的代碼在下面。我想應該可以說明白了。*/

unsigned?char?szGuid[]?=?“4D36E972-E325-11CE-BFC1-08002BE10318“;
HRESULT?hr?=?UuidFromString(szGuid&guid);??
hDevInfo?=?SetupDiGetClassDevs(&guidNULLNULLDIGCF_PRESENT);??//?get?the?device?info
if?(INVALID_HANDLE_VALUE?==?hDevInfo)
{
OutputDebugString(“SetupDiGetClassDevs?failed“);
}


/*
The?SetupDiEnumDeviceInfo?function?returns?a?SP_DEVINFO_DATA?structure?that?
specifies?a?device?information?element?in?a?device?information?set.

SetupDiEnumDeviceInfo(
????__in??HDEVINFO?DeviceInfoSet
????__in??DWORD?MemberIndex
????__out?PSP_DEVINFO_DATA?DeviceInfoData
);


The?SetupDiGetDeviceInstanceId?function?retrieves?the?device?instance?ID?that?is?
associated?with?a?device?information?element.

BOOL?SetupDiGetDeviceInstanceId(
_In_??????HDEVINFO?????????DeviceInfoSet
_In_??????PSP_DEVINFO_DATA?DeviceInfoData
_Out_opt_?PTSTR????????????DeviceInstanceId
_In_??????DWORD????????????DeviceInstanceIdSize
_Out_opt_?PDWORD?????????

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2015-12-31?12:29??NetSpeed\
?????目錄???????????0??2015-12-28?11:03??NetSpeed\NetSpeedProc\
?????目錄???????????0??2015-12-28?00:31??NetSpeed\NetSpeedProc\Debug\
?????文件??????216064??2015-12-30?11:03??NetSpeed\NetSpeedProc\Debug\NetSpeedProc.exe
?????文件?????1858116??2015-12-30?11:03??NetSpeed\NetSpeedProc\Debug\NetSpeedProc.ilk
?????文件?????5286912??2015-12-30?11:03??NetSpeed\NetSpeedProc\Debug\NetSpeedProc.pdb
?????目錄???????????0??2015-12-30?11:03??NetSpeed\NetSpeedProc\NetSpeedProc\
?????目錄???????????0??2015-12-30?11:03??NetSpeed\NetSpeedProc\NetSpeedProc\Debug\
?????文件????????6358??2015-12-30?11:03??NetSpeed\NetSpeedProc\NetSpeedProc\Debug\BuildLog.htm
?????文件??????????65??2015-12-30?11:03??NetSpeed\NetSpeedProc\NetSpeedProc\Debug\mt.dep
?????文件????????1196??2015-12-28?00:31??NetSpeed\NetSpeedProc\NetSpeedProc\Debug\NetSpeedProc.exe.embed.manifest
?????文件????????1260??2015-12-28?00:31??NetSpeed\NetSpeedProc\NetSpeedProc\Debug\NetSpeedProc.exe.embed.manifest.res
?????文件????????1120??2015-12-30?11:03??NetSpeed\NetSpeedProc\NetSpeedProc\Debug\NetSpeedProc.exe.intermediate.manifest
?????文件???????33074??2015-12-28?10:23??NetSpeed\NetSpeedProc\NetSpeedProc\Debug\NetSpeedProc.obj
?????文件????40894464??2015-12-28?00:31??NetSpeed\NetSpeedProc\NetSpeedProc\Debug\NetSpeedProc.pch
?????文件???????72760??2015-12-30?11:03??NetSpeed\NetSpeedProc\NetSpeedProc\Debug\NetSpeedProc.res
?????文件??????362739??2015-12-28?11:28??NetSpeed\NetSpeedProc\NetSpeedProc\Debug\NetSpeedProcDlg.obj
?????文件???????84303??2015-12-28?10:23??NetSpeed\NetSpeedProc\NetSpeedProc\Debug\SettingDlg.obj
?????文件???????35068??2015-12-28?00:40??NetSpeed\NetSpeedProc\NetSpeedProc\Debug\ShowNetSpeed.obj
?????文件??????571116??2015-12-28?00:31??NetSpeed\NetSpeedProc\NetSpeedProc\Debug\stdafx.obj
?????文件?????1993728??2015-12-28?11:28??NetSpeed\NetSpeedProc\NetSpeedProc\Debug\vc90.idb
?????文件?????3264512??2015-12-28?11:28??NetSpeed\NetSpeedProc\NetSpeedProc\Debug\vc90.pdb
?????文件??????109952??2015-12-30?11:03??NetSpeed\NetSpeedProc\NetSpeedProc\NetSpeedProc.aps
?????文件????????1729??2015-12-24?09:50??NetSpeed\NetSpeedProc\NetSpeedProc\NetSpeedProc.cpp
?????文件?????????481??2015-12-03?10:46??NetSpeed\NetSpeedProc\NetSpeedProc\NetSpeedProc.h
?????文件????????8867??2015-12-30?11:03??NetSpeed\NetSpeedProc\NetSpeedProc\NetSpeedProc.rc
?????文件????????5861??2015-12-18?14:42??NetSpeed\NetSpeedProc\NetSpeedProc\NetSpeedProc.vcproj
?????文件????????1427??2015-12-30?12:42??NetSpeed\NetSpeedProc\NetSpeedProc\NetSpeedProc.vcproj.QH-20150724ZFHD.Administrator.user
?????文件???????21361??2015-12-28?11:21??NetSpeed\NetSpeedProc\NetSpeedProc\NetSpeedProcDlg.cpp
?????文件????????4459??2015-12-28?10:21??NetSpeed\NetSpeedProc\NetSpeedProc\NetSpeedProcDlg.h
?????文件????????2827??2015-12-03?10:46??NetSpeed\NetSpeedProc\NetSpeedProc\ReadMe.txt
............此處省略33個文件信息

評論

共有 條評論