Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Ako moze neko da mi ispise kod

[es] :: Visual Basic 6 :: Ako moze neko da mi ispise kod

[ Pregleda: 2236 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

MojeKorisnickoIme

Član broj: 306262
Poruke: 11
*.adsl-a-5.sezampro.rs.



Profil

icon Ako moze neko da mi ispise kod29.08.2012. u 00:59 - pre 95 meseci
imam problem
imam 2 aplikacije koje rade na isti port
i sad ako ukljucim prvo prvu onda kad startujem drugu izbaci mi eror port alrady open.
sad ja sam dosao do zakljucka da napravim jos jednu aplikaciju tj aplikaciju koja ce da vrsi obe funkicije

Primer

AplikacijaAAA
AplikacijaBBB
AplikacijaAAABBB

i sad ako startujem

AplikacijuAAA i posle pokusam da upalim AplikacijuBBB izbacice mi error

Ja sam mislo da odradim ovako nesto da u AplikacijiBBB dodam kod tipa

IF aplikacijaAAA is runing then close aplikacijaAAA and open apllikacijaAAABBB
I isto tako if aplikacijaBBB is runing then close aplikacijaBBB and run aplikacijaAAABBB

Sad ne znam kako to da izvedem posto nemam pojma VB poceo sam da cackam zadnja 2 dana pa sam mislio ako bi neko bio faca pa mi sastavio osnovu

 
Odgovor na temu

Marko_L
Beograd

Član broj: 20532
Poruke: 2885
*.dynamic.sbb.rs.

Jabber: Marko_L@elitesecurity.org


+826 Profil

icon Re: Ako moze neko da mi ispise kod29.08.2012. u 14:08 - pre 95 meseci
Bilo bi dobro da daš malo više detalja o tome šta pokušavaš da napraviš. Ovako, kako si ti opisao, deluje mi da se radi o lošoj arhitekturi sistema. Evo o čemu se radi. Ako već imaš aplikaciju AAABBB koja vrši obe funkcije, ne vidim zašto ti trebaju odvojene AAA i BBB aplikacije. Ako te aplikacije ipak treba da budu odvojene iz nekog razloga, onda treba da koriste i različite portove, jer taj server (ili uređaj, šta god) sa kojim komuniciraju upravo tako i zna kojoj aplikaciji, odnosno kom portu treba da vrati informaciju. Ali ti u tom slučaju ne treba nikakava AAABBB aplikacija.

Mislim, daleko od toga da to što si zamislio ne može da se izvede. Može na više načina, recimo tako što pronađeš proces u listi i zatvoriš ga. Ukucaj u google pretragu "kill process VB6" i naći ćeš gomilu jednostavnih primera, ali imaj u vidu da ovo nikako nije dobra praksa i može nastati gomila problema. Recimo, šta ako je aplikacija AAA u sred neke komunikacije ili u tom trenutku izvršava neku akciju, a ti pokreneš aplikaciju BBB, ili AAABBB nebitno ? Pa desiće se da aplikacija AAA ne obavi svoj zadatak do kraja što može dovesti do raznih grešaka na sistemu.

Dakle, daj malo više detalja o tome šta koja aplikacija treba da uradi, sa čim treba da komunicira (tvoj server, tuđ server, neki online servis...), pa ćemo da smislimo neko rešenje.
-Odracuonogakomijedrpiorazmaknicu.
-Ne rxdi mi txstxturx, kxd god hocu dx
ukucxm "x" onx ukucx "x".
-Ko kaaz e da ja neuummem da kuuca
m.
-Piše "Insert disk 3", a jedva sam i ova
dva ugurao u drajv
-Postoje samo dve osobe kojima
verujem, jedna sam ja, a druga nisi ti
 
Odgovor na temu

MojeKorisnickoIme

Član broj: 306262
Poruke: 11
*.adsl-a-5.sezampro.rs.



Profil

icon Re: Ako moze neko da mi ispise kod29.08.2012. u 14:38 - pre 95 meseci
Citat:
Marko_L: Bilo bi dobro da daš malo više detalja o tome šta pokušavaš da napraviš. Ovako, kako si ti opisao, deluje mi da se radi o lošoj arhitekturi sistema. Evo o čemu se radi. Ako već imaš aplikaciju AAABBB koja vrši obe funkcije, ne vidim zašto ti trebaju odvojene AAA i BBB aplikacije. Ako te aplikacije ipak treba da budu odvojene iz nekog razloga, onda treba da koriste i različite portove, jer taj server (ili uređaj, šta god) sa kojim komuniciraju upravo tako i zna kojoj aplikaciji, odnosno kom portu treba da vrati informaciju. Ali ti u tom slučaju ne treba nikakava AAABBB aplikacija.

Mislim, daleko od toga da to što si zamislio ne može da se izvede. Može na više načina, recimo tako što pronađeš proces u listi i zatvoriš ga. Ukucaj u google pretragu "kill process VB6" i naći ćeš gomilu jednostavnih primera, ali imaj u vidu da ovo nikako nije dobra praksa i može nastati gomila problema. Recimo, šta ako je aplikacija AAA u sred neke komunikacije ili u tom trenutku izvršava neku akciju, a ti pokreneš aplikaciju BBB, ili AAABBB nebitno ? Pa desiće se da aplikacija AAA ne obavi svoj zadatak do kraja što može dovesti do raznih grešaka na sistemu.

Dakle, daj malo više detalja o tome šta koja aplikacija treba da uradi, sa čim treba da komunicira (tvoj server, tuđ server, neki online servis...), pa ćemo da smislimo neko rešenje.


U mom slucaju se nevrsi komunikacija tj ja samo aktiviram DTR i RTS pinove na COM1 porutu posto sam nabudzio plocicu sa relejima.
Trebaju mi odvojeni exe fajlovi zbog toga sto hocu da to ukombinujem sa SAPIjem pa da na glasovnu komandu Svetlo upalim sijalicu u sobi koja je recimo DTR.
a ovo za kill proces ima temu ispod ove sto sam nasao i neradi mi pa sam i za to trazio pomoc a meni je porblem sto ne znam kako da objasnim kompu IF AKO JE APLIKACJA UKLJUCENA THEN ...
 
Odgovor na temu

Marko_L
Beograd

Član broj: 20532
Poruke: 2885
*.dynamic.sbb.rs.

Jabber: Marko_L@elitesecurity.org


+826 Profil

icon Re: Ako moze neko da mi ispise kod29.08.2012. u 15:28 - pre 95 meseci
Probaj ovo
http://www.andreavb.com/tip020021.html

Ne moraš uopšte da proveravaš da li je proces aktivan. Ako jeste ugasiće se, ako nije, nema šta da se gasi.
-Odracuonogakomijedrpiorazmaknicu.
-Ne rxdi mi txstxturx, kxd god hocu dx
ukucxm "x" onx ukucx "x".
-Ko kaaz e da ja neuummem da kuuca
m.
-Piše "Insert disk 3", a jedva sam i ova
dva ugurao u drajv
-Postoje samo dve osobe kojima
verujem, jedna sam ja, a druga nisi ti
 
Odgovor na temu

MojeKorisnickoIme

Član broj: 306262
Poruke: 11
*.adsl-a-5.sezampro.rs.



Profil

icon Re: Ako moze neko da mi ispise kod29.08.2012. u 15:54 - pre 95 meseci
Citat:
Marko_L: Probaj ovo
http://www.andreavb.com/tip020021.html

Ne moraš uopšte da proveravaš da li je proces aktivan. Ako jeste ugasiće se, ako nije, nema šta da se gasi.


sad cu da probam javljam
 
Odgovor na temu

MojeKorisnickoIme

Član broj: 306262
Poruke: 11
*.adsl-a-5.sezampro.rs.



Profil

icon Re: Ako moze neko da mi ispise kod29.08.2012. u 16:22 - pre 95 meseci
Au ovo komplikovano pogotovu ze mene koji do pre 2 dana nije znao sta je VB
Ja sam nasao ovo prostije ali mi neradi tj izbacuje Compail erorr: Sub or Funcion not defined markira mi Private Sub Komanda_Click()

Private sAppName As String, sAppPath As String

Private Sub Form_Load()
sAppName = "RTSukljucen"
sAppPath = "C:\Trokanalni\RTSukljucen.exe"
End Sub

Private Sub Komanda_Click()
Call EndTask(sAppName)
End Sub

Inace aj mi odradis ovo sto ja ocu tebi je to 5min posla uplaticu ti 200 din kredita ako oces?

ovo je ceo moj program

Private Sub Form_Load()

MSComm1.CommPort = 1
MSComm1.Settings = "9600,N,8,1"
MSComm1.InputLen = 0
MSComm1.RTSEnable = True - OVO JE KOMAND ON OFF ZA RELEJ TRUE I FALSE
MSComm1.PortOpen = True
MSComm1.DTREnable = False - OVO JE KOMAND ON OFF ZA RELEJ TRUE I FALSE

End Sub

I moras da dodas projects\ coponents\ microsoft comm control 6 ili ti Ctrl + T i microsoft comm control 6

Tako da bi exe za RTSukljucen(tako sam ga ja krstio na mom kompu) bio

Private Sub Form_Load()

MSComm1.CommPort = 1
MSComm1.Settings = "9600,N,8,1"
MSComm1.InputLen = 0
MSComm1.RTSEnable = True
MSComm1.PortOpen = True
MSComm1.DTREnable = False

End Sub

Za DTRukljucen bi bio

Private Sub Form_Load()

MSComm1.CommPort = 1
MSComm1.Settings = "9600,N,8,1"
MSComm1.InputLen = 0
MSComm1.RTSEnable = False
MSComm1.PortOpen = True
MSComm1.DTREnable = True

End Sub

A za RTSDTRukljuceni

Private Sub Form_Load()

MSComm1.CommPort = 1
MSComm1.Settings = "9600,N,8,1"
MSComm1.InputLen = 0
MSComm1.RTSEnable = True
MSComm1.PortOpen = True
MSComm1.DTREnable = True

End Sub

I ja sam ih stavio da budu nevidlljivi dok Visible False
 
Odgovor na temu

Marko_L
Beograd

Član broj: 20532
Poruke: 2885
*.dynamic.sbb.rs.

Jabber: Marko_L@elitesecurity.org


+826 Profil

icon Re: Ako moze neko da mi ispise kod29.08.2012. u 20:20 - pre 95 meseci
Izbacuje ti grešku zato što u VB6 ne postoji ugrađena funkcija EndTask, već je to neka user-defined funkcija koju ti nisi prekopirao. Dakle, ti zapravo obavljaš poziv funkcije koja ne postoji i koju moraš da napraviš. Ne znam sa kog sajta si skidao taj kod, ali verovatno si propustio da skineš i tu funkciju koja je verovatn manje više slična onom primeru koji sam ti dao. Jednostavnije od toga ne može, barem ne u VB6. Ako bi koristio VB.NET, tamo već imaš klasu Process preko koje možeš da uradiš šta hoćeš sa procesom. U VB6 to mora preko API-ja i zato deluje malo komplikovanije, ali i nije. Sve što treba je da kreiraš modul i ubaciš u njega dati kod.

Modul kreiraš tako što odeš na Project > Add Module

Onda otvoriš taj modul i iskopiraš sledeći kod
Code:
Type PROCESSENTRY32 
    dwSize As Long 
    cntUsage As Long 
    th32ProcessID As Long 
    th32DefaultHeapID As Long 
    th32ModuleID As Long 
    cntThreads As Long 
    th32ParentProcessID As Long 
    pcPriClassBase As Long 
    dwFlags As Long 
    szexeFile As String * 260 
End Type 

Declare Function OpenProcess Lib "kernel32.dll" (ByVal dwDesiredAccess As Long, _
ByVal blnheritHandle As Long, ByVal dwAppProcessId As Long) As Long 

Declare Function ProcessFirst Lib "kernel32.dll" Alias "Process32First" (ByVal hSnapshot As Long, _
uProcess As PROCESSENTRY32) As Long 

Declare Function ProcessNext Lib "kernel32.dll" Alias "Process32Next" (ByVal hSnapshot As Long, _
uProcess As PROCESSENTRY32) As Long 

Declare Function CreateToolhelpSnapshot Lib "kernel32.dll" Alias "CreateToolhelp32Snapshot" ( _
ByVal lFlags As Long, lProcessID As Long) As Long 

Declare Function TerminateProcess Lib "kernel32.dll" (ByVal ApphProcess As Long, _
ByVal uExitCode As Long) As Long 

Declare Function CloseHandle Lib "kernel32.dll" (ByVal hObject As Long) As Long

Public Sub KillProcess(NameProcess As String)
Const PROCESS_ALL_ACCESS = &H1F0FFF
Const TH32CS_SNAPPROCESS As Long = 2&
Dim uProcess  As PROCESSENTRY32
Dim RProcessFound As Long
Dim hSnapshot As Long
Dim SzExename As String
Dim ExitCode As Long
Dim MyProcess As Long
Dim AppKill As Boolean
Dim AppCount As Integer
Dim i As Integer
Dim WinDirEnv As String
       
       If NameProcess <> "" Then
          AppCount = 0

          uProcess.dwSize = Len(uProcess)
          hSnapshot = CreateToolhelpSnapshot(TH32CS_SNAPPROCESS, 0&)
          RProcessFound = ProcessFirst(hSnapshot, uProcess)
 
          Do
            i = InStr(1, uProcess.szexeFile, Chr(0))
            SzExename = LCase$(Left$(uProcess.szexeFile, i - 1))
            WinDirEnv = Environ("Windir") + "\"
            WinDirEnv = LCase$(WinDirEnv)
       
            If Right$(SzExename, Len(NameProcess)) = LCase$(NameProcess) Then
               AppCount = AppCount + 1
               MyProcess = OpenProcess(PROCESS_ALL_ACCESS, False, uProcess.th32ProcessID)
               AppKill = TerminateProcess(MyProcess, ExitCode)
               Call CloseHandle(MyProcess)
            End If
            RProcessFound = ProcessNext(hSnapshot, uProcess)
          Loop While RProcessFound
          Call CloseHandle(hSnapshot)
       End If

End Sub 


Time si kreirao javnu proceduru KillProcess koju onda pozivaš iz bilo kog mesta u kodu. Recimo u tvoj slučaju bi umesto EndTask trebao da staviš KillProcess i to je to. Dakle, ovako
Code:
Private Sub Komanda_Click()
Call EndTask(sAppName)
End Sub

i to je to.

P.S. - Ne treba kredit :)
-Odracuonogakomijedrpiorazmaknicu.
-Ne rxdi mi txstxturx, kxd god hocu dx
ukucxm "x" onx ukucx "x".
-Ko kaaz e da ja neuummem da kuuca
m.
-Piše "Insert disk 3", a jedva sam i ova
dva ugurao u drajv
-Postoje samo dve osobe kojima
verujem, jedna sam ja, a druga nisi ti
 
Odgovor na temu

MojeKorisnickoIme

Član broj: 306262
Poruke: 11
*.adsl-a-5.sezampro.rs.



Profil

icon Re: Ako moze neko da mi ispise kod30.08.2012. u 12:50 - pre 95 meseci
evo probao sam i nikakave eror mi nije izbacio radi sve samo sto mi nezatvara program :(

Cak sam dva puta proveravao da li sam sve ukucao ok

Imam i screenshoow svega



Uploaded with ImageShack.us
 
Odgovor na temu

Marko_L
Beograd

Član broj: 20532
Poruke: 2885
*.dynamic.sbb.rs.

Jabber: Marko_L@elitesecurity.org


+826 Profil

icon Re: Ako moze neko da mi ispise kod30.08.2012. u 16:22 - pre 95 meseci
Promeni
Code:
sAppName = "RTSukljucen"

u
Code:
sAppName = "RTSukljucen.exe"

-Odracuonogakomijedrpiorazmaknicu.
-Ne rxdi mi txstxturx, kxd god hocu dx
ukucxm "x" onx ukucx "x".
-Ko kaaz e da ja neuummem da kuuca
m.
-Piše "Insert disk 3", a jedva sam i ova
dva ugurao u drajv
-Postoje samo dve osobe kojima
verujem, jedna sam ja, a druga nisi ti
 
Odgovor na temu

MojeKorisnickoIme

Član broj: 306262
Poruke: 11
*.adsl-a-5.sezampro.rs.



Profil

icon Re: Ako moze neko da mi ispise kod30.08.2012. u 18:08 - pre 95 meseci
Citat:
Marko_L: Promeni
Code:
sAppName = "RTSukljucen"

u
Code:
sAppName = "RTSukljucen.exe"


LOL vidi stvarno promaklo mi

Nema veze iskombinovao sam ove exe fajlove od VB 6 sa VB.net Tako da mi sad radi i ako nekome bude trebalo evo osnove

Inace Marko Zahvaljujem na pomoci

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim RTSon As Boolean

Dim RTSradi() As Process = System.Diagnostics.Process.GetProcessesByName("RTSukljucen")
If RTSradi.Count <> 0 Then
RTSon = True
Else
RTSon = False

End If

If RTSon = True Then
For Each Program As Process In RTSradi
Program.Kill()
System.Threading.Thread.CurrentThread.Sleep(55)
Next
System.Diagnostics.Process.Start("C:\Trokanalni\RTSDTRukljuceni.exe")
End If

If RTSon = False Then
System.Diagnostics.Process.Start("C:\Trokanalni\RTSukljucen.exe")
End If



End Sub
End Class
 
Odgovor na temu

Genie_1984
Novi Sad

Član broj: 61150
Poruke: 93



+1 Profil

icon Re: Ako moze neko da mi ispise kod04.09.2012. u 12:54 - pre 95 meseci
Da probaš i u jednoj i u drugoj aplikaciji otvariš port,pošalješ podatke i zatvoriš port.... Tako će port uvek biti slobodan kad se ne koristi. Možeš i da staviš petlju da u slučaju da je port otvoren,sačeka da bude zatvoren pa onda otvara i šalje svoje podatke. U tom slučaju npr aplikacija B neće "ubiti" aplikaciju A u sred nekog procesa (tj u sred slanja podataka na port)

Pozdrav
 
Odgovor na temu

[es] :: Visual Basic 6 :: Ako moze neko da mi ispise kod

[ Pregleda: 2236 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.