vbstreets conferințe - Vezi subiect - cum să verificați biblioteca înregistrată în sistem sau nu

Alibek a scris (a): Persoana nu vrea prost efectua o acțiune și a verifica - a reușit / a eșuat. El vrea mai întâi să vadă dacă are sens, la toate pentru a face această acțiune.


De fapt, da, am vrut să. Dar, de asemenea, îmi place să vă asigurați că indiferent de folderul utilizatorul nu pune la birou - programul meu de bibliotecă va fi folosit fara probleme.

Alibek a scris (a): În conformitate cu acest subiect. GUID va fi întotdeauna la fel, pe orice mașină.


Aici. Asta trebuie să știu.

Alibek a scris (a): Dar verificarea registru nu este cel mai bun mod.
Încercați ceva de genul:
Cod: Selectați toate Declare Private Function FreeLibrary Lib "kernel32" # 40; ByVal hLibModule Atâta timp # 41; Atâta timp
Declare Private Function LoadLibrary Lib "kernel32" Alias ​​"LoadLibraryA" # 40; ByVal lpLibFileName Ca String # 41; Atâta timp
Declare Private Function GetProcAddress Lib "kernel32" # 40; ByVal hModule Atâta timp, ByVal lpProcName ca șir # 41; Atâta timp
.
bSuccess = False
L = LoadLibrary # 40; "comdlg32" # 41;
Dacă L <> 0 Atunci
Dacă GetProcAddress # 40; L, "DllRegisterServer" # 41; <> 0 Apoi bSuccess = True
End If
FreeLibrary L
Debug.Print bSuccess

Dar, în general, este urât, pentru că există un mod mai direct.


Cred că există. Dar ceea ce mi-a sugerat în acest moment (până acum eu sunt un incepator) este ciudat și un pic confuz.

Cred că această metodă este greșită
LoadLibrary nu este COM-funcție și are o comandă de căutare bibliotecă internă specificate:
  1. Pornirea directorul aplicației
  2. Director aplicația curentă
  3. Windows \ sistem
  4. ferestre
  5. calea de la calea

Astfel, dacă se dorește Byblos există fizic pe unul dintre aceste locuri, putem concluziona că este înregistrată, în timp ce aceasta nu poate fi înregistrată.

Deci, probabil, încă mai trebuie să folosească cu întârziere obligatoriu, în acest caz,

De îndată ce itera opțiunile pentru soluții și nu găsiți dorit, apoi a aflat soluție, simplu și evident pentru toată lumea în afară de tine

GSerg a scris (a): Cred că această metodă este greșită
LoadLibrary nu este COM-funcția și are o comandă internă
= - = - skip = - = - = - =
Deci, probabil, încă mai trebuie să folosească cu întârziere obligatoriu, în acest caz,


Am făcut primul sfat: încercați să creați un obiect la începutul programului - în cazul în care o greșeală -, atunci biblioteca nu este înregistrată.