Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: ActiveX/СОМ/CORBA > Открыть папку в окне EXplorer'a


Автор: Jetus 19.2.2005, 12:48
У меня вот такой вот вопрос: я открываю папку в Explorer'e вот так:

uses ShellApi;
...

procedure TForm1.Button1Click(Sender: TObject);
begin
ShellExecute(0,
'explore',
'C:\WINDOWS',
nil,
nil,
SW_SHOWNORMAL);
end;




но оно открывает в новом окне... а как чтобы в уже открытом??? smile

Автор: Александра 20.2.2005, 18:27
обычной команды такой нет у проводника, кстати, полностью надо вызывать его так:

Код
explorer /select,c:\windows\


поэтому попробуй найти окно проводника, его адресную строку и указать там нужный путь, а потом в списке найти нужный обьект и выделить его... ((
возможно как то можно еще через DDE, но я не нашла такого...

Автор: SoWa 20.2.2005, 19:32
Можно и так:
Узнаешь, где проводник сейчас,
убиваешь проводник,
запускаешь проводник снова и как тебе надо...

Автор: Alex 20.2.2005, 19:41
SoWa, а если у меня несколько окон проводника открыто? smile

Автор: SoWa 20.2.2005, 19:50
ОЙ! smile
А может че-нить с Хэндлами натворить?

Автор: Александра 20.2.2005, 20:32
Цитата(Alex @ 20.2.2005, 19:41)
SoWa, а если у меня несколько окон проводника открыто? smile

тогда бери первое попавшееся, к примеру ))

Автор: Jetus 21.2.2005, 09:35
Спасибо, SoWa.
Но убивать окно, а потом его открывать - не выход. smile
Александра, тебе также спасибо, но оно только выделяет папку... smile

У меня вопрос ко всем. В реестре я нашёл запись, которая "открывает" папки:
%SystemRoot%\Explorer.exe /e,/idlist,%I,%L
Что все эти ключи значат? smile

Автор: Александра 21.2.2005, 14:22
Цитата
Command Line Switches for Windows Explorer
You can control the functionality of Windows Explorer by using the command-line switches listed in Table 9.4.

Use the following syntax: EXPLORER.EXE [/n][/e][,/root,<object>][[,/select],<sub object>]

/n
Opens a new window in single-paned (My Computer) view for each item selected, even if the new window duplicates a window that is already open.
/e
Uses Windows Explorer view. Windows Explorer view is similar to File Manager in Windows version 3.x. Note that the default view is Open view.

/root,<object>
Specifies the root level of the specified view. The default is to use the normal namespace root (the desktop). Whatever is specified is the root for the display.

/select,<sub object>
Specifies the folder to receive the initial focus. If /select is used, the parent folder is opened and the specified object is selected.

The following examples illustrate how you can use command-line switches to modify the way you view folders and objects in Windows Explorer:
To view objects on \\<server name> only:
explorer /e,/root,\\<server name>

To view the C:\Windows folder and select Calc.exe:
explorer /select,c:\windows\calc.exe


в итоге ключ /е только создает слева дерево ((

Автор: Jetus 21.2.2005, 23:09
Спасибо, Александра, очень интересная информация.
К сожалению я так и не знаю, что значит, например, /idlist, а также %I и %L?

У меня ХР.

Автор: Jetus 22.2.2005, 12:17
Решение найдено! smile
Всем, кому эта тема еще интересна, идём сюда:
http://forum.sources.ru/index.php?act=ST&f=12&t=83586

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)