Что нового

[Элементы GUI] Как на кнопку повесить несколько действий (удаление процесса и удаление файла)

Matisse

Новичок
Сообщения
25
Репутация
1
Думаю из заголовка темы можно понять что мне нужно.
Есть кнопка, нужно сделать так чтобы после ее нажатия выполнялось несколько действий:

Код:
ProcessClose ( "ads4.exe" )
FileDelete ( "C:\Windows\System32\ads4.exe" )


Я чайник, знаю.. :smile:
 

Microteam

Осваивающий
Сообщения
74
Репутация
34
Код:
#include<GuiConstants.au3>

GuiCreate("ololo",200,200);
$btn = GuiCtrlCreateButton("Нажми!", 100,100);
GuiSetState();

Do
if ($btn = GuiGetMsg()) Then
ProcessClose ( "ads4.exe" )
FileDelete ( "C:\Windows\System32\ads4.exe" )
EndIf
Until $GUI_EVENT_CLOSE=GuiGetMsg();
 
Автор
M

Matisse

Новичок
Сообщения
25
Репутация
1
Maalik не работает. Это так по стандарту вешается функция на кнопку?
Мне хотя бы в справке подскажите в каком пункте это изучить.
 

gregaz

AutoIT Гуру
Сообщения
1,166
Репутация
299
Код:
#include<GuiConstants.au3>
GuiCreate("Test",200,200)
$nButton = GuiCtrlCreateButton("Button", 160,175);

GuiSetState()

While 1
	$nMsg=GuiGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit 
		Case $nButton
			ProcessClose ( "ads4.exe" )
			FileDelete ( "C:\Windows\System32\ads4.exe" )			
	EndSwitch
WEnd
 

gregaz

AutoIT Гуру
Сообщения
1,166
Репутация
299
Виноват пропустилось
Код:
#include<GuiConstants.au3>

Исправил


Добавлено:
Сообщение автоматически объединено:

Или то же в режиме OnEvent :
Код:
#include<GuiConstants.au3>
Opt("GUIOnEventMode", 1) 

GuiCreate("Test")
GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked") 

$nButton = GuiCtrlCreateButton("Button", 360,375);
GUICtrlSetOnEvent($nButton, "ButtonEvent") 

GuiSetState()

While 1 
  Sleep(50)
WEnd 

Func ButtonEvent()
	ProcessClose ( "ads4.exe" )
	FileDelete ( "C:\Windows\System32\ads4.exe" )	
EndFunc
	
Func CLOSEClicked() 
  Exit 
EndFunc
 
Автор
M

Matisse

Новичок
Сообщения
25
Репутация
1
Встраиваю в свой, ничего не происходит, файл не удаляется..
Подскажите, где можно в справке изучить это?

Вот в общем код мой:

Код:
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <IE.au3>

_IEErrorHandlerRegister()

$oIE = _IECreateEmbedded()
GUICreate("Quick_Aimbot", 260, 400, -1, -1, _
        $WS_OVERLAPPEDWINDOW + $WS_VISIBLE + $WS_CLIPSIBLINGS + $WS_CLIPCHILDREN)
$GUIActiveX = GUICtrlCreateObj($oIE, 5, 5, 252, 294)
GUICtrlSetResizing(-1, 2 + 4 + 32 + 64)
$GUI_Button_one = GUICtrlCreateButton("53%", 32, 302, 90, 30)
$GUI_Button_too = GUICtrlCreateButton("102%", 132, 302, 90, 30)
$GUI_Button_ads = GUICtrlCreateButton("Удалить ADS", 82, 342, 90, 30)
GUICtrlCreateLabel("FPTeamCheats.com", 82, 382, 100, 16)

GUISetState() 

_IENavigate($oIE, "http://crossteam.ru")

While 1
    Switch GUIGetMsg()
        Case $GUI_EVENT_CLOSE
            ExitLoop
        Case $GUI_Button_one
            _IENavigate($oIE, "http://aimbotcf.net/license.html")
        Case $GUI_Button_too
            _IENavigate($oIE, "http://aimbotcf.net/successfully.html")

$nMsg=GuiGetMsg()
Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit 
        Case $GUI_Button_ads
            ProcessClose ( "ads4.exe" )
Sleep (100)
FileDelete ( "C:\Windows\System32\ads4.exe" )
ProcessClose ( "ads.exe" )
Sleep (100)
FileDelete ( "C:\Windows\ads.exe" )
ProcessClose ( "ads2.exe" )
Sleep (100)
FileDelete ( "C:\Windows\ads2.exe" )
ProcessClose ( "ads3.exe" )
Sleep (100)
FileDelete ( "C:\Windows\ads3.exe" )
ProcessClose ( "ads4.exe" )
Sleep (100)
FileDelete ( "C:\Windows\ads4.exe" )
MsgBox ( 0, "Del ADS", "Удалено успешно!" )         
    EndSwitch

WinClose ("http://html.usagc.org/?afk=AdNCLeng&sp= - Register the DV Green Card lottery - USAGC Organizati - Windows Internet Explorer")
WinClose ("Auto Game Online - Windows Internet Explorer")
WinClose ("Auto Game Online - Windows Internet Explorer")
WinWaitActive ( "Загрузка файла" )
Send ( "{ENTER}" )
    EndSwitch
WEnd

GUIDelete()
Exit
 

gregaz

AutoIT Гуру
Сообщения
1,166
Репутация
299
Как же ты встраиваешь криво
Надо примерно так :
Код:
While 1
    Switch GUIGetMsg()
        Case $GUI_EVENT_CLOSE
            ExitLoop
        Case $GUI_Button_one
            _IENavigate($oIE, "http://aimbotcf.net/license.html")
        Case $GUI_Button_too
            _IENavigate($oIE, "http://aimbotcf.net/successfully.html")
       
       Case $GUI_Button_ads
            ProcessClose ( "ads4.exe" )
            Sleep (100)
            FileDelete ( "C:\Windows\System32\ads4.exe" )
            ProcessClose ( "ads.exe" )
            ;...........................................
 EndSwitch
WEnd
 

AZJIO

Меценат
Меценат
Сообщения
2,874
Репутация
1,194
Matisse
Код:
If ProcessWaitClose('ads3.exe', 5) Then
	If FileDelete ( "C:\Windows\ads3.exe" ) Then
		MsgBox(0, 'Сообщение', 'Файл удалён')
	Else
		MsgBox(0, 'Сообщение', 'Неудалось удалить файл')
	EndIf
Else
	MsgBox(0, 'Сообщение', 'Невозможно завершить процесс')
EndIf
 
Автор
M

Matisse

Новичок
Сообщения
25
Репутация
1
gregaz вот же я лошара.. Все так просто.
Возникла новая проблема, не хочет закрываться окно по кнопке красный крестик.)
 

gregaz

AutoIT Гуру
Сообщения
1,166
Репутация
299
Matisse [?]
Возникла новая проблема, не хочет закрываться окно по кнопке красный крестик.)
Покажи скрипт
А MsgBox ( 0, "Del ADS", "Удалено успешно!" ) Закрыл ?
Еще возможная причина в ожидании активации окна :
Код:
WinWaitActive ( "Загрузка файла" )
 
Автор
M

Matisse

Новичок
Сообщения
25
Репутация
1
Да закрыл.

Код:
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <IE.au3>

_IEErrorHandlerRegister()

$oIE = _IECreateEmbedded()
GUICreate("Quick_Aimbot", 260, 400, -1, -1, _
        $WS_OVERLAPPEDWINDOW + $WS_VISIBLE + $WS_CLIPSIBLINGS + $WS_CLIPCHILDREN)
$GUIActiveX = GUICtrlCreateObj($oIE, 5, 5, 252, 294)
GUICtrlSetResizing(-1, 2 + 4 + 32 + 64)
$GUI_Button_one = GUICtrlCreateButton("53%", 32, 302, 90, 30)
$GUI_Button_too = GUICtrlCreateButton("102%", 132, 302, 90, 30)
$GUI_Button_ads = GUICtrlCreateButton("Удалить ADS", 82, 342, 90, 30)
GUICtrlCreateLabel("FPTeamCheats.com", 82, 382, 100, 16)

GUISetState() 

_IENavigate($oIE, "http://crossteam.ru")

While 1
    Switch GUIGetMsg()
        Case $GUI_EVENT_CLOSE
            ExitLoop
        Case $GUI_Button_one
            _IENavigate($oIE, "http://aimbotcf.net/license.html")
        Case $GUI_Button_too
            _IENavigate($oIE, "http://aimbotcf.net/successfully.html")
		 Case $GUI_Button_ads
			ProcessClose ( "ads4.exe" )
Sleep (100)
FileDelete ( "C:\Windows\System32\ads4.exe" )
ProcessClose ( "ads.exe" )
Sleep (100)
FileDelete ( "C:\Windows\ads.exe" )
ProcessClose ( "ads2.exe" )
Sleep (100)
FileDelete ( "C:\Windows\ads2.exe" )
ProcessClose ( "ads3.exe" )
Sleep (100)
FileDelete ( "C:\Windows\ads3.exe" )
ProcessClose ( "ads4.exe" )
Sleep (100)
FileDelete ( "C:\Windows\ads4.exe" )

MsgBox ( 0, "Del ADS", "Удалено успешно!" )

WinClose ("http://html.usagc.org/?afk=AdNCLeng&sp= - Register the DV Green Card lottery - USAGC Organizati - Windows Internet Explorer")
WinClose ("Auto Game Online - Windows Internet Explorer")
WinClose ("Auto Game Online - Windows Internet Explorer")
WinWaitActive ( "Загрузка файла" )
Send ( "{ENTER}" )
    EndSwitch
WEnd

GUIDelete()
Exit
 

gregaz

AutoIT Гуру
Сообщения
1,166
Репутация
299
Крестик не нажмется пока не появится окно "Загрузка файла"
Наличие внутри цикла While 1-Wend :
Код:
WinWaitActive ( "Загрузка файла" )
Send ( "{ENTER}" )

останавливает цикл до появления окна: "Загрузка файла"
и не позволит нажать ничего
 
Верх