|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Feb 2004
Città: Nord-Est
Messaggi: 5161
|
Come dare il focus ad un'applicazione lanciata con Winexec o ShellExecute?
Ciao.
Ho creato una piccola funzione che mi lancia googleearth, il problema e' che se googleearth e' gia' aperto ed io rilancio l'applicazione non ottengo piu' il focus sulla finestra di googleearth, infatti l'icona sulla barra delle applicazioni comincia a lampeggiare. Come posso fare per fargli avere il focus anche alla n-esima volta che lancio il programma? Il codice e' questo. Codice:
ShellExecute(NULL, "open", "googleearth.exe", "E:\\3d2d\\app\\KillerApp.kml", "C:\\Program Files\\Google\\Google Earth", SW_MAXIMIZE); // Ho provato anche con WinExec(complete_run_line, SW_MAXIMIZE) // complete_run_line contiene il path di googleearth piu' il file kml. Grazie. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Feb 2004
Città: Nord-Est
Messaggi: 5161
|
Mi rispondo da solo, dato che ho trovato la soluzione.
Codice:
HWND hWnd; WinExec(complete_run_line, SW_MAXIMIZE);// Run Google Earth, complete_run_line e' un char che contiene il path completo dell'eseguibile. hWnd = FindWindow(NULL, "Google Earth"); // Find the Google Earth window. SetWindowPos(hWnd, HWND_TOP, 0, 0, 0, 0, SWP_NOSIZE); // When one calls again the script this line gives the focus. return (0); #include <windows.h> #include <shellapi.h> using namespace std; Ultima modifica di Abadir_82 : 20-12-2007 alle 11:38. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 15:51.



















