[ad_1]
Masalah pertama saya adalah, saya ingin file E:\GG\dosya3.pdf di direktori yang relevan ditampilkan di beberapa layar (layar sekunder) ketika tombol ditekan. Itu muncul di layar utama. Tidak ada tampilan di layar sekunder.
Masalah kedua saya adalah saya ingin mendapatkan gambar di layar utama saat tombol ditekan, di layar kedua saat tombol ditekan, dan di kedua layar (primer dan sekunder) saat tombol ditekan. Saya akan senang jika Anda membantu.
Apa yang saya coba:
private void button8_Click(object sender, EventArgs e) { Process p = new Process(); p.EnableRaisingEvents = true; p.StartInfo.WindowStyle = ProcessWindowStyle.Maximized; p.StartInfo.CreateNoWindow = true; p.StartInfo.FileName = @"C:\Program Files (x86)\Foxit Software\ Foxit PDF Reader\FoxitPDFReader.exe"; p.StartInfo.Arguments = @"E:\GG\dosya3.pdf"; p.StartInfo.UseShellExecute = false; p.Start(); p.WaitForInputIdle(); Rectangle secondmonitor = Screen.AllScreens[1].WorkingArea; SetWindowPos(p.MainWindowHandle, 0, secondmonitor.Left, secondmonitor.Top, secondmonitor.Width, secondmonitor.Height, 0); }
Solusi 1
Pencarian Google cepat: c# setwindowposition monitor sekunder[^] menemukan solusi terperinci ini: Menggunakan SetWindowPos dengan banyak monitor – StackOverflow[^]
Solusi 2
Jika saya menyalin dan menempelkan kode Anda ke aplikasi saya (setelah mengubah aplikasi ke Notepad karena saya belum menginstal pembaca PDF Anda) dan menggunakan debugger, langsung terlihat jelas bahwa panggilan ke WaitForInputIdle tidak kembali hingga Notepad ditutup . Jadi kodenya tidak pernah mencoba memindahkannya.
Jika saya mengganti panggilan itu dengan Thread.Sleep, ia kemudian mencoba untuk memindahkannya, tetapi MainWindowHandle adalah nol – menunjukkan proses tidak memiliki jendela, atau disembunyikan – ini terjadi ketika aplikasi membuka sub proses untuk melakukan masing-masing ditampilkan sambil menyembunyikan kode “umum”.
Saya akan menggunakan debugger dan melihat apa yang sebenarnya diberikan oleh proses pembaca PDF kepada Anda: Anda mungkin harus mencari cara lain untuk mendapatkan akses ke pegangan jendela untuk memindahkannya – tetapi saya tidak bisa melakukannya untuk Anda!
[ad_2]
コメント