C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
открыть прогой мой компьютер, хлп
patronix
Отправлено: 26.04.2006, 23:27


Ученик-кочегар

Группа: Участник
Сообщений: 6



нужно чтоб прога открывала мой компьютер мои документы ну и т.д. и т.п..
как сделать??? и независимо с какой учетной записи запускается прога чтоб это работало??? и на любом компе....
Aptem
Отправлено: 27.04.2006, 04:42


Мастер участка

Группа: Участник
Сообщений: 349



Может ShellExecute () поможет.
patronix
Отправлено: 27.04.2006, 12:32


Ученик-кочегар

Группа: Участник
Сообщений: 6



ну это ясна какбы что поможит...
вот например запуск IExploer:

ShellExecute(Handle, "open", "C:\\Program Files\\Internet Explorer\\IEXPLORE.EXE",
0, 0, SW_SHOWNORMAL);

а мой компьютер чет не догоняю как сделать проводник запускаю:

ShellExecute(Handle, "open", "Explorer",
0, 0, SW_SHOWNORMAL);

но что еще туда дописать после проводника чтоб открыть мои документы например не знаю...... помогайте =)

должно получиться чтото наподоби как в архиве прикрепленом....

User Attached Image Скачать файл
m_venom.rar


__Cheat3r
Отправлено: 27.04.2006, 15:42


Станционный диспетчер

Группа: Участник
Сообщений: 110



Бред.

ShellExecute(Handle, "open", "...",
0, 0, SW_SHOWNORMAL);
CyberMind
Отправлено: 27.04.2006, 16:11


Ученик-кочегар

Группа: Участник
Сообщений: 29



Чтобы открыть папку Мои документы, я сделал следующее:
CODE

#include "shlobj.h"
...
char pathSTR[255];
SHGetFolderPath(NULL, CSIDL_PERSONAL, NULL, 0, pathSTR);
ShellExecute(Handle, "open", "explorer", pathSTR, 0, SW_SHOWNORMAL);


CSIDL_PERSONAL даст путь к личной папке,
CSIDL_COMMON_DOCUMENTS — к общей папке. Перечень значений CSIDL можно посмотреть в MSDN.
AVC
Отправлено: 27.04.2006, 16:43


Ветеран

Группа: Модератор
Сообщений: 1583



QUOTE (patronix @ 26/04/2006, 22:27)
нужно чтоб прога открывала мой компьютер мои документы ну и т.д. и т.п..
как сделать??? и независимо с какой учетной записи запускается прога чтоб  это работало??? и на любом компе....

Т.е. нужно обойти все системы зашиты и разграничения прав современного Windows?
Другое дело если не зависимо от учетной записи пользователя.
patronix
Отправлено: 27.04.2006, 22:56


Ученик-кочегар

Группа: Участник
Сообщений: 6



не защиты обходить не надо просто чтобы с любой учетной записи открывалось ну и не тока на моем компе вот и все...

#include "shlobj.h"
...
char pathSTR[255];
SHGetFolderPath(NULL, CSIDL_PERSONAL, NULL, 0, pathSTR);
ShellExecute(Handle, "open", "explorer", pathSTR, 0, SW_SHOWNORMAL);

а с этим у меня одни ошибки выдает мож чтота доустановить надо?
CyberMind
Отправлено: 28.04.2006, 09:38


Ученик-кочегар

Группа: Участник
Сообщений: 29



Ошибки типа multiply declaration?
Где-то читал, что достаточно сделать вот так:
CODE

//#include <vcl.h>

У меня так все работает на CBuilder 5. Хотя может появятся другие проблемы при отключении vcl.h. Пробуй.
AVC
Отправлено: 28.04.2006, 10:19


Ветеран

Группа: Модератор
Сообщений: 1583



А не может из-за этого:
CODE

CSIDL_MYDOCUMENTS (0x000c)
Version 6.0. The virtual folder representing the My Documents desktop item.
CSIDL_PERSONAL (0x0005)
Version 6.0. The virtual folder representing the My Documents desktop item.
This is equivalent to CSIDL_MYDOCUMENTS

Version DLL          Distribution Platform
4.0     All          Microsoft Windows 95/Microsoft Windows NT 4.0.
4.7     All          Microsoft Internet Explorer 3.x.
4.71    All          Internet Explorer 4.0. See note 2.
4.72    All          Internet Explorer 4.01 and Windows 98. See note 2.
5.0     Shlwapi.dll  Internet Explorer 5. See note 3.
6.0     Shlwapi.dll  Internet Explorer 6 and Windows XP.
5.0     Shell32.dll  Windows 2000 and Windows Millennium Edition (Windows Me). See note 3.
6.0     Shell32.dll  Windows XP.
5.8     Comctl32.dll Internet Explorer 5. See note 3.
5.81    Comctl32.dll Windows 2000 and Windows Me. See note 3.
6.0     Comctl32.dll Windows XP. See note 4.

patronix
Отправлено: 28.04.2006, 11:35


Ученик-кочегар

Группа: Участник
Сообщений: 6



все получилось надо и правда было закоментить #include

еще вопрос что такое MSDN и где это взять?

Миshук
Отправлено: 28.04.2006, 19:27


Дежурный стрелочник

Группа: Участник
Сообщений: 36



Приветствую!
ЦИТАТА!!!
QUOTE

MicroSoft Developer Network По сути, это огромный хелп по разным областям и программам, которыми занимается Microsoft. ......... Купить можно как на рынке (обычно так и называется MSDN ...), либо у того же Мелкомягкого. Но оооочень дорого. Вся инфа по ссылкам: ....... И, собственно, сама ОнЛайн библиотека: http://msdn.microsoft.com/library/default.asp

А вообще на такой вопрос отлично Yandex отвечает smile.gif
patronix
Отправлено: 28.04.2006, 20:22


Ученик-кочегар

Группа: Участник
Сообщений: 6



мой компьютер всеравно не могу найти как открыть.
помогите???
__Cheat3r
Отправлено: 28.04.2006, 23:21


Станционный диспетчер

Группа: Участник
Сообщений: 110



Блин, ты слепой??
Вот : ShellExecute(Handle, "open", "...",
0, 0, SW_SHOWNORMAL);

Отредактировано __Cheat3r — 29/04/2006, 09:21
patronix
Отправлено: 29.04.2006, 00:41


Ученик-кочегар

Группа: Участник
Сообщений: 6



да наверно =)
тогда все, тема закрыта, всем спасибо БОЛЬШОЕ за помощь!!!

Отредактировано patronix — 29/04/2006, 00:44

Вернуться в Вопросы программирования в C++Builder