bu en altta gördüğünüz kodlar seçili olan proğramın tam ismini listbox a döküyor.
bu kodları seçili olan proğramdan değilde, isminin bir kısmını bildiğim proğramın tam adını istiyorum. bu verdiğim kısa kodlar çalışan proğramın resimde gördüğünüz kısımdan sadece "SDS-ONE KnitPaint" kısmını yakalarken en alttaki tam istediğim gibi isminin yanında bulunan dosya yolunuda vermekte. bulduğum hiç bir örnekte bu olmuyor sadece "SDS-ONE KnitPaint" kısmını yakalıyor.
acaba en alttaki kodlardan açık proğram değilde "ProcessName.Contains("KnitPaint")" şeklinde belirttiğim yerden ismini nasıl tam olarak yakalatırım:
inşallah derdimi anlatabildim
For Each p As Process In Process.GetProcesses If p.ProcessName.Contains("KnitPaint") Then Me.Text = p.MainWindowTitle End If Next
Imports System.Runtime.InteropServices Public Class Form1
<DllImport("user32.dll")> _ Private Shared Function GetForegroundWindow() As IntPtr End Function
<DllImport("user32.dll")> _ Private Shared Function GetWindowText(ByVal hWnd As IntPtr, ByVal text As System.Text.StringBuilder, ByVal count As Integer) As Integer End Function
Private Function GetActiveWindowTitle() As String
Const nChars As Integer = 256 Dim handle As IntPtr = IntPtr.Zero Dim Buff As New System.Text.StringBuilder(nChars) handle = GetForegroundWindow()
If GetWindowText(handle, Buff, nChars) > 0 Then Return Buff.ToString() End If Return Nothing End Function
Dim tmr As New Timer
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load tmr.Interval = 3000 AddHandler tmr.Tick, AddressOf gecti tmr.Start() End Sub
Sub gecti(ByVal sender As Object, ByVal e As System.EventArgs) ListBox1.Items.Add(GetActiveWindowTitle()) End Sub
bu kodları seçili olan proğramdan değilde, isminin bir kısmını bildiğim proğramın tam adını istiyorum.
bu verdiğim kısa kodlar çalışan proğramın resimde gördüğünüz kısımdan sadece "SDS-ONE KnitPaint" kısmını yakalarken en alttaki tam istediğim gibi isminin yanında bulunan dosya yolunuda vermekte. bulduğum hiç bir örnekte bu olmuyor sadece "SDS-ONE KnitPaint" kısmını yakalıyor.
acaba en alttaki kodlardan açık proğram değilde "ProcessName.Contains("KnitPaint")" şeklinde belirttiğim yerden ismini nasıl tam olarak yakalatırım:
inşallah derdimi anlatabildim
< Resime gitmek için tıklayın >
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.