ShellExecute и сеть
От: Андрей Тимошенков Россия  
Дата: 20.08.08 16:37
Оценка:
Hello, All!

Такая проблема. Если в системе через меню Start/Run ввести имя сетевого ресурса, к которому нужен пароль, появляется запрос на имя/пароль, потом открывается ресурс.

Есть программа, которая через ShellExecuteEx делает примерно то же самое. Но там при попытке открыть такой ресурс никаких запросов не возникает, а просто возникает ошибка, что пароль введен неверно. Вопрос — как можно в ShellExecuteEx добиться такого же поведения, как в Start/Run?

Андрей Тимошенков
Re: ShellExecute и сеть
От: Юрий Жмеренецкий ICQ 380412032
Дата: 20.08.08 17:24
Оценка:
Здравствуйте, Андрей Тимошенков, Вы писали:

АТ>Hello, All!


АТ>Такая проблема. Если в системе через меню Start/Run ввести имя сетевого ресурса, к которому нужен пароль, появляется запрос на имя/пароль, потом открывается ресурс.


АТ>Есть программа, которая через ShellExecuteEx делает примерно то же самое. Но там при попытке открыть такой ресурс никаких запросов не возникает, а просто возникает ошибка, что пароль введен неверно. Вопрос — как можно в ShellExecuteEx добиться такого же поведения, как в Start/Run?


SHELLEXECUTEINFO::hwnd не равен NULL ? Некоторые shell функции, которые принимают в качестве параметра HWND, при передаче NULL не отображают каких-либо сообщений, а просто завершаются с ошибкой.
Возможно ShellExecuteEx ведет себя так же...
Re: ShellExecute и сеть
От: xmen  
Дата: 20.08.08 17:48
Оценка:
Здравствуйте, Андрей Тимошенков, Вы писали:

АТ>Hello, All!


АТ>Такая проблема. Если в системе через меню Start/Run ввести имя сетевого ресурса, к которому нужен пароль, появляется запрос на имя/пароль, потом открывается ресурс.


АТ>Есть программа, которая через ShellExecuteEx делает примерно то же самое. Но там при попытке открыть такой ресурс никаких запросов не возникает, а просто возникает ошибка, что пароль введен неверно. Вопрос — как можно в ShellExecuteEx добиться такого же поведения, как в Start/Run?


АТ>Андрей Тимошенков



У меня выдает вот как:
ShellExecute(NULL, "explore", "\\\\pc_name\\c$", NULL, NULL, SW_SHOWNORMAL);

Если не выдаст то значит в кеше пароль сохранен неверный.
Re[2]: ShellExecute и сеть
От: Андрей Тимошенков Россия  
Дата: 20.08.08 19:13
Оценка:
Здравствуйте, Юрий Жмеренецкий, Вы писали:

ЮЖ>Здравствуйте, Андрей Тимошенков, Вы писали:


АТ>>Hello, All!


АТ>>Такая проблема. Если в системе через меню Start/Run ввести имя сетевого ресурса, к которому нужен пароль, появляется запрос на имя/пароль, потом открывается ресурс.


АТ>>Есть программа, которая через ShellExecuteEx делает примерно то же самое. Но там при попытке открыть такой ресурс никаких запросов не возникает, а просто возникает ошибка, что пароль введен неверно. Вопрос — как можно в ShellExecuteEx добиться такого же поведения, как в Start/Run?


ЮЖ>SHELLEXECUTEINFO::hwnd не равен NULL ? Некоторые shell функции, которые принимают в качестве параметра HWND, при передаче NULL не отображают каких-либо сообщений, а просто завершаются с ошибкой.

ЮЖ>Возможно ShellExecuteEx ведет себя так же...

Я ошибся, вызывается ShellExecute, но думаю, это без разницы. HWND передается. Сама функция возвращает 5, GetLastError — "Сетевой пароль указан неверно".
Re[2]: ShellExecute и сеть
От: Андрей Тимошенков Россия  
Дата: 20.08.08 19:15
Оценка:
Здравствуйте, xmen, Вы писали:

X>Здравствуйте, Андрей Тимошенков, Вы писали:


АТ>>Hello, All!


АТ>>Такая проблема. Если в системе через меню Start/Run ввести имя сетевого ресурса, к которому нужен пароль, появляется запрос на имя/пароль, потом открывается ресурс.


АТ>>Есть программа, которая через ShellExecuteEx делает примерно то же самое. Но там при попытке открыть такой ресурс никаких запросов не возникает, а просто возникает ошибка, что пароль введен неверно. Вопрос — как можно в ShellExecuteEx добиться такого же поведения, как в Start/Run?


АТ>>Андрей Тимошенков



X>У меня выдает вот как:

X>ShellExecute(NULL, "explore", "\\\\pc_name\\c$", NULL, NULL, SW_SHOWNORMAL);

X>Если не выдаст то значит в кеше пароль сохранен неверный.


У меня так просто открывает окно, если пароль в кэше. Если нет — возвращает ошибку.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.