Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запуск программ... ...своими силами 
:(
    Опции темы
V.Turecky
Дата 30.7.2002, 16:53 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











А может лучше написать запускалочку для своей CPL'ки с расширением COM и запускать с помощью CreateProcess или вообще воспользоваться услугами BAT файла?
  Вверх
Vit
Дата 30.7.2002, 17:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 1
Всего: 207



Цитата(Guest @ 30.7.2002, 08:53)
А может лучше написать запускалочку для своей CPL'ки с расширением COM и запускать с помощью CreateProcess или вообще воспользоваться услугами BAT файла?

BAT работает через тот же ShellExecute

COM - в принципе возможно, но кто поручится, что и это расширение ассоциированно с вирусом?


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
V.Turecky
Дата 30.7.2002, 17:30 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Для открытия файлов BAT, COM, EXE в реестре прописано одно и тоже - "%1" %*.

Вот ещё один вариант: написать, как я уже упоминал ранее, запускалочку, но только с любым другим расширением, а в реестре прописать для её открытия - "%1" %* и всё. Как идея?

Кстати, а какой метод запуска CPL файлов у RunDLL.exe? Я могу воспользоваться CreateProcess?
  Вверх
Vit
Дата 30.7.2002, 20:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 1
Всего: 207



Цитата(Guest @ 30.7.2002, 09:30)
Кстати, а какой метод запуска CPL файлов у RunDLL.exe?

Rundll32.exe shell32.dll,Control_RunDLL <AppletName>


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
Monty
Дата 26.7.2004, 03:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Advanced Lamer
****


Профиль
Группа: Участник Клуба
Сообщений: 3511
Регистрация: 3.4.2003
Где: Гваделупа

Репутация: нет
Всего: 27



Код
function RunProcess(FileName: string; ShowCmd: DWORD; wait: Boolean; ProcID:
 PDWORD): Longword;
var
 StartupInfo: TStartupInfo;
 ProcessInfo: TProcessInformation;
begin
 FillChar(StartupInfo, SizeOf(StartupInfo), #0);
 StartupInfo.cb := SizeOf(StartupInfo);
 StartupInfo.dwFlags := STARTF_USESHOWWINDOW or STARTF_FORCEONFEEDBACK;
 StartupInfo.wShowWindow := ShowCmd;
 if not CreateProcess(nil,
   @Filename[1],
   nil,
   nil,
   False,
   CREATE_NEW_CONSOLE or
   NORMAL_PRIORITY_CLASS,
   nil,
   nil,
   StartupInfo,
   ProcessInfo)
   then
   Result := WAIT_FAILED
 else
 begin
   if wait = FALSE then
   begin
     if ProcID <> nil then
       ProcID^ := ProcessInfo.dwProcessId;
     result := WAIT_FAILED;
     exit;
   end;
   WaitForSingleObject(ProcessInfo.hProcess, INFINITE);
   GetExitCodeProcess(ProcessInfo.hProcess, Result);
 end;
 if ProcessInfo.hProcess <> 0 then
   CloseHandle(ProcessInfo.hProcess);
 if ProcessInfo.hThread <> 0 then
   CloseHandle(ProcessInfo.hThread);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
 ProcID: Cardinal;
begin
 ProcID := 0;
 if OpenDialog1.Execute then
   RunProcess(OpenDialog1.FileName, SW_SHOW, CheckBox1.Checked, @ProcID);
 ShowMessage(IntToStr(ProcID));
end;


by Michael Puff


--------------------
...
О, вещая моя печаль,
О, тихая моя свобода
И неживого небосвода
Всегда смеющийся хрусталь!
PM MAIL ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: WinAPI и системное программирование"
Snowybartram
MetalFanbems
PoseidonRrader
Riply

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • 99% ответов по WinAPI можно найти в MSDN Library, оставшиеся 1% здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема »


 




[ Время генерации скрипта: 0.0693 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.