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!

È stato utile?

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?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top