Totaalinen sekoaminen:
AppActivate(pid)
ei yksinkertaisesti toimi
ArgumentExeption debugissa
"Prosessia {0} ei löydy"
pid:ssä näkyy debugin aikana ihan oikea pid,
mutta AppActivate ei vain näytä saavan oikeata parametria...
Ideoita?
Näyttääkö tämä koodi oikean id:n?
MsgBox(pid) AppActivate(pid)
Joo toimii Messageboxin kanssa, ei ilman...
Olisi vaan outoa käyttää MsgBoxia,
kun se jo muutenkin sekoittaa ohjelman kulun tässä tapauksessa
Tässä kuitenkin kyseinen koodi, jos se vaikka yhtään auttaisi:
Dim pid As Integer = Shell("vlc.exe")
'MessageBox.Show(pid)
AppActivate(pid)
SendKeys.SendWait("f")Hi hii VS2008 sekoo jälleen
Insert Snippet => klikkaus tai enter => välilehti vaihtuu 'gui-editoriin'....
Moikka jyrama!
kokeile toimisiko oheisen esimerkin malli haluamallasi tavalla
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As. System.EventArgs) Handles Button1.Click
Shell("vlc.exe", AppWinStyle.NormalFocus)
'(kokopolku jos ei löydy Path-asetuksista)
SendKeys.SendWait("f")
End Subtässä hieman pidemmällä kaavalla toteutettuna...
Public Partial Class MainForm
Public Sub New()
Me.InitializeComponent()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As. System.EventArgs) Handles Button1.Click
AppActivate(GetProcessId("vlc"))
'("vlc", polku) jos ei ole Path-asetuksissa
SendKeys.SendWait("f")
End Sub
Function GetProcessId(ByVal AppName As String, _
Optional ByVal folderPath As String = "") As Integer
Dim prosessi As Process
Dim prosessit() As Process = Process.GetProcesses()
For Each prosessi In prosessit
With prosessi
If .ProcessName.ToLower _
= AppName.ToLower Then
Return .id 'kokeile myös korvata...
Exit Function '...nämä kaksi riviä
'.Kill 'tällä rivillä
End If
End With
Next
prosessi = New Process
With prosessi.StartInfo
.FileName = folderPath + AppName + ".exe"
.WindowStyle = .WindowStyle.Normal
With prosessi
.Start()
.WaitForInputIdle()
Return .id
End With
End With
End Function
End Classeeeeeiiii toimi
Täytyy tarkistaa VLC:een parametrilista,
jos sieltä lyötyisi korvaaja f-napille
JA SetWindowText:lle joka ei myöskään toimi
Morjen taas jyrama!
jos pyörittelet sitä VS2008 esim. Vista-alustalla niin...
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As. System.EventArgs) Handles Button1.Click
Shell("notepad.exe", AppWinStyle.NormalFocus)
Dim WshShell As Object = CreateObject("WScript.Shell")
WshShell.Sendkeys("f", false)
'WshShell.Sendkeys("%f", false) 'Alt+f
WshShell = Nothing
End SubEdit: jos taas hait kometoriviparametriä niin...Shell("cmd /c vlc -f")
Itse asiassa VLC:een parametreistä löytyi
idiootti varmat korvikeet f-napille(fullscreen)
ja SetWindowText:lle joka ei toimi (ainakaan 7:ssa) (Xp ja Vista testaamatta)
Kaiken lisäksi -f -optio korvaa AppActivaten
ja parametreistä löytyy myös korvike SetWindowText:lle
...joo sieltä löytyy myös säätöjä joita ei
koko ohjelman "asetuksista"
ja joita ei voi koko WinApi:lla edes säätää
Ohjelma toimii hyvin (ihme kyllä)
ja osaa avata automaattisesti MTV Median netti-tv:ssä
näkyvän sarjan uusimman jakson vain sarjan nimen perusteella
En voinut käyttää .NET omaa Splittiä vaan
tätä https://www.ohjelmointiputka.net/koodivinkit/
Splitti ei näköjään käytä kuin yhden merkin erotinta?
Off-topic: F-Secure 2010 löysi Google Chromen sorsista viruksen?
Aihe on jo aika vanha, joten et voi enää vastata siihen.