Oppure

Loading
26/05/10 15:49
salva94
Ragazzi poco fa dato che un user non sapeva come chiudere una cartella ho pensato di dargli un code Api trovato su un sito . Però vorrei capire come si utilizzano e a cosa servono tutte quelle lettere e numeri accostati fra di loro :
Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long 

    Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As String) As Long 

    Public Const WM_CLOSE = &H10 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
        Dim winHwnd As Long 
        Dim RetVal As Long 
        winHwnd = FindWindow(vbNullString, "Nomecartella") 

        If winHwnd <> 0 Then 
            RetVal = PostMessage(winHwnd, WM_CLOSE, 0&, 0&) 
            If RetVal = 0 Then 
                MsgBox("Errore nella chiusura.") 
            End If 
        Else 
            MsgBox("Errore non trovato il File.") 
        End If


Qualcuno riesce a spiegarmi riga per riga questo code? Vorrei capirci qualcosa in più :rofl:
aaa
26/05/10 17:26
Federico_VbNet_Programmer
Allora:

 'dichiara la funzione "findwindow" nella libreria user32 di windows
Declare  Function FindWindow Lib  "user32" Alias "FindWindowA" (ByVal lpClassName As  String, ByVal  lpWindowName As String) As Long

'Dichiara la funzione "postmessage" sempre della libreria user32 di windows
    Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As String) As Long

'dichiara una costante pubblica di nome WM_CLOSE e le da il valore &H10
    Public Const WM_CLOSE = &H10
'evento del click del pulsante
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'dichiara due valori long e non le assegna nessun valore 
        Dim winHwnd As Long
        Dim RetVal As Long
'al valore "winHwnd" dichiarato sopra le da il valore ottenuto dal findwindow dichiarato 'all'inizio
        winHwnd = FindWindow(vbNullString, "Nomecartella")

        If winHwnd <> 0 Then
'se il valore è zero retval ha come valore il valore ottenuto da postmessage dichiarato 'all'inizio
            RetVal = PostMessage(winHwnd, WM_CLOSE, 0&, 0&)
            If RetVal = 0 Then
'se il valore è zero dice che c'è stato un errore
                MsgBox("Errore nella chiusura.")
            End If
        Else
'se il valore è superiore a zero da l'errore di file non trovato
            MsgBox("Errore non trovato il File.")
        End If



Spero che questa miniguida riga per riga di sia d'aiuto XD:D
aaa
26/05/10 17:35
nessuno
Postato originariamente da salva94:
... a cosa servono tutte quelle lettere e numeri accostati fra di loro ...


Ma di cosa parli ? :)
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
26/05/10 17:38
Federico_VbNet_Programmer
queste lettere e numeri accostati fra loro servono per dare un valore al valore principale(non so come dirlo) XD
aaa
26/05/10 17:46
nessuno
Postato originariamente da Federico_VbNet_Programmer:

... servono per dare un valore al valore principale ...


Il famoso "rimedio peggiore del male" ...

Da raccogliere e pubblicare ... :)
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
26/05/10 17:58
Federico_VbNet_Programmer
Non capisco cosa vorresti sapere lol XD
aaa
27/05/10 13:24
salva94
Fede ti ringrazio ma fino a quel punto ci arrivo pure io... vorrei capire perchè invece usano espressioni tipo Public Const WM_CLOSE = &H10 , perchè proprio il valore &H10?
aaa
27/05/10 14:17
nessuno
Sono valori costanti utilizzati dal sistema operativo Windows. Non è importante quanto vale, è importante che sia lo stesso valore usato da Windows per quella costante.

Praticamente, non c'è nulla da capire ...
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.