Как открыть Windows Explorer, когда я нажимаю кнопку?

Даже без Отражателя, люди делали это целую вечность. В основном Вы смотрите приложение с отладчиком - что-то как WinDBG сделает - и затем узнает, когда проверка лицензий произойдет. Вы наблюдаете возвращаемое значение, и затем Вы просто исправляете приложение для перехода непосредственно ко "всей хорошей" проверке.

я рекомендовал бы все, что люди отправили выше. Просто необходимо понять, что это - кошка и игра мыши, и если доход от инвестиций будет стоящим того. Если у Вас есть пользователи, которые не пытаются играть система, то что-то простое может сделать. Если у Вас есть что-то, где взламывание является необузданным, то необходимо будет посмотреть на различные стратегии и пойти оттуда.

Вы не должны перекомпилировать приложение для исправления его - много двоичных инструментов патча существует там. И это не остановит Ваших самых решительных взломщиков, если будет достаточно денег, которые будут сделаны.

7
задан mjn 23 June 2016 в 05:17
поделиться

4 ответа

Что ж, если вам нужно выбрать какой-то конкретный файл в проводнике, у меня есть следующая функция, которую я использую

procedure SelectFileInExplorer(const Fn: string);
begin
  ShellExecute(Application.Handle, 'open', 'explorer.exe',
    PChar('/select,"' + Fn+'"'), nil, SW_NORMAL);
end;

, и вы можете ее вызвать:

SelectFileInExplorer('C:\Windows\notepad.exe');

РЕДАКТИРОВАТЬ: Как уже упоминалось, необходимо добавить ShellAPI в ваш список использования

26
ответ дан 6 December 2019 в 04:52
поделиться

Основываясь на том, что сказал Мейсон Уилер: вы также можете передать каталог в качестве аргумента, чтобы окно открывалось в расположение не по умолчанию:

uses
  ShellAPI;

...

  ShellExecute(Application.Handle,
    nil,
    'explorer.exe',
    PChar('c:\'), //wherever you want the window to open to
    nil,
    SW_NORMAL     //see other possibilities by ctrl+clicking on SW_NORMAL
    );
11
ответ дан 6 December 2019 в 04:52
поделиться

Согласно http://msdn.microsoft.com/en-us/library/bb762153%28VS.85%29.aspx , ShellExecute также поддерживает 'explore 'verb, который' исследует 'папку, указанную lpFile, поэтому это должно работать:

ShellExecute(Application.Handle, 'explore', '.', nil, nil, SW_NORMAL);
2
ответ дан 6 December 2019 в 04:52
поделиться

Попробуйте следующее:

ShellExecute(Application.Handle, nil, 'explorer.exe', nil, nil, SW_NORMAL);

Вам нужно будет добавить ShellAPI в предложение uses .

8
ответ дан 6 December 2019 в 04:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: