Page 1 sur 1

Liste des fenetres actives

Publié : sam. 21/mai/2005 10:18
par brossden
Bonjour

Je sais que la solution a été mainte fois données mais même avec recherche je n'arrive pas à remettre la main dessus. Comment lister les fenètres actives.
Merci à ceux qui sont plus ordonnés que moi !

Publié : sam. 21/mai/2005 10:43
par nico

Publié : sam. 21/mai/2005 11:27
par Droopy
J'ai intégré son code dans ma Lib
Fonction WindowsEnum()


http://www.penguinbyte.com/apps/pbwebst ... Droopy.exe

Publié : sam. 21/mai/2005 14:04
par Backup
Droopy a écrit :J'ai intégré son code dans ma Lib
Fonction WindowsEnum()


http://www.penguinbyte.com/apps/pbwebst ... Droopy.exe

du coup c'est plus TA lib !! mais votre lib ! :D

Publié : sam. 21/mai/2005 14:20
par Droopy
oui ! :D

Car je trouve plus simple de mettre les codes que je trouve sur le forum dans un seul fichier d'aide. C'est plus simple de trouver une info .

Publié : sam. 21/mai/2005 14:38
par Jacobus
Ta lib va vite devenir incontournable, :D
And you know what ? I am happy :lol:

Publié : sam. 21/mai/2005 15:04
par Backup
rajoute y ça :

c'est mon code pour encoder Xor un text avec un mot de pass !
je l'ai fait en lib ça marche bien !!
je l'ai appellé "code() " , mais tu pourra changer en
code_xor() ou autres chose qui te plait ! :D

la dll a transformer en Lib avec tailbite

Code : Tout sélectionner


ProcedureDLL code(sortie.l, Password$) 
textou.s = PeekS(sortie)
    Password$=UCase( Password$)
    p=0
    long_or = Len(textou.s) 
    long_pass=Len(Password$)
    For i=1 To long_or
        p=p+1: If p=long_pass: p=0:EndIf
        car_pass.l=Asc(Mid(Password$,p,1)) ; recupere une lettre (son code ascii)du mot de pass
        car_text.l= Asc(Mid(textou.s, i, 1)) ; recupere une lettre (son code ascii) du text a coder  
        If  car_text.l =254 
            sorti.l= car_pass.l
            Goto su
        EndIf  
        sorti.l= car_pass ! car_text ; un petit XOR
        If sorti.l=0    ; si par hazard la lettre du mot de pass est egal a la lettre a coder 
            sorti.l=254 ; cela donnerai 0 !! donc on force un 254
        EndIf   
        su:
        text_sorti.s=text_sorti.s+Chr(sorti) 
        
    Next i
    textou.s= text_sorti.s
    text_sorti.s=""
    PokeS(sortie, textou.s) 
    textou.s=""
EndProcedure



et l'exemple d'appel

Code : Tout sélectionner

textacoder$="dobro" ; le mot a coder
Password$="coucou" ; le mot de pass
Debug textacoder$ ; avant codage

code(@textacoder$,Password$) ; on code le text avec la librairie

Debug textacoder$ ; apres codage


Password$="coucou" ; le mot de pass
code(@textacoder$,Password$) ; on code le text avec la librairie

Debug textacoder$ ; apres décodage


Publié : sam. 21/mai/2005 15:20
par Droopy
bonne idée

mais à quoi sert le paramètre sortie.l ???

j'ai pas eu le temps d'analyser le code .

Publié : sam. 21/mai/2005 15:52
par lionel_om

Code : Tout sélectionner

code(textacoder$,Password$,@textacoder$)
Je trouve un peu bete d'avoir une fois une variable et l'adreese de la variable plus loin ...

mais à quoi sert le paramètre sortie.l ???
j'ai pas eu le temps d'analyser le code .
sortit.l c'est l'adresse où coder le texte.
Mais cç aurait était mieux un appel : code(@textacoder$,Password$)
Tu avais juste à rajouter : textou.s = PeekS(sortie) au début de ta fonction :wink:

Publié : sam. 21/mai/2005 19:15
par Backup
lionel_om a écrit : Je trouve un peu bete d'avoir une fois une variable et l'adreese de la variable plus loin ...
Tu avais juste à rajouter : textou.s = PeekS(sortie) au début de ta fonction :wink:
oui ben s i tu repete ça jte met un coup d'boule !! :evil: :lol: :lol: :lol:

ça m'apprendra a reprendre des bout de code sans vérifier !!
j'ai rebondit sur le code de Heis Spiter a propos d'un codage Rot13
j'ai donc réutiliser son system de passage de parametre tel qu'il l'a fait !!
je me suis contenté de coder le systeme de codage Xor avec mot de pass

du coup tu vien de donner la soluce pour eviter un 3eme parametre
y a qu'a suivre !! :D

Merci
:D

Publié : sam. 21/mai/2005 20:40
par Backup
voila les modifs ont ete faites
voir les listing ci-dessus !! :D

merci a toi lionel_om :D

Publié : sam. 21/mai/2005 22:24
par Droopy
Me basant sur ton idée j'ai pondu ceci

Code : Tout sélectionner

Procedure.s XorCrypt(Key.s,String.s)
  
  For n=1 To Len(String)
    ChrString=Asc(Mid(String,n,1))
    ChrKey=Asc(Mid(Key,Ptr+1,1))
    If ChrString=ChrKey
      ChrCrypt=ChrString
    Else
      ChrCrypt=ChrString ! ChrKey
    EndIf
    
    Retour.s+Chr(ChrCrypt)
    Ptr+1
    If Ptr >Len(Key) : Ptr=0 : EndIf
  Next
  ProcedureReturn Retour
EndProcedure
A tester avec ceci :

Code : Tout sélectionner

Key.s="This is the Key"
xx.s= XorCrypt(Key,"This is the String to Crypt")
Debug xx
Debug XorCrypt(Key,xx)

Publié : dim. 22/mai/2005 10:22
par Backup
plus concis et optimisé ! :D

bravo ! :D