Вызов программ

  • Автор темы Автор темы -Karter-
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.
K

-Karter-

Хотелось бы узнать, возможно ли из программы вызвать другую независимо скомпилированную программу. И каким образом это возможно сделать?
 
CreateProcess
 
еще есть ShellExecute, но она уже может не только запустить EXE-шник, но и открыть документ и т.п...
 
Открыть документ можно и через CreateProcess. Только ShellExecute сама решает, каким приложением его открывать (в соответствии с настройками Windows), а CreateProcess нужно вручную указавать приложение и по желанию можно в параметрах запуска указать документ, который и будет открыт...
 
shisik
да, тока я не вижу смысла открывать документ (например .doc) через CreateProcess если это можно проще зделать через ShellExecute
 
shisik
да, тока я не вижу смысла открывать документ (например .doc) через CreateProcess если это можно проще зделать через ShellExecute
А если например .doc по какой-то причине с word не ассоциирован?Или если нужна доп. функциональность (например, запуск приостановленного процесса). Как это сделать через ShellExecute? Или нужны атрибуты защиты не по умолчанию. Или скажем нужен HANDLE запущенного процесса...
 
shisik
можно и HANDLE взять если захотеть, но ты думаешь например -Karter- {удалено модератором} какой знаток всего этого дела?? я не говорю что я гуру, просто я думаю сейчас ему {удалено модератором} не нужен никакой HANDLE процесса и уж тем более менять атрибуты защиты по умолчанию... и поэтому предлогаю самый простой способ, как можно реализовать вызов одно проги из другой. да ну и {удалено модератором} с ними с документами... если он просто хочет вызвать программу, то ему {удалено модератором} не нужны никакие ассоциации файлов. {удалено модератором} лезть в на пальму, если какосы уже под ней лежат еп-т!!

Код:
BOOL CreateProcess(
LPCTSTR lpApplicationName,	// pointer to name of executable module 
LPTSTR lpCommandLine,	// pointer to command line string
LPSECURITY_ATTRIBUTES lpProcessAttributes,	// pointer to process security attributes 
LPSECURITY_ATTRIBUTES lpThreadAttributes,	// pointer to thread security attributes 
BOOL bInheritHandles,	// handle inheritance flag 
DWORD dwCreationFlags,	// creation flags 
LPVOID lpEnvironment,	// pointer to new environment block 
LPCTSTR lpCurrentDirectory,	// pointer to current directory name 
LPSTARTUPINFO lpStartupInfo,	// pointer to STARTUPINFO 
LPPROCESS_INFORMATION lpProcessInformation 	// pointer to PROCESS_INFORMATION 
);

HINSTANCE ShellExecute(
HWND hwnd,	// handle to parent window
LPCTSTR lpOperation,	// pointer to string that specifies operation to perform
LPCTSTR lpFile,	// pointer to filename or folder name string
LPCTSTR lpParameters,	// pointer to string that specifies executable-file parameters 
LPCTSTR lpDirectory,	// pointer to string that specifies default directory
INT nShowCmd 	// whether file is shown when opened
);

чуешь разницу!!?

sax_ol
смысл есть во всем, особенно если кто-то это может доказать и объяснить, а не просто кричать: "Я ВСЕ ЗНАЮ!!"
 
biz, цензурно выражаться можете?
 
Всем огромное спасибо за помощь!
 
да, очень хороший вопрос. только что то на него не хотят отвечать упорно :)
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab