Как добавить exe файл в проект c

от admin

Запустите Exe-файл как встроенный ресурс в C #

У меня есть сторонний EXE. Мне просто нужно запустить это из моего приложения С#.

Моя основная цель — авторское право на то, что сторонний исполняемый файл из моего файла С#..

Есть ли лучший способ сделать это?

Как я могу это сделать?

3 ответа

  • Сначала добавьте внедренный исполняемый файл в файл ресурсов в ваш существующий файл ресурсов, если у вас его нет, вам нужно [добавить существующий элемент в свой проект и выбрать файл ресурса]
  • Когда вы добавляете исполняемый файл на страницу редактора ресурсов, выберите его как [Files], затем найдите свой внедренный файл excutable и добавьте его. Например, файл с именем «subexe.exe», тогда в файле cs c конструкцией ресурсов будет добавлен следующий код:

добавьте метод доступа к вашему ресурсу, который также очень прост, просто добавьте следующий код в файл cs вашего конструктора ресурсов

В вашем основном исполняемом исходном коде добавьте следующее, чтобы прочитать ресурс и записать его в новый файл

Ресурсы сборки

Ресурсы сборки в приложении WPF работают, по сути, точно так же, как и в других приложениях .NET. Базовая концепция заключается в добавлении файла к проекту, чтобы среда Visual Studio могла встроить его в скомпилированный файл приложения EXE или DLL. Главное отличие между ресурсами сборки WPF и ресурсами в других приложениях связано с системой адресации, которая используется для ссылки на них.

Ресурсы сборки также еще называют двоичными ресурсами, потому что они встраиваются в скомпилированную сборку (EXE- или DLL-файл проекта) в виде «непрозрачного» большого двоичного объекта.

Именно с использованием двоичных ресурсов всякий раз, когда компилируется приложение, все XAML-файлы в проекте преобразуются в более удобные для синтаксического анализа BAML-файлы. Далее эти BAML-файлы вставляются в сборку в виде отдельных ресурсов. Собственные ресурсы добавляются так же легко.

Добавление ресурсов

Для создания собственных ресурсов следует добавить в проект нужный файл и установить для него свойство Build Action (Действие при построении) (в окне Properties (Свойства)) значение Resource (Ресурс). К счастью, больше ничего делать не понадобится.

Для более удобной организации можно создать в проекте подпапки (щелкнув правой кнопкой мыши в окне Solution Explorer (Проводник решений) и выбрав в контекстном меню пункт Add —> New Folder (Добавить —> Новая папка)) и применять их для упорядочивания различных типов ресурсов.

Приложение с ресурсами сборки

Ресурсы, добавляемые подобным способом, легко обновлять. Все, что для этого необходимо — заменить файл и скомпилировать приложение заново. Например, в случае создания такого проекта, как был показан на рисунке, все новые файлы можно было бы скопировать в папку Images с помощью проводника Windows. Поскольку содержимое файлов, входящих в состав проекта, заменяется, выполнять какие-то специальные действия в Visual Studio не требуется (за исключением фактической компиляции приложения).

Однако существует несколько вещей, которые не следует делать для того, чтобы использовать ресурсы сборки успешно:

Не следует устанавливать для свойства Build Action значение Embedded Resource (встроенный ресурс). Хотя все ресурсы сборки являются встроенными ресурсами по определению, действие Build Action приводит к размещению двоичных данных в более трудном для доступа месте. Поэтому для приложений WPF нужно всегда использовать просто значение Resource (Ресурс).

Не следует применять доступную в окне Project Properties (Свойства проекта) вкладку Resources (Ресурсы). WPF не поддерживает такой тип URI-идентификаторов ресурсов.

Как вставить файлы в проект и их запускать?

tatu

Есть программа (пара dll и exe )
Надо сделать авторизацию (обычная форма, подключение к бд и проверка) и если она прошла, то открывать 1 программу. По этому как то хочу её в пихнуть в проект и если аутентификация будет пройдена запускать, а то без этого любой человек сможет без аутентификации её запустить. Как то так

Вопрос в том, насколько сильно вы хотите защититься от возможности запуска этой программы без аутентификации.

Я так понимаю, вам бы хотелось, чтобы все файлы вашей сторонней программы каким-то образом бы оказались «встроены» в вашу программу. Это возможно — вы всегда можете просто добавить файлы в бинарном виде как ресурсы. Но в конечном счете, т.к. вы пишите на шарпе, злоумышленник может изучить исходный код вашей программы для показа формы авторизации, понять, как вы из нее запускаете стороннее приложение и запустить его.

Если же вам нужна «защита от дурака», то просто поменяйте расширение у exe-файла — обычный юзер не догадается, что это приложение и его можно запускать, а вам это не помешает выполнят запуск этого приложения.

Embedding an external executable inside a C# program

How do I embed an external executable inside my C# Windows Forms application?

Edit: I need to embed it because it’s an external free console application (made in C++) from which I read the output values to use in my program. It would be nice and more professional to have it embedded.

Second reason is a requirement to embed a Flash projector file inside a .NET application.

Peter Mortensen's user avatar

Josh's user avatar

8 Answers 8

Simplest way, leading on from what Will said:

    Add the .exe using Resources.resx

Here is some sample code that would roughly accomplish this, minus error checking of any sort. Also, please make sure that the license of the program to be embedded allows this sort of use.

Читать:
Чем разрезать cue на треки windows 10

Похожие статьи