Roky mě děsivě štvala a iritovala ta miniaturní verze open/save dialogu v Windowsech, neboť jsem na ně přešel z Amigy a Macu, kde se to dalo nastavit. No uznejte, že je to nepoužitelné:



Jistě, můžete si tento dialog roztáhnout a zvětšit, ale jakmile ho zavřete a zavřete také to okno IE/FF/Opery, tak se vám další dialog otevře zase tak prťavý...
Dobrá zpráva je, že se to dá změnit. Tady je třeba jeden z mých prvních výsledků:



Špatná je, že to nebude tak jednoduché, jak se na první pohled může zdát. Vlastní změna pomocí programu Resource Hacker je poměrně snadná záležitost - dialogy si prostě normálně myší roztaháte a zpřetaháte jak uznate za vhodné a je to. Nemažte žádné objekty! Windows to sice přežijí, ale části dialogu nebudou viditelné - třeba odmazání tlačítka "Help" způsobí "useknutí" okna a odříznutí všech ovládacích prvků na spodku dialogu, což je, ehm, poněkud nežádoucí výsledek



Který soubor otevřít? Dialogy běžně používané všemi Windows aplikacemi (ano, některé pofiderní mají kompletně vlastní dialogy, ty nemyslím a jde o naprosté vyjímky - povětšinou instalace programů) na otevírání a ukládání souborů najdete v comdlg32.dll souboru, kerý si vytáhnete z Windows/System32 adresáře. Tyto dialogy najdete v v sekci "Dialog" pod čísly 1547 a 1552.

Velikosti a rozměry dialogů si nastavte pro své preferované rozlišení, zmáčkněte "Compile Script" nahoře a až budete spokojení, tak si výsledek uložte. Dialog 1547 je bez "Places bar" sekce dialogu, dialog 1552 je s nim. Většinou si lidé "ten nesmysl na boku" vypínají v Tweak UI, pak vám stačí modifikovat jen ten dialog, které nakonec skutečně používáte. Já mám modifikované oba dva

Po instalaci, než máte své rozlišení zpět, stačí 2x kliknout na soubor pro jeho otevření v dialogu, či vybrat a zmáčknout enter - nemusíte se bát, že se něco zkazí tím, že se nyní minimální velikost okna nevleze na obrazovku v 800x600 (ci 640x480 pokud si v Win2k nezvysite hned v VGA rezimu rozliseni) - pokud chcete mít opravdu VELKÉ dialogy a hned po nové instalaci Win

Dialog na výběr adresářů je v shell32.dll knihovně. Nemusíte se modifikace bát, nestabilitu systému o nezpůsobí, ale přeci jen - našlapujte v tom dllku opatrně a neměňte vše, co vám přijde pod ruku. Je sice pravda legrační, změnit v Win spoustu věcí (třeba Storno na Porno a pod ) ale "blbněte s mírou"
(Dialog 1079 - výběr složky, 1060 - výběr ikonky, 1063, 1070 - výběr programu na otevření fajlu, 1071 - dialog odhlášení, etc. - upozorňuji zejména na možnost změnit či alespon zmenšit nesmyslné animace hned na začátku v položce AVI )

Do této chvíle to byla brnkačka, ale teď přichází WFP (Windows File Protection). WFP se stará o to, aby se kritické soubory systému (skoro všechny) neměnily - ať už činností virů, či podvratných uživatelů. Každý soubor Windows má tedy svůj kontrolní součet a při jeho detekované změně si zkontroluje podle databáze (v souboru sfcfiles.dll) jestli je soubor "platnou bitovou kopii souboru systemu Windows" a kdyz ne, tak se koukne do system32/dllcache jestli tam má soubor jenž je originální. Pokud ano, tak vám modifikovaný soubor v tu ránu přepíše. Pokud soubor nenajde v dllcache, tak vás vyzve k vložení CD s Windowsy.
Zodpovědné soubory za tohle jsou sfc.exe, sfc.dll, sfcfiles.dll a a na XPčkách navíc sfc_os.dll.

Co s tím?
Inu - vypnout. Na Windows 2000 a Win2k SP1 k tomu stačilo do registru vrazit toto:
REGEDIT4

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
"SFCDisable"=dword:0ffffff9dh
Jenže doba pokročila a v SP2 a vyšších se Microsoft začal bránit a registrový trik nadále nefunguje. Je zapotřebí pracnějšího přístupu.

U Windows 2000 SP2 - SP4 se patchuje soubor sfc.dll pomocí klasického XVI32 hexa editoru a soubor sfcfiles.dll se nahrazuje prázdným 4k velkým dllkem, zde k stáhnutí.

U všech Windows XP se pachuje sfc_os.dll. sfc.dll zůstává a sfcfiles.dll se opět nahrazuje výše linkovaným prázdným 4k dllkem.


Patchování souborů pomocí XVI32 hex editoru.
Chceme-li změnit běh programu, musíme ho upravit. V jeho zkopilované podobě to jde také. Budeme prostě měnit řetězec "83 F8 9D 75 07 8B C6" na "B8 9D FF FF FF 90 90" v sfc.dll či sfc_os.dll v XPčkách. (občas se udává i nedokonalá varianta "83 F8 9D 75 07 90 90" jenž potřebuje podporu v registrech) Jednoduše dáte vyhledat ten řetězec okopírovaný tak jak je z clipboardu a pak ho psaním nahradíte za ten druhý uvedená. Pro kontrolu, řetězec začíná pro Win2k SP4 sfc.dll na adrese 62D6, pro XP SP 1.0a a jejich sfc_os.dll na adrese E3B6 a pro XP SP2 je o jinak. Na netu najdete mnoho návodů, jak na to, třeba:
http://myego.cz/item/vypnuti-ochrany...egory/security
http://www.windowsnetworking.com/art...ction-SP2.html
...ale ve všech je uvedeno že v sfc_os.dll je na hexa offsetu ECE9 obsah "33 C0 40", což se má změnít na "90 90 90". Drobný problém je, že v sfc_os.dll co mám už je "90 90 90" a tak nevím, jestli už jde o předem upravený soubor, či ne. V případě zklamání použijte tuto utilitku na snadné vypnutí WFP
http://fileforum.betanews.com/detail/1106499902/1

Enjoy!

PS. má poslední verze dialogu je takto - nahradíte tím ten text co tam máte a je to:
Kód:
1547 DIALOG 0, 0, 559, 308
STYLE DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CLIPCHILDREN | WS_CAPTION | WS_SYSMENU
CAPTION "Otevřít"
LANGUAGE LANG_CZECH, 0x1
FONT 8, "MS SHELL DLG"
{
   CONTROL "&Otevřít v:", 1091, STATIC, SS_RIGHT | SS_NOTIFY | WS_CHILD | WS_VISIBLE | WS_GROUP, 3, 5, 47, 9 
   CONTROL "", 1137, COMBOBOX, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_HASSTRINGS | WS_CHILD | WS_VISIBLE | WS_VSCROLL | WS_TABSTOP, 53, 2, 148, 300 
   CONTROL "", 1088, STATIC, SS_LEFT | WS_CHILD, 203, 2, 88, 16 
   CONTROL "", 1120, LISTBOX, LBS_NOTIFY | LBS_NOINTEGRALHEIGHT | LBS_MULTICOLUMN | WS_CHILD | WS_BORDER | WS_HSCROLL, 1, 18, 556, 273 
   CONTROL "&Fajl:", 1090, STATIC, SS_LEFT | SS_NOTIFY | WS_CHILD | WS_VISIBLE | WS_GROUP, 3, 296, 13, 8 
   CONTROL "", 1152, EDIT, ES_LEFT | ES_AUTOHSCROLL | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP, 17, 293, 155, 12 
   CONTROL "", 1148, "ComboBoxEx32", 0x50210042, 17, 293, 155, 142 
   CONTROL "&Typy:", 1089, STATIC, SS_LEFT | SS_NOTIFY | WS_CHILD | WS_VISIBLE | WS_GROUP, 175, 296, 19, 8 
   CONTROL "", 1136, COMBOBOX, CBS_DROPDOWNLIST | WS_CHILD | WS_VISIBLE | WS_VSCROLL | WS_TABSTOP, 195, 293, 158, 92 
   CONTROL "J&en číst", 1040, BUTTON, BS_AUTOCHECKBOX | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 359, 295, 40, 10 
   CONTROL "&Otevřít", 1, BUTTON, BS_DEFPUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 507, 293, 50, 14 
   CONTROL "Porno", 2, BUTTON, BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 454, 293, 50, 14 
   CONTROL "Nápo&věda", 1038, BUTTON, BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 402, 293, 50, 14