使用SetupDi系列函數進行裝置資訊的管理

一、重要函數: 標頭檔setupapi.h1、SetupDiGetClassDevs    擷取一個指定類別或全部類別的所有已安裝裝置的資訊2、SetupDiEnumDeviceInfo  枚舉指定裝置資訊集合的成員,並將資料放在PSP_DEVINFO_DATA中3、SetupDiGetDeviceRegistryProperty   獲得單個裝置的詳細資料4、SetupDiDestroyDeviceInfoList    

在資源管理員右鍵菜單中添加新的功能表項目

一、原理關聯自己的應用程式到右鍵菜單中,當使用者在“我的電腦”或“資源管理員”中的某一檔案上單擊滑鼠右鍵時會出現一個捷徑功能表。假設使用者希望在txt檔案類型的右鍵捷徑功能表中關聯上自己的應用程式 (使用者的應用程式名稱為 txtapp.exe,在D盤根目錄下) ,步驟如下:  1、在註冊表中找到並開啟 HKEY_CLASSES_ROOT\.txt子鍵,查到其預設索引值項資料為“txtfile”。  2、在註冊表中找到並開啟

fatal error LNK1123: 轉換到 COFF 期間失敗: 檔案無效或損壞(嵌入清單)

    在將一VC6程式轉換至VS2005時,出現了錯誤:fatal error LNK1123: 轉換到 COFF 期間失敗: 檔案無效或損壞;研究發現是由於VS2005產生資訊清單檔的問題。    VS2005在產生可執行檔時使用了一種新的技術,該技術產生的可執行檔會伴隨產生一個資訊清單檔(manifest

保持圖片和圖片框一致的方法 收藏

      眾所周知,VB的picture控制項沒有Stretch屬性,載入在picture中的圖片往往不是比picture小,就是比picture大,圖片比picture小時不能充滿整個picture,比picture大時圖片不能完全顯示。很不方便,下面的代碼可以解決這個問題,給你帶來方便。'模組代碼:Option ExplicitPrivate Declare Function GetObject Lib "gdi32" Alias "GetObjectA" (ByVal hObject

VC擷取某檔案的版本號碼

//lpszFilePath 為某檔案的完整路徑CString GetFileVersion(LPCTSTR lpszFilePath){CString szFilePath(lpszFilePath);CString szResult(_T("0.0.0.0"));if (szFilePath.GetLength() > 0 && PathFileExists(szFilePath)){VS_FIXEDFILEINFO *pVerInfo = NULL;DWORD

VC中設定開啟檔案的許可權為管理員權限

 設定當前進程的許可權BOOL CMainFrame::EnableDebugPrivilege(BOOL fEnable){    BOOL   fOK = FALSE;    HANDLE hToken = NULL;    if(OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES,&hToken)) {   TOKEN_PRIVILEGES tp;   tp.PrivilegeCount =

COM代碼中處理串(Unicode 轉換為ANSI)

不管什麼時候,只要COM方法返回一個串,這個串都是Unicode串(這裡指的是寫入COM規範的所有方法)。Unicode是一種字元編碼集,類似ASCII,但用兩個位元組表示一個字元。如果你想更好地控制或操作串的話,應該將它轉換成TCHAR類型串。  TCHAR和以_t開頭的函數(如_tcscpy())被設計用來讓你用相同的原始碼處理Unicode和ANSI串。在大多數情況下編寫的代碼都是用來處理ANSI串和ANSI

VC精確計時

1、WM_TIMER訊息映射SetTimer()設定定時間隔,定時響應函數 

彩色轉灰階

一、基礎  對於彩色轉灰階,有一個很著名的心理學公式:Gray = R*0.299 + G*0.587 + B*0.114二、整數演算法  而實際應用時,希望避免低速的浮點運算,所以需要整數演算法。  注意到係數都是3位精度的沒有,我們可以將它們縮放1000倍來實現整數運算演算法:Gray = (R*299 + G*587 + B*114 + 500) /

OLEFormat.DoVerb …… WdOLEVerb Enumeration (Word)

 Specifies the action associated with the verb that the OLE object should perform.NameValueDescriptionwdOLEVerbDiscardUndoState-6Forces the object to discard any undo state that it might be maintaining; note that the object remains active,

CTime,COleDateTime,SYSTEMTIME

1、使用CTime (MFC)1) 擷取目前時間。      CTime time;      time = CTime::GetCurrentTime();2) 擷取時間元素。      int year = time.GetYear() ;      int month = time.GetMonth();      int day = time.GetDay();      int hour = time.GetHour();      int minute =

判斷某字串是否都是數字

 char*   CString2char(CString &str) {   int len = str.GetLength();   char* chRtn = (char*)malloc((len*2+1)*sizeof(char));  memset(chRtn, 0, 2*len+1);   USES_CONVERSION;   strcpy((LPSTR)chRtn,OLE2A(str.LockBuffer()));   return chRtn;

openssl與cryptoAPI互動AES加密解密

繼上次只有CryptoAPI的加密後,這次要實現openssl的了動機:利用CryptoAPI製作windows的IE,Firefox和chrome加密控制項後,這次得加上與android的加密資訊互動先前有說openssl移植到android的過程,這裡就不再提android如何調用openssl了,       

進程通訊——使用WM_COPYDATA訊息通訊

  3.4  使用WM_COPYDATA訊息通訊對於少量資料可以用WM_COPYDATA方便地實現通訊。由於SendMessage()是阻塞的,只有接收方響應了訊息,SendMessage()才能返回,否則一直阻塞。所以,對於大量資料來說,用SendMessage()就容易造成視窗假死。3.4.1 

struts spring mybatis maven隨記

1.目前整合struts spring mybatis使用的pom配置(2012-3-17)版本一不多就各種問題了,在maven庫上下了不少版本,總出問題,這次配好就記下來先<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0

根據UNICODE碼判斷是否為漢字

1、使用函數IsTextUnicode判斷當前字串是否為UNICODE編碼BOOL b = IsTextUnicode(csTmp,csTmp.GetLength(),NULL);2、根據UNICODE碼判斷是否為漢字CString szWords(_T("test測試字型"));CString szTmp;for( ; iCur < szWords.GetLength(); ++iCur){szTmp = szWords.Mid(iCur,

Service如何關閉啟動自己的Activity

 今天在編寫Android程式的時候,遇到這個問題。通過百度和google的搜尋結果,總結出以下方法:方法一:public class mService extends Service {    //儲存在service中的Activity對象    private static mActivity m;    //啟動服務    static void startservice(Context c){        m=(mActivity)c;        Intent iService=

Spring MVC中DispatcherServlet工作原理探究

下面類圖將主要的類及方法抽離出來,以便查看方便,根據類的結構來說明整個請求是如何工作的主要使用到的技術有Spring的IOC容器和Servlet。假如我們要實現一個請求home.htm然後返回home.jsp視圖資源則當home.htm請求到達時,我們需要DispatcherServlet來處理該請求,所以首先配置該Servlet第一步需要在web.xml中配置DispatcherServlet,使該servlet來接收請求並做進一步處理。 <servlet>

static_cast、dynamic_cast reinterpret_cast和const_

 關於強制類型轉換的問題,很多書都討論過,寫的最詳細的是C++ 之父的《C++ 的設計和演化》。最好的解決方案就是不要使用C風格的強制類型轉換,而是使用標準C++的類型轉換符:static_cast, dynamic_cast。標準C++中有四個類型轉換符:static_cast、dynamic_cast、reinterpret_cast、和const_cast。下面對它們一一進行介紹。static_cast用法:static_cast < type-id > (

HTML中動態添加節點的兩種方法

方法一、<script> function AddNode(name,size,picpath,id){      var   s=document.createElement( 'span ');       s.innerHTML = ' <DIV   id=skirt01   style= "Z-INDEX:   2;   LEFT:   375px;   WIDTH:   60px;   POSITION:   absolute;   TOP:   455px;  

總頁數: 61357 1 .... 18657 18658 18659 18660 18661 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.