w jaki sposob sprawic, aby otwierajac pare folderow po kolei , otwieraly sie wszystkie w jednym oknie ?
Jak można otworzyć więcej niż jeden folder w jednym oknie? Sprecyzuj to troche [???]
to znaczy, ze gdy mam np:
ShellExecute(Handle, 'open', 'explorer.exe', pchar(edit1.Text), pchar(edit1.Text), SW_SHOWMAXIMIZED);
ShellExecute(Handle, 'open', 'explorer.exe', pchar(edit1.Text), pchar(edit1.Text), SW_SHOWMAXIMIZED);
i to sa dwa rozne adresy, to kazdy z nich otwiera sie w nowym oknie(czyli sa dwa). a chcialbym zrobic, aby po wywolaniu nastepnego shellexecute otworzyl sie on w oknie poprzedniego (czyli moze byc pare shellexecute, ale tylko w jednym oknie sie otwieraja)
Było jakiś czas temu, bodajże musisz wywołać ShellExecute z uchwytem okna w którym chcesz coś otworzyć. (Chyba... :P)
wymacilem takie cos
var
handle:THandle;
begin
Handle:=FindWindow(nil, Pchar(linia));
filelistbox1.Directory:=edit1.Text;
ShellExecute(Handle, 'open', 'explorer.exe', pchar(edit1.Text), pchar(edit1.Text), SW_SHOWMAXIMIZED);
gdzie przykladowo linia=Moje Dokumenty, edit1.tex=sciezka do dokumentow, ale niestety to nie chce chodzic...
to zależy od programu czy sie otworzy w otwartym już oknie czy nowym, więc można go tylko poprosić o ile autorzy przewidzieli taką opcję
w przypadku explorera jest to zazwyczaj niechciane a wystarczy zdaje się nie wpisywać:
ShellExecute(Handle, 'open', 'explorer', 'sciezka', 'sciezka', SW_SHOWMAXIMIZED);
tylko
ShellExecute(Handle, 'open', 'sciezka', nil, 'sciezka', SW_SHOWMAXIMIZED);
ale chyba tylko w ostatnim oknie explorera o ile jest ono "na wierzchu" tj. najbardziej po prawej na pasku zadań
ale może explorer ma jakieś przełączniki to robiące
za to przez DDE prawie na pewno możesz to zrobić
zrobilem jak radziles :) zmienilem shellexecute i niestety, ale nadal nie idzie w jednym oknie :(
Jakis inny pomysl... mozliwosc ?
explorer nie ma jednak takiego przełącznika a otwiera to samo okno tylko jeśli ma już otowrzone takie z identyczną ścieżką, więc chyba jedyna opcja to zamknięcie starego okna i normalne otworzenie nowego
możesz jeszcze zobaczyć, może da się to przez dde zrobić, ale jeśli nigdzie nie widziałeś czegoś takiego w jakimś programie to mała szansa
Mozna poprobowac z ukrytymi komunikatami dla okien explorera np: CWM_SETPATH, CWM_GETPATH