Click here to Skip to main content
15,881,898 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
I want to be able to edit text (strings) of programs which I run on windows. I have a program for this. But It doesn't work for some programs. It works like this:

before edit
after edit


When I run this software then press alt + right click any text on any windows (like this installer) it change like that.

I wonder how can I develope a program like this? I know C#. I'm a software engineering student. So I'm not stranger to programming. I need help to figure out the roadmap of this work. What do you think about it? Which language should I use? And what is the basics of this issue? Every idea/comment is valuable for me.

Thanks in advance.

What I have tried:

I searched how works memory changer programs.
Posted
Comments
Richard MacCutchan 27-Apr-20 3:56am    
It is very difficult to change the memory of a running program. You can sometimes change the text of a control on the active Window, but the application is still free to change it back to its correct value. Unless you know the exact structure of the application in question it is most likely not going to work most of the time.
pybll 27-Apr-20 9:44am    
Thank you for your comment. But I want to change strings only for current session, only for one time momentarily. not for source code.
Richard MacCutchan 27-Apr-20 10:51am    
So you will need to use the FindWindow function to find the Window handles of the controls and use the SetWindowText function to change it. But, as I already mentioned, that does not guarantee that it will keep the text that you put there.
pybll 27-Apr-20 11:13am    
Is it possible to access windows of other applications with these functions?
Richard MacCutchan 27-Apr-20 12:04pm    
Yes, by using P/Invoke, see pinvoke.net: findwindow (user32)[^].

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900