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

Kako exe file integrirati u VB6?

[es] :: Visual Basic 6 :: Kako exe file integrirati u VB6?

[ Pregleda: 3370 | Odgovora: 15 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

igor-ch
IT

Član broj: 12902
Poruke: 647
*.abxsec.com.



+69 Profil

icon Kako exe file integrirati u VB6?23.12.2010. u 10:44 - pre 161 meseci
Da li postoji mogucnost da se neki gotov program (npr. notepad) integrise u vb6 formu, a ne da se otvara kao eksterni program (sa shell)?

Hvala unapred
 
Odgovor na temu

dzigilibonglica
NS

Član broj: 200040
Poruke: 294



+17 Profil

icon Re: Kako exe file integrirati u VB6?23.12.2010. u 12:55 - pre 161 meseci
Ne razumem bas ovo pitanje...

Daj nesto konkretnije, konkretniji problem ili konkretnije pitanje...

Notepad je obicni TextBox u VB, ne radi nista vise. Za malo slozenije stvari imas ole isertable objects,
a za pravu primenu imash objekte i klase.

Pa se odluci za nesto, ako ne znas za sta,
pitaj pa ce ti ovde neko svakako pomoci.

Pozdrav!
 
Odgovor na temu

igor-ch
IT

Član broj: 12902
Poruke: 647
*.abxsec.com.



+69 Profil

icon Re: Kako exe file integrirati u VB6?23.12.2010. u 13:20 - pre 161 meseci
Evo primer:
Citat:

Dim pa As String, pat1 As String, pat2 As String

pat1 = "notepad"

pat2 = "test"

pa = pat1 & pat2

Shell pa, vbNormalFocus


Kada se ovo izvrsi, otvara se notepad kao eksterna aplikacija. Meni treba da se notepad integrise u formu.
TextBox, a ni Rich TextBox (kao ni TX - Text Control, koji nije besplatan) ne dolaze u obzir, jer njihova uporteba izaziva jedan tehnicki problem... Jedino sa Notepad-om funktionise sve kako treba.

 
Odgovor na temu

rgdrajko
Beograd

Član broj: 117734
Poruke: 710
79.101.104.*



+3 Profil

icon Re: Kako exe file integrirati u VB6?23.12.2010. u 14:47 - pre 161 meseci
Pa to se radi preko RES fajla.
Dao sam objasnjenje u
http://www.elitesecurity.org/t398875-0#2597342
rgdrajko
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: Kako exe file integrirati u VB6?23.12.2010. u 14:58 - pre 161 meseci
mozes sa SetParent winapi funkcijom to da izvedes, samo ti treba hwnd notepad prozora koji ti pokrenes i hwnd forme na koju hoces da stavis notepad (to vec imas - Me.hWnd).

tako ces notepad da stavis unutar forme, ali sa sve njegovim titlebarom i menu bar-om, mada i njih mozes da uklonis tako sto ces da sklonis neke stilove iz njegove window klase (mozes prvo sa spy++ da vidis sta tacno od stilova treba da uklonis/dodas)..

za primere i dalje ideje konsultuj ApiGuide programcic (ako me secanje ne vara mislim da bas imaju primer gde notepad prozor integrisu u vb formu)

 
Odgovor na temu

MasterOfDisaster
Srbija

Član broj: 274933
Poruke: 71
*.dynamic.isp.telekom.rs.



+4 Profil

icon Re: Da li je ovo moguce uraditi u VB6!23.12.2010. u 15:08 - pre 161 meseci
Aj da se ubacim i ja, evo gotovog primera, koji raspakuje *.EXE u C:\ i od tamo ga poziva.

Pozdrav
Prikačeni fajlovi
 
Odgovor na temu

MasterOfDisaster
Srbija

Član broj: 274933
Poruke: 71
*.dynamic.isp.telekom.rs.



+4 Profil

icon Re: Kako exe file integrirati u VB6?23.12.2010. u 15:12 - pre 161 meseci
Ja uradim primer i slucajno ga zakacim na pogresnu temu... :D

http://www.elitesecurity.org/t398875-0#2768778

Aleksandre ako ti nije problem obrisi :)

Pozdrav i izvinjavam se.
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: Kako exe file integrirati u VB6?23.12.2010. u 15:22 - pre 161 meseci
^ jos bolje, prebacio sam samo tu poruku u ovu temu :)
 
Odgovor na temu

igor-ch
IT

Član broj: 12902
Poruke: 647
193.246.86.*



+69 Profil

icon Re: Kako exe file integrirati u VB6?24.12.2010. u 10:53 - pre 161 meseci
Citat:
Aleksandar Ružičić: mozes sa SetParent winapi funkcijom to da izvedes, samo ti treba hwnd notepad prozora koji ti pokrenes i hwnd forme na koju hoces da stavis notepad (to vec imas - Me.hWnd).

tako ces notepad da stavis unutar forme, ali sa sve njegovim titlebarom i menu bar-om, mada i njih mozes da uklonis tako sto ces da sklonis neke stilove iz njegove window klase (mozes prvo sa spy++ da vidis sta tacno od stilova treba da uklonis/dodas)..

za primere i dalje ideje konsultuj ApiGuide programcic (ako me secanje ne vara mislim da bas imaju primer gde notepad prozor integrisu u vb formu)


Ovo bi trebalo da bude resenje mog problema :)
Nasao sam i nesto jos lakse za razumevanje, samo ne mogu da podesim da se notepad otvori maksimalno:
Code:
Option Explicit

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function IsWindow Lib "user32" (ByVal hWnd As Long) As Long
Private Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long
Dim OtherApplicationsWindowHandle As Long

Private Sub Form_Load()

OtherApplicationsWindowHandle = FindWindow("Notepad", vbNullString)

If IsWindow(OtherApplicationsWindowHandle) = 0 Then

  Call Shell("notepad", vbMaximizedFocus)

  Do Until IsWindow(OtherApplicationsWindowHandle) <> 0
   OtherApplicationsWindowHandle = FindWindow("notepad", vbNullString)
   DoEvents
  Loop
End If

Me.Visible = True

SetParent OtherApplicationsWindowHandle, Me.hWnd

End Sub


Naredba Call Shell("notepad", vbMaximizedFocus) nema uticaja na otvaranje maksimalnog notepad-a?!?
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12846



+4783 Profil

icon Re: Kako exe file integrirati u VB6?24.12.2010. u 11:14 - pre 161 meseci
Mene najvise kopka kakav si to problem imao sa TextBox-om a koji ne postoji u Notepad-u :)
 
Odgovor na temu

igor-ch
IT

Član broj: 12902
Poruke: 647
193.246.86.*



+69 Profil

icon Re: Kako exe file integrirati u VB6?24.12.2010. u 12:50 - pre 161 meseci
Citat:
Shadowed: Mene najvise kopka kakav si to problem imao sa TextBox-om a koji ne postoji u Notepad-u :)


Ukratko: napravio sam program koji se izvrsava na jednom DFS serveru i pomocu koga mogu da se otvaraju log fajlovi koji se nalaze na 34 razlicita udaljena servera...


1. Varijanta
Kada direktno otvaram fajl sa npr:
Code:
TX.Load file

odnosno
Code:
RichTextBox1.LoadFile (file)

fajl se otvara brzo, ali se desava da aplikacija (koja kreira taj log-fajl, koji hocu pomocu mog programa da otvorim) pocinje da "pise" novi log-fajl.

2. Varijanta
Kada na sledeci nacin otvaram fajl (Get):
Code:
Dim t As String
Dim Free As Integer

Free = FreeFile()

Open file For Binary As Free
  t = Space$(LOF(Free))
  Get #Free, , t
Close (Free)

aplikacija koja kreira taj log-fajl ne pise novi log, medjutim problem je sto je kod vecih fajlova (30-50 mb) potrebno veoma dugo dok se isti otvore (a uz to su mem. i cpu proptereceni)

3. Varijanta
Kada se otvara u notepad-u
Code:
Dim pa As String, pat1 As String, pat2 As String
pat1 = "notepad"
pat2 = file
pa = pat1 & pat2
Shell pa, vbNormalFocus

niti se kreira novi log, niti se opterecuje server. Medjutim, notepad se otvara kao novi program, a to nije dobro resenje...
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12846



+4783 Profil

icon Re: Kako exe file integrirati u VB6?24.12.2010. u 13:36 - pre 161 meseci
Tu je najverovatnije problem do deljenja tog fajla. Tvoja aplikacija ga zauzme previse restriktivno pa aplikacija koja upisuje logove ne moze da pise vise u taj fajl i kreira nov.
Mozes probati citanje iz fajla preko API-a ako ti odgovara. Tu mozes postaviti neko manje restriktivno otvaranje fajla (ocigledno moze, posto notepad to radi ).
 
Odgovor na temu

dzigilibonglica
NS

Član broj: 200040
Poruke: 294



+17 Profil

icon Re: Kako exe file integrirati u VB6?25.12.2010. u 10:13 - pre 161 meseci
Da uzrok problema ti je egzaktno opisao Shadowed.

Restriktivno otvarash fajl, i ta aplikacija blokira sve ostale. E sad da ne bi nesto previshe budzio i radio sa API-jem posao koji je jednostavan, sto ne uradish sledece:

Kopirash sa udaljenog racunara fajl na racunar koji ga iscitava u neki Temp.txt (filecopy, ili neka FSO.* fukkcija..nacina je mnogo) i onda ga lepo RichText kontrolom otvorish sa tog racunara?

Bez muke i nauke, a posao radi.
 
Odgovor na temu

igor-ch
IT

Član broj: 12902
Poruke: 647
*.abxsec.com.



+69 Profil

icon Re: Kako exe file integrirati u VB6?27.12.2010. u 08:19 - pre 161 meseci
Probao sam da ga kopiram, isto se desava u toku kopiranja (kreira se novi log-fajl) - bilo da ga kopiram pomocu mog programa, bilo da ga kopiram rucno...

Jedino resenje mi je za sada API....

Jel bi mogao neko da mi pomogne u vezi otvaranja notepad-a? Kako da ga otvorim maksimalno?
Kao sto rekoh,
Code:
Call Shell("notepad", vbMaximizedFocus)
ne funkcionise kao bi trebalo:
http://www.elitesecurity.org/t418000-0#2769323
 
Odgovor na temu

igor-ch
IT

Član broj: 12902
Poruke: 647
193.246.86.*



+69 Profil

icon Re: Kako exe file integrirati u VB6?28.12.2010. u 10:38 - pre 161 meseci
Citat:
Aleksandar Ružičić: mozes sa SetParent winapi funkcijom to da izvedes, samo ti treba hwnd notepad prozora koji ti pokrenes i hwnd forme na koju hoces da stavis notepad (to vec imas - Me.hWnd)....


Nikako ne mogu da notepad pokrenem u maksimalnom modu: otvara se jedino u normalnom modu, bez obzira sta stoji kao Shell parametar (vbMaximizedFocus, vbMinimizedFocus...). Jedino kada stavim za parametar vbHide , onda se notepad ne prikazuje... Jel to mozda SetParent winapi ima neki problem ili ja mozda nesto pogresno radim?

Prikacio sam jedan mali primer, pa ako neko ima vremena i volje, zamolo bih da mi pomogne.
Prikačeni fajlovi
 
Odgovor na temu

igor-ch
IT

Član broj: 12902
Poruke: 647
*.abxsec.com.



+69 Profil

icon Re: Kako exe file integrirati u VB6?28.12.2010. u 14:51 - pre 161 meseci
Reseno pomocu API SetWindowsPlacement!

Citat:
Aleksandar Ružičić: tako ces notepad da stavis unutar forme, ali sa sve njegovim titlebarom i menu bar-om, mada i njih mozes da uklonis tako sto ces da sklonis neke stilove iz njegove window klase (mozes prvo sa spy++ da vidis sta tacno od stilova treba da uklonis/dodas)..


A kako ide ovo sa uklanjanjem stilova? Vecinu stvari sam uspeo da doteram pomocu "Resource Tuner" programa (izbacio sam otvaranje fajla, snimanja, printanje...), ali jedino sto mi nikako ne polazi za rukom je kako da se Notepad zatvori, bez da pita (Pop-up) da li treba da se promena snimi?


[Ovu poruku je menjao igor-ch dana 29.12.2010. u 15:34 GMT+1]
 
Odgovor na temu

[es] :: Visual Basic 6 :: Kako exe file integrirati u VB6?

[ Pregleda: 3370 | Odgovora: 15 ] > FB > Twit

Postavi temu Odgovori

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