Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: Toisen ohjelman ajaminen (VB 6.0)

Sivun loppuun

AdeRide [05.03.2006 13:23:44]

#

Elikkä miten saisin ajettua esim. komentorivin komentoja visual basicilla?

esim. komentojonossa "md moikka"

tai sitten käynnistettyä toisen ohjelman?

Draiz [05.03.2006 13:35:11]

#

https://www.ohjelmointiputka.net/koodivinkit/23549-vb6-shellexecute-funktio

AdeRide [05.03.2006 14:09:32]

#

minä en saa esim. tuota MD komentoa toimimana millään. Tuo ohje on hieman vajavainen. Jos joku voisin selventää asiaa hieman.

nyt kun tarkennetaan niin voisiko, joku antaa kaksi mallia toisessa ihan yksin kertaisesti luodaan moikka kansio c-juureen ja toisessa sitten ajetaan DIR ja sijoitetaan tiedot ankannokalla moikka.txt tiedostoon eli komentojonossa ajetaan dir >> moikka.txt.

neau33 [05.03.2006 18:54:48]

#

Moi AdeRide!

Kokeile vaikka tota alla olevaa...

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

Private Sub Command1_Click()
ShellExecute 0&, vbNullString, "cmd.exe", vbNullString, _
vbNullString, vbNormalFocus
SendKeys " DIR{ENTER}"
End Sub

...the code above is pure shit, but it works...

EDIT: Eli siis...

SendKeys " MD C:\MOIKKA | DIR >C:\MOIKKA\MOIKKA.TXT{ENTER}"

AdeRide [07.03.2006 15:18:36]

#

Tossa on vielä sellainen pikkunen häikkä, että tuo avaa suurin piirtein 6 noita ikkunoita ja toiveena olisi ettei se avaisi yhtään. Se vähän häirihtee ohjelman käyttöä, kun ohjelman tykittää ruutuun 6-8 tollasta komentojonoikkunaa ja sitten ei edes sulje niitä. Jos on mitenkään mahdollista niin olisi kuningasta jos se ajaisi ne ilman, että tuo ikkuna aukee.

BadSource [07.03.2006 16:39:49]

#

Vaihda vbNormalFocus vbHidden:in, niin avautuvaa ikkunaa ei näytetä. Tuon jälkeen tosin SendKeys ei taida toimia, sillä SendKeys lähettää komentonsa aktiiviseen ikkunaan.

ShellExecute palauttaa avaamansa ohjelman kahvan paluuarvona, jos se avaamisessa onnistuu, joten kahvan avulla voit sulkea tarpeettomat ikkunat PostMessagella. Ohjelmien sulkemisesta löytyy esimerkkejä täältä putkastakin.

AdeRide [07.03.2006 17:37:15]

#

ei tuo auttanu tuo esimerkki. Se vaan laittoi ne ikkunat sinne alapalkkiin.

neau33 [07.03.2006 21:36:05]

#

Moikka AdeRide!

Tässä sulle a Queen thing...

Private Sub Command1_Click()
z% = Not DoEvents
Open "C:\APU.BAT" For Output As #1
Print #1, "IF NOT EXIST C:\MOIKKA MD C:\MOIKKA"
Print #1, "DIR C:\ >C:\MOIKKA\MOIKKA.TXT"
Print #1, "EXIT" + Chr$(10) + Chr$(13)
Close #1
z% = DoEvents()
z% = Shell("C:\APU.BAT", vbHide)
End Sub

AdeRide [08.03.2006 18:16:36]

#

Oi oi, mitä ajatus työtä <3 <3
Varsin viehkeää koodia.

Kiitos paljon ja sydämmiä <3 <3 :D


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta