|
|
|
![]() |
|
Strumenti |
![]() |
#41 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
www.allapi.net e scarica ApiGuide
![]() |
![]() |
![]() |
![]() |
#42 |
Senior Member
Iscritto dal: May 2001
Città: Triggiano
Messaggi: 4459
|
Grazie, vediamo cosa riesco a combinare
![]()
__________________
Asrock AB350M Pro 4 - AMD Ryzen 7 5800x - 2x8GB Ram Corsair Vengeance LPX DDR4 3000 Mhz CL15 - MSI GeForce GTX 1070 Aero ITX 8GB - Sabrent 512GB Rocket NVMe PCIe M.2 2280 - Samsung 850 EVO 250GB Sata3 - Samsung 27" C27JG5x QHD 144 Hz |
![]() |
![]() |
![]() |
#43 |
Senior Member
Iscritto dal: May 2001
Città: Triggiano
Messaggi: 4459
|
Eccomi qui, dopo quasi 10 giorni di lavoro e di studio (sopratutto sul mondo delle API) ho ancora bisogno di voi
![]() Ho la necessità di leggere dal registro di sistema se è presente una determinata chiave e quindi effettuare delle scelte. Ho visto che ci sono le API RegOpenKey, RegQueryValueEx ecc.. che fanno al mio caso, ma non le so usare a dovere. Chi mi aiuta? In pratica devo andare a controllare nel registro di sistema se è installato mozilla firefox e, se si, recuperare la path dove è installato. Documentandomi sono arrivato alla conclusione che devo fare un check del valore che si trova qui: Codice:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\ Come faccio? Grazie!!!
__________________
Asrock AB350M Pro 4 - AMD Ryzen 7 5800x - 2x8GB Ram Corsair Vengeance LPX DDR4 3000 Mhz CL15 - MSI GeForce GTX 1070 Aero ITX 8GB - Sabrent 512GB Rocket NVMe PCIe M.2 2280 - Samsung 850 EVO 250GB Sata3 - Samsung 27" C27JG5x QHD 144 Hz |
![]() |
![]() |
![]() |
#44 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Hai guardato su APIGuide ?
|
![]() |
![]() |
![]() |
#45 |
Senior Member
Iscritto dal: May 2001
Città: Triggiano
Messaggi: 4459
|
Si si, infatti quelle api le ho prese da li, ma si vede che non le so usare nel modo adeguato
![]()
__________________
Asrock AB350M Pro 4 - AMD Ryzen 7 5800x - 2x8GB Ram Corsair Vengeance LPX DDR4 3000 Mhz CL15 - MSI GeForce GTX 1070 Aero ITX 8GB - Sabrent 512GB Rocket NVMe PCIe M.2 2280 - Samsung 850 EVO 250GB Sata3 - Samsung 27" C27JG5x QHD 144 Hz |
![]() |
![]() |
![]() |
#46 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Non ti basta questo codice ?
Codice:
'This program needs 3 buttons Const REG_SZ = 1 ' Unicode nul terminated string Const REG_BINARY = 3 ' Free form binary Const HKEY_CURRENT_USER = &H80000001 Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long Private Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String) As Long Private Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long Private Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, lpData As Any, lpcbData As Long) As Long Private Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long Function RegQueryStringValue(ByVal hKey As Long, ByVal strValueName As String) As String Dim lResult As Long, lValueType As Long, strBuf As String, lDataBufSize As Long 'retrieve nformation about the key lResult = RegQueryValueEx(hKey, strValueName, 0, lValueType, ByVal 0, lDataBufSize) If lResult = 0 Then If lValueType = REG_SZ Then 'Create a buffer strBuf = String(lDataBufSize, Chr$(0)) 'retrieve the key's content lResult = RegQueryValueEx(hKey, strValueName, 0, 0, ByVal strBuf, lDataBufSize) If lResult = 0 Then 'Remove the unnecessary chr$(0)'s RegQueryStringValue = Left$(strBuf, InStr(1, strBuf, Chr$(0)) - 1) End If ElseIf lValueType = REG_BINARY Then Dim strData As Integer 'retrieve the key's value lResult = RegQueryValueEx(hKey, strValueName, 0, 0, strData, lDataBufSize) If lResult = 0 Then RegQueryStringValue = strData End If End If End If End Function Function GetString(hKey As Long, strPath As String, strValue As String) Dim Ret 'Open the key RegOpenKey hKey, strPath, Ret 'Get the key's content GetString = RegQueryStringValue(Ret, strValue) 'Close the key RegCloseKey Ret End Function stringa = GetString(HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\","Path") |
![]() |
![]() |
![]() |
#47 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Const HKEY_LOCAL_MACHINE = &H80000002
|
![]() |
![]() |
![]() |
#48 |
Senior Member
Iscritto dal: May 2001
Città: Triggiano
Messaggi: 4459
|
Mi sa che provai... ma tutte quelle api basta copiarle ed incollarle così come sono?
Poi basta una semplice assegnazione per risolvere?
__________________
Asrock AB350M Pro 4 - AMD Ryzen 7 5800x - 2x8GB Ram Corsair Vengeance LPX DDR4 3000 Mhz CL15 - MSI GeForce GTX 1070 Aero ITX 8GB - Sabrent 512GB Rocket NVMe PCIe M.2 2280 - Samsung 850 EVO 250GB Sata3 - Samsung 27" C27JG5x QHD 144 Hz |
![]() |
![]() |
![]() |
#49 |
Senior Member
Iscritto dal: May 2001
Città: Triggiano
Messaggi: 4459
|
Rieccomi più dubbioso che mai
![]() Ora ho la necessita di aprire in modo consecutivo tutti i file presenti in una cartella. L'idea è questa: in una cartella ci sono 4 o 5 email esportate da outlook; il programma deve aprire la prima, analizzarla, elaborarla e poi passare al file successivo, ripetendo il ciclo fino all'ultimo file. La fase di elaborazione è già codificata, quindi vorrei sapere come mettere in pratica la prima parte dell'idea. Suggerimenti? Grazie ancora ![]()
__________________
Asrock AB350M Pro 4 - AMD Ryzen 7 5800x - 2x8GB Ram Corsair Vengeance LPX DDR4 3000 Mhz CL15 - MSI GeForce GTX 1070 Aero ITX 8GB - Sabrent 512GB Rocket NVMe PCIe M.2 2280 - Samsung 850 EVO 250GB Sata3 - Samsung 27" C27JG5x QHD 144 Hz |
![]() |
![]() |
![]() |
#50 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Cerca l'API FindFirst
|
![]() |
![]() |
![]() |
#51 |
Senior Member
Iscritto dal: May 2001
Città: Triggiano
Messaggi: 4459
|
Ho trovato una piccola codifica già fatta in rete ed ho risolto il problema, comunque vedrò anche questa api, grazie!!
__________________
Asrock AB350M Pro 4 - AMD Ryzen 7 5800x - 2x8GB Ram Corsair Vengeance LPX DDR4 3000 Mhz CL15 - MSI GeForce GTX 1070 Aero ITX 8GB - Sabrent 512GB Rocket NVMe PCIe M.2 2280 - Samsung 850 EVO 250GB Sata3 - Samsung 27" C27JG5x QHD 144 Hz |
![]() |
![]() |
![]() |
#52 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Dovresti togliere l'immagine in firma... E' sopra la dimensione massima... Grazie
![]() |
![]() |
![]() |
![]() |
#53 |
Senior Member
Iscritto dal: May 2001
Città: Triggiano
Messaggi: 4459
|
Si scusami, sono al di fuori del regolamento
![]() L'ho messa senza pensarci 2 volte perchè sopratutto qui siamo in parecchi ad usarla... sicuro non si possa mettere?
__________________
Asrock AB350M Pro 4 - AMD Ryzen 7 5800x - 2x8GB Ram Corsair Vengeance LPX DDR4 3000 Mhz CL15 - MSI GeForce GTX 1070 Aero ITX 8GB - Sabrent 512GB Rocket NVMe PCIe M.2 2280 - Samsung 850 EVO 250GB Sata3 - Samsung 27" C27JG5x QHD 144 Hz |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 08:48.