Форум программистов
 
Расширенный поиск
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

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

Ответ
 
Опции темы
Старый 15.12.2016, 20:04   #21
demon31
Пользователь
 
Регистрация: 17.05.2015
Сообщений: 28
Репутация: 10
По умолчанию

У меня есть зашифрованные файлы, разных типов, в программе я их открываю, свойственно, чтоб поработать их нужно расшифровать, в момент открытия я это делаю, наработавшись с файлом, мне нужно вернуть его в исходное состояние т.е. зашифровать, а для этого мне нужно знать момент когда файл закрыли, чтоб зашифровать.
demon31 вне форума   Ответить с цитированием
Старый 15.12.2016, 20:11   #22
waleri
Профессионал
 
Регистрация: 13.07.2012
Адрес: Нижний Новгород
Сообщений: 4,801
Репутация: 1438
По умолчанию

А как ловите момент когда надо расшировать файл для начала работы?
Ведь это ровно та же проблема...
waleri вне форума   Ответить с цитированием
Старый 15.12.2016, 20:16   #23
demon31
Пользователь
 
Регистрация: 17.05.2015
Сообщений: 28
Репутация: 10
По умолчанию

У меня листбокс со списком файлов, есть кнопка открыть, при нажатии кнопки файл дешифруется, а следом вызывается его открытие, никаких проблем.
demon31 вне форума   Ответить с цитированием
Старый 15.12.2016, 20:28   #24
waleri
Профессионал
 
Регистрация: 13.07.2012
Адрес: Нижний Новгород
Сообщений: 4,801
Репутация: 1438
По умолчанию

В таком случае в чем проблема использовать CreateProcess?
Вся информация есть в реестре - какой файл каким процессом надо открывать...
waleri вне форума   Ответить с цитированием
Старый 15.12.2016, 20:36   #25
demon31
Пользователь
 
Регистрация: 17.05.2015
Сообщений: 28
Репутация: 10
По умолчанию

Цитата:
Сообщение от waleri Посмотреть сообщение
В таком случае в чем проблема использовать CreateProcess?
Я нигде не видел подобного, во всех случаях там ручной ввод как пути, как и того что открыть.
demon31 вне форума   Ответить с цитированием
Старый 15.12.2016, 20:39   #26
demon31
Пользователь
 
Регистрация: 17.05.2015
Сообщений: 28
Репутация: 10
По умолчанию

Код:

procedure WinExec(const ACmdLine: String; const ACmdShow: UINT = SW_SHOWNORMAL);
var
  SI: TStartupInfo;
  PI: TProcessInformation;
  CmdLine: String;
begin
  Assert(ACmdLine <> '');
 
  CmdLine := ACmdLine;
  UniqueString(CmdLine);
 
  FillChar(SI, SizeOf(SI), 0);
  FillChar(PI, SizeOf(PI), 0);
  SI.cb := SizeOf(SI);
  SI.dwFlags := STARTF_USESHOWWINDOW;
  SI.wShowWindow := ACmdShow;
 
  SetLastError(ERROR_INVALID_PARAMETER);
  {$WARN SYMBOL_PLATFORM OFF}
  Win32Check(CreateProcess(nil, PChar(CmdLine), nil, nil, False, CREATE_DEFAULT_ERROR_MODE {$IFDEF UNICODE}or CREATE_UNICODE_ENVIRONMENT{$ENDIF}, nil, nil, SI, PI));
  {$WARN SYMBOL_PLATFORM ON}
  CloseHandle(PI.hThread);
  CloseHandle(PI.hProcess);
end;

У меня сейчас такой код для него, и тут нет ничего для типов файлов, открывает только экзешники нормально, текстовый файл как ошибку выбьет.
demon31 вне форума   Ответить с цитированием
Старый 15.12.2016, 22:18   #27
waleri
Профессионал
 
Регистрация: 13.07.2012
Адрес: Нижний Новгород
Сообщений: 4,801
Репутация: 1438
По умолчанию

Запускать файл напрямую естественно не получится.
Из реестра следует взять имя программы, которую следует запускать.
waleri вне форума   Ответить с цитированием
Старый 15.12.2016, 22:24   #28
demon31
Пользователь
 
Регистрация: 17.05.2015
Сообщений: 28
Репутация: 10
По умолчанию

Цитата:
Сообщение от waleri Посмотреть сообщение
Запускать файл напрямую естественно не получится.
Из реестра следует взять имя программы, которую следует запускать.
Моих знаний не хватает чтоб понять то, что ты хочешь до меня донести.
demon31 вне форума   Ответить с цитированием
Старый 16.12.2016, 00:44   #29
waleri
Профессионал
 
Регистрация: 13.07.2012
Адрес: Нижний Новгород
Сообщений: 4,801
Репутация: 1438
По умолчанию

Нужно сделать свой ShellExecute, правда задача эта весьма нетривиальна.
waleri вне форума   Ответить с цитированием
Старый 16.12.2016, 12:07   #30
demon31
Пользователь
 
Регистрация: 17.05.2015
Сообщений: 28
Репутация: 10
По умолчанию

Цитата:
Сообщение от waleri Посмотреть сообщение
Нужно сделать свой ShellExecute, правда задача эта весьма нетривиальна.
.-.
demon31 вне форума   Ответить с цитированием
Ответ



Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
отследить разбегание Sashenka1 Общие вопросы Delphi 0 04.04.2016 17:40
Отследить ошибку LuxMi C# (си шарп) 5 01.02.2013 09:25
Отследить программу Михаил Юрьевич Общие вопросы Delphi 6 09.09.2012 17:06
Отследить проблему giarmul JavaScript, Ajax 0 09.08.2010 20:49
Отследить стринги san72 Общие вопросы Delphi 2 30.05.2009 17:40




08:13.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

купить трафик


как улучшить посещаемость, а также решения по монетизации сайтов, видео и приложений

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru