Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.06.2009, 14:27   #1
wulf17
 
Аватар для wulf17
 
Регистрация: 20.06.2009
Сообщений: 3
По умолчанию как с помощию нажатия кнопки можно открыть мой компьютер?

Помогите пожалуйста, как с помощию нажатия кнопки можно открыть мой компьютер, панель управления, сетевое окружение? вообще это реально? Спасибо!!!
wulf17 вне форума Ответить с цитированием
Старый 23.06.2009, 14:51   #2
dima_sk8er
Новичок
Джуниор
 
Регистрация: 23.06.2009
Сообщений: 1
По умолчанию

В "Мой Компьютер" можно зайти, имитировав нажатия клавиш:
procedure TForm1.Button1Click(Sender: TObject);
begin
//Нажимаем Windows + E
keybd_event(VK_LWIN, 0, 0, 0);
keybd_event(Byte('E'), 0, 0, 0);
keybd_event(Byte('E'), 0, KEYEVENTF_KEYUP, 0);
keybd_event(VK_LWIN, 0, KEYEVENTF_KEYUP, 0);
end;
dima_sk8er вне форума Ответить с цитированием
Старый 23.06.2009, 15:02   #3
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
const
    CLSID_MyComputer: TGUID = (D1:$20D04FE0; D2:$3AEA; D3:$1069; D4:($A2,$D8,$08,$00,$2B,$30,$30,$9D)); //{20D04FE0-3AEA-1069-A2D8-08002B3030}
    CLSID_NetworkPlaces: TGUID = (D1:$208D2C60; D2:$3AEA; D3:$1069; D4:($A2,$D7,$08,$00,$2B,$30,$30,$9D)); //{208D2C60-3AEA-1069-A2D7-08002B3030}
    CLSID_Internet: TGUID = (D1:$871C5380; D2:$42A0; D3:$1069; D4:($A2,$EA,$08,$00,$2B,$30,$30,$9D)); //{871C5380-42A0-1069-A2EA-08002B3030}
    CLSID_RecycleBin: TGUID = (D1:$645FF040; D2:$5081; D3:$101B; D4:($9F,$08,$00,$AA,$00,$2F,$95,$4E)); //{645FF040-5081-101B-9F08-00AA002F95}
    CLSID_ControlPanel: TGUID = (D1:$21EC2020; D2:$3AEA; D3:$1069; D4:($A2,$DD,$08,$00,$2B,$30,$30,$9D)); //{21EC2020-3AEA-1069-A2DD-08002B3030}
    CLSID_MyDocuments: TGUID = (D1:$450d8fba; D2:$ad25; D3:$11d0; D4:($98,$a8,$08,$00,$36,$1b,$11,$03)); //{450D8FBA-AD25-11D0-98A8-0800361B11}
    CLSID_Printers: TGUID = (D1:$2227A280; D2:$3AEA; D3:$1069; D4:($A2,$DE,$08,$00,$2B,$30,$30,$9D));
begin
  ShellExecute(handle,
               'open',
               'explorer.exe',
               pchar('::'+GUIDToString(CLSID_MyComputer)), // '/e,::' чтоб открыть с деревом папок слева
               nil,
               SW_SHOWNORMAL);
end;
Весь список констант был где-то в модулях JEDI, можно передавать без GUIDToString, сразу как строку {хххххххх-хххх-хххх-хххх-хххххххххх}
В uses добавить shellapi
пыщь

Последний раз редактировалось JTG; 23.06.2009 в 15:05.
JTG вне форума Ответить с цитированием
Старый 23.06.2009, 15:51   #4
wulf17
 
Аватар для wulf17
 
Регистрация: 20.06.2009
Сообщений: 3
По умолчанию

большое спасибо, все работает отлично, только одна константа не может найти пишет путь не существует или не является каталогом. спасибо за код
wulf17 вне форума Ответить с цитированием
Старый 23.06.2009, 18:34   #5
Ntlegend
Форумчанин
 
Аватар для Ntlegend
 
Регистрация: 12.05.2007
Сообщений: 373
По умолчанию

а чем не устраивает ShellExecute??
Перемен! - требуют наши сердца. Перемен! - требуют наши глаза.
В нашем смехе и в наших слезах, И в пульсации вен:
"Перемен!Мы ждем перемен!"
Ntlegend вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Можно ли выключать компьютер с помощью красной кнопки сетевого фильтра? Лукманов Александр Свободное общение 62 03.03.2009 21:27
как можно запустить компьютер без пароля. |{ () T Безопасность, Шифрование 21 01.06.2008 21:37
Как можно минимизировать(свернуть) приложение с помощью нажатия на TImage? Bill Gates Общие вопросы Delphi 1 02.01.2008 22:59
Как узнать можно ли открыть... Domovoy Общие вопросы Delphi 2 10.12.2007 14:13