E' possibile tramite un'applicazione vb verificare se un componente è registrato?
E' possibile tramite un'applicazione vb verificare se un componente è registrato?
se lo trovi in
allora è registratocodice:HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID
Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te
Grazie della risposta, e già che ci sono, come si ottiene il percorso della cartella dei programmi? Mi serve saperlo per ottenere il percorso nei pc stranieri
Questo potrebbe fare per te:
Dove vuoi (form, modulo, classe)
In modulocodice:Public Function GetSpecialfolder(CSIDL As Long) As String ' Found on All-API. Dim r As Long Dim IDL As ITEMIDLIST 'Get the special folder r = SHGetSpecialFolderLocation(100, CSIDL, IDL) If r = NOERROR Then 'Create a buffer Path$ = Space$(512) 'Get the path from the IDList r = SHGetPathFromIDList(ByVal IDL.mkid.cb, ByVal Path$) 'Remove the unnecessary chr$(0)'s GetSpecialfolder = Left$(Path, InStr(Path, Chr$(0)) - 1) Exit Function End If GetSpecialfolder = "" End Function
Quindi dove vuoicodice:Public Const CSIDL_DESKTOP = &H0 Public Const CSIDL_PROGRAMS = &H2 Public Const CSIDL_CONTROLS = &H3 Public Const CSIDL_PRINTERS = &H4 Public Const CSIDL_PERSONAL = &H5 Public Const CSIDL_FAVORITES = &H6 Public Const CSIDL_STARTUP = &H7 Public Const CSIDL_RECENT = &H8 Public Const CSIDL_SENDTO = &H9 Public Const CSIDL_BITBUCKET = &HA Public Const CSIDL_STARTMENU = &HB Public Const CSIDL_DESKTOPDIRECTORY = &H10 Public Const CSIDL_DRIVES = &H11 Public Const CSIDL_NETWORK = &H12 Public Const CSIDL_NETHOOD = &H13 Public Const CSIDL_FONTS = &H14 Public Const CSIDL_TEMPLATES = &H15 Public Const CSIDL_APPDATA = &H1A Public Declare Function SHGetSpecialFolderLocation Lib "shell32.dll" (ByVal hwndOwner As Long, ByVal nFolder As Long, pidl As ITEMIDLIST) As Long Public Declare Function SHGetPathFromIDList Lib "shell32.dll" Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As Long Public Const MAX_PATH = 260 Public Type SHITEMID cb As Long abID As Byte End Type Public Type ITEMIDLIST mkid As SHITEMID End Type
codice:MsgBox GetSpecialfolder(CSIDL_PROGRAMS)
Grazie, ma questo codice l'avevo già trovato, solo che invece di restituirmi ad esempio la cartella "C:\Programmi" mi restituisce "C:\Documents and Settings\nomeutente\Menu Avvio\Programmi"...
Non c'è modo di sapere la cartella dei programmi?
lascia stare momentaneamente la cartella perogrammi,a cosa ti serve esattamente?Originariamente inviato da Jumpychan
Grazie, ma questo codice l'avevo già trovato, solo che invece di restituirmi ad esempio la cartella "C:\Programmi" mi restituisce "C:\Documents and Settings\nomeutente\Menu Avvio\Programmi"...
Non c'è modo di sapere la cartella dei programmi?
In pratica ho un'applicazione fatta in flash e vb.
Ne ho una seconda che faccio partire da un filmato in flash su cd che controlla se è stata fatta l'installazione della prima.
Se non è installata fa partire il programma di installazione che sta su cd, se è installata fa partire il programma.
Io lo faccio installare nella cartella "c:\programmi\nomeprogramma" che però, in caso venga usata da un utente straniero, potrebbe cambiare.
Per questo mi serviva sapere direttamente da vb qual'è la cartella programmi di default.
L'alternativa sarebbe farlo installare in "c:\nomeprogramma" lasciando perdere così il problema.
C'è modo di creare un pacchetto con inno setup che non faccia scegliere all'utente dove installare un software, ma che lo installi solo in "C:\nomeprogramma"?
Grazie intanto per le risposte!![]()