begin process at 2010 02 09 23:58:06
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

API

 > LIBRAIRIE DE NOMBREUSES FONCTIONS POUR AGIR SUR LES FENETRES, PROCESSUS ET THREADS

LIBRAIRIE DE NOMBREUSES FONCTIONS POUR AGIR SUR LES FENETRES, PROCESSUS ET THREADS


 Information sur la source

Note :
9,8 / 10 - par 5 personnes
9,80 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :API Classé sous :processus, fenetre, thread, process, window Niveau :Initié Date de création :28/07/2006 Date de mise à jour :29/07/2006 17:45:13 Vu / téléchargé :9 819 / 2 913

Auteur : MadM@tt

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (36)
Ajouter un commentaire et/ou une note


 Description

Cliquez pour voir la capture en taille normale
Bonjour à tous,

voilà je vous présente une source qui m'est très très utile en ce qui me concerne... Car pour tous mes progs qui nécessitent d'agir sur les fenetres, process ou threads, plutot que de recoder les fonctions à chaque fois, je me suis lancé dans l'écriture d'une librairie qui rassemblerait un peu toutes les fonctions utiles.
Comme ça quand je commence un projet, je n'ai qu'a ajouter les modules, et rien besoin de coder.

Un truc qui pourrait etre bien, c'est que chacun y amène sa participation pour pouvoir arriver au final à des fonctions qui soient completement fiables et exploitables.

IMPORTANT : Le but de cette source est de pouvoir se détacher de la syntaxe (ennuyeuse et compliquée) des API, qui nécessitent plein de déclarations et tout. C'est pour cela que vous pouvez trouver certaines fonctions de 3 lignes qui se contentent juste d'appeler une api : ceci est voulu, c'est pour se "détacher" des api et avoir des noms de fonctions plus pratiques.
Le nom de chaque fonction a un préfixe de 2 lettre : "m" pour module et "w"/"p"/"t"/"d" pour window, process, thread, divers (ceci afin de mieux s'y retrouver dans le code)

Note : je n'ai développé cela que sous XP, donc certaines fonctions ne marcheront peut etre pas sous 9x

Donc je me suis dit que ça pourrait peut etre vous servir, je vous met la liste de toutes les fonctions :


Fenetres :
mwListWindows : fait la liste des fenetres ouvertes sur le système
mwListTasks : fait la liste des taches ouvertes sur le système
mwCloseWindow : Fermer une fenetre
mwEnableCloseButton, mwDisableCloseButton : Activer/désactiver le bouton fermer d'une fenetre
mwEnableTransparency, mwChangeTransparency, mwDisableTransparency : gère la transparence des fenetres
mwEnableWindow, mwDisableWindow : Equivaut à Form.Enabled=True/False
mwSetWindowOnTop, mwDisableWindowOnTop : activer/desactiver la fenetre par dessus toutes les autres
mwFadeShow, mwFadeHide : fait un fondu d'apparition/disparition d'une fenetre (cf une de mes sources pour + d'infos)
mwFindWindow : retrouver une fenetre a partir d'une partie de son titre
mwGetParent : renvoie la fenetre parente
mwGetWindowCaption : renvoie le titre de la fenetre
mwGetWindowClass : renvoie la classe de la fenetre
mwGetWindowIcon : renvoie l'icone de la fenetre (celui qui apparait dans la barre des taches)
mwGetWindowSmallIcon : renvoie le petit icone de la fenetre (celui qui apparait dans la barre de titre)
mwShowWindow, mwHideWindow : montrer/cacher une fenetre
mwIsTask : renvoie TRUE si la fenetre est une tache (voir dans le code pour la définition d'une tache)
mwIsWindowVisible : savoir si une fenetre est visible
mwNbWindows, mwNbTasks : renvoie le nombre de fenetres/taches ouvertes
mwRefreshWindow : rafraichir l'affichage de la fenetre
mwRenameWindow : renommer une fenetre
mwSetFocus : donne le focus à une fenetre


Processus :
mpListProcess : fait la liste des ID des processus ouverts sur le système
mpListProcessInfo : utilise une autre méthode : renvoie les ID des processus + des infos dessus
mpFindProcess : Retrouve un processus à partir de son nom
mpGetParentProcess : Renvoie l'id du processus parent (celui qui l'a lancé)
mpGetProcessFileName : Renvoie le chemin complet du processus
mpGetProcessFromHWnd : Retrouve le processus qui a ouvert la fenetre passée en parametre
mpGetProcessMemorySize : La taille mémoire RAM utilisée par le processus
mpGetProcessName : Le nom du processus
mpGetProcessPageFileMemorySize : La taille mémoire virtuelle occupée par le processus
mpGetProcessPriority : La priorité du processus
mpGetProcessOwner : Quel utilisateur a lancé ce processus
mpIsProcess : si le process est toujours ouvert ou pas (s'il existe)
mpKillProcess : Tuer un processus
mpNBProcess : renvoie le nombre de processus ouverts
mpSetProcessPriority : permet de définir la priorité du processus
mpListWindowsFromProcess : Liste les fenetres appartenant à un processus


Threads :
mtListThread : Fait la liste des threads s'executants sur le système
mtGetThreadListFromProcess : La liste des threads d'un process
mtSuspendThread : Suspend un thread
mtResumeThread : Reprend un thread suspendu


Divers (sert pour les fonctions ci dessus) :
mdGetUserNameFromUserID : Renvoie le nom d'utilisateur correpondant à un ID d'utilisateur



 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

29 juillet 2006 13:19:27 :
Optimisations proposées par Renfield Et j'ai rajouté une form pour montrer quelques exemples d'utilisation des fonctions.
29 juillet 2006 17:45:14 :
Surement une erreur dans le zip

 Sources du même auteur

Source avec Zip COMMUNICATION INTER-PROCESSUS (IPC)
Source avec Zip OPÉRATIONS SUR LES CHAINES DE CARACTÈRE OPTIMISÉES ET ÉTENDU...
Source avec Zip Source avec une capture FISHTANK - SCREENSAVER INTERACTIF : AQUARIUM AVEC POISSONS V...
Source avec Zip Source avec une capture RÉCUPÉRER LA TEMPÉRATURE DES DISQUES DURS
Source avec Zip Source avec une capture WIN++ OPTIONS AVANCÉES SUR LES FENETRES ET PROCESSUS WINDOWS...

 Sources de la même categorie

Source avec Zip Source avec une capture Source .NET (Dotnet) FAIRE LA DIFFÉRENCE ENTRE UNE ADRESSE EMAIL QUI EXISTE D'UNE... par lesinfosdugeek
ENVOYER UN MESSAGE SUR SON COMPTE TWITTER par lesinfosdugeek
Source avec Zip Source avec une capture TROUVER LES CLÉS DE REGISTRE QUI CHANGENT par Flocreate
Source avec Zip IP_PUBLIQUE_INTERNETGETCONNECTEDSTATE par marco62118
Source avec Zip TOUTES LES RÉSOLUTIONS D'ÉCRAN ET TAILLE MAXI DE LA FORM AUD... par marco62118

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture Source .NET (Dotnet) YET ANOTHER (REMOTE) PROCESS MONITOR par violent_ken
Source avec Zip Source avec une capture Source .NET (Dotnet) COMMENT DÉTECTER LES PROCESSUS CACHÉS (VIRUS, ROOTKITS...) +... par violent_ken
Source avec Zip Source avec une capture Source .NET (Dotnet) YET ANOTHER PROCESS MONITOR par violent_ken
Source avec Zip Source avec une capture WIN++ OPTIONS AVANCÉES SUR LES FENETRES ET PROCESSUS WINDOWS... par MadM@tt
Source avec Zip Source avec une capture NOTIFICATION PROCESSUS par draluorg

Commentaires et avis

Commentaire de MadM@tt le 28/07/2006 23:59:44

J'ai oublié de préciser 2 choses :
- Cette librairie est le rassemblement et l'optimisation de ce que j'ai pu programmer ou trouver sur vbfrance ou ailleurs, je n'ai pas recopié texto des fonctions juste pour dire d'en avoir, j'ai essayé de commenter chaque ligne de code, non seulement pour tout assimiler moi meme, mais surtout pour que les débutant le puissent aussi. Donc pas la peine de dire que j'ai pompé à droite à gauche ;)
- Je ne suis pas un pro de l'optimisation, c'est pour cela que je vous propose qu'on y mette tous notre petite graine, histoire d'améliorer ça au maximum et que tout le monde puisse l'utiliser.

Donc si vous avez des suggestions pour améliorer le code, ajouter/modifier des commentaires, ou des fonctions à ajouter, je vous invite à proposer !

Bonne prog ;)

Commentaire de mortalino le 29/07/2006 01:23:45

Salut MadM@tt,

Et bien je trouve que c'est une excellente initiative.
De plus tes codes sont propres et bien commentés.

Je ne manquerai pas à t'informer de fonctions à rajouter.

Juste en passant, bon j'y connais rien donc si je dis une grosse co**erie laisse tombé, mais n'y a t'il pas moyen de placer toutes ces fonctions dans une seules DLL ?

++ & bon courage à toi

Commentaire de MadM@tt le 29/07/2006 01:34:11

merci pour les encouragements ^^, sinon pour la dll oui j'y pensais, mais le truc c'est qu'avec une dll il faut se la trimballer (bon ça c'est pas la fin du monde), mais la en ajoutant direct les modules dans ton projet, tu peux déjà aller voir le code si tu te souviens plus des parametres des fonctions, ou meme des noms des fonctions etc... Et autre avantage : pleins d'api sont déjà déclarées.
Donc si tu veux les utiliser, pas besoin de les redéclarer, contrairement à si tu passe par une dll, car dans ce cas ton api elle sera déclarée dans la dll et dans ton prog (donc mange + de mémoire)... Enfin je suis pas sur du tout.
Sinon j'ai choisi de bien séparer les modules au niveau des catégories (process, fenetres etc..) et au niveau des déclarations/fonctions pour mieux s'y retrouver derrière, on mélange pas tout

Sinon je pensais rajouter un module pour les "modules" justement, histoire de pouvoir lister tous les modules (dll et autres) auquel accède un processus. Comme je ne m'y suis jamais mouillé je vais regarder un peu, mais si quelqu'un veut proposer quelque chose je suis preneur.

Commentaire de Renfield le 29/07/2006 05:40:36 administrateur CS

pas plus de mémoire, c'est la base même de Win32... les Dll sont chargées une fois pour toutes, quand nécessaires... Kernel32 & co sont toujours chargées...

concernant le code, j'avoue que c'est assez bien ficellé...

attention néanmoins, à quelques points :

dans mpListProcess, par exemple.
inutile de renvoyer Compteur (la fonction Ubound est la pour ca. au pire, fais en une fonction, qui renverra ce Compteur.)
encore que ce point soit discutable, ton tableau possède une 'case' de trop. Pour corriger cela, fais par exemple :

    Do While T
        If Compteur > 0 Then
            ReDim Preserve tabID(Compteur) As Long
        End If

        ' Enregistre le process
        tabID(Compteur) = uProcess.th32ProcessID
        
        Compteur = Compteur + 1
        ' Prend le suivant
        T = ProcessNext(hSnapshot, uProcess)
    Loop


question lisibilité, il vaux mieux, si possible éviter les Exit Sub, qui exploitent un code retour d'API :

    If CreateToolhelpSnapshot(TH32CS_SNAPPROCESS, 0&) = 0 Then Exit Function
    uProcess.dwSize = Len(uProcess)
    ...

deviendrait :

    If CreateToolhelpSnapshot(TH32CS_SNAPPROCESS, 0&) <> 0 Then
        uProcess.dwSize = Len(uProcess)
        ...
    End If

dans mpIsProcess et quelques autres, attention, il manque l'appel à CloseHandle.

dans mpFindProcess aussi. De plus, tu utilise Ucase, pour la recherche Instr que tu fais... utilise plutot vbTextCompare comme paramètre de ta fonction :
    If InStr(1, uProcess.szexeFile, sProcessNameExe, vbTextCompare) <> 0 Then

remplace les "" par vbNullString :
    mpGetProcessPriority = ""
Ca n'est pas de la coqueterie
    "" est un pointeur vers une chaine de caractère vide (4 octets, plus les 4 octets nécessaires a stocker la taille de la chaine, vu que VB6 utilise des BSTR)
    vbNullString est un pointeur nul)
    4 octets, ca n'est rien, c'est sur, mais ca fais toujours un 'voyage' de moins, pour le systeme, pour savoir si la chaine est vide

mpKillProcess devrait renvoyer un code retour indiquant si le process a pu etre killé

tes fonctions devraient s'appeler les unes les autres.
mpNbProcess, par exemple, pourrait appeler mpListProcess

mpGetUserNameFromProcess pourrait être renommée en mpGetProcessOwner

Commentaire de MadM@tt le 29/07/2006 13:13:45

Renfield > Génial de l'optimisation c'est pile ce que je cherchait ^^
J'ai effectué à peu près tous les changements que tu proposait, sauf mpNbProcess qui pourrait appeler mpListProcess, car je pense que ça serait de la perte de mémoire. En effet dans mpListProcess on fait la liste des process dans un tableau, alors que dans mpNBProcess on a pas besoin de ce tableau, on ne le fait pas et donc c'est déjà ça d'économisé.

Sinon j'ai également modifié dans le module pour fenetres les fonctions ListWindows et ListTasks pour qu'elle ne renvoient pas le nombre de fenetres (on utilise ubound)
Merci et on voit sur msn ce dont tu voulais me parler, ça m'interesse pas mal ^^

Commentaire de MadM@tt le 29/07/2006 13:20:36

Suite à un mp me demandant de mettre une form pour avoir des exemples d'utilisation des fonctions, c'est fait.

Commentaire de eldim le 31/07/2006 07:56:18

Bonjour,
Très bonne idée. Manque juste les sendmessage sur les fenêtres à mon gout... mais super idée

Commentaire de eldim le 31/07/2006 08:13:54

J'entend par sendmessage... le pilotage de ces fenêtres (clicks sur boutons, récupes des listbox etc..)

Commentaire de Renfield le 31/07/2006 09:53:17 administrateur CS

vu le nombre de Messages disponibles, tu as pas finit d'en avoir, des proc dédiées...

Commentaire de eldim le 31/07/2006 10:30:24

pas faux

Commentaire de asimengo le 31/07/2006 11:34:10

@MADM@TT: Vraiment bien ce que tu fais là, merci.

@Renfield: Des commentaires comme le tien là, si on en avait tout le temps comme ça on n'irait plus à l'école. Vivement que tu continue dans ce sens et que la tendance générale des commentaires sur VBFRANCE soit orientée dans le sens de la construction avec autant de délicatesse.

Commentaire de Renfield le 31/07/2006 11:59:15 administrateur CS

Merci pour l'apréciation ^^

Commentaire de MadM@tt le 31/07/2006 15:15:05

mdr
Asimengo > merci, sinon il est vrai que renfield a pas tort, enfin je vais réfléchir sur les sendmessage paske ça m'interesse pas mal (merci pour la suggestion), et je suis sur que y'a moyen de s'en sortir ^^
(avec 1 fonction et des constantes ???, ou essayer avec une classe, des objets... je sais pas à voir)

Commentaire de Alain Proviste le 31/07/2006 15:58:52 administrateur CS

pas la peine dessayer de placer les constantes de sendmessage, tu en as pour toute une vie, et vbfrance n'a pas la capacité de stockage suffisante ;)

Commentaire de Dragonmaster le 31/07/2006 16:14:29

MadM@tt > J'ai une question: est il possible d'agir sur une fenetre (déplacer, redimensionner...) en ayant seulement le nom "Class"?

Sinon, très utile comme source merci

Commentaire de Dragonmaster le 31/07/2006 16:20:46

Euh c'est bon je pense que j'ai trouvé ce que je cherchais!! merci

Commentaire de _DoOmy_ le 01/08/2006 16:48:56

Super idée, je vais chercher de quoi ajouter au projet, j'ai deux ou trois fonction sur les processus en tête...

Commentaire de violent_ken le 11/09/2006 14:13:25

Erf, je tombe sur cette source que maintenant :(

Très intéressantes, les fonctions pour récupérer l'utilisateur d'un processus, vraiment !

Une suggestion : il serait envisageable de créer une nouvelle fonction permettant d'obtenir un maximum d'informations sur un processus (et sur le fichier correspondant) à partir des fonctions déjà présentes dans le module (et avec quelques autres)


Exemple :

'type perso contenant des infos détaillés sur les processus
Public Type PROCESS_INFO
    ProcessName As String
    ProcessID As Long
    ParentProcessName As String
    ParentProcessId As Long
    ProcessUserName As String
    ProcessPriority As Long
    ProcessPriorityName As String
    NumberOfHandles As Long
    NumberOfThreads As Long
    NumberOfModules As Long
    NumberOfHeaps As Long
    'NumberOfDifferentProcesses As Long
    FileLen As Long
    FileDateCreation As FILETIME
    FileDateLastAccess As FILETIME
    FileDateLastModification As FILETIME
    FileAttribute As Long
    IsAttributeSystem As Boolean
    IsAttributeReadOnly As Boolean
    IsAttributeNormal As Boolean
    IsAttributeHidden As Boolean
    FilePath As String
    ExecutableVersion As String
    ExecutableDescription As String
    ExecutableCopyright As String
    PerfMemoryUsage As Long
    PerfPeakMemoryUsage As Long
    PerfPageFileUsage As Long
    PerfPeakPageFileUsage As Long
    PerfQuotaPagedPoolUsage As Long
    PerfQuotaPeakPagedPoolUsage As Long
    PerfQuotaNonPagedPoolUsage As Long
    PerfQuotaPeakNonPagedPoolUsage As Long
    PerfPageFaultCount As Long
    PerfCpuUsage As Long
    timeUserTime As Double
    timeKernelTime As Double
    timeProcessorTime As Double
    tCreationTime As String
    tExitTime As String
End Type

Pratique d'avoir un max. d'infos.



Quoi qu'il en soit, très bonne source bien commentée !
@+

Commentaire de MadM@tt le 11/09/2006 14:26:00

violent_ken > Merci,
Pour ta suggestion, c'est exactement sur quoi je bosse.
Sauf que ce que je fais en fait, c'est une classe, pas un type perso.
Comme ça je fais des classes pour les fichiers, pour les fenetres, process, thread etc... Et comme ça un processus a une propriétés composées d'une liste de classes de thread ou de fenetres etc...
Une sorte de framework pour vb6 un peu (mais juste la partie système).

Il faudrait que je la mettre sur vbfrance un de ces jours (si j'arrive à la rendre un peu plus rapide)

Commentaire de violent_ken le 11/09/2006 14:32:53

D'accord ;)

@+ et bonne prog.

Commentaire de Alain Proviste le 11/09/2006 14:43:28 administrateur CS

autant se mettre à .net , y a déjà une classe qui fait gère tout ça...

Commentaire de MadM@tt le 11/09/2006 14:47:53

Je sais mais nannnnnnnnnnnnnnnnnnn ^^

Je suis un irréductible VBiste

Et j'aime pas les noms des objets du framework .net, je trouve que c'est pas super bien organisé.

Et puis imagine j'arrive à faire qqch de potable, après ça pourrait s'adapter en C++, ce qui pourrait etre pas mal non ?

Commentaire de violent_ken le 11/09/2006 14:47:57

Autant ce mettre au C++ tant qu'à faire ;)

Commentaire de MadM@tt le 11/09/2006 14:50:03

Et puis un tel truc permettrait de connaitre pas mal de chose sur l'architecture de windows, c'est de l'apprentissage par plaisir ^^

Commentaire de MadM@tt le 11/09/2006 14:52:13

Ben VB permet de faire tout ce qu'on veut pour l'instant, personellement je n'ai pas encore atteint les limites de ce langage, donc pourquoi aller sur C++ ?

Commentaire de violent_ken le 11/09/2006 14:58:30

(mon message d'avant s'adressait à Alain Proviste)


Moi pareil, j'ai fait un peu de C, mais je suis encore sur VB6.

On n'inventera pas grand chose d'entièrement nouveau en VB, c'est certain. Il existe des librairies en C déjà complètes qui permettent de faire des tonnes de trucs, mais c'est toujours mieux (quand c'est possible) de coder par soi même.


Idem pour moi, je peux faire tout ce que je veux faire en VB pour l'instant. Quand commencera le multi-threading prévu, çà risque de se compliquer.... mais c'est encore possible en VB !

@+

Commentaire de MadM@tt le 11/09/2006 15:15:36

ah ok ^^

Je suis d'accord, mais meme s'il existe des tonnes de truc en C, le VB est meme plus utilisé que le C ou C++ je crois, et pourtant en Vb il y a plein de bouts de code difficile à trouver (je m'en souvien que j'avait galéré pour la conso cpu de chaque process, pour le nom d'utilisateur d'un process etc..)

Commentaire de koutb le 21/10/2006 16:02:40

Ah je suis d'ccord avec toi MadM@tt, je suis débutant et je galére grave, heureusement ya vbfrance. Par contre le vb je pense pas qu'il soit plus utiliser que le C ou c++, bref c'est a verifier:)

merci pour ce code c'est ce que je cherche :)

Commentaire de MadM@tt le 21/10/2006 17:27:37

Ouais non concernant le VB j'ai du dire une connerie, c'est le C le plus utilisé (en concurrence avec le Java d'après les sources internet que j'ai pu trouver à ce sujet).
Enfin bon le VB n'est pas négligeable quoi ^^

Sinon en ce qui concerne cette librairie, il y aura bientot (très bientot) un projet de lancé avec 2 autres vbfranciens : Draluorg et Violent_Ken, qui consistera en la réalisation d'une "vraie" librarie pour VB (open source bien sur ^^).
Je vous tiendrai au courant, ça devrait pas tarder.

Commentaire de ms13 le 25/06/2007 20:25:22

Trés bon source bien commenté et qui fonctionne sur le système d'exploitation précisé par l'auteur... 9/10

Commentaire de MadM@tt le 25/06/2007 22:33:11

Eh bien au passage si cette librairie t'interesse alors ce lien devrait t'interesser encore plus :
http://vbsystemlibrary.free.fr/

Il s'agit d'un projet bien plus élaborée que celui-la, et possédant en plus une architecture objet un peu semblable au framework .net. C'est un projet open source ouvert à tous, et notre objectif est de créer une librairie très facile d'utilisation et puissante pour pouvoir programmer sous windows. Cela pourra donc peut etre t'aider.

Merci pour ton commentaire

Commentaire de eldim le 26/06/2007 07:46:01

très bonne idée comme projet et bon courage

Commentaire de NonoOnVbFrance le 20/12/2007 11:27:31 10/10

Merci beaucoup pour ces sources.

Elles me sont très utiles.

Commentaire de Sunpretty le 07/04/2008 10:46:25

SLT!!!
Moi je comprend rien à ce que vous dites, cela dit si quelqu'un pouvait me dire comment ça marche, je lui serais plus que reconnaissant...

Merci

Commentaire de Renfield le 07/04/2008 11:03:55 administrateur CS

voir frmExample...

Private Sub Form_Load()
    Dim tabProcessID()  As Long
    Dim tabHWnd()       As Long
    Dim T               As Long
    ' Liste les processus
    mpListProcess tabProcessID()
    lstProcess.Clear
    For T = LBound(tabProcessID) To UBound(tabProcessID)
        lstProcess.AddItem mpGetProcessName(tabProcessID(T))
    Next T
    ' Liste les fenetres
    mwListWindows tabHWnd()
    lstWindows.Clear
    For T = LBound(tabHWnd) To UBound(tabHWnd)
        If mwIsWindowVisible(tabHWnd(T)) Then
            lstWindows.AddItem mwGetWindowCaption(tabHWnd(T))
        End If
    Next T
    ' Liste les fenetres
    mwListTasks tabHWnd()
    lstTasks.Clear
    For T = LBound(tabHWnd) To UBound(tabHWnd)
        lstTasks.AddItem mwGetWindowCaption(tabHWnd(T))
    Next T
End Sub

Commentaire de insosama le 16/04/2008 23:49:43

magnifique source !!!

je crain cependant de pas avoir le niveau pour encore bien l'assimiler et l'utiliser. enfin, comme cela a déja été dit, c'est en s'arrachant les cheveux sur des codes obscure que la lumiere finit par eclairer le tout (je sais, a ce niveau, c'est quasi-mystique).

bon, blague mise a part :
vous croyez que ca serait possible d'utiliser ces fonctions pour ellaborer un logiciel de deploiement de setup ?

en fait, j'aimerais partir de cette idée (!!! auto-it !!!) : http://www.supinfo-projects.com/fr/2006/autoit_2006/3/ qui consiste, globalement, a "scripter" une installation de logiciel.
a partir de cette idée, du constat que auto-it et les aides en fr complete et interressante ne sont pas légion, et que pour l'installation, certaines fonctions plus poussé peuvent etre interressante : fonction logique, base de registre, etc, etc, etc, j'en suis venu a la conclusion que le mieu serait de faire la meme chose, mais sous VB (logique, quoi).
il y aurait : un "installeur" capable de lire des "script" (en fait de simple texte dans lequel figure les opération a faire sur les fenetre et les fichiers), un logiciel qui serait capable de sequenser l'utilisation de plusieurs script et de definir d'eventuel variable d'exploitation (adresse d'installation, options, etc ...) et enfin, IDEALEMENT une derniere capable de "snifer" une installation en court et d'enregistrer le script correspondant.

dans ce sens, est ce que ce code correspond a mon "cahier des charges" ?
est ce que la suggestion de eldim est bonne (sur les send message) pour l'utilisation que je veu en faire, et est il possible dans ce cas d'integrer ces fonctions a peu pret facilement ? (ou alors devrais je coder ca directement dans le corps du programme, et non l'integrer dans les modules)

enfin, voila. a priori, je vous rassure de suite, je suis pas cinglé, je me rend compte que OUI cette source correspond, au moins en partie, et pour d'autre trop pour moi ^^, mais si vous avez des precision a apporter sur l'utilisation de ce code dans mon optique ... je vais pas "cracher" sur de bons conseils avisé, non ?

petite idée a la noix d'ajout : gestion des "popup" ? en tenant compte de l'anulation de ces dernieres par un "clic" a l'exterieur (source : http://www.vbfrance.com/codes/POPUPMENU-PERTE-FOCUS_26106.aspx).
ca fait partie de la gestion des fenetres, ca serait peut etre "de circonstance"... comme ca peu etre jugé completement "hors sujet" ^^


encore bravo (je m'acharne a comprendre, mais au moins on peu pas dire que ca soit pas commenté) et un chiti 10.

ps : ton code et vista ?

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Pourcentage d'un processus thread ou process CPU [ par DavidT ] Comme le gestionnaire de tache, il existe la possibilité de de visualiser sur un système NT la mémoire physique consommée par un process déterminé par Tester présence d'un process + tester fin d'un process [ par lionel4 ] Voila je cherche deux trucs. Un code pour tester si un processus est en cours, et un autre pour detecter la fin d'un processus.Merci !Lionel4 - Débuta lancer une appli à distance avec winmgmts [ par centralvince ] Voilà, j'ai réussi à lancer un processus à distance comme cela :Set process = GetObject("winmgmts:{impersonationLevel=impersonate}!//ordianateur_dista Process thread mémory... [ par nicolas12 ] bonjour a vousje cherche à lire et a stoquer sous forme de fichier toutes les plages mémoires qu'une application utilise, et a modifier automatiquemen Kill un process bien definie [ par ImmortalPC ] Salut,D&#233;j&#224; sachez que je connais tr&#232;s peu le VB.Ma question est comment tuer un processus bien definie?Pour l'exemple le processus sera Processus et Windows CE [ par tfrancais ] Est-ce qu'il est possible de contr&#244;ler le nombre de scession pour une applications sous Windows CE comme on peut le faire sous Windows avec ces q URGENT : LANCER UN PROCESSUS WINDOWS QUI S'EST ARRETE [ par dark_muse ] Bonjour &#224; tous !!Je suis encore d&#233;butante en vb mais y'a un d&#233;but &#224; tout hein !!Alors voil&#224;. Je voudrai trouver quelque chose SYNTHESE PROCESSUS, HANDLE, THREAD, (MODULE) & gestion des processus ?! [ par youkizouki ] &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SetWindowPos [ par jmtoulon ] Bonjour,Comment afficher une fenetre d'un programme qui &#224; &#233;t&#233; minimizer !J'utilise cette fonction :&nbsp;r = SetWindowPos(Window(1).hwn Fermeture du processus [ par blinix123 ] Bonjour!Voila je lance mon pong tout marche, je le ferme ca marche, mais par contre il est toujours ouvert dans la fenetre des processus ctrl+alt+supp


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,607 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales