![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 21.12.2010
Сообщений: 224
|
![]()
Пишу CSIDL_DRIVES и открывается не мой компьютер а папка с моей прогой
|
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
![]()
Пиши не на бумажке, а на картонке.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 21.12.2010
Сообщений: 224
|
![]()
а извините
Код:
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
![]()
Ну, а что же вы ждали?
Вы используете GetSpecialFolderPath, чтобы получить путь на диске к папке. Надо ли говорить, что папка "Мой компьютер" - виртуальная? Она не существует на диске. Открывать виртуальную папку надо по PIDL. Конечно, ShellExecute для этих целей не очень подходит, а вот ShellExecuteEx - вполне. В fMask добавляем SEE_MASK_IDLIST, а PIDL записываем в lpIDList.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 21.12.2010
Сообщений: 224
|
![]()
ага. верняк. эт что разные функции делать под. виртуальные папки и обычные???
|
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 21.12.2010
Сообщений: 224
|
![]()
или можно вот так
procedure TForm1.Image2Click(Sender: TObject); var PIDL: PItemIDList; Info: TShellExecuteInfo; pInfo:PShellExecuteInfo; begin SHGetSpecialFolderLocation(0,$0005, PIDL); pInfo:=@Info; With Info do begin cbSize:=SizeOf(Info); fMask:=SEE_MASK_NOCLOSEPROCESS+SEE_ MASK_IDLIST; wnd:=0; lpVerb:=nil; lpFile:=nil; lpParameters:=nil; lpDirectory:=nil; nShow:=SW_ShowNormal; hInstApp:=0; lpIDList:=PIDL; end; ShellExecuteEx(pInfo); на все на вируал и на обычные |
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
![]()
Конечно нет. Если что-то работает для виртуальной папки, то для физической - тем более. Первое включает в себя второе, но не наоборот.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
|
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Получить свойство Мой Компьютер | Rebel123 | Общие вопросы Delphi | 5 | 06.02.2010 19:20 |
Закрыть доступ в Мой компьютер | Syltan | Операционные системы общие вопросы | 6 | 27.10.2009 18:04 |
как с помощию нажатия кнопки можно открыть мой компьютер? | wulf17 | Общие вопросы Delphi | 4 | 23.06.2009 18:34 |
Мой компьютер не может себя найти | Voda | Свободное общение | 6 | 24.09.2008 22:43 |
Мой новогодний компьютер | meg33 | Свободное общение | 2 | 27.12.2007 16:16 |