ShellExecute - открытие директории
От: kos11  
Дата: 17.05.03 17:36
Оценка:
K>Помогите переписать следующие строки так, чтобы можно открыть нужную
K>директорию, а не файл:

K>ShellExecute(0, "open", "Setup.exe", NULL, "\/Ozzer/Socrat Dictionary v.4.1",

K>SW_SHOW);

Мне ответили
(
ShellExecute (0, "explore", "c:\\", NULL, NULL, SW_MAXIMIZE);
), этот вариант кргда известен диск, а если диск не известен, то тогда как?
Re: ShellExecute - открытие директории
От: Алексей Владимирович Миронов Россия  
Дата: 18.05.03 15:06
Оценка:
Здравствуйте, kos11, Вы писали:

K>Мне ответили

K>(
K>ShellExecute (0, "explore", "c:\\", NULL, NULL, SW_MAXIMIZE);
K>), этот вариант кргда известен диск, а если диск не известен, то тогда как?

Ну и что, что неизвестен диск? Windows Explorer воспринимает и относительные пути, и сетевые ресурсы:

ShellExecute (0, NULL, ".", NULL, NULL, SW_MAXIMIZE); // Рабочая директория (для данного процесса)
ShellExecute (0, NULL, "..", NULL, NULL, SW_MAXIMIZE); // На один уровень выше
ShellExecute (0, NULL, "\\", NULL, NULL, SW_MAXIMIZE); // Корневая папка для текущего диска
ShellExecute (0, NULL, "\\\\server\\share\\folder", NULL, NULL, SW_MAXIMIZE); // Папка на сервере
... << RSDN@Home 1.0 beta 6a >>
Re[2]: ShellExecute - открытие директории
От: MarW https://www.wincatalog.com
Дата: 23.06.05 15:27
Оценка:
Случайно не подскажите, как открыть директорию, чтобы explorer сохранил при этом все пользовательские настройки?

Приведу пример. Когда я пользуюсь explorer'ом, открываю две панели: дерево папок и список в виде list. Однако, если выполнить слудующее:
ShellExecute (0, NULL, "с:\\", NULL, NULL, SW_SHOWNORMAL);

то explorer открывается без дерева и список включен в режим icons.

И еще вопрос: как программно выделить файл(ы) при открытии explorer'а? ReGet так умеет. Если в нём нажать "открыть папку, содержащую файл", то в проводнике откроется папка (причем как раз с пользовательскими настройками) и выделяется нужный файл. Простой вызов
ShellExecute (0, NULL, "с:\\test.txt", NULL, NULL, SW_SHOWNORMAL);

открывает лишь содержащую файл папку описанным выше (читай не устраивающим меня) способом.
WinCatalog — Disk Catalog Software for Windows
Re[3]: ShellExecute - открытие директории
От: wildwind Россия  
Дата: 23.06.05 15:50
Оценка: 29 (2)
Здравствуйте, MarW, Вы писали:

Windows Explorer Command-Line Options:

Explorer [/n] [/e] [(,)/root,<object>] [/select,<object>]

/n                Opens a new single-pane window for the default
                  selection. This is usually the root of the drive Windows
                   is installed on. If the window is already open, a
                  duplicate opens.

/e                Opens Windows Explorer in its default view.

/root,<object>    Opens a window view of the specified object.


/select,<object>  Opens a window view with the specified folder, file or
                  application selected.

Examples:

   Example 1:     Explorer /select,C:\TestDir\TestApp.exe

      Opens a window view with TestApp selected.

   Example 2:  Explorer /e,/root,C:\TestDir\TestApp.exe

      This opens Explorer with C: expanded and TestApp selected.

   Example 3:  Explorer /root,\\TestSvr\TestShare

      Opens a window view of the specified share.

   Example 4:  Explorer /root,\\TestSvr\TestShare,select,TestApp.exe

      Opens a window view of the specified share with TestApp selected.

Re[3]: ShellExecute - открытие директории
От: MarW https://www.wincatalog.com
Дата: 23.06.05 16:08
Оценка:
Здравствуйте, MarW, Вы писали:

MW>Случайно не подскажите, как открыть директорию, чтобы explorer сохранил при этом все пользовательские настройки?

Нда, поиск рулит. Ответ здесь.
Автор: Eugene_Buranov
Дата: 18.12.02


Однако со второй частью вопроса пока глухо.
MW>И еще вопрос: как программно выделить файл(ы) при открытии explorer'а? ReGet так умеет. м.
WinCatalog — Disk Catalog Software for Windows
Re: ShellExecute - открытие директории
От: Аноним  
Дата: 05.04.08 09:57
Оценка:
Здравствуйте, kos11, Вы писали:

K>>Помогите переписать следующие строки так, чтобы можно открыть нужную

K>>директорию, а не файл:

/*
Explorer [/n] [/e] [(,)/root,<object>] [/select,<object>]

/n Opens a new single-pane window for the default
selection. This is usually the root of the drive Windows
is installed on. If the window is already open, a
duplicate opens.

/e Opens Windows Explorer in its default view.

/root,<object> Opens a window view of the specified object.

/select,<object> Opens a window view with the specified folder, file or
application selected.

Examples:

Example 1: Explorer /select,C:\huadio.tmp

Opens a window view with TestApp selected.

Example 2: Explorer /e,/root,C:\huadio.tmp

This opens Explorer with C: expanded and TestApp selected.

Example 3: Explorer /root,\\TestSvr\TestShare

Opens a window view of the specified share.

Example 4: Explorer /root,\\TestSvr\TestShare,select,TestApp.exe

Opens a window view of the specified share with TestApp selected.

*/


//m_csProcessPath содержит путь к файлу. Например C:\Program Files\QIP\qip.exe
//команда должна выглядеть так — Explorer /select,"C:\Program Files\QIP\qip.exe"
//в начало пути добавляем команду и кавычки
m_csProcessPath.Insert(0, "Explorer /select,\"");
//прибавляем кавычки в конец строки
m_csProcessPath += "\"";

TRACE("%s\n", m_csProcessPath);

STARTUPINFO si;
PROCESS_INFORMATION pi;

ZeroMemory( &si, sizeof(si) );
si.cb = sizeof(si);
ZeroMemory( &pi, sizeof(pi) );

// Start the child process.
if( !CreateProcess( NULL, // No module name (use command line)
(LPSTR)m_csProcessPath.GetString(), // Command line
NULL, // Process handle not inheritable
NULL, // Thread handle not inheritable
FALSE, // Set handle inheritance to FALSE
0, // No creation flags
NULL, // Use parent's environment block
NULL, // Use parent's starting directory
&si, // Pointer to STARTUPINFO structure
&pi ) // Pointer to PROCESS_INFORMATION structure
)
{
TRACE("Облом!\n");
}
Re[2]: ShellExecute - открытие директории
От: wildwind Россия  
Дата: 05.04.08 22:50
Оценка:
Здравствуйте, Аноним, Вы писали:

Дигер?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.