Lier 2 Processus [Résolu]

Signaler
Messages postés
45
Date d'inscription
dimanche 25 septembre 2005
Statut
Membre
Dernière intervention
29 octobre 2009
-
Messages postés
45
Date d'inscription
dimanche 25 septembre 2005
Statut
Membre
Dernière intervention
29 octobre 2009
-
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

Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
13
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
Messages postés
45
Date d'inscription
dimanche 25 septembre 2005
Statut
Membre
Dernière intervention
29 octobre 2009

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
Messages postés
45
Date d'inscription
dimanche 25 septembre 2005
Statut
Membre
Dernière intervention
29 octobre 2009

Premier problème :
Comment j'obtient l'hWnd d'un processus à partir de son nom ?

Merci d'avance
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
13
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
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
25
"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++
Messages postés
45
Date d'inscription
dimanche 25 septembre 2005
Statut
Membre
Dernière intervention
29 octobre 2009

Ben alors dans ce cas, comment je peux obtenir le Handle et le ProcessID à partir du nom ?
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
13
Public Declare Function
GetWindowThreadProcessId Lib "user32.dll" (ByVal hwnd As Long, ByRef lpdwProcessId As Long) As Long


_______________________________________________________________________


VB.NET
is good ...
VB6
is better