[ Air Live @ 28.01.2008. 19:43 ] @
E ljudi,kako da isprogramiram svoj exe fajl da se otvara sam - odnosno da se pokrece ukoliko je pokrenut neki drugi program i da se moj exe fajl zatvara kada se taj drugi program zatvori.

Konkretno :
Želim pokrenuti svoj exe fajl u kojem cu isprogramirati to, a on će se nalaziti na putanji C:\Program Files\Program.exe
Ali ukoliko je pokrenut program C:\Program Files\PokrenutiProgram.exe

- Znači zelim da mi se pokrece i zatvara sam moj program ukoliko ja pokrenem neki drugi program,tj ukoliko je taj drugi program aktivan u Processes !

Pozdrav !
[ rgdrajko @ 13.04.2008. 22:58 ] @
Evo resenja na brzinu:

Code:
Option Explicit

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As Any, ByVal lpWindowName As Any) As Long
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Private Const WM_QUIT = &H12

Public StartovanJeExeProgram As Boolean

Private Sub Command1_Click()
    End
End Sub

Private Sub Timer1_Timer()
    Dim NatpisProzora As String
    Dim imeexeprograma As String
   
    
    NatpisProzora = "Fabricki serijski broj diska"
    
    If Trazi(NatpisProzora) = True Then
        Label1.Caption = "Postoji ime prozora " & NatpisProzora & " u Task manageru"
        If StartovanJeExeProgram = False Then
            Shell "C:\proba\Upozorenje.exe", vbNormalFocus
            StartovanJeExeProgram = True
        End If
        Label2.Caption = "Pokrenut je i program Upozorenje.exe"
        Else
            Label1.Caption = "Ne postoji prozor " & NatpisProzora & " u Task manageru"
            Label2.Caption = ""
            
    End If
End Sub

Public Function Trazi(ImeProzora) As Boolean
    Dim sTitle As String
    Dim iHwnd As Long
    Dim ihTask As Long
    Dim iReturn As Long
    
    sTitle = ImeProzora
    iHwnd = FindWindow(0&, sTitle)
    
    If iHwnd = 0 Then
        Trazi = False
        Else
            Trazi = True
    End If
    
    
    If StartovanJeExeProgram = True Then
        If Trazi = False Then
            'Pri zatvaranju prozora "Fabricki serijski broj diska"  zatvaranje i prozora Upozorenje!
            sTitle = "Upozorenje!"
            iHwnd = FindWindow(0&, sTitle)
            iReturn = PostMessage(iHwnd, WM_QUIT, 0&, 0&)
            
        End If
    End If
    
End Function
[ Shadowed @ 13.04.2008. 23:34 ] @
Ok, ovo je vec vrlo cudan zahtev pre svega (pa posle i ostalo). Mislim da smo na nekoj temi vec objasnjavali to.
Elem, da bi uradio to sto hoces, vec mora jedan program da ti bude aktivan (da bi pratio kada se pokrene taj koji pratis). Zasto onda pokretati nov program? Samo smesti kod u taj koji je stalno aktivan.
OK, sad mi pade na pamet jedna mogucnost - ako taj koji treba da se pokrene nisi ti pisao.

OK, sad ostalo :) Ovo Rajkovo resenje je polovicno, posto pokrece kada treba, ali ne zaustavlja (pod uslovom da je ispravno sve, nisam gledao detalje). Medjutim jedan detalj mi je zapao za oko, jedan šampionski detalj: If Trazi(NatpisProzora) = True Necu uopste komentarisati.
[ Eurora3D Team @ 14.04.2008. 00:35 ] @
@Rajko dobar programcic ...




[Ovu poruku je menjao Eurora3D Team dana 14.04.2008. u 15:40 GMT+1]
[ Air Live @ 14.04.2008. 13:13 ] @
Uh uh,nisam odavno bio na VB forumu,a sto se tice ovog problema,gospodin rgrajko je to sve lijepo uradio ali neradi mu opcija pri zatvaranju Project1.exe kada se on zatvara treba da zatvra i ovaj drugi exe ! a sto se tice programa,to je dodatak koji bih ja napravio na jedan program koji nema neke opcije eh sad treba kad se taj softver pokrene da otvara moj dodatak i kad se taj program zatvara da zatvara i moj dodatak za taj program,to je to,ali ja sam rjesio ovako : napraviosam jedan exe fajl koji u sebi ima funkciju shell i on poziva oba exe fajla zajedno i to je to,samo sto moram rucno zatvarati oba programa.

Ako ima bolje rjesenje prihvata.

Pozdrav forumasi !!!
[ Shadowed @ 14.04.2008. 13:19 ] @
Mozes u tom "dodatku" staviti ovaj Rajkov kod i malo modifikovati tako da zaustavi program kada nema aktivnog glavnog programa.
[ Air Live @ 14.04.2008. 14:05 ] @
Pogledat cu u toku dana njegov cod posto nemam sada vb6 na ovom komp.Ali iz prilozenog sam zakljucio da to neradi zatvaranje.

Pozdrav !