Bisakah saya mengubah dialog "Browse for Folder" sistem secara global?


15

Sejauh yang saya tahu, semua orang membenci dialog "Browse for Folder":

telusuri dialog folder

Dialog ini selalu terlalu kecil, jarang mengingat lokasi dengan baik, dan yang terburuk: memaksa Anda menavigasi seluruh komputer menggunakan struktur pohon yang membosankan.

Sekarang, agar adil, beberapa masalah mungkin berkaitan dengan bagaimana aplikasi menjalankan kontrol - tidak mengatur ukuran atau direktori default, dll. Tetapi masalah tentang kontrol pohon yang membosankan tetap ada.

Apakah ada cara untuk menyesuaikan instalasi Windows Anda untuk menggunakan kontrol yang berbeda? Lebih disukai aplikasi / pemasang yang melakukannya untuk Anda dengan aman, tetapi memasukkan DLL yang kompatibel atau teknik serupa akan baik-baik saja.

Atau kita terjebak dengan kontrol mengerikan ini selamanya?


Sebagian besar keluhan yang Anda miliki adalah opsi yang dikendalikan oleh perangkat lunak yang menggunakannya. Anda harus mengganti seluruh shell untuk mengubahnya.
Ramhound

1
Ini adalah alasan yang buruk untuk antarmuka pengguna.
aliteralmind

2
UX yang mengerikan ini mengganggu saya setiap saat.
Ryan

Jawaban:


1

jawaban singkat, ya Anda terjebak dengannya

jawaban panjang:

fungsi yang Anda sebutkan adalah fungsi SHBrowseForFolder () di Shell32.dll. Fungsi ini ditautkan dan dieksekusi dari ribuan program, jadi kecuali Anda menulis program tertentu yang Anda inginkan untuk dialog yang dimodifikasi, apa yang Anda inginkan tidak akan mungkin terjadi tanpa mengubah atau mengganti shell32.dll (yang untuk semua maksud dan tujuan, di luar cakupan situs ini).

di sini adalah dokumentasi untuk fungsi: http://msdn.microsoft.com/en-us/library/windows/desktop/bb762115%28v=vs.85%29.aspx

jika Anda hanya ingin mengubahnya di dalam program yang Anda tulis, cari spesifik bahasa / platform Anda untuk menemukan tutorial (mereka berlebihan).


2
Hanya ingin bertanya, ada versi dialog yang sedikit lebih dapat digunakan karena setidaknya memungkinkan Anda untuk menyalin / menempel jalan. Apakah itu dialog khusus, atau mungkin SHBrowseForFolder () sendiri dengan beberapa params, atau apakah ada fungsi terpisah untuknya?
Karan

@Karan, dari apa yang saya lihat di dokumen, jika Anda mengatur fungsi parameter input lpbi untuk menunjuk ke alamat instance BROWSEINFO yang UFLAGS-nya diatur ke 0x00000010, kotak edit akan muncul. Sayangnya, karena merupakan parameter, hanya pengembang yang memiliki pilihan untuk menunjukkannya atau tidak berdasarkan aplikasi-oleh-aplikasi.
Frank Thomas

Terima kasih dan ya, sepertinya bendera BIF_EDITBOX perlu disetel. "hanya pengembang yang memiliki pilihan untuk menunjukkannya atau tidak" - Tapi tentu saja. Saya tidak menyiratkan bahwa ini adalah sesuatu yang bisa dilakukan oleh pengguna akhir dengan biner.
Karan
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.