Our new official repo is on github
LCD Smartie version 5.6 is released!
Download it now: https://github.com/LCD-Smartie/LCDSmartie/releases
LCD Smartie version 5.6 is released!
Download it now: https://github.com/LCD-Smartie/LCDSmartie/releases
How to Read Data From Memory Address of Seperate Program?
Moderators: _X7JAY7X_, caesar, IFR, mattcro, limbo
-
- Posts: 1
- Joined: January 20th, 2006, 8:17 am
How to Read Data From Memory Address of Seperate Program?
I am trying to develop a plugin that will take the channel from the tuner software I use (which I know the memory address of) and use it to output the current channel to lcd screen. Does anyone know how to find the value of a memory address for a given proccess name? I am using C to code this but any language code would be appreciated as it is a simple code I will be able to modify for any language.
-
- Plugin Author
- Posts: 1604
- Joined: February 13th, 2005, 7:38 pm
- Location: Athens - Greece
- Contact:
I think that you have to look for "Memory mapped files"
Check this:
http://msdn.microsoft.com/library/defau ... namemo.asp
Check this:
http://msdn.microsoft.com/library/defau ... namemo.asp
-
- Plugin Author
- Posts: 192
- Joined: January 18th, 2006, 11:09 pm
- Location: Saskatoon, Saskatchewan, Canada
There is a caveat to all of this: you can't just access another program's memory space. This is exactly what an Access Violation or General Protection Fault is: trying to access memory that doesn't belong to you.
Now, there is a way to work around this. Windows provides "shared memory", which is memory that has been set aside, with a name attached to it, that several programs can use simultaneously. If your tuner software sets up and maintains this shared memory space, then you should be able to read from it using any language, just by calling the appropriate functions (which I don't remember off the top of my head). It's a relatively simple process to do this.
So, first off you'll have to find out if your tuner provides this (most won't), and if so, how it is to be used. If it doesn't provide this, you are most likely out of luck.
Now, there is a way to work around this. Windows provides "shared memory", which is memory that has been set aside, with a name attached to it, that several programs can use simultaneously. If your tuner software sets up and maintains this shared memory space, then you should be able to read from it using any language, just by calling the appropriate functions (which I don't remember off the top of my head). It's a relatively simple process to do this.
So, first off you'll have to find out if your tuner provides this (most won't), and if so, how it is to be used. If it doesn't provide this, you are most likely out of luck.