2010-03-22 56 views

Trả lời

6

Như được đề xuất ở đây: How to check if an OLEDB driver is installed on the system? bạn có thể tìm khóa của VFPOLEDB trong Registry. Mở ra regedit và tìm kiếm VFPOLEDB, bạn sẽ tìm thấy nó ở một vài nơi; Bạn đang quan tâm đến một trong những qua ở đây:

HKEY_CLASSES_ROOT\TypeLib\{50BAEECA-ED25-11D2-B97B-000000000000}\1.0\0\win32 

Vì vậy, chúng ta đều biết VFPOLEDB cần được đăng ký ở đây:

HKEY_CLASSES_ROOT\TypeLib\{50BAEECA-ED25-11D2-B97B-000000000000} 

Chúng ta có thể kiểm tra xem nó có sử dụng này C biểu hiện #:

(Registry.ClassesRoot.OpenSubKey("TypeLib\\{50BAEECA-ED25-11D2-B97B-000000000000}") != null) 

Hoặc chúng ta có thể quấn nó trong một lớp tĩnh đẹp để tái sử dụng dễ dàng:

public static class CheckVfpOleDb 
{ 
    public static bool IsInstalled() 
    { 
     return Registry.ClassesRoot.OpenSubKey("TypeLib\\{50BAEECA-ED25-11D2-B97B-000000000000}") != null; 
    } 
} 
+0

giải pháp tốt đẹp, nhưng đừng quên đóng khóa con của bạn trong trường hợp có một số ngoại lệ. – juFo

Các vấn đề liên quan