Eli miten ohjelmia voi avata Vb:llä? Ja sit viel et onks mahdollista vaikuttaa toisiin ohjelmiin VB:llä esim. painaa toisen ohjelman OK nappia tai kirjoittaa toiseen ohjelmaan (Word)?
Ohjelmia voi avata Shell-komennolla ja niille voi lähettää näppäinpainalluksia SendKeys:llä. Seuraavasta koodivinkistä lienee hyötyä sinulle:
https://www.ohjelmointiputka.net/koodivinkit/
Aiheeseen liittyen: irkissä oli joskus leikkimielinen kisa siitä, kuka keksii vaikeimman tavan tulostaa basicilla 10 kertaa "moi". Oma kandidaattini käytti SendKeysiä:
Option Explicit Private Sub Form_Click() 'mahdollisimman vaikea tapa kirjoittaa basicilla 10x "moi" :) Dim i1 As Integer, i2 As Integer Shell "c:\winnt\notepad.exe", vbNormalFocus For i1 = 0 To 9 For i2 = 0 To 3 If i2 = 0 Then SendKeys "m", True ElseIf i2 = 1 Then SendKeys "o", True ElseIf i2 = 2 Then SendKeys "i", True ElseIf i2 = 3 Then SendKeys "{enter}", True End If Next i2 Next i1 End End Sub
Aiheeseen liittyen edelleen, tuo VB-koodin värityskoodi ei taida toimia ihan täydellisesti. Uudelleenkoodauksen paikka?
IF Idiot = 0 THEN GOTO 1 1 M$ = CHR$(77) O$ = CHR$(111) I$ = CHR$(105) IF Idiot = 0 THEN GOTO 2 2 FOR MM = 1 TO 1 FOR OO = 1 TO 1 FOR II = 1 TO 1 IF MM = 1 THEN MMM$ = M$ IF OO = 1 THEN OOO$ = O$ IF II = 1 THEN III$ = I$ NEXT NEXT NEXT IF Idiot = 0 THEN GOTO 3 3 OPEN "MOI.txt" FOR OUTPUT AS #1 PRINT #1, MMM$ + OOO$ + III$ CLOSE #1 IF Idiot = 0 THEN GOTO 4 4 OPEN "MOI.txt" FOR INPUT AS #1 INPUT #1, MOI$ CLOSE #1 IF Idiot = 0 THEN GOTO 5 5 PRINT MOI$ IF Idiot = 0 THEN GOTO 6 6 KILL "Moi.txt" IF Idiot = 0 THEN GOTO 7 7 END
Pistinkö paremmaksi?..
-Grey-
lainaus:
Aiheeseen liittyen edelleen, tuo VB-koodin värityskoodi ei taida toimia ihan täydellisesti. Uudelleenkoodauksen paikka?
Ei nyt sentään uudelleenkoodausta tarvita, yksi rivi oli unohtunut kommentteihin koodissa. Mutta nyt pitäisi näkyä täydellisesti VB-koodienkin värit.
Aihe on jo aika vanha, joten et voi enää vastata siihen.