Lier 2 Processus

Résolu
Nowid50 Messages postés 45 Date d'inscription dimanche 25 septembre 2005 Statut Membre Dernière intervention 29 octobre 2009 - 11 mai 2008 à 12:12
Nowid50 Messages postés 45 Date d'inscription dimanche 25 septembre 2005 Statut Membre Dernière intervention 29 octobre 2009 - 23 mai 2008 à 18:35
Bonjour,

Après avoir demandé comment faire une DLL COM, j'ai trouvé une autre solution qui me semblerait plus simple. Pour exepliquer le but de mon projet, il s'agit d'un patch qui active des fonctionnalitées online à ce programme.

Je sais ou se trouve toutes les données à synchronisés dans l'espace mémoire. (Des adresses du style 0x04XXXXXX)

Donc je me suis posé la question : Lier les processus : "Tomb4.exe" et "TRO.exe" et utiliser TRO (mon appli' VB), pour modifier les données. (Je sais ce que je fais avec la mémoire de Tomb4, il n'y a aucuns soucis de ce coté là)

Comment puis-je réaliser ceci en VB .NET ?

Pour faire simple, je veux lier les processus en autorisant la modification de la mémoire entre eux. Et ensuite utiliser une fonction genre : MovAdress(adress As Hex, Value as Hex)

Merci d'avance !

7 réponses

cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
11 mai 2008 à 12:19
Voir les APIs (ici c'est du VB6, faut que tu adaptes) :
<li>PublicDeclareFunction WriteProcessMemory Lib "kernel32" (ByVal hProcess AsLong, ByVal lpBaseAddress As Any, lpBuffer As Any, ByVal nSize AsLong, lpNumberOfBytesWritten AsLong) AsLong</li><li>PublicDeclareFunction ReadProcessMemory Lib "kernel32" (ByVal hProcess AsLong, ByVal lpBaseAddress As Any, lpBuffer As Any, ByVal nSize AsLong, lpNumberOfBytesWritten AsLong) AsLong</li>

_______________________________________________________________________
VB.NETis good ...VB6is better
3
Nowid50 Messages postés 45 Date d'inscription dimanche 25 septembre 2005 Statut Membre Dernière intervention 29 octobre 2009
23 mai 2008 à 18:35
En faites y'a beaucoup plus simple...
Il existe le composant "Process" sous VB 2008... Hé ben avec ca on peut convertir la mémoire comme si utilisait un fichier...C'est vraiment très bien fait ! :D
3
Nowid50 Messages postés 45 Date d'inscription dimanche 25 septembre 2005 Statut Membre Dernière intervention 29 octobre 2009
11 mai 2008 à 12:33
Premier problème :
Comment j'obtient l'hWnd d'un processus à partir de son nom ?

Merci d'avance
0
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
11 mai 2008 à 13:40
Public Declare Function
FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long


_______________________________________________________________________


VB.NET
is good ...
VB6
is better
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
11 mai 2008 à 19:24
"hwnd d'un processus", ça n'existe pas.
Un processus est identifié par un HANDLE et un processID, HWND c'est un handle de fenêtre.

ciao...
BruNews, MVP VC++
0
Nowid50 Messages postés 45 Date d'inscription dimanche 25 septembre 2005 Statut Membre Dernière intervention 29 octobre 2009
11 mai 2008 à 21:44
Ben alors dans ce cas, comment je peux obtenir le Handle et le ProcessID à partir du nom ?
0
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
11 mai 2008 à 23:25
Public Declare Function
GetWindowThreadProcessId Lib "user32.dll" (ByVal hwnd As Long, ByRef lpdwProcessId As Long) As Long


_______________________________________________________________________


VB.NET
is good ...
VB6
is better
0
Rejoignez-nous