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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.09.2008, 19:12   #1
Comer_Jus
Подтвердите свой е-майл
 
Регистрация: 16.05.2008
Сообщений: 54
Сообщение Показать в окне "Мой компьютер"

имею autorun.inf
в котором запускаю свой exe

задача такая:
autorun.inf и autorun.exe лежат в корне диска C:
захожу в Мой компьютер клацаю по яклыку C:
и запускается мой exe в котором

траляля
ShellExecute (0 ,'OPEN' ,'' ,NIL ,NIL ,SW_SHOWNORMAL);
выходим

тобишь я открываю диск C: в своём окне
а нужно чтобы открывалось в том же окне что и Мой компьютер

первый параметр ShellExecute указывает на Handle
если подсунуть ему Handle окна 'Мой компьютер'
поможет?
Comer_Jus вне форума Ответить с цитированием
Старый 26.09.2008, 20:27   #2
Comer_Jus
Подтвердите свой е-майл
 
Регистрация: 16.05.2008
Сообщений: 54
По умолчанию

как открыть окно 'мой компьютер' с параметром указывающим путь
к папке?
Comer_Jus вне форума Ответить с цитированием
Старый 26.09.2008, 20:41   #3
Comer_Jus
Подтвердите свой е-майл
 
Регистрация: 16.05.2008
Сообщений: 54
По умолчанию

Код:
Uses .....,ShlObj,ShellApi,ActiveX;

var
 Pidl: PItemIDList;
 ExeInfo: TShellExecuteInfoW;
begin

 if Succeeded(SHGetSpecialFolderLocation(0, CSIDL_DRIVES, pidl)) then
   begin
     ZeroMemory(@ExeInfo, SizeOf(ExeInfo));
     ExeInfo.cbSize := SizeOf(ExeInfo);
     ExeInfo.fMask := SEE_MASK_INVOKEIDLIST ;
     ExeInfo.lpVerb := nil;
     ExeInfo.nShow := SW_SHOWNORMAL;
     ExeInfo.lpIdList := Pidl;
     ExeInfo.Wnd := 0;

   //  exeInfo.lpDirectory:='D:\';
   //  ExeInfo.lpParameters:='D:\;
   //  exeinfo.lpFile:='D:\';



     ShellExecuteExW(@ExeInfo);

     CoTaskMemFree(Pidl);
End;
открывает мой компьютер но в корне (выбор диска)
а нужно открыть папку (не в отдельном окне а в окне 'Мой комп.'

как?
Comer_Jus вне форума Ответить с цитированием
Старый 27.09.2008, 03:28   #4
Ring0Sn
Форумчанин
 
Аватар для Ring0Sn
 
Регистрация: 06.09.2007
Сообщений: 239
По умолчанию

Цитата:
первый параметр ShellExecute указывает на Handle
если подсунуть ему Handle окна 'Мой компьютер'
поможет?
первый параметр указывает на хэндл обьекта который вызвал его...

Цитата:
тобишь я открываю диск C: в своём окне
а нужно чтобы открывалось в том же окне что и Мой компьютер
Чем не вариант найти и прибить "старое" окно "Мой комьютер" перед открытием нового?
зы траляля)
Ring0Sn вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
если пользователь наберет какой-то другой символ не "y" или "n" и нажмет enter, программа проигнорирует skobets Общие вопросы C/C++ 2 03.06.2008 06:51
Excel файл открывается не "до конца" (странички "не показываются" только серое поле) Dorvir Microsoft Office Excel 2 28.03.2008 10:03
Добавление компонентов в "мой компьютер" Oleg-vp Общие вопросы Delphi 1 20.11.2007 15:40
Создаю диаграмму "Bar". Подскажите как убрать растояние между "столбами" MAcK Компоненты Delphi 11 24.10.2007 10:49