Piszę czyszczenie jakiegoś znanego klucza wirusa, takiego jak ("vbs" ,"vbe" ,"wsf", "a3x")
z rejestru.Jak poprawnie wyświetlić balloontip?
Chcę dodać BalloonTip w PowerShell przy pomocy tego skryptu, ale coś jest nie tak!
Nie wiem, jak usunąć ikonę z paska zadań, aby wyświetlić skanowanie postępu?
To jest wersja robocza. Nie jest jeszcze zoptymalizowany!
@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
::*************************************************************************
Tak aby uprościć mój problem, skupiamy się tylko na tej funkcji:
Co Dodam tutaj, aby pozbyć się notifyicon z paska zadań?
::**************************************************************************
: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
::*************************************************************************
Po spaniu przez kilka sekund, '$ notify .Dispose() '? Pomieszałem trochę z balonami [tutaj] (http://stackoverflow.com/a/30484358/1683264), ale od tamtej pory spałem. – rojo
@rojo Tak, myślę, że to może załatwić sprawę;) Dziękuję! – Hackoo