2016-04-21 25 views
5

Kayıt defterinden ("vbs" ,"vbe" ,"wsf", "a3x") gibi bilinen bir virüs anahtarı için bir temizleyici yazıyorum.Düzgün bir balloontip nasıl gösterilir?

Bu komut dosyası ile powershell içine bir BalloonTip eklemek istiyorum, ancak bir sorun var!

İlerleme taramasını göstermek için simgeyi görev çubuğundan nasıl kaldıracağımı bilmiyorum?

Bu bir taslak. Henüz optimize edilmedi!

@echo off 
Title Hackoo Virus Cleaner to delete virus key from registry by Hackoo 2016 
Color 1A & Mode con cols=80 lines=8 
Set Pattern="\.vbs"^ 
^ "\.vbe"^ 
^ "\.wsf"^ 
^ "\.a3x"^ 
^ "VBScript.Encode"^ 
^ "\winlogon\.bat" 

Set Key="HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run"^ 
^ "HKCU\Software\Microsoft\Windows\CurrentVersion\Run"^ 
^ "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"^ 
^ "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options" 

For %%P in (%Pattern%) Do (
     For %%K in (%Key%) Do (  
      Cls 
      echo(
      echo(
      Echo   ***************************** Scan ***************************** 
      echo    %%K 
      Echo   **************************************************************** 
      Call :PS_Sub 'Warning' 10 '" Please wait... "' "' Scan is in progress.... %%K'" 'Warning' 
      Call :Delete_Virus_Key %%K %%P "%TmpLogFile%" 
     ) 
) 
exit /b 
::************************************************************************* 
:Delete_Virus_Key <Key> <Pattern> <LogFile> 
Setlocal enabledelayedexpansion 
for /f "delims=REG_SZ" %%I in (
    'reg query "%~1" /s^|findstr /ic:"%~2"' 
    ) Do ( 
       If %ErrorLevel% NEQ 1 (
        Set KeyName="%%~I" 
        (
         Call:Trim !keyName! 
         Title Deleting Run key: !keyName! 
         echo Deleting Run key: !keyName! 
         echo reg delete "%~1" /v !keyName! /f 
         echo(
         echo ***************************** 
         echo reg delete "%~1" /v "!keyName!" /f 
         echo ***************************** 
         echo(
        )>>"%~3" 
        rem Call :PS_Sub 'Warning' 100 '"!KeyName!"' "'Delete !KeyName!'" 'Warning' 
       ) else (
        Set KeyName="%%~I" 
        Call:Trim !keyName! 
        Title Deleting Run key: !keyName! 
        echo Deleting Run key: !keyName! 
        echo reg delete "%~1" /v !keyName! /f 
        echo(
        echo ***************************** 
        echo reg delete "%~1" /v "!keyName!" /f 
        echo ***************************** 
        echo(
       )>>"%~3" 
      )  
) 
EndLocal 
Exit /b 
::************************************************************************* 
:Trim <String> 
(
    echo Wscript.echo Trim("%~1"^) 
)>"%tmp%\%~n0.vbs" 
for /f "delims=" %%a in ('Cscript /nologo "%tmp%\%~n0.vbs"') do ( 
    set "KeyName=%%a" 
) 
exit /b 
::************************************************************************** 
:PS_Sub $notifyicon $time $title $text $icon 
PowerShell^
    [reflection.assembly]::loadwithpartialname('System.Windows.Forms') ^| Out-Null;^
    [reflection.assembly]::loadwithpartialname('System.Drawing') ^| Out-Null;^
    $notify = new-object system.windows.forms.notifyicon;^
    $notify.icon = [System.Drawing.SystemIcons]::%1;^
    $notify.visible = $true;^
    $notify.showballoontip(%2,%3,%4,%5) 
%End PowerShell% 
exit /B 
::************************************************************************* 

Yani benim sorunu basitleştirmek için, biz sadece bu fonksiyonu odaklanmak:

i görev çubuğundan NotifyIcon kurtulmak almak için buraya ne eklemeliyim?

::************************************************************************** 
:PS_Sub $notifyicon $time $title $text $icon 
PowerShell^
    [reflection.assembly]::loadwithpartialname('System.Windows.Forms') ^| Out-Null;^
    [reflection.assembly]::loadwithpartialname('System.Drawing') ^| Out-Null;^
    $notify = new-object system.windows.forms.notifyicon;^
    $notify.icon = [System.Drawing.SystemIcons]::%1;^
    $notify.visible = $true;^
    $notify.showballoontip(%2,%3,%4,%5) 
%End PowerShell% 
exit /B 
::************************************************************************* 
+2

birkaç saniye uyku sonra '$ bildirmek .Dispose() '? Balon uçlarıyla biraz uğraştım [burada] (http://stackoverflow.com/a/30484358/1683264), ama o zamandan beri uyudum. – rojo

+2

@rojo Evet, hile yapabileceğini düşünüyorum;) Teşekkürler! – Hackoo

cevap

2

Böyle @rojo fikre sorun sayesinde çözüldü:

Hackoo Virus Cleaner: herkes beta sürümünde tüm kodu test etmek isterseniz,

::************************************************************************** 
:PS_Sub $notifyicon $time $title $text $icon $Timeout 
PowerShell^
    [reflection.assembly]::loadwithpartialname('System.Windows.Forms') ^| Out-Null;^
    [reflection.assembly]::loadwithpartialname('System.Drawing') ^| Out-Null;^
    $notify = new-object system.windows.forms.notifyicon;^
    $notify.icon = [System.Drawing.SystemIcons]::%1;^
    $notify.visible = $true;^
    $notify.showballoontip(%2,%3,%4,%5);^
    Start-Sleep -s %6;^
    $notify.Dispose() 
%End PowerShell% 
exit /B 
::************************************************************************* 

Yani, burada link

enter image description here

+1

OMFG Bu güzelliği nasıl kullanırım? Komut dosyası olarak kaydet ve PowerShell tarafından açılsın mı? Lütfen, bu koşuyu görmem için gereken adımları gösterebilir misin? Teşekkürler ve çalışmalarınız için tebrikler! --------- oooh, üzgünüm, onun bir .bat - zaten koştu! Çok çok güzel. - Konuşuyor! Ile bildirilecek! Waaaaw ... Tüm bu Hackoo ile büyük para kazanmak zorunda !!!!!!!!! Bu bilgi kesinlikle şaşırtıcı. – statosdotcom

+1

@statosdotcom LOL bunu sevdiğine sevindim;) en iyi testçiğim! Desteğiniz ve geri bildiriminiz için teşekkür ederiz! Bu kodu denediniz mi, etmediniz mi? http://stackoverflow.com/questions/38524510/open-a-file-through-cmd-and-display-the-selected-in-specific-editor/38525929#38525929 – Hackoo