[ shpiki @ 18.05.2005. 16:42 ] @
Potrebna mi je komanda koje ce pokrenuti neki video fajl (avi, mpg, mgep...) u Windows Media Player-u.

[ mladenovicz @ 18.05.2005. 17:48 ] @
Code:

Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, _
ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

Const SW_SHOWNORMAL = 1

Private Sub Form_Load()
    ShellExecute Me.hwnd, vbNullString, "C:\SomeFile.avi", vbNullString, "C:\", SW_SHOWNORMAL
End Sub
[ shpiki @ 19.05.2005. 11:56 ] @
Meni je potrebno da program sam pronadje video fajl (avi, mpeg, mpg...)
Pravim nesto kao AutoRun za CD-ove i potrebno je da klikom na odredjeno dugme krene video (koji je definisan za to dugme)
[ nsofft @ 19.05.2005. 20:13 ] @
Koristi kod koji ti je mladenovicz dao samo umesto ovog :
Code:
Private Sub Form_Load()
    ShellExecute Me.hwnd, vbNullString, "C:\SomeFile.avi", vbNullString, "C:\", SW_SHOWNORMAL
End Sub

Stavi :
Code:

Private Sub command1_Click()
    ShellExecute Me.hwnd, vbNullString, "C:\SomeFile.avi", vbNullString, "C:\", SW_SHOWNORMAL
End Sub

Ili vec kako ti je dugme definisano.
[ shpiki @ 20.05.2005. 09:49 ] @
OK, a da li moze umesto ovog
Code:
ShellExecute Me.hwnd, vbNullString, "C:\SomeFile.avi", vbNullString, "C:\", SW_SHOWNORMAL

da stoji:
Code:
ShellExecute Me.hwnd, vbNullString, App.Path & "\Video\SomeFile.avi", vbNullString, "C:\", SW_SHOWNORMAL


I da li mora da bude *.avi, ili moze i neka druga extenzija (npr. MPG, MPEG...)???
[ nsofft @ 20.05.2005. 10:28 ] @
Trebalo bi da moze mada nisam siguran
Probaj pa ces videti:)
[ shpiki @ 20.05.2005. 10:35 ] @
OK, Moze sa App.Path, Probao sam...

P.S. Još mi je bitno da se taj video fajl pokrene u WindowsMedia Player-u!
(kao što određeni Autorun-ovi filmove pokreću u, recimo, MicroDVD Player-u, ja bih hteo da se video fajlovi pokrenuti pomocu mog Autorun-a pokrenu u WinMedia Player-u)
[ shpiki @ 20.05.2005. 16:08 ] @
Ljudi, treba mi pomoć da napravim My Own AutoRun progy!!!
Hteo sam da ga napravim, ali pošto sam početnik u VB, maaalooo(!) mi ne ide.
Problem je u tome što ne znam kako da napravim da progy izčitava podatke iz ini-ja (video sam na forumu nekoliko pitanja na ovu temu, ali mi nikako nije jasno kako to da napravim).
Drugi problem je što bih ja da napravim AutoRun koji će video fajlove pokretati u WinMediaPlayer-u...
(ideja je da progy koristi to što svaki Windows ima instaliran WinMediaPlayer, pa da tako pokreće fajlove...PROBLEM!)

Znači, trebaju mi kodovi za:
1) Izčitavanje podataka iz ini-ja;
2) Pokretanje video fajlova (imam neke kodove od Mladenovic_ Z-a, ali to nije ono mi treba);
3)Video fajl mora(!) biti pokrenut u WinMediaPlayer-u

*** Kao što ostali AutoRun programi pokreću video fajl (film, najčešće) u npr. MicroDVD Player-u (kod njih se player nalazi direktno na CD-u), ja bih da moj program pokrene video fajlove u WinMediaPlayer-u (koji je instaliran na compu)

Ako neko zna kako ovo da uradim (i hoće da mi kaže i pomogne) molim ga da mi to objavi na ovom forumu!!!

HVALA!!!
[ shpiki @ 20.05.2005. 16:12 ] @
Da, još nešto...
Što se tiče koda koji su mi da li MladenovicZ i nsofft ::>
Code:

ShellExecute Me.hwnd, vbNullString, "C:\SomeFile.avi", vbNullString, "C:\", SW_SHOWNORMAL 

to je OK i funkcioniše (probao sam da ubacim App.Path & "\SomeFile.avi"), ali interesuje me da li je moguće da ovo
Code:

"C:\SomeFile.avi" 

program sam izvuče iz ini-ja?? Ako je moguće, KAKO GLASI CODE??
[ Marko_L @ 20.05.2005. 17:45 ] @
1.) Za pisanje i čitanje iz ini fajla, pogledaj ovo
http://www.elitesecurity.org/tema/9629/
http://www.elitesecurity.org/tema/85101/
http://www.elitesecurity.org/tema/26410/

2.) i 3.) Za puštanje u Media Playeru
Code:
Shell "C:\Program Files\Windows Media Player\wmplayer.exe /Play C:\SomeFile.avi"

Naravno, putanja do WMPlayera mora biti ta koja je napisana, pa to može predstavljati problem.Trebao bi da pogledaš funkcije za pronalaženje putanje Program Files foldera.O tome i još nekim stvarima u vezi putanja imaš ovde
http://www.elitesecurity.org/tema/60048/

Onaj kod koji ti je mladenovicz ostavio otvara fajl u default playeru što ti je možda i najbolja solucija.
[ shpiki @ 20.05.2005. 19:10 ] @
Putanja do WMPlayera nije problem, frka nastaje kada progy treba da otvori fajl...
Hocu da ga napravim tako da se samo editovanjem ini-ja menja i funkcija programa
(promenom vrednosti za svaki Button, menja se i njegova uloga)
Dakle, potrebno mi je da program cita putanju do fajla iz ini-ja, znači da ono
Code:

"C:\someFile.avi" 

ShellExecute Me.hwnd, vbNullString, < OVO ČITA IZ INI-ja >, vbNullString, "C:\", SW_SHOWNORMAL 

program sam procita iz ini-ja (za to cu mu odrediti posebno koja linija je za fajl)
[ Marko_L @ 20.05.2005. 20:20 ] @
Pa, ja ti dadoh 3 teme na kojima imaš detaljno objašnjenje kako upisati ili pročitati nešto iz ini fajla.Jesi li ih barem pogledao ?
[ Shadowed @ 20.05.2005. 20:24 ] @
I sta je tu problem? Napravi promenljivu tipa String i u nju procitaj iz .ini fajla putanju. Posle samo umesto putanje u ShellExecute napisi ime promenljive.
[ shpiki @ 21.05.2005. 10:50 ] @
E ljudi, daj da malo olakšamo stvar... Neću da koristim .ini, koristiću neki .txt fajl.
Probao sam sa promenljivom (definisao sam promenljivu sa FILM) i samo mi pokrene WMPlayer, UOPŠTE NE UČITAVA FAJL!!! Može li neko da da najprostiji primer kako da pročitam red iz txt fajla(i da je definišem nekom promenljivom) i da u Shell ubacim tu promeljivu...
Ja sam probao ovako:
Code:

Private Sub Command1_Click()
Dim FILM As String
Open App.Path & "\test.txt" For Input As #1
Do While Not EOF(1)
Line Input #1, FILM
Shell "C:\Program Files\Windows Media Player\wmplayer.exe /Play FILM", vbNormalFocus
Loop
Close #1
End Sub 

Pogrešio sam, to je sigurno(čim neće da otvori fajl) samo ne zne gde?
[ Aleksandar Ružičić @ 21.05.2005. 11:43 ] @
pokusaj ovako:
Code:

Private Sub Command1_Click()
Dim FILM As String
Open App.Path & "\test.txt" For Input As #1
Do While Not EOF(1)
Line Input #1, FILM
Shell "C:\Program Files\Windows Media Player\wmplayer.exe /Play " & FILM, vbNormalFocus
Loop
Close #1
End Sub
[ shpiki @ 21.05.2005. 12:14 ] @
OK, To je TO!! RADI!
[ shpiki @ 21.05.2005. 19:46 ] @
Dobro, sad ćete reći da ni sam ne znam šta hoću...
1) Probao sam sa *.txt fajlom, i radi kada upišem kompletan PATH (C:\Video\NekiFajl.mpg), ali NEĆE da radi kada koristim App.Path
(App.Path & "\Video\NekiFajl.mpg")! Kako ovo da napravim???

2) Malo sam experimentisao sa *.ini-jem i svidelo mi se kako radi... [ ] Sad bih probao to isto da izvedem sa *.ini-jem, ali problen nastaje kada treba da zamenim Path sa promenljivom...
Probao sam ovako:
Code:


Private Sub Form_Load()
    Fajl$ = "C:\INI\Player.ini"
    WriteProfile "Dugme1", "Naziv", "Pusti film", Fajl$
    WriteProfile "Dugme1", "Film", "C:\Autorun\Video\Killer.avi", Fajl$
    Command1.Caption = GetProfile("Dugme1", "Naziv", "No Data", Fajl$)
End Sub

Private Sub Command1_Click()
    Dim Film As String
    Film = GetProfile("Dugme1", "Film", "No Data", Fajl$)
    Shell "C:\Program Files\Windows Media Player\wmplayer.exe /Play " & Film, vbMaximizedFocus
End Sub 


INI fajl mi izgleda ovako:
[Dugme1]
Naziv=Pusti film
Film=C:\Video\Killer.avi


VIDI li neko problem, i ako vidi (a i ako ne vidi ) neka mi pomogne!!

P.S. da li može ovo "C:\Video\NekiFajl.mpg" da se zameni sa
App.Path & "\Video\NekiFajl.mpg"???
[ Aleksandar Ružičić @ 21.05.2005. 22:52 ] @
ovako, napravi ovakav ini:
Code:

[Dugme1]
Naziv=Pusti Film
Film=\Video\Killer.avi

i isprobaj ovaj kod:
Code:

Dim Fajl As String
Private Sub Form_Load()
    Fajl = App.Path & "\Player.ini"
    Command1.Caption = GetProfile("Dugme1", "Naziv", "No Data", Fajl)
End Sub

Private Sub Command1_Click()
    Dim Film As String
    Film = App.Path & GetProfile("Dugme1", "Film", "No Data", Fajl)
    Shell "C:\Program Files\Windows Media Player\wmplayer.exe /Play " & Film, vbMaximizedFocus
End Sub

Player.ini mora da ti se nalazi u istom folderu sa tvojim programom i taj folder (u kome se oni nalaze) mora da ima podfolder "Video" koji ima fajl "Killer.avi" :p uostalom snacices se...

poz
[ shpiki @ 22.05.2005. 21:33 ] @
Vec sam provalio u čemu je stvar, ali u svakom slučaju HVALA TI!!!
Ja sam napravio ovako:
Code:

Private Sub Command1_Click()
Fajl$ = App.Path & "\Player.ini"
Shell "C:\Program Files\Windows Media Player\wmplayer.exe /Play" _
& App.Path & "\" & GetProfile("Dugme1", "Pokreni", "No Data", Fajl$), vbMaximizedFocus
End Sub

Private Sub Form_Load()
Fajl$ = App.Path & "\Player.ini"
Me.Caption = GetProfile("Opšte", "Naslov", "No Data", Fajl$)
Command1.Caption = GetProfile("Dugme1", "Naziv", "No Data", Fajl$)
End Sub


Sad imam drugi problem (bilo bi čudno da nemam)...
Namestio sam:
Code:

Private Sub Form_Load()
Image1.Picture = LoadPicture(App.Path & "\" & GetProfile("Opšte", "Slika", "", Fajl$))
End Sub

Problem je što mi prikazuje grešku kada je mesto pored slike prazno(Slika= <nema ništa> u ini-ju)... Prikazuje Path not found!
Kako da namestim da kada putanja(i fajl) kod slike nisu upisani, u Image1 ne bude slika?
[ Marko_L @ 22.05.2005. 22:06 ] @
Pa logično da ti vraća Path not found, kad mu daješ App.Path + "\" + prazan string, pa dobiješ nešto tipa "C:\Player\" i naravno nigde fajla :)
Stavi jednu prostu proveru ima li nečega u ini-ju pa ako ima onda učitaj.Nešto ovako
Code:
Private Sub Form_Load()
If GetProfile("Opšte", "Slika", "", Fajl$) = "" Then
Image1.Picture = LoadPicture(None)
Else
Image1.Picture = LoadPicture(App.Path & "\" & GetProfile("Opšte", "Slika", "", Fajl$))
End If
End Sub
[ shpiki @ 22.05.2005. 23:16 ] @
OK, shvatio...
Imam još jedan problem... Kako bih mogao da namestim da se klikom na određeno dugme(Command Button) pojavi određena (ista forma za svako dugme samo sa različitim Captionom) forma i da Caption te forme bude ime (name) kliknutog dugmeta???
Znam kako se prikazuje forma:
Code:

'Recimo za Dugme1
Private Sub Dugme1_Click()
Form4.Show, Me
'e sad bi trebao da se prikaže Caption forme kao ime kliknutog dugmeta
Form4.Caption = Dugme1.Name
End Sub

Da li moram za svako Dugme da pravim posebno na Click Event da se Caption forme menja ili je moguće napraviti uopšteno za svako Dugme npr. BILO koje Dugme (na Click event) da Caption forme bude ime tog dugmeta
Code:

Private Sub BiloKojeDugme_Click()
Form4.Caption = <kliknuto dugme.Name>
End Sub

P.S. Inače, imam 10 takvih Dugmića(zovu se Dugme1, Dugme2... Dugme10) i glupo je da za svako dugme definišem da na Click Event caption forme bude ime samog dugmeta...
[ Aleksandar Ružičić @ 23.05.2005. 00:05 ] @
zasto je glupo? :D
samo da vidis kod programa koji sad pravim...

mozes da napravis control array:

postavi na formu jedno dugme (recimo Command1), onda ga kopiraj (desni klik pa Copy) i pastuj na formu (opet desni klik, al sad na formu, pa Paste) i kad te bude pitao oces li da napravis control array ti kazi yes, klikni dvaput na bilo koje dugme, otvorice ti se Code window, e sad samo treba da otkucas ovaj kod:
Code:

Private Sub Command1_Click(Index As Integer)
  Form4.Show
  Form4.Caption = Command1(Index).Caption
End Sub
[ shpiki @ 23.05.2005. 14:58 ] @
Umesto CAPTION:
Code:

Private Sub Command1_Click(Index As Integer)
  Form4.Show
  Form4.Caption = Command1(Index).Caption
End Sub

meni treba NAME ::>
Code:

Private Sub Command1_Click(Index As Integer)
  Form4.Show
  Form4.Caption = Command1(Index).Name
End Sub

Hoću NAME da bih mogao da ga iskoristim za INI:
Code:

Private Sub Command1_Click()
  Fajl$ = App.Path & "\Player.ini"
  Form4.Show
  Form4.Caption = Command1.Name
  WriteProfile Form4.Caption, "Naslov","ništa",Fajl$
  'sad dolazi dalje kod
  ':)
  .
  .
  .
End Sub