yapabilirim Pinvoke kullanmam gerektiğini varsayarak, hangi işlev çağrılarının gerekli olduğundan emin değilim.Yönetilmeyen bir uygulama penceresini nasıl ön plana getirebilirim ve (simüle edilmiş) kullanıcı girişi için etkin pencereyi
Detaylı senaryo. Eski bir uygulama çalışıyor olacak. Bu uygulama için Sap tutacağım. Yapmam gerekenler: a) bu uygulamayı en üste getir (diğer tüm pencerelerin önünde). b) Etkin pencere yapınız.
Hangi pencere işlev çağrıları gereklidir?
[DllImport("user32.dll", SetLastError = true)]
static extern bool SetForegroundWindow(IntPtr hWnd);
Bu görev çubuğunu yapacaktır: Eğer uygulama penceresine bir kolu Şimdi varsayarak
[DllImport("user32.dll", SetLastError = true)]
static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
: Eğer penceresi için bir tanıtıcı yoksa
SetForegroundWindow I ("adlı 'ForceForegroundWindow' DLL 'user32.dll' bir giriş noktası bulunamadı.") –
ForceForegroundWindow aramaya çalışıyor hatayı alıyorum ancak şimdiye kadar gerekenleri yapmak gibi görünüyor tıklayın Benim hatam, kullanıcı tarafından yapılmış bir işlev. Düzenlenmiş gönderi. –
Benim durumumda buna ek olarak 'BringWindowToTop' kullanmak zorunda kaldım. ForceForegroundWindow, sorunumu güzelce çözdü. Teşekkürler! –