Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

Potreban otvoren kod u C++ za program koji bi pokretao fajl na CD-u

  • 16 odgovora
  • 5.668 pregleda

Najnovija ↓

Potreban otvoren kod u C++ za program koji bi pokretao fajl na CD-u 26.04.2004. u 12:10 · pre 274 meseca #1
Da li neko ima otvoren kod u C++ za program koji bi pokretao neki fajl (npr *.swf)
koji nije *.EXE a nalazi se na CD-u.

Hvala unaprijed.

Za moderatore

Zamolio bih moderatore foruma da mi objasne zasto se moje poruke brisu.

Ovu poruku postavljam drugi put samo zato sto moderatoru passengeru nije bilo jasno sljedece:

"Kakav fajl? Format (elf, a.out...) ili tip (zip, doc, pdf, ps...)?"

Razumijem da sam bio nejasan (pocetnik sam), ali mi nije jasno zasto je poruka morala biti obrisana samo zbog toga.

Posto se ovo ne desava prvi put, volio bih da znam da li su moje poruke iz nekog razloga nepozeljne na ovom forumu.
Re: Potreban otvoren kod u C++ za program koji bi pokretao fajl na CD-u 26.04.2004. u 16:34 · pre 274 meseca #2
Naravno, da tvoje poruke nisu nepozeljne na ovom forumu, sto se mene tice. Medjutim, kako veoma mali broj clanova foruma (u stvari mogu se izbrojati na prstima jedne ruke) poseduju sposobnost telepatije, odnosno citanja misli, morao si da nevedes vise detalja umesto da ocekujes da se ti clanovi, sa pomenutom sposobnoscu, jave i umesto tebe dopisu pitanje (u obrisanoj poruci nisi naveo "*swf"). Forma pitanja, nema veze s tim da li si pocetnik ili nisi (u kojoj god oblasti da si mislio). Usput, koliko ja znam, tebi sam obrisao samo jednu poruku.
Sto se tice ove rasprave na ovom forumu, ona se ovde se ovde zavrsava. Zamolio bih te da ako imas bilo kakvo pitanje u vezi sa istom, napises privatnu poruku. Hvala.
Re: Potreban otvoren kod u C++ za program koji bi pokretao fajl na CD-u 27.04.2004. u 01:01 · pre 274 meseca #3
S obzirom na "pitanje". Na primer za "pokretanje" *.swf fajlova, postoje programi koji su "otvorenog kooda", npr. "Mozilla" (grubo). Mada je potreban "flash plugin", bez problema otvara sve *.swf fajlove na CD-u, a takodje (za ne verovati) "pokrece" i *.html fajlove, koji su takodje, na CD-u.
Re: Potreban otvoren kod u C++ za program koji bi pokretao fajl na CD-u 06.05.2004. u 13:18 · pre 273 meseca #4
Khm i na Windows-u i na GNU/Linux-u je situacija maltene ista. Ako je taj tip fajlova registrovan MIME tip onda se pokrece tzv. default viewer kad se pokusa otvaranje fajla. Dovoljno je u autorun.inf (na Linux-u postoji vise "resenja") stavis "open" tog fajla i on ce se pokrenuti.

Slazem se u potpunosti sa gospodinom "passenger" u vezi kritika. Nisi nam dao dovoljno podataka, ovo gore sto sam rekao sam samo nagadjao.
Evo sta konkretno nisi rekao - da li zelis fajlove da "otvoris"/pokrenes iz neke svoje C/C++ aplikacije? Ako je odgovor DA, onda ovo gore resenje se pretvara u neko drugo - tada koristis ShellEx ili *exec*() ili system() da bi "pokrenu" fajl...
Potpis
Dejan Lekic
software engineer, MySQL/PgSQL DBA, sysadmin
Re: Potreban otvoren kod u C++ za program koji bi pokretao fajl na CD-u 13.05.2004. u 19:18 · pre 273 meseca #5
Citat:
leka:
Khm i na Windows-u i na GNU/Linux-u je situacija maltene ista. Ako je taj tip fajlova registrovan MIME tip onda se pokrece tzv. default viewer kad se pokusa otvaranje fajla. Dovoljno je u autorun.inf (na Linux-u postoji vise "resenja") stavis "open" tog fajla i on ce se pokrenuti.

Slazem se u potpunosti sa gospodinom "passenger" u vezi kritika. Nisi nam dao dovoljno podataka, ovo gore sto sam rekao sam samo nagadjao.
Evo sta konkretno nisi rekao - da li zelis fajlove da "otvoris"/pokrenes iz neke svoje C/C++ aplikacije? Ako je odgovor DA, onda ovo gore resenje se pretvara u neko drugo - tada koristis ShellEx ili *exec*() ili system() da bi "pokrenu" fajl...


Obzirom da autorun.info u Windowsu može da pokrene samo neki *.exe fajl (valjda ne grešim), a meni je potrebno da se samim ubacivanjem CD-a pokrene *.swf datoteka, pretpostavljam da treba napisati programčić koji treba da pokrene *.swf datoteku.

Znači:

- autorun.inf pokreće *.exe fajl
- *.exe fajl pokreće *.swf datoteku.

Sad mene interesuje kako u C++ napisati pomenuti programčić, tj. kako ću koristiti "ShellEx ili *exec*() ili system() da bi "pokrenuo" fajl"?

Hvala unapred.
Re: Potreban otvoren kod u C++ za program koji bi pokretao fajl na CD-u 13.05.2004. u 20:05 · pre 273 meseca #6
Zar nije dovoljno napraviti autorun.inf u kome stoji ime nekog .exe programa dok datoteka o kojoj je reč stoji kao parametar:

run=program.exe datoteka.swf

Ne razumem se u windowse pa ne znam kako tačno treba da izgleda linija, ali deluje logično...

f
Re: Potreban otvoren kod u C++ za program koji bi pokretao fajl na CD-u 15.05.2004. u 19:33 · pre 273 meseca #9
Gresis - mozes otvoriti bilo sta cija je ekstenzija registrovana - otvaranjem .html fajla na primer startuje se DEFAULT HTML viewer, uglavnom Internet Exploder...

Citat:
Pazarac:
Obzirom da autorun.info u Windowsu može da pokrene samo neki *.exe fajl (valjda ne grešim)

Potpis
Dejan Lekic
software engineer, MySQL/PgSQL DBA, sysadmin
Re: Potreban otvoren kod u C++ za program koji bi pokretao fajl na CD-u 17.05.2004. u 10:36 · pre 273 meseca #11
Citat:
leka:
Gresis - mozes otvoriti bilo sta cija je ekstenzija registrovana - otvaranjem .html fajla na primer startuje se DEFAULT HTML viewer, uglavnom Internet Exploder...




Probah... ako u autorun.inf stavim bilo sta osim exe fajla dobijam samo poruku:

E:\ is not valid Win32 application.
Re: Potreban otvoren kod u C++ za program koji bi pokretao fajl na CD-u 20.05.2004. u 17:59 · pre 273 meseca #15
Posto ti niko nije konkretno pomogao pokusacu ja.
Pogledaj .ISO file unutar .ZIP arhive u attachment-u.
Naci ces preradjen VS6.0 C++ Win32 "Hello World" project - start.exe, autorun.inf koji pokrece isti pri ubacivanju CDa, default ikonu za CD koja se prikazuje u Explorer-u, .SWF film i source od start.exe spakovan u .ZIP file.
Da bi bio u mogucnosti da prikazes .SWF file, nije obavezno da postoji registrovana
aplikacija za otvaranje .SWF file-ova, dovoljno je da postoji aplikacija koja moze da
otvori .SWF file - iniciranje otvaranja .SWF fajla se moze postici prosledjivanjem
odgovarajucih command line parametara. U primeru .SWF file otvara Internet Explorer (iexplore.exe), kome se kao command line parametri prosledjuje params = "-k file://path_do_swf_file_a\swffile.swf".
-k je switch za kiosk mode - fullscreen.
( ShellExecute(NULL, "open", "iexplore", params, NULL, SW_SHOW); )

Sve ovo moze da radi ako je instaliran Macromedia-in Flash plugin.
Start.exe je budzevina ali radi.

Ako ne zelis da zavisis od mogucnosti IE da otvori .SWF, ja strongly suggest da,

ako si u mogucnosti, otvoris .SWF file jednim od Flash Player-a, i konvertujes ga u
.EXE file sa ugradjenim Flash Projector-om. Jedino sto ti je potrebno tada je autorun.inf file sa sledecim sadrzajem:

[autorun]
open = swffile.exe
Potpis
O_o
Re: Potreban otvoren kod u C++ za program koji bi pokretao fajl na CD-u 20.05.2004. u 18:56 · pre 273 meseca #16
Jedna zanimljivost:
Ubacite u obican "Hello World" projekat, na pocetku WinMain() :
MessageBox(NULL, GetCommandLine(), "Test", MB_OK);
Ako startujete dobijenu aplikaciju (hello.exe npr.), komandna linija koja ce biti prikazana je uokvirena znacima navoda: "D:\Kesa\hello.exe";
Ako sad taj (hello.exe) fajl, zajedno sa autorun.inf fajlom:

[autorun]
open = hello.exe

snimite na CD, ili pak namestite image file (UltraISO) koji cete ubaciti u neki virtual CD program (Daemon Tools), nakon autostarta komandna linija koja ce biti prikazana u MessageBox-u NECE biti enkapsulirana znacima navoda M:\hello.exe.

Da li neko moze da objasni zbog cega dolazi do ovog fenomena?
Primer iz proslog posta (code - dole) je "podesen" da radi kada se ucitava sa CDa pri autostartu.
Za prikaz .SWF fajla startom sa HDD mora se odstraniti vodeci znak navoda ".

Code:

    #define PARAMS "-k file://"
    #define SWFNAME "film.swf"
    ...

    char path[MAX_PATH];
    char params[MAX_PATH*2];
    
    strcpy(path, GetCommandLine());
    for(int j = strlen(path); j>0; j--)
        if(path[j] == '\\')
            break;
    path[j+1] = 0;
    sprintf(params, "%s%s%s", PARAMS, path, SWFNAME);
    ShellExecute(NULL, "open", "iexplore", params, NULL, SW_SHOW);



Ispravka: Mozda je bolje:
for(int j = strlen(path) - 1; j > 1 ; j--) i sl. ; efektivno se ne dobija na nicemu
Potpis
O_o
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme