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 Sub
tä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 Class
eeeeeiiii 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 Sub
Edit: 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.