Šta je novo?

Auto Play

de_witch

Čuven
Učlanjen(a)
10.03.2002
Poruke
13
Poena
604
O.K. Molim programere da mi pomognu. U cemu bih mogao da napisem program autoplay za multimedijalni disk. tipa napravim prezentaciju bacim na CD i napravim sitan (ali boom dinamitan) autoplay koji ce da pokrene prezentaciju pri ubacivanju CD-a.
 
Nisam bas najbolje razumeo pitanje. Da li ti treba samo programce koje ce da pokrene vec gotovu prezentaciju ili prezentaciju hoces da pises u nekom programskom jeziku:confused:.

Ako je prezenacija vec gotova, i ako je u pitanju .exe fajl, dovoljno je napraviti odgovarajuci autorun.inf fajl u nekom tekst editoru, a ako je u pitanju html prezentacija, potreban je mali program koji ce pozvati browser i otvoriti tu stranicu. Ni u ovom slucaju ne treba da pises program, jer imas milion programcica na internetu koji ce ti to uraditi, a i ja sam pisao nekoliko.

Ako hoces da "programiras" prezentaciju, u obzir dolaze (od poznatijih okruzenja) samo Visual C++ i Delphi, jer samo oni mogu da naprave potpuno samostalni .exe fajl koji ne zahteva instalaciju.

A uvek mozes da iskoristis i, recimo, Autoplay Menu Studio Pro u kojem mozes vizuelno da sastavis prezentaciju, a on se sam pobrine oko automatskog startovanja.
 
OK u pitanju je html, ako nije tesko napisati takvo programce reci mi sta je najbolje koristiti da ga napisem, a u suprotnom gde mogu daih nadjem. zahvaljujem na pomoci
 
"Ako hoces da "programiras" prezentaciju, u obzir dolaze (od poznatijih okruzenja) samo Visual C++ i Delphi, jer samo oni mogu da naprave potpuno samostalni .exe fajl koji ne zahteva instalaciju"??
A sta je sa registrovanjem dll-ova ???
 
Pazi, ako ne zelis mnogo da se udubljujes u programiranje vec ti je hitno potreban autostart CD-a razmisli o koriscenju gotovih resenja, recimo AutoPlay Menu Studio 3. Program je zaista dobar, moguce je upisivanje u registry itd itd. Svaka preporuka.
 
Aladin je napisao(la):
A sta je sa registrovanjem dll-ova ???

Veruj mi, mogu se javiti razni problemi kada se "u letu" registruju dll-ovi pri pokretanju CD-a. U zavisnosti od verzije Windows-a i od toga koje su aplikacije/dll-ovi instalirani, to moze da radi bez problema, a moze i da ne radi uopste.

A kako si ti mislio da registrujes dll-ove? Iz svog programa ne mozes, jer ti sam program nece raditi ako dll-ovi vec nisu instalirani. Znaci, treba da pises neki batch fajl koji ce ti registrovati dll-ove, pa onda pokrenuti aplikaciju, a pri tome biti dovoljno pametan da detektuje da li je dll vec registrovan, da ga ne bi vise puta registrovao.

Sve same komplikacije...
 
de_witch je napisao(la):
OK u pitanju je html, ako nije tesko napisati takvo programce reci mi sta je najbolje koristiti da ga napisem, a u suprotnom gde mogu daih nadjem. zahvaljujem na pomoci

U attachmentu je programce koje sam napisao pre par godina. Vrlo je jednostavan, samo poziva odgovarajuci program za fajl koji je naveden u parametru.

Dakle, u root CD-a stavi exec.exe i autorun.inf. U autorun.inf napisi sledece:
[code:1]
[autorun]
Open=exec.exe index.htm
Icon=icon.ico
[/code:1]
Naravno, ovo podrazumeva da na root-u CD-a postoje fajlovi index.htm i icon.ico. Ikona koja je navedena u Icon= liniji ce u My Computer-u biti prikazana kada je CD u drajvu. Kada ubacis CD, otvorice se odgovarajuci browser i bice otvorena index.htm stranica.

Ako nekoga zanima, evo i C source-a:
[code:1]
#include "stdafx.h"
#include "shellapi.h"

int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
if (32 >= (int)ShellExecute(NULL, "open", lpCmdLine, NULL,
"", SW_SHOWNORMAL))
{

}

return 0;
}
[/code:1]
 
Titanium Angel je napisao(la):
Veruj mi, mogu se javiti razni problemi kada se "u letu" registruju dll-ovi pri pokretanju CD-a. U zavisnosti od verzije Windows-a i od toga koje su aplikacije/dll-ovi instalirani, to moze da radi bez problema, a moze i da ne radi uopste.

A kako si ti mislio da registrujes dll-ove? Iz svog programa ne mozes, jer ti sam program nece raditi ako dll-ovi vec nisu instalirani. Znaci, treba da pises neki batch fajl koji ce ti registrovati dll-ove, pa onda pokrenuti aplikaciju, a pri tome biti dovoljno pametan da detektuje da li je dll vec registrovan, da ga ne bi vise puta registrovao.

Sve same komplikacije...

U principu, moglo bi uz dinamicko vezivanje dll-ova, pa da dll u svojoj initialization proceduri proveri da li su stvari registrovane. Pa ako nisu ...

Mada, slazem se da je ovo debelo komplikovanje situacije. Ima gotovih resenja do najjednostavnijeg da se u autorun sekciji potegne explorer.exe kao shell sa imenom startnog html fajla kao parametrom, pa neka shell vidi koji je browser defaultni i otvori u njemu tu index stranu. To je meni bez po muke radilo bez ikakvih dodatnih programcica (al' zato nema svoju ikonicu ;) )
 
silverglider je napisao(la):
...da se u autorun sekciji potegne explorer.exe kao shell sa imenom startnog html fajla kao parametrom, pa neka shell vidi koji je browser defaultni i otvori u njemu tu index stranu.

Vidis, toga se nikad nisam setio :)
Ali postoji barem jedna situacija u kojoj to nece raditi - ako Windows koristi neki drugi shell i explorer.exe je izbrisan. Svestan sam toga da mozda manje od 0.1% korisnika Windows-a koristi drugi shell, ali ShellExecute ce raditi bukvalno uvek, sve dok postoji WinAPI u svom trenutnom obliku. Meni licno je nekako cistije kada se dokument otvara kroz API :)

A jos jedan plus za ovo programce je sto moze da otvori svaki dokument u odgovarajucem programu, a ne samo html, mada je ovo vec udaljavanje od osnovne teme.
 
Nazad
Vrh Dno