導航:首頁 > 安裝管理 > vc遍歷設備管理器

vc遍歷設備管理器

發布時間:2021-08-19 16:23:40

『壹』 如何獲取設備管理器中串口列表

在做上位機開發的時抄候,一般都襲會用到串口,這是寫給新手看的。用串口通訊,例如,51單片機,物聯網等硬體通訊,都會用到串口。 右鍵→我的電腦→點擊 「管理」 在「設備管理器」中,會出現圖下圖所示,點解,埠。你會看到,計算機有哪些埠(前提,...

『貳』 vc++如何獲取主板晶元組信息(已經試過api、wmi、注冊表,緊急~)

wmi、注冊表、shell等編程方法,可以獲取到和windows設備管理器相同的信息,如果設備管理器沒有,標准編程方法是獲取不到的。

魯大師的檢測獲取,可不是簡單代碼可以完成的,如果不是商業應用,建議放棄,太麻煩了。這個首先,需要做一個r0級別的驅動程序,才可以直接獲取硬體信息,然後窗口程序和驅動程序進行信息交互。(對未識別硬體的簡單識別或SSD這樣的簡單判斷,這樣做就可以)
但獲取後,實際只是一組標識數據,是無法直接確定品牌和版本的,也無法直接判斷ssd的參數和品牌。要像魯大師那樣詳細的驅動信息,實際是需要一個非常詳細的硬體信息對比庫,將r0獲取的硬體標識數據和資料庫中每個產品的信息作對比,尤其是山寨產品,數據標識混亂,還需要一個智能匹配邏輯,根據周邊信息作綜合判定。這可不是一個簡單的事情,可以說是魯大師的「發家」根本。

『叄』 VB獲取設備管理器的列表 本人剛接觸Microsoft Visual.Basic.6.0.with.SP6

根據設備的Vid和Pid查找指定設備的過程如下:
調用HidD_GetHidGuid獲得設備類回型GUID
調用SetupDiGetClassDevs獲得設備類型GUID的全部信息答
調用SetupDiEnumDeviceInterfaces獲得特定設備識別信息
調用獲得特定設備路徑名
調用CreateFile獲得特定設備句柄
調用HidD_GetAttributes獲得特定設備的Vid和Pid
完成之後
調用SetupDiDestroyDeviceInfoList銷毀一個設備信息集合,並且釋放所有關聯的內存

『肆』 C#如何獲取設備管理器中設備的詳細信息(如圖)

我的電腦Win10不是你那樣顯示,見圖。所以你還是試試有沒有穩定的步驟指出手工查看的步驟:

另外下面的資料你也可以參考一下:

http://stackoverflow.com/questions/3331043/get-list-of-connected-usb-devices

https://msdn.microsoft.com/en-us/library/aa394506.aspx

『伍』 vc 2010 如何自動獲取系統的com口

VC/MFC 如何獲取系統中已有的COM口
VC/MFC 如何獲取系統中已有的COM口
VC/MFC 如何獲取系統中已有的COM口
int CUtil::GetSystemPorts(CString *pNameList, CString *pPortList)
{
CRegKey RegKey;
int nCount = 0;

if(RegKey.Open(HKEY_LOCAL_MACHINE, "Hardware\\DeviceMap\\SerialComm") == ERROR_SUCCESS)
{
while(true)
{
char ValueName[_MAX_PATH];
unsigned char ValueData[_MAX_PATH];
DWORD nValueSize = _MAX_PATH;
DWORD nDataSize = _MAX_PATH;
DWORD nType;

if(::RegEnumValue(HKEY(RegKey), nCount, ValueName, &nValueSize, NULL, &nType, ValueData, &nDataSize) == ERROR_NO_MORE_ITEMS)
{
break;
}

if(pNameList)
pNameList[nCount] = ValueName;

if(pPortList)
pPortList[nCount] = ValueData;

nCount++;
}
}

return nCount;
}

void CSyst_Setting::CheckComPort()
{
HKEY hKey;
DWORD dwCount=0;//保存檢索項的結果,即COM埠總數
DWORD dwBufLen=_MAX_PATH;//緩存大小

DWORD dwBufLen1[_MAX_PATH];//緩存大小
::FillMemory((LPVOID)dwBufLen1,_MAX_PATH*2,0xFF);
DWORD dwBufLen2[_MAX_PATH];//緩存大小
::FillMemory((LPVOID)dwBufLen2,_MAX_PATH*2,0xFF);

DWORD dwTp=REG_DWORD;//待檢索項的數據類型

CString subKey=_T("SYSTEM\\CurrentControlSet\\Services\\serenum\\Enum");

if(ERROR_SUCCESS!=::RegOpenKeyEx(HKEY_LOCAL_MACHINE,subKey,
NULL,KEY_QUERY_VALUE,&hKey))
return;//打開注冊表失敗,退出程序

//注冊表打開成功,進一步檢索設備管理器的設備樹顯示的埠節點里COM口的個數
if(ERROR_SUCCESS!=::RegQueryValueEx(hKey, _T("Count"), NULL, &dwTp,
(LPBYTE)&dwCount, &dwBufLen))
{
::RegCloseKey( hKey );
return;//檢索失敗,退出
}

HKEY hKey1;
CString subKey1=_T("SYSTEM\\CurrentControlSet\\Enum\\");//的COM設備名字檢索路徑
CString strReg;
CString strACPI(_T('\0'),_MAX_PATH);
LPSTR lpstrACPI=strACPI.GetBuffer(_MAX_PATH);

CString strACPI1(_T('\0'),_MAX_PATH);
LPSTR lpstrACPI1=strACPI1.GetBuffer(_MAX_PATH);

for(unsigned int i=0;i<dwCount;i++)//COM埠數檢索成功,進一步檢索在設備管理器里出現的文字
{

strReg.Format("%d",i);

if(::RegQueryValueEx(hKey,(LPCSTR)strReg,NULL,
&dwTp,(LPBYTE)lpstrACPI,&dwBufLen1[i])
!=ERROR_SUCCESS)
break;//檢索失敗,退出

subKey1=subKey1+lpstrACPI;

if(::RegOpenKeyEx(HKEY_LOCAL_MACHINE,subKey1,
NULL,KEY_QUERY_VALUE,&hKey1)!=ERROR_SUCCESS)
break;//打開注冊表失敗,退出程序

DWORD dwTp1=REG_SZ;//此處即為COM的說明文字項數據類型
if(ERROR_SUCCESS!=::RegQueryValueEx(hKey1, _T("FriendlyName"), NULL, &dwTp1,
(LPBYTE)lpstrACPI1, &dwBufLen2[i]))//檢索COM口具體說明文字,即FriendlyName的值
break;//檢索失敗,退出

//-------------------------------
CString strNum;
// strNum =GetStr(lpstrACPI1);
strNum.Format(_T( "%s "), lpstrACPI1);
int i;
CString shuzi;

for(i=0;i< strNum.GetLength();i++)
{
int unicode = (int)strNum.GetAt(i);
if (unicode <= '9' && unicode >= '0')
{
shuzi += strNum.GetAt(i);
}

}
shuzi="COM"+shuzi;
m_intPort.AddString(shuzi);//添加檢索的值添加到組合列表框
m_intPort2.AddString(shuzi);//添加檢索的值添加到組合列表框

//---------------------------

// m_Com1.AddString(lpstrACPI1);//添加檢索的值添加到組合列表框

strReg.Empty();//重新對變數賦值,避免前後沖突
subKey1.Empty();
subKey1=_T("SYSTEM\\CurrentControlSet\\Enum\\");
strACPI.Empty();
strACPI1.Empty();
strACPI=CString(_T('\0'),_MAX_PATH);
strACPI1=CString(_T('\0'),_MAX_PATH);

}

strACPI.ReleaseBuffer();
strACPI1.ReleaseBuffer();
::RegCloseKey( hKey1 );
::RegCloseKey( hKey );
m_intPort.SetCurSel(0);
m_intPort2.SetCurSel(0);

}

『陸』 vc獲得usb設備名稱

如果抄是動態監測,即監測U盤插入可以通過監聽WM_DEVICECHANGE消息來實現,並從WM_DEVICECHANGE消息的lParam里獲取盤符。

如果是靜態檢測,即U盤已經插入,可以通過WinAPI GetDriveType 獲得驅動器類型。用一個循環判斷所有當前驅動器(結合GetLogicalDriveStrings),如果類型為DRIVE_REMOVABLE,則該驅動器為U盤。

具體代碼例子網上都可以搜索到的,google一下吧,祝你成功。

『柒』 在桌面狀態下設備管理器中CPU使用總是100%,另外有時還出現藍屏重啟現象,請幫忙解決.

經常出現CPU佔用100%的情況,主要問題可能發生在下面的某些方面:
CPU佔用率高的九種可能
1、防殺毒軟體造成故障
由於新版的KV、金山、瑞星都加入了對網頁、插件、郵件的隨機監控,無疑增大了系統負擔。處理方式:基本上沒有合理的處理方式,盡量使用最少的監控服務吧,或者,升級你的硬體配備。
2、驅動沒有經過認證,造成CPU資源佔用100%
大量的測試版的驅動在網上泛濫,造成了難以發現的故障原因。 處理方式:尤其是顯卡驅動特別要注意,建議使用微軟認證的或由官方發布的驅動,並且嚴格核對型號、版本。
3、病毒、木馬造成
大量的蠕蟲病毒在系統內部迅速復制,造成CPU佔用資源率據高不下。解決辦法:用可靠的殺毒軟體徹底清理系統內存和本地硬碟,並且打開系統設置軟體,察看有無異常啟動的程序。經常性更新升級殺毒軟體和防火牆,加強防毒意識,掌握正確的防殺毒知識。
4、控制面板—管理工具—服務—RISING REALTIME MONITOR SERVICE點滑鼠右鍵,改為手動。
5、開始->;運行->;msconfig->;啟動,關閉不必要的啟動項,重啟。
6、查看「svchost」進程。
svchost.exe是Windows XP系統的一個核心進程。svchost.exe不單單只出現在Windows XP中,在使用NT內核的Windows系統中都會有svchost.exe的存在。一般在Windows 2000中svchost.exe進程的數目為2個,而在Windows XP中svchost.exe進程的數目就上升到了4個及4個以上。
7、查看網路連接。主要是網卡。
8、查看網路連接
當安裝了Windows XP的計算機做伺服器的時候,收到埠 445 上的連接請求時,它將分配內存和少量地調配 CPU資源來為這些連接提供服務。當負荷過重的時候,CPU佔用率可能過高,這是因為在工作項的數目和響應能力之間存在固有的權衡關系。你要確定合適的 MaxWorkItems 設置以提高系統響應能力。如果設置的值不正確,伺服器的響應能力可能會受到影響,或者某個用戶獨占太多系統資源。
要解決此問題,我們可以通過修改注冊表來解決:在注冊表編輯器中依次展開[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver ]分支,在右側窗口中新建一個名為「maxworkitems」的DWORD值。然後雙擊該值,在打開的窗口中鍵入下列數值並保存退出:
如果計算機有512MB以上的內存,鍵入「1024」;如果計算機內存小於512 MB,鍵入「256」。
9、看看是不是Windows XP使用滑鼠右鍵引起CPU佔用100%
前不久的報到說在資源管理器裡面使用滑鼠右鍵會導致CPU資源100%佔用,

『捌』 如何獲取硬體信息,象windows的設備管理器一樣

計算機硬體信息可通過windows自帶設備管理器,或其他硬體信息檢測工具來快速獲取。
設備管理器:桌面「我的電腦」圖標點右鍵,選擇「設備管理器」(或「管理」,在「計算機管理」窗口左側選擇「設備管理器」)

魯大師:

其他軟體,如驅動精靈、驅動人生等也可快速、正確的獲取本機內硬體信息。

『玖』 怎樣用delphi獲得計算機設備管理器中的COM號

如果是獲取復計算機設備中制的 COM 埠列表,可以通過 windows 系統的注冊表中相關信息來完成,有關計算機設備中的 COM 埠列表數據,保存在注冊表的 HKEY_LOCAL_MACHINE
HardwareDevicemapSerialComm 節點。

以下是示例代碼:

usesSystem.Win.Registry;

{$R*.dfm}

procereTForm1.Button1Click(Sender:TObject);
var
reg:TRegistry;
ts:TStrings;
i:Integer;
begin
reg:=TRegistry.Create;

reg.RootKey:=HKEY_LOCAL_MACHINE;
reg.OpenKey('HardwareDevicemapSerialComm',False);

ts:=TStringList.Create;
reg.GetValueNames(ts);

reg.CloseKey;
reg.Free;

ts.Free;
end;
閱讀全文

與vc遍歷設備管理器相關的資料

熱點內容
黑龍江特種設備檢驗研究院 瀏覽:210
機械化養護中心 瀏覽:838
上海特種設備管理 瀏覽:48
機械師改槍 瀏覽:181
機械化剪紙 瀏覽:757
美燃環保設備 瀏覽:809
濟南北斗星數控設備有限公司 瀏覽:838
自動噴塗機械手 瀏覽:457
中小型農業機械加工項目建議書 瀏覽:251
不銹鋼加工設備市轉讓 瀏覽:441
水稻生產全程機械化 瀏覽:110
扳手機械原理 瀏覽:61
凱格精密機械有限公司 瀏覽:61
廣毅機電設備 瀏覽:805
重慶三陽辦公設備有限公司 瀏覽:494
華技達自動化設備 瀏覽:631
東莞石碣自動化設備廠 瀏覽:131
機械制圖陳列櫃 瀏覽:246
鄭州奧鑫游樂設備公司 瀏覽:733
美邦環保設備有限公司 瀏覽:386