Thread Rating:
  • 2 Vote(s) - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Guide: How to change Graph Background Color
#1
Wink 
First of all I apologies if I am stepping over somekind of forum policy that I have missed!

:: My problem:
I have been using HWInfo on my second monitor constantly, in order to check on my PC performance (especially when gaming). So I use graphs a lot and that blueish background color is just too bright for me and there is no option to change it.

:: My solution:
The colors are kept in the windows memory(e.g. the RAM) and if you change them there you can set whatever color you like. So I made a portable exe file that I fire up right after the startup of HWInfo and it replaces the graph background color to mine.

I used Cheat Engine + Lua to write and compile the script into an EXE. I am not going to provide the EXE, just because of security (and do not what to get ban from the forum)…. but I will provide you the script and show you how to compile it in just a click.

:: End Result
   
[Image: 30hse3m.png]


:: How to:
You need to use Cheat Engine -> https://cheatengine.org/
 

Here is the script:
The first part changes the background color and the second one the grid color. (my choice was light dark on gray grid)

Code:
openProcess("HWiNFO64.exe")

MS = createMemScan()
FL = createFoundList(MS)

MS.FirstScan(soExactValue, vtGrouped, rtRounded, "1:224 1:247 1:254","", 0, 0xffffffffffffffff,"", fsmNotAligned,"1", false, false, false, false)
MS.waitTillDone();
FL.initialize()

if FL.Count~=0 then
  for i=0,FL.Count-1 do
     addr = getAddress(FL.Address[i])
     writeBytes (addr, 37) --RED scale form 0-255
     writeBytes (addr+1, 37) --GREEN scale form 0-255
     writeBytes (addr+2, 37) --BLUE scale form 0-255
  end
end

FL.destroy()
MS.destroy()

MSS = createMemScan()
FLS = createFoundList(MSS)
MSS.FirstScan(soExactValue, vtGrouped, rtRounded, "1:171 1:198 1:232","", 0, 0xffffffffffffffff,"", fsmNotAligned,"1", false, false, false, false)
MSS.waitTillDone();
FLS.initialize()

if FLS.Count~=0 then
  for i=0,FLS.Count-1 do
     addrS = getAddress(FL.Address[i])
     writeBytes (addrS, 100) --RED scale form 0-255
     writeBytes (addrS+1, 100) --GREEN scale form 0-255
     writeBytes (addrS+2, 100) --BLUE scale form 0-255
  end
end


FLS.destroy()
MSS.destroy()
closeCE()

To compile it, just download cheat engine and fire it up and paste the code in Table - Show Cheat Table Lua Script

[Image: 2q21glw.png]
   
Paste the script:
     [Image: jpx2rs.png]   

Save it:

  [Image: dy6ibs.png] 
   
[Image: 122ye12.png]   

Change the Icon to whatever you prefer and press generate:


[Image: 2zh0503.png]
   

If your HWinfo starts on boot, just add a shortcut of your new exe here or the whole exe file:
"C:\Users\<YOUR USERNAME>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup"

If by any chance HW starts after the exe, you can always make a bat file Smile - let me know if you need help with that.

Hope this helps someone and probably someday we will see it as a native feature.
Thanks for the great APP Smile

Have  a great day.
Reply
#2
You could have simply asked for this feature rather than hacking into the application Wink
This shall be added in the next (Beta) build.
Reply
#3
Wink 
I didn't want to intrude on the planned tasks ans schedules.
Really appreciated! Big Grin
Reply
#4
Very nice! Damn what are the chances that just now I was looking for this and you solved the problem yesterday. Much thanks!!
Reply
#5
Nice work!

Can we get a "hide title bar" option too please Martin for the graph windows? Pretty please?
Reply
#6
How will you then know which value the graph is showing?
Reply
#7
Perhaps you could print the window title in the top-left corner of the graph?

   

Personally, my graphs are always in the same order on my desktop, so I "just know"  Wink
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)