Cevap vermeyen uygulamalar için registry kaydı

PC hakkındaki genel bilgi ve ipucu paylaşım alanıdır.
Cevapla
Kullanıcı avatarı
velociraptor
Yottabyte4
Yottabyte4
Mesajlar: 53887
Kayıt: 14 Mar 2006, 02:33
cinsiyet: Erkek
Teşekkür etti: 19690 kez
Teşekkür edildi: 11953 kez

Cevap vermeyen uygulamalar için registry kaydı

Mesaj gönderen velociraptor »

Resim

Windows ta cevap vermeyen herhangi bir uygulamayı kolayca sonlandırmak için sağ tuş menüsüne Kill not responding tasks (cevap vermeyen uygulamaları kapat ) kısayolu ekleyen registry kayıtları ektedir (vista ve Windows 7 içindir)
Dosya ekleri
kill_not_responding.zip
(3.09 KiB) 417 kere indirildi
Kullanıcı avatarı
tasiyici
Megabyte3
Megabyte3
Mesajlar: 1452
Kayıt: 23 Şub 2008, 19:26
cinsiyet: Erkek
Teşekkür etti: 27 kez
Teşekkür edildi: 13 kez

Re: Cevap vermeyen uygulamalar için registry kaydı

Mesaj gönderen tasiyici »

win7 içindeki reg kayıtlarından hangisi ekleme kaldırma ingilizce yazdıgın için anlamadım tarkan abi
Kullanıcı avatarı
velociraptor
Yottabyte4
Yottabyte4
Mesajlar: 53887
Kayıt: 14 Mar 2006, 02:33
cinsiyet: Erkek
Teşekkür etti: 19690 kez
Teşekkür edildi: 11953 kez

Re: Cevap vermeyen uygulamalar için registry kaydı

Mesaj gönderen velociraptor »

Bottom : sağ tuşta dip kısmına ekler
Top: sağ tuşta en üste ekler
Hiçbirşey yazmayan rastgele biryere ekler
Uninstall da kaldırmak , silmek demek
Kullanıcı avatarı
ney_bey
Gigabyte2
Gigabyte2
Mesajlar: 2400
Kayıt: 16 Kas 2007, 02:06
cinsiyet: Erkek
Teşekkür edildi: 5 kez

Re: Cevap vermeyen uygulamalar için registry kaydı

Mesaj gönderen ney_bey »

XP için yokmudur bir uygulama
Kullanıcı avatarı
velociraptor
Yottabyte4
Yottabyte4
Mesajlar: 53887
Kayıt: 14 Mar 2006, 02:33
cinsiyet: Erkek
Teşekkür etti: 19690 kez
Teşekkür edildi: 11953 kez

Re: Cevap vermeyen uygulamalar için registry kaydı

Mesaj gönderen velociraptor »

Bulursam paylaşırım , aklımda olsun aslında bunu da denemek gerek ama bazen olmadık sonuçlara neden olabiliyor o nedenle denenmişini vermeyi tercih ederim
Kullanıcı avatarı
ney_bey
Gigabyte2
Gigabyte2
Mesajlar: 2400
Kayıt: 16 Kas 2007, 02:06
cinsiyet: Erkek
Teşekkür edildi: 5 kez

Re: Cevap vermeyen uygulamalar için registry kaydı

Mesaj gönderen ney_bey »

pc de ''deep freeze'' olduğu için deneyeyim dedim lakin her ikiside olmadı
Kullanıcı avatarı
velociraptor
Yottabyte4
Yottabyte4
Mesajlar: 53887
Kayıt: 14 Mar 2006, 02:33
cinsiyet: Erkek
Teşekkür etti: 19690 kez
Teşekkür edildi: 11953 kez

Re: Cevap vermeyen uygulamalar için registry kaydı

Mesaj gönderen velociraptor »

Geri bildirim için teşekkürler
Kullanıcı avatarı
tasiyici
Megabyte3
Megabyte3
Mesajlar: 1452
Kayıt: 23 Şub 2008, 19:26
cinsiyet: Erkek
Teşekkür etti: 27 kez
Teşekkür edildi: 13 kez

Re: Cevap vermeyen uygulamalar için registry kaydı

Mesaj gönderen tasiyici »

açıklama için sağol tarkan abi
Kullanıcı avatarı
burak35
Zettabyte3
Zettabyte3
Mesajlar: 17556
Kayıt: 07 Eki 2016, 13:06
cinsiyet: Erkek
Teşekkür etti: 10117 kez
Teşekkür edildi: 11777 kez

Re: Cevap vermeyen uygulamalar için registry kaydı

Mesaj gönderen burak35 »

Link patlamamış. Hayret :)
Kullanıcı avatarı
velociraptor
Yottabyte4
Yottabyte4
Mesajlar: 53887
Kayıt: 14 Mar 2006, 02:33
cinsiyet: Erkek
Teşekkür etti: 19690 kez
Teşekkür edildi: 11953 kez

Re: Cevap vermeyen uygulamalar için registry kaydı

Mesaj gönderen velociraptor »

Çünkü forum sordumdan paylaşıyoruz :kafasalla:
Kullanıcı avatarı
burak35
Zettabyte3
Zettabyte3
Mesajlar: 17556
Kayıt: 07 Eki 2016, 13:06
cinsiyet: Erkek
Teşekkür etti: 10117 kez
Teşekkür edildi: 11777 kez

Re: Cevap vermeyen uygulamalar için registry kaydı

Mesaj gönderen burak35 »

Kimbilir kaç insanın işini gördü...
Kullanıcı avatarı
Kayserilifatih
Petabyte4
Petabyte4
Mesajlar: 9446
Kayıt: 30 Ağu 2024, 20:48
cinsiyet: Erkek
Teşekkür etti: 927 kez
Teşekkür edildi: 6991 kez

Re: Cevap vermeyen uygulamalar için registry kaydı

Mesaj gönderen Kayserilifatih »

100 kişi indirmiş demek ki 100 kişi yararlanmış ya da bir kişi iki kere indirse eder sana 50 kişinin işine yaramış ben mesela iki kere indirmiştim :-D
Kullanıcı avatarı
TRWE_2012
Zettabyte1
Zettabyte1
Mesajlar: 15148
Kayıt: 25 Eyl 2013, 13:38
cinsiyet: Erkek
Teşekkür etti: 2505 kez
Teşekkür edildi: 5301 kez

İleri Seviye "Kill Not Responding" Betik Uygulaması [.reg+.ps1+.NET Framework]

Mesaj gönderen TRWE_2012 »

Merhabalar

Aşağıdaki gibi "C:\Scripts" dizini oluşturun.(içi boş olsun, gerekli kayıtları içine atın)
Resim
Gerekli Kayıtlar :

1.Kill_Selected_Task_GUI.ps1

Kod: Tümünü seç


# Kill_Selected_Task_GUI.ps1
# Lists running processes (via tasklist) in a .NET Windows Forms window.
# The user selects a process from the list and terminates it with a button click.
# Compatible with Windows PowerShell 5.1 and PowerShell 7.x

$currentIdentity = [Security.Principal.WindowsIdentity]::GetCurrent()
$currentPrincipal = New-Object Security.Principal.WindowsPrincipal($currentIdentity)
$isAdmin = $currentPrincipal.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)

if (-not $isAdmin) {
    # Re-launch this same script elevated, then exit the non-elevated instance
    $scriptPath = $MyInvocation.MyCommand.Path
    Start-Process -FilePath "powershell.exe" -ArgumentList @(
        "-NoProfile",
        "-ExecutionPolicy", "Bypass",
        "-WindowStyle", "Hidden",
        "-File", "`"$scriptPath`""
    ) -Verb RunAs
    exit
}

Add-Type -AssemblyName System.Windows.Forms
Add-Type -AssemblyName System.Drawing

function Get-TaskListData {
    # Use tasklist /FO CSV for clean parsing, then convert to objects
    $raw = tasklist /FO CSV /NH
    $items = @()
    foreach ($line in $raw) {
        if ([string]::IsNullOrWhiteSpace($line)) { continue }
        $fields = $line -split '","'
        $fields = $fields -replace '^"', '' -replace '"$', ''
        if ($fields.Count -ge 5) {
            $items += [PSCustomObject]@{
                ImageName = $fields[0]
                PID_      = $fields[1]
                SessionName = $fields[2]
                Session   = $fields[3]
                MemUsage  = $fields[4]
            }
        }
    }
    return $items | Sort-Object ImageName
}

# ---- Build the form ----
$form = New-Object System.Windows.Forms.Form
$adminTag = if ($isAdmin) { "[Administrator]" } else { "[Standard User]" }
$form.Text = "Active Processes - Select One to Terminate  $adminTag"
$form.Size = New-Object System.Drawing.Size(620, 520)
$form.StartPosition = "CenterScreen"
$form.MinimumSize = New-Object System.Drawing.Size(500, 400)
$form.Font = New-Object System.Drawing.Font("Segoe UI", 9)

$listView = New-Object System.Windows.Forms.ListView
$listView.View = [System.Windows.Forms.View]::Details
$listView.FullRowSelect = $true
$listView.GridLines = $true
$listView.MultiSelect = $false
$listView.Dock = [System.Windows.Forms.DockStyle]::Top
$listView.Height = 380
$listView.Columns.Add("Process Name", 220) | Out-Null
$listView.Columns.Add("PID", 80) | Out-Null
$listView.Columns.Add("Session", 100) | Out-Null
$listView.Columns.Add("Memory Usage", 130) | Out-Null

function Populate-List {
    $listView.Items.Clear()
    $tasks = Get-TaskListData
    foreach ($t in $tasks) {
        $row = New-Object System.Windows.Forms.ListViewItem($t.ImageName)
        $row.SubItems.Add($t.PID_) | Out-Null
        $row.SubItems.Add($t.SessionName) | Out-Null
        $row.SubItems.Add($t.MemUsage) | Out-Null
        $listView.Items.Add($row) | Out-Null
    }
}

Populate-List

$lblManual = New-Object System.Windows.Forms.Label
$lblManual.Text = "Or type an .exe name manually:"
$lblManual.Location = New-Object System.Drawing.Point(10, 390)
$lblManual.Size = New-Object System.Drawing.Size(220, 20)

$txtManual = New-Object System.Windows.Forms.TextBox
$txtManual.Location = New-Object System.Drawing.Point(220, 388)
$txtManual.Size = New-Object System.Drawing.Size(200, 22)
$txtManual.PlaceholderText = "example.exe"

$btnRefresh = New-Object System.Windows.Forms.Button
$btnRefresh.Text = "Refresh"
$btnRefresh.Location = New-Object System.Drawing.Point(10, 420)
$btnRefresh.Size = New-Object System.Drawing.Size(100, 32)
$btnRefresh.Add_Click({ Populate-List })

$btnKill = New-Object System.Windows.Forms.Button
$btnKill.Text = "Terminate Selected"
$btnKill.Location = New-Object System.Drawing.Point(330, 420)
$btnKill.Size = New-Object System.Drawing.Size(140, 32)
$btnKill.BackColor = [System.Drawing.Color]::IndianRed
$btnKill.ForeColor = [System.Drawing.Color]::White

$btnClose = New-Object System.Windows.Forms.Button
$btnClose.Text = "Close"
$btnClose.Location = New-Object System.Drawing.Point(480, 420)
$btnClose.Size = New-Object System.Drawing.Size(110, 32)
$btnClose.Add_Click({ $form.Close() })

$btnKill.Add_Click({
    $targetName = $null

    if (-not [string]::IsNullOrWhiteSpace($txtManual.Text)) {
        $targetName = $txtManual.Text.Trim()
    }
    elseif ($listView.SelectedItems.Count -gt 0) {
        $targetName = $listView.SelectedItems[0].Text
    }

    if ([string]::IsNullOrWhiteSpace($targetName)) {
        [System.Windows.Forms.MessageBox]::Show("Select a process from the list or type an .exe name.", "No selection", "OK", "Warning")
        return
    }

    $confirm = [System.Windows.Forms.MessageBox]::Show(
        "Terminate all processes named '$targetName'?",
        "Confirm termination",
        [System.Windows.Forms.MessageBoxButtons]::YesNo,
        [System.Windows.Forms.MessageBoxIcon]::Question
    )

    if ($confirm -eq [System.Windows.Forms.DialogResult]::Yes) {
        try {
            $output = & taskkill /F /IM "$targetName" 2>&1
            $exitCode = $LASTEXITCODE
            $outputText = ($output | Out-String).Trim()

            if ($exitCode -eq 0) {
                [System.Windows.Forms.MessageBox]::Show("Terminated successfully:`n`n$outputText", "Done", "OK", "Information")
            }
            else {
                [System.Windows.Forms.MessageBox]::Show("taskkill reported a problem (exit code $exitCode):`n`n$outputText`n`nIf the process needs elevated rights, re-run this script as Administrator.", "Not terminated", "OK", "Warning")
            }

            Populate-List
            $txtManual.Clear()
        }
        catch {
            [System.Windows.Forms.MessageBox]::Show("Error: $($_.Exception.Message)", "Failed", "OK", "Error")
        }
    }
})

$form.Controls.Add($listView)
$form.Controls.Add($lblManual)
$form.Controls.Add($txtManual)
$form.Controls.Add($btnRefresh)
$form.Controls.Add($btnKill)
$form.Controls.Add($btnClose)

[void]$form.ShowDialog()

Not :

İki kez boş PowerShell penceresi görme durumu beklenen bir davranış: ilk pencere yetkisiz başlangıç denemesi (kendini kapatıp yöneticiye yükseltiyor), ikincisi ise yükseltilmiş hâliyle yeniden açılışı — -WindowStyle Hidden her ikisinde de tam gizleyemiyor, kısa bir konsol parlaması olarak görünüyor. Zararsızdır ve gereklidir.

2.Masaüstü Sistem Klasörü Sağ Menü .reg Kaydı : Kill_Selected_Task_GUI_Add.reg

Kod: Tümünü seç

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\DesktopBackground\Shell\KillSelectedTask]
@="Kill Selected Task..."
"Icon"="explorer.exe,9"
"Position"="Bottom"

[HKEY_CLASSES_ROOT\DesktopBackground\Shell\KillSelectedTask\command]
@="powershell.exe -NoProfile -ExecutionPolicy Bypass -WindowStyle Hidden -File \"C:\\Scripts\\Kill_Selected_Task_GUI.ps1\""
Şimdi bu .reg çift tıklatarak yada sağ menüden "Birleştir" girdisine tıklayarak sistem'e ekleyin , masaüst sağ menüde görünmelidir.
Resim
not:yukarıdaki diğer girdiler benim sistemime has özel girişlerdir.Sizlerde yoktur.Siz "Birleştir" girdisine tıklayın.

SONUÇLAR :
Resim
Resim
Resim
Böylece bir uygulama rayından çıkarsa işini böyle bitirebilirsiniz.

Güle güle kullanın ve .Reg + .PS1 + .Net Framework Çatısının birlikte ne kadar güçlü olduğuna şahid olun...!

SİSTEM'DEN KALDIRMA İŞLEMLERİ

C:\Scripts dizinin içindeki "C:\Scripts\Kill_Selected_Task_GUI_Remove.reg" reg kaydını çalıştırın sonra , C:\Scripts dizini "Shift+del" ile silin....

Pardon pardon kaldırma reg kaydını vermeyi unutmuşum...

Kill_Selected_Task_GUI_Remove.reg

Kod: Tümünü seç

Windows Registry Editor Version 5.00

[-HKEY_CLASSES_ROOT\DesktopBackground\Shell\KillSelectedTask]
Cevapla

“Genel bilgiler ve ipuçları” sayfasına dön