Ottenere handle di finestra della finestra chiamante
Domanda
v'è un software che chiama un metodo nel mio C # dll. In questo metodo dll ho bisogno di avere la maniglia della finestra del programma / finestra che ha chiamato la mia dll.
come ottenere questo "handle di finestra chiamando"?
Grazie!
Soluzione
Questo può riportare la maniglia della finestra principale.
System.Diagnostics.Process.GetCurrentProcess().MainWindowHandle
Per quanto ne so non c'è modo di ottenere una finestra concreta perché è non più di oggetto Form.
Ma classe Form ha un Handle
proprietà. È possibile passare come argomento al dll chiamate di metodo.
Altri suggerimenti
Non è possibile:. Finestre non chiamano metodi, codice chiama metodi
Si dovrebbe idealmente aggiungere un parametro handle di finestra per il metodo. Se questo è assolutamente impossibile, è possibile utilizzare, ad esempio, la funzione GetActiveWindow
API per ottenere la finestra attiva sul thread corrente. Questo non è garantito il funzionamento; forse non ci sono finestre aperte.
Cosa ti serve l'handle della finestra per?