Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[Visual Basic] Dwa programy w jednym

panmati 27 Lip 2011 03:22 2149 7
  • #1 27 Lip 2011 03:22
    panmati
    Poziom 9  

    Witam, szukam i szukam, znaleźć nie mogę. Otóż robię sobie prosty narazie programik który miał uruchamiać aplikacje i ją zamykać.
    No ale wpadł mi pomysł by w pisanym programie był już załączony ten program, dodałem go do projektu (używam Visual studio) ale nie wiem jak go wywołać, obrazki do buttonów poszły gładko ale jak wywołać ten program?

    Kod: vb
    Zaloguj się, aby zobaczyć kod

    0 7
  • Pomocny post
    #2 27 Lip 2011 21:11
    markonedj
    Poziom 22  

    A więc masz w solutions dwa projekty. Główny - ustawiasz go jako startowy (klikasz prawym klawiszem myszy na nazwę projektu i wybierasz "Set as startup project".

    Projekt dodatkowy uruchamiasz w następujący sposób.
    Musisz dodać go do referencji głównego projektu - klikasz prawym na References -> Add Reference -> Projects -> tu wybierasz projekt który chcesz dołączyć.
    Następnie w pliku formy z której chcesz go wywołać dodajesz przestrzeń nazw

    Kod: vbnet
    Zaloguj się, aby zobaczyć kod

    Następnie w zdarzeniu przycisku wywołujesz którąś z form projektu.
    Przykładowy kod w głównym projekcie:
    Kod: vbnet
    Zaloguj się, aby zobaczyć kod

    0
  • #3 28 Lip 2011 03:39
    panmati
    Poziom 9  

    Super działa, jesteś wielki! Mam jeszcze jeden problem, otóż trzeci program mam jako sam plik wykonywalny i też chciał bym go mieć już zagnieżdżonego w tym jednym programie głównym tak jak to udało mi się z teksturami do przycisków(program dodany do projektu w katalogu z obrazkami/zasobami), jak takie coś osiągnąć?

    Kod: vb
    Zaloguj się, aby zobaczyć kod


    przypuszczam że to powinno jakoś tak wyglądać :
    Kod: vb
    Zaloguj się, aby zobaczyć kod

    0
  • Pomocny post
    #4 28 Lip 2011 07:09
    markonedj
    Poziom 22  

    W najprostszym wydaniu należy użyć klasy Process, która znajduje się w przestrzeni nazw System.Diagnostics.

    Kod: vbnet
    Zaloguj się, aby zobaczyć kod

    0
  • #5 28 Lip 2011 14:43
    panmati
    Poziom 9  

    bo odpalenie zewnętrznego to sprowadziłem do najprostszej postaci ;]

    Kod: vb
    Zaloguj się, aby zobaczyć kod

    Mi chodziło o to by tego exe,ka dodać do samego projektu i wkompilować w program główny tak jak to zrobiłem z obrazkiem by nie było paru plików po 10kb tylko zebrać w jeden główny 1mb.

    0
  • Pomocny post
    #6 28 Lip 2011 15:31
    markonedj
    Poziom 22  

    Nie programuje w VB więc nie znam funkcji Shell() :)

    Możesz to zrobić tak:
    Dodajesz do solution plik *.exe i go wywołujesz z kodu głównego programu

    Potem użyj opcji Publish z menu Build. To utworzy Ci instalkę głównego programu i automatycznie dołączy Ci tego exe do głównego programu.

    0
  • #7 28 Lip 2011 20:22
    panmati
    Poziom 9  

    hym to inaczej spróbuje wytłumaczyć. mam program "A" z źródłem w Visual Basic (menu główne) i program "B" skompilowany do exe,ka bez źródła (np. program notepad.exe). Efekt końcowy ma mi wyjść program "C" w którym startować będzie program "A" a po wyborze odpowiedniej opcji przełączy się na program "B". Nie wiem jak tylko go wywołać, obrazek znajdujący sie w katalogu resource obrazek.bmp wywołuje NazwaProjektu.My.Resources.Resources.obrazek i dzięki temu nie mam oddzielnego katalogu z obrazkami tylko są one już wbudowane w program i to samo chce z tym Exekiem :D

    0
  • Pomocny post
    #8 28 Lip 2011 20:31
    markonedj
    Poziom 22  

    Zewnętrzny program wkompilowany w projekt VS ? Wydaje mi się że takiego czegoś nie osiągniesz. Przynajmniej ja nie wiem jak to zrobić. Jeśli istnieje jakiś sposób też chętnie poznam.

    Po prostu dołącz zewnętrzny program do solucji, podepnij go pod odpowiednie zdarzenie korzystając z Process.Start() lub Shell(), i użyj opcji Publish do wyeksportowania projektu. To Ci połączy wszystko w całość.

    P.S. To jest jak z zewnętrznymi bibliotekami z których korzystają programy. Nie da się ich wkompilować w źródło, tylko się je dołącza do instalki, lub nakazuje użytkownikowi przed instalacją programu dograć odpowiednie dll-ki.

    0