Jump to content

View more

Image of the Day

Working on an auto spawn system. #gamedev #indiedev #screenshotsaturday https://t.co/Mm2kfekz7b
IOTD | Top Screenshots

The latest, straight to your Inbox.

Subscribe to GameDev.net Direct to receive the latest updates and exclusive content.


Sign up now

Making a launched process window on top?

4: Adsense

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.


  • You cannot reply to this topic
2 replies to this topic

#1 Josh Klint   Members   

1440
Like
0Likes
Like

Posted 11 October 2012 - 05:07 PM

I am using freeprocess to launch and communicate with an external EXE, but the launched window won't activate/become foreground, on top of main program window.
My launched process has window activation code like below, but it doesn't work when the process is launched from my main application:
void Window::Activate()
{
  BringWindowToTop(hwnd);
  SetWindowPos(hwnd,NULL,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE);
  SetForegroundWindow(hwnd);
  SetActiveWindow(hwnd);
  SetFocus(hwnd);
  current = this;
}
My main application also calls AllowSetForegroundWindow(), to try to give the launched process permission to take the foreground, but it doesn't seem to do anything:
process=CreateProcess("~q"+procpath+"~q "+parameters)
?win32
  AllowSetForegroundWindow(process.handle)
?
How can I allow the window of my launched process to become the topmost window?

Build mobile games with native code

http://www.leadwerks.com


#2 Josh Klint   Members   

1440
Like
0Likes
Like

Posted 11 October 2012 - 07:36 PM

The trick is to call AllowSetForegroundWindow after the process is created. You can use -1 for the process handle.

Build mobile games with native code

http://www.leadwerks.com


#3 mhagain   Members   

13152
Like
0Likes
Like

Posted 12 October 2012 - 03:46 AM

You could also use the HWND of your program's window for the second paramter (hWndInsertAfter) of your SetWindowPos call.

It appears that the gentleman thought C++ was extremely difficult and he was overjoyed that the machine was absorbing it; he understood that good C++ is difficult but the best C++ is well-nigh unintelligible.





Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.