CE is okay. Use it. Easy to use, powerful and free.
If you want to get the Supply on your own (without knowledge about it) you can do it like that:
(Lets assume you are in a game with no AI, you are Terran and start with 10 Supply):
1.) Search for an unknown value.
2.) Go in the game and build a supply. You have 18 Supply now.
3.) Search for an increased value
You repead those steps untill you have a few results left.
Lets assume you have found 6 results.
Some are green and black.
You put all results into the lower box where you can edit stuff.
Before changing them to some value, you know that they are not equal to the supply.
You could safe the current value and build another supply.
Or you divide the result by the ingame supply.
In both cases you get 4096.
Now you change the value of the results.
Because you know, that the values have anything to do with 4096, you simply add 4096.
If the value doesn't change by itself, it's a changeable value.
That means you could change it to 0 and make a lot units.
But that's not all. If you changed the value, it has to be changed ingame too.
If it did change, you are fine. If it didn't it's probably write- protected or the game copies stuff to that address.
So it' not the golden one.
But lets assume you've got the value that changes the ingame supply.
If this value is colored green (by CE) you are done.
Just implement the Baseaddress of SC2 and the address given by CE (when you double- click on the address).
Now you have the information about the supply.
But this is kinda static. It is only valid if you are on the first position (That changed with every new game you join, sometimes you are left, sometimes you are right).
You need to find out how many players are in that game and which player are you.
Another thing is to look at is the way Blizzard stores that information.
They did something weird with 1.5.3.
But I already screw you enough.
However, to use the stuff I just told you, you need functions.
Mostly, you use the WinAPI.
Functions like "ReadProcessMemory", "OpenProcess" and "CloseHandle" are essential for this task.
I actually don't know how to code in VB. I just think it's disgusting as hell.
Isn't there another way to put information to your display?
Btw. There are OpenSource- Hacks for the current version of SC2.
The first one is a mix of C# and C/C++.https://github.com/MrNukealizer/SCII-External-Maphack
This one is completely in C# https://github.com/bellaPatricia/AnotherSc2Hack
I'm posting C# sources because you can convert them kinda easily.
Hope this helps.