Ešte som uvažoval nad tým že si vytvorím nový program v c++ a do pola byte-ov si nahrám všetký aplikácie teda aj tu .net a budem im po spustení nejak posielať správy a potom cez .net budem robiť všetok ostatnú režiu ktorá sa má spraviť.
Příspěvky odeslané z IP adresy 188.112.71.–
Nad tým som uvažoval a niečo som skúšal naprogramovať v C++CLI ale robilo to nejaké ťažkosti tak som sa na to vykašlal. Problém je že na konci sa celý program nahratý do pamäti pretypuje a spustí ako odkaz na funkciu teda sa priebeh programu zastavý dokedy sa ten natívny neukončí. Preto takýto kód zrejme v .net nemôžem volať . Asi by sa to zišlo zavolať v novom thread-e vytvorenom cez winapi ale neviem či by to išlo aj tak.
No nad tým ulozením do súboru a spustením z disku ako nový proces som premýšlal ale chcel by som to spustiť z pamäte ak by sa dalo, len neviem či je to v .net možné.
Dobrý deň,
mám uložený natívny program v premennej byte [] byteArray. Potreboval by som tento program spustiť. DotNet program ulozeny v byte[] sa mi podarilo spústiť nasledovne:
public void RunProg(byte [] byteArray)
{
var program = Assembly.Load(byteArray);
var returnValue = program.EntryPoint.Invoke(null, null);
}
Dá sa nejakým spôsobom spustiť v DotNet aj natívny program ulozený v byte[] poli ?
Ďakujem.
Ďakujem. Už to ide. Potrebujem naprogramovať jednu knižnicu čo volá WinApi a skúšal som základné veci na WinForms aplikacii a nešlo mi to. Už to beží bolo to v tom linery. ďakujem.
Ahoj,
volám WinAPI funkciu v C++ CLR WinForms naslednovne
MessageBoxA(static_cast<HWND>(this->Handle.ToPointer()),"Hello World","MSG",MB_OK);
Problém mám v tom že to nejde a vyhodí mi to pri kompilacii toto:
Error 1 error LNK2028: unresolved token (0A000011) "extern "C" int __stdcall MessageBoxA(struct HWND__ *,char const *,char const *,unsigned int)" (?MessageBoxA@@$$J216YGHPAUHWND__@@PBD1I@Z) referenced in function "private: void __clrcall WinForms1::Form1::button1_Click(class System::Object ^,class System::EventArgs ^)" (?button1_Click@Form1@WinForms1@@$$FA$AAMXP$AAVObject@System@@P$AAVEventArgs@4@@Z) WinForms1.obj
Čo robím zle ?
Ďakujem
Ja som práve niečo také skúšal a spravil som si v jave program ktorý vie zobrať dve .net exečka a spraviť s nich jedno. Teda v podstate som za jedno nakopiroval druhe. Chcel by som to preto aby som si vedel spraviť inštalátor a ak by to bolo potrebné doinštalovať dalšie knižnice či komponenty z tohoto jediného súboru. Neviem ako sa to robí tak to skúšam podla seba. Môžem ti to sem hodiť a môžeš vyskúšať.
http://uloz.to/xGxEmxK1/filegrouper-rar
Ten súbor app1 nespúšťat ten druhý môžte je to len na ilustraciu. Treba otvoriť ten FileGrouper a potom vybrať tie dva súbory a zlučiť. Potom sa vytvorí subor myApp ktorý po spustení ide a sú v ňom dva programy. prvý načíta a spusťí ten druhý. Problém je iba v tom že neviem spustiť nativne exe ale na tom už pracujem. Je to kravina ale robim to len vo volnom čase