2009-07-21 36 views
0

嗨,我正在檢查SqlClass的GUID是在我的Test.dll但它沒有給它成功,它失敗的價值......這是什麼錯誤的代碼。如何查看課程ID是否已註冊?

#include <windows.h> 
#include <iostream> 
using namespace std; 

int main() { 
    HKEY hk; 

    long n = RegOpenKeyEx(HKEY_CLASSES_ROOT,TEXT("\\CLSID\\SqlClass"), 
        0,KEY_QUERY_VALUE, &hk);" 
    if (n == ERROR_SUCCESS) { 
    cout << "OK" << endl; 
    } 
    else { 
    cout << "Failed with value " << n << endl; 
    } 
} 

我試圖這樣也RegOpenKeyEx(HKEY_CLASSES_ROOT,TEXT( 「\ CLSID \ 46A951AC-C2D9-48e0-97BE-91F3C9E7B065」), 0,KEY_QUERY_VALUE,& HK)

此代碼的工作FINE

#include <windows.h> 
    # include <iostream> 
    using namespace std; 

    int main() { 
       HKEY hk; 

       long n = RegOpenKeyEx(HKEY_CLASSES_ROOT, 
      TEXT("\\CLSID\\{46A951AC-C2D9-48e0-97BE-91F3C9E7B065}"), 
       0,KEY_QUERY_VALUE, &hk);" 
      if (n == ERROR_SUCCESS) { 
       cout << "OK" << endl; 
      } 
      else { 
       cout << "Failed with value " << n << endl; 
       } 
     } 
+0

該值真的存在於註冊表中的那條路徑上嗎? – sharptooth 2009-07-21 05:12:31

+2

在第二個代碼片段中,GUID必須包含在「{」和「}」中。看看其他GUID如何存儲在註冊表中。 – sharptooth 2009-07-21 05:59:13

回答

2

我從來沒有在CLSID下看到任何其他的GUID,所以這個鍵可能不存在。查看註冊表下的該節點,看看我的意思。

故障代碼是什麼,n?您可以通過以下兩種方式

  1. 把數到Visual Studio中的工具菜單中的「錯誤查找」工具看這件事。

  2. 在n上調用FormatMessage,它給出了與該錯誤相關的文本。

相關問題