We help IT Professionals succeed at work.

Check out our new AWS podcast with Certified Expert, Phil Phillips! Listen to "How to Execute a Seamless AWS Migration" on EE or on your favorite podcast platform. Listen Now

x

How I can delete window title from my application?

juberti
juberti asked
on
Medium Priority
311 Views
Last Modified: 2012-05-07
Hello,
I'm new to C++ and programming, I've background for php and perl but started to write some C++ codes. I'm trying to make a window title become untitle i mean window icon should stay there but window name must be deleted.
I need it to because I'm injecting a dll to one of old game and need to delete its window title.
Regards,
Justin Uberti
Comment
Watch Question

Commented:
Give some spaces in the title property. It will appear as if no title is there.
Commented:
Unlock this solution and get a sample of our free trial.
(No credit card required)
UNLOCK SOLUTION

Author

Commented:
Erbureth , thanks i done it after looking it.
Now my only problem is getting parentwindows hwnd i can make it if parent windows title is static thanks for your help and if you know how can i get parent window's hwnd ill be appreciated.
I tried getparentwindow but couldnt succeeded :)

Author

Commented:
macksm, ty for your reply too but it wasn't the thing i was seeking
jkr
CERTIFIED EXPERT
Top Expert 2012

Commented:
In order to set/erase any window's text, you first need the window handle. Since you are injecting a DLL, you don't have that one, but only a process handle, ut that's a start. You could basically do the following:
HWND  g_hwnd;
int  g_nFound;
 
BOOL CALLBACK FindHwndFromPID( HWND hwnd, LPARAM lParam);
 
 
HWND GetHwndFromPID ( DWORD dwProcessId)
{
 g_hwnd = NULL;
 g_nFound = 0;
 
 EnumWindows (  FindHwndFromPID,    ( LPARAM) dwProcessId));
 
 if ( g_hwnd)  // we found one...
      return ( g_hwnd);
 
 // nothing found :-(
 
 return (NULL);
}
 
BOOL CALLBACK FindHwndFromPID( HWND hwnd, LPARAM lParam)
{
    DWORD   dwPID2Find  =   ( DWORD) lParam;
    DWORD   dwPID       =   0;
 
    if  (   GetWindowThreadProcessId    (   hwnd,   &dwPID))
        {
            if  (   dwPID   ==  dwPID2Find)
                {
                    g_hwnd  =   hwnd;
 
 
                    return  (   FALSE);
                }
        }
 
    return  (   TRUE);
}
 
// ...
// ...
// in your DLL:
 
HWND hWnd = GetHwndFromPID(GetCurrentProcessId());
 
SetWindowTexy(hWnd,_T("")); // or just "" if compiling ANSI

Open in new window

Author

Commented:
Hello jkr, ty for your example, i do nearly same for static window title name with putting NULL with your example i can do it for parent window title.
Now the main purpose of i'm doing it i need to hide that window from enumwindows but as i noticed now if user searchs for null window title he can attach its program to mine. Now i think i need to seek another thing for doing this.
Between is there a way for completely removing title/window from enumwindows or hiding it?

Author

Commented:
Ah my bad sorry, i checked handle of injection it finds explorer.exe and injects ty now the thing does the job i wanted.
Unlock the solution to this question.
Thanks for using Experts Exchange.

Please provide your email to receive a sample view!

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.