Oppure

Loading
11/03/11 23:59
Question
Ciao ragazzi,
avrei un problemino con l'handle di una form...
Praticamente ho bisogno di eseguire un invoke in un'operazione di multithreading e mi restituisce un errore dicendo che l'handle della finestra non è stato creato :/

Sin qui uno potrebbe anche pensare che io non abbia caricato la form, ma non è così!
Questa viene "mostrata" molto prima (circa 5-8 secondi) tanto che io (umano) ho addirittura il tempo di muoverla per lo screen xD
Inoltre le proprietà IsHandleCreated del controllo e della form restituscono True.

Che fare? :-|
Ultima modifica effettuata da Question 12/03/11 0:01
aaa
12/03/11 1:06
Thejuster
qui trovi un mio progetto vecchiotto con delle funzioni per manipolare finestre attive con il relativo handle, e anche con funzione per ricercare un relativo handles di una finestra, e molto altro materiale utile.

pierotofy.it/pages/projects/…

se vuoi solo quella funzione te la illustro,
e situata nel progetto stesso


        /// <summary>
        /// Funzione Usata per trovare l'handle
        /// </summary>
        /// <param name="ZeroOnly">Parametro statico di base</param>
        /// <param name="lpWindowName">Nome della finestra</param>
        /// <returns>Restituisce il valore</returns>
        [DllImport("user32.dll", EntryPoint = "FindWindow", SetLastError = true)]
        static extern IntPtr FindWindowByCaption(IntPtr ZeroOnly, string lpWindowName);



 /// <summary>
        /// Cerca l'handle di un applicazione Specificandone il Nome
        /// </summary>
        /// <param name="ApplicationName">Richiede il nome di un Applicazione</param>
        /// <returns>Ritorna l'handles cercato</returns>
        public IntPtr FindWindowText(string ApplicationName)
        {
            IntPtr hWnd = FindWindowByCaption(IntPtr.Zero, ApplicationName);
            HandleSearched = hWnd;
            return hWnd;
        }




poi cliccando su un pulsante


  private void button1_Click(object sender, EventArgs e)
        {
           
            label3.Text = wd.FindWindowText(textBox1.Text).ToString();

        }


mire.forumfree.it/ - Mire Engine
C# UI Designer