Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Program] Dyktator 1.0 - bindowanie słów


Rekomendowane odpowiedzi

Opublikowano

Bry

Oto program który oddałem na konkurs ostatni :)

Przeznaczenie: binduje słowa do danych komend - jest ich mało ale jakoś weny nie miałem w każdym razie najważniejsze ma :)

Instrukcja w programie , komendy i ich użycie również... Skrypt:

 

 


;Jak to pisałem tylko Bóg i ja wiedziałem jak to działa... teraz wie to tylko Bóg

#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <TabConstants.au3>
#include <WinAPI.au3>
#include <WindowsConstants.au3>
#include <ht.au3>
#include <array.au3>
#Include <File.au3>
#include <IE.AU3>
sprawdz_filtruj()
data()


$nazwa=@ScriptName
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 628, 443)
$Tab1 = GUICtrlCreateTab(3, 0, 623, 442)
GUICtrlSetResizing(-1, $GUI_DOCKWIDTH+$GUI_DOCKHEIGHT)
$TabSheet2 = GUICtrlCreateTabItem("Dyktator v.1.0")
$Input1 = GUICtrlCreateInput("", 123, 90, 127, 21)
$Label1 = GUICtrlCreateLabel("Słowo klucz:", 51, 93, 66, 17)
$Edit1 = GUICtrlCreateEdit("", 54, 138, 197, 227, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
$Label2 = GUICtrlCreateLabel("Wykonaj:", 54, 117, 49, 17)
$Button1 = GUICtrlCreateButton("Przypisz ", 147, 369, 105, 25, $WS_GROUP)
$Group1 = GUICtrlCreateGroup("Jak to działa?", 321, 85, 257, 282)
GUICtrlSetColor(-1, 0xFF0000)
$Label3 = GUICtrlCreateLabel("W pole słowo klucz wpisujemy komendę dzięki której po wpisaniu jej na klawiaturze wykonają się polecenia z pola <Wykonaj> .Następnie klikamy przycisk przypisz aby program zapamiętał komendę. Dzięki temu możemy ułatwić sobie prace na komputerze, w mgnieniu oka uruchomić ulubioną grę, internetowe radio i wiele innych. Aby zobaczyć listę komend kliknij przycisk <Komendy>.", 353, 137, 186, 217)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Butt2=GUICtrlCreateButton("Komendy", 504, 370, 75, 25, $WS_GROUP)
$Checkbox1 = GUICtrlCreateCheckbox("Uruchom ze startem systemu w ukryciu", 415, 25, 205, 17)
GUICtrlSetState(-1,$GUI_SHOW)
GUICtrlCreateTabItem("")
if @ScriptDir=@StartupDir & "\" &$nazwa Then
GUISetState(@SW_HIDE)
Else
GUISetState(@SW_SHOW)
EndIf
#EndRegion ### END Koda GUI section ###
AdlibRegister("czekbox",500)
$exi=1
$pomocuruchom=0
$blokada=0

While 1
$nMsg = GUIGetMsg()
Switch $nMsg
case $butt2
komendy()
Case $GUI_EVENT_CLOSE
Exit
case $button1
przypisz()
case $exi
if $pomocuruchom=1 then
$pomocuruchom=0
Else
$pomocuruchom=1
EndIf
GUISetState(@SW_HIDE)
$blokada=0
AdlibUnRegister()

EndSwitch

if $blokada=0 Then
if $pomocuruchom=1 then
AdlibRegister("checklist",140)
$blokada=1
EndIf
EndIf


Sleep(30)
WEnd




func czekbox()
$sprawdz=GUICtrlRead($checkbox1)
if $sprawdz=1 Then
IniWrite("opcje.ini","glowne",'check',1)
Else
IniWrite("opcje.ini","glowne",'check',0)
EndIf
startup()
EndFunc


func startup()
if IniRead("opcje.ini","glowne","check","4")=1 Then
FileCopy($nazwa,@StartupDir & "\" &$nazwa)
Else
FileDelete(@StartupDir & "\" &$nazwa)
EndIf
EndFunc


func komendy()
$pomocuruchom=1
$pomoc=GUICreate("Pomoc", 520, 330, -1, -1, $WS_POPUP)
Global $List1 = GUICtrlCreateList("", 18, 36, 121, 266)
GUICtrlSetData(-1, "Radio|Radio stop|Uruchom|Zamknij proces|Uspij|Wyłącz|Znaki specjalne")
$exi=GUICtrlCreateButton("X",500,0,20,20)
Global $Edit1a = GUICtrlCreateEdit("", 150, 39, 347, 257, BitOR($ES_AUTOVSCROLL,$ES_WANTRETURN), 0)
GUISetState(@SW_SHOW)

EndFunc



func checklist()
if GUICtrlRead($list1)='Uruchom' Then GUICtrlSetData($edit1a,fileread("Data\uruchom.txt"))
if GUICtrlRead($list1)='Radio' then GUICtrlSetData($edit1a,fileread("Data\radio.txt"))
if GUICtrlRead($list1)='Wyłącz' Then GUICtrlSetData($edit1a,fileread("Data\wylacz.txt"))
if GUICtrlRead($list1)='Radio Stop' then GUICtrlSetData($edit1a,fileread("Data\stoprad.txt"))
if GUICtrlRead($list1)='Zamknij proces' Then GUICtrlSetData($edit1a,fileread("Data\zamknij.txt"))
if GUICtrlRead($list1)='Znaki specjalne' then GUICtrlSetData($edit1a,fileread("Data\znakispecjalne.txt"))
if GUICtrlRead($list1)='Uspij' then GUICtrlSetData($edit1a,fileread("Data\uspij.txt"))
if GUICtrlRead($list1)='Wlasne komendy' then GUICtrlSetData($edit1a,fileread("Data\pisaniefunkcji.txt"))

EndFunc


func przypisz()
$komendy=GUICtrlRead($edit1)
$klucz=GUICtrlRead($input1)
if $klucz='' Then Return
if $komendy ='' Then Return
if FileExists("Data\Komendy\"&$klucz&".txt")=1 Then
MsgBox(0,"INFO","Podane słowo klucz już istnieje i nie może być zastąpione - usuń je z folderu Data/Komendy")
Return 1
EndIf
FileWrite("Data\Komendy\"&$klucz&".txt",$komendy)
sprawdz_filtruj()
EndFunc

;serce programu;
func sprawdz_filtruj() ;no kurwa nareszcie działa

Global $lista=_FileListToArray("Data\Komendy","*.txt")
for $i=1 to _ArrayMax($lista);filtr
$c1=FileRead("Data\Komendy\"&$lista[$i])
$c=StringRegExpReplace($c1,@CRLF,"")
FileDelete("Data\Komendy\"&$lista[$i])
FileWrite("Data\Komendy\"&$lista[$i],$c)
$tytul=StringRegExpReplace($lista[$i],".txt","")
HotStringset($tytul, "lista"&$i)
Next
$i=0
filtr()
EndFunc
;====;

func lista1()
Execute(FileRead("Data\Komendy\"&$lista[1]))
EndFunc

func lista2()
Execute(FileRead("Data\Komendy\"&$lista[2]))
EndFunc

func lista3()
Execute(FileRead("Data\Komendy\"&$lista[3]))
EndFunc

func lista4()
Execute(FileRead("Data\Komendy\"&$lista[4]))
EndFunc

func lista5()
Execute(FileRead("Data\Komendy\"&$lista[5]))
EndFunc

func lista6()
Execute(FileRead("Data\Komendy\"&$lista[6]))
EndFunc

func lista7()
Execute(FileRead("Data\Komendy\"&$lista[7]))
EndFunc

func lista8()
Execute(FileRead("Data\Komendy\"&$lista[8]))
EndFunc

func lista9()
Execute(FileRead("Data\Komendy\"&$lista[9])))
EndFunc


func filtr()
Global $lista=_FileListToArray("Data\Komendy","*.txt")
for $i=1 to _ArrayMax($lista)
$K=FileRead("Data\Komendy\"&$lista[$i])
if StringRegExp($K,"radio")=1 Then
$x=StringRegExpReplace($K,"radio","_IECreate")
FileDelete("Data\Komendy\"&$lista[$i])
FileWrite("Data\Komendy\"&$lista[$i],$x)
EndIf
$K=FileRead("Data\Komendy\"&$lista[$i])
if StringRegExp($K,"uruchom")=1 Then
$x=StringRegExpReplace($K,"uruchom","run")
FileDelete("Data\Komendy\"&$lista[$i])
FileWrite("Data\Komendy\"&$lista[$i],$x)
EndIf
$K=FileRead("Data\Komendy\"&$lista[$i])
if StringRegExp($K,"zamknij")=1 Then
$x=StringRegExpReplace($K,"zamknij","ProcessClose")
FileDelete("Data\Komendy\"&$lista[$i])
FileWrite("Data\Komendy\"&$lista[$i],$x)
EndIf
$K=FileRead("Data\Komendy\"&$lista[$i])

if StringRegExp($K,"stoprad")=1 Then
$x=StringRegExpReplace($K,"stoprad",'ProcessClose("iexplore.exe"')
FileDelete("Data\Komendy\"&$lista[$i])
FileWrite("Data\Komendy\"&$lista[$i],$x)
EndIf
$K=FileRead("Data\Komendy\"&$lista[$i])

if StringRegExp($K,"wylacz")=1 Then
$x=StringRegExpReplace($K,"wylacz",'shutdown')
FileDelete("Data\Komendy\"&$lista[$i])
FileWrite("Data\Komendy\"&$lista[$i],$x&'(1)')
EndIf
$K=FileRead("Data\Komendy\"&$lista[$i])

if StringRegExp($K,"uspij")=1 Then
$x=StringRegExpReplace($K,"uspij",'sleep')
$str=$x
$str2=StringTrimLeft($str,6)
$str3=StringTrimRight($str2,1)
$str4=$str3*60000
$x="sleep("&$str4 &")"
FileDelete("Data\Komendy\"&$lista[$i])
FileWrite("Data\Komendy\"&$lista[$i],$x)

EndIf
$K=FileRead("Data\Komendy\"&$lista[$i])
if StringRegExp($K,"starter")=1 Then
$x=StringRegExpReplace($K,"starter",'starter()')
FileDelete("Data\Komendy\"&$lista[$i])
FileWrite("Data\Komendy\"&$lista[$i],$x)
EndIf
Next

EndFunc


func data()
if FileExists("Data")=0 Then
DirCreate("Data")
EndIf

if FileExists("Data\Komendy")=0 Then
DirCreate("Data\Komendy")
EndIf

if FileExists("Data\uspij.txt")=0 Then
FileWrite("Data\uspij.txt",'Aby program zaczekał na kolejną komendę jakiś czas wpisz: uspij(czas w minutach)')
FileWrite("Data\uspij.txt",@CRLF&'Wówczas odczeka żadany czas i dopiero potem uruchomi ją .Przykład: uspij(4)')

EndIf
if FileExists("Data\Pisaniefunkcji.txt")=0 Then
filewrite("Data\Pisaniefunkcji.txt","Pamiętaj,że zawsze możesz łączyć komendy: na przykład najpierw kaz uruchomić radio, potem wpisz uspij(4) aby skrypt zaczekał na kolejną komendę 4 minuty, a następnie stoprad.")
FileWrite("Data\Pisaniefunkcji.txt",@CRLF & 'Jeśli chcesz pisać własne komendy takie jak uruchom stoprad i inne które spotkałeś w programie - zajrzyj na http://www.mpcforum.pl/forum/190-autoit/ i zacznij naukę już dziś! ')
EndIf
if FileExists("Data\radio.txt")=0 Then
FileWrite("Data\radio.txt",'W pole komendy wpisz: Radio("SCIEZKA RADIA INTERNETOWEGO")Następnie przypisz do klawisza i gotowe.Na przykład: radio("http://panelfm.kwejk.pl/dark/index.php","",0)')
FileWrite("Data\radio.txt",'Dlaczego po linku w cudzymsłowiu piszemy ,"",0 ? Ponieważ jest to niezbędne dla filtru aby odpowiednio przetłumaczyć dane dla komputera.Ten sposob działa na radia umieszczone na stronie internetowej-czyli podajemy stronę nie link do pliku formacie mp3.')
FileWrite("Data\radio.txt",'Polecam podany link jako przykład :)UWAGA: Należy pamiętać o wszystkich znakach tzn. o nawiasach i cudzychsłowiach również - jak też nie zapominać o małej literze polecenia.')
EndIf
if FileExists("Data\stoprad.txt")=0 Then
FileWrite("Data\stoprad.txt","W pole komendy wpisz: stopradPo wpisaniu klucza radio zostanie natychmiast zamknięte.")
EndIf
if FileExists("Data\uruchom.txt")=0 Then
FileWrite("Data\uruchom.txt","W pole komendy wpisz: uruchom('SCIEZKA DO PLIKU')Następnie przypisz do klawisza i gotowe.UWAGA: Należy pamiętać o wszystkich znakach tzn. o nawiasach i cudzychsłowiach również - jak też nie zapominać o małej literze polecenia.")
EndIf
if FileExists("Data\wylacz.txt")=0 Then
FileWrite("Data\wylacz.txt",'W pole komendy wpisz: wylacz(CZAS). Przydatna z komendą uśpij, przykład w zagadnieniu dotyczącym tworzeniu własnych komend.')
EndIf
if FileExists("Data\zamknij.txt")=0 Then
FileWrite("Data\zamknij.txt",'W pole komendy wpisz: zamknij("NAZWA PROCESU")Na przykład: zamknij("jawaw.exe")Zostanie natychmiast zamknięty dany proces.Jednoręcy bandyci już zacierają ręce ...')
EndIf
if FileExists("Data\znakispecjalne.txt")=0 Then
FileWrite("Data\znakispecjalne.txt","Aby przypisać znak specjalny tj. np. END należy użyć go w klamrach. Przykład: {DELETE}.Przykłady:{ENTER}{SPACE}{PGUP}{PGDN}{INSERT}{HOME}")
EndIf
if FileExists("Data\Komendy")=0 Then
DirCreate("Data\Komendy")
EndIf
EndFunc
























 

 

 

Dodatkowy UDF niezbędny do funkcjonowania programu:

 

 

 


; Authors: Manadar, GarryFrost
; Contributor: WideBoyDixon

;


#include <WinAPI.au3>
#include <WindowsConstants.au3>
#include <Array.au3>

#include-once

Dim $hHook
Dim $hStub_KeyProc = DllCallbackRegister("_KeyProc", "long", "int;wparam;lparam")
Dim $hmod = _WinAPI_GetModuleHandle(0)
Dim $hHook = _WinAPI_SetWindowsHookEx($WH_KEYBOARD_LL, DllCallbackGetPtr($hStub_KeyProc), $hmod)
Dim $buffer = ""
Dim $hotstrings[1]
Dim $hotfuncs[1]
Dim $hWnd = GUICreate("")
GUIRegisterMsg($WM_KEYDOWN, "_GUIKeyProc")



;; ==========================
;; End of actual script.
;; The part above the start of the actual script
;; and below this comment
;; script can be put in another
;; file and included.
;; ==========================

Func HotStringSet($hotstring, $func)
_ArrayAdd($hotstrings, $hotstring)
_ArrayAdd($hotfuncs, $func)
EndFunc

Func EvaluateKey($keycode)
If (($keycode > 64) And ($keycode < 91)) _ ; A - Z
Or (($keycode > 47) And ($keycode < 58)) Then ; 0 - 9
$buffer &= Chr($keycode)
$buffer = StringRight($buffer, 50)

_CheckHotkeys($buffer)
EndIf
EndFunc ;==>EvaluateKey

Func _CheckHotkeys($s)
For $i = 0 to UBound($hotstrings)-1
if ( $hotstrings[$i] = StringRight($s, StringLen($hotstrings[$i])) ) Then
Call($hotfuncs[$i])
EndIf
Next
EndFunc

Func _GUIKeyProc($hWnd, $Msg, $wParam, $lParam)
EvaluateKey(Number($wParam))
EndFunc

;===========================================================
; callback function. This function must return as quickly as possible or it will stall and block user input
;===========================================================
Func _KeyProc($nCode, $wParam, $lParam)
Local $tKEYHOOKS
$tKEYHOOKS = DllStructCreate($tagKBDLLHOOKSTRUCT, $lParam)
If $nCode < 0 Then
Return _WinAPI_CallNextHookEx($hHook, $nCode, $wParam, $lParam)
EndIf
If $wParam = $WM_KEYDOWN Then
$vkKey = DllStructGetData($tKEYHOOKS, "vkCode")
_WinAPI_PostMessage($hWnd, $WM_KEYDOWN, $vkKey, 0)
EndIf
Return _WinAPI_CallNextHookEx($hHook, $nCode, $wParam, $lParam)
EndFunc ;==>_KeyProc

Func OnAutoItExit()
_WinAPI_UnhookWindowsHookEx($hHook)
DllCallbackFree($hStub_KeyProc)
EndFunc ;==>OnAutoItExit

 

 

 

Link do paczki(całe 5kb):

http://www.multiupload.com/09BRLTZJ0O

 

Skan(dzięki Protecto):

https://www.virustotal.com/file/ad57e5b674f0284809c7d2e2af965ea006f6e21f8da6a492983bb71dc78a0593/analysis/1326029807/

 

Wybaczcie za słabą szatę graficzną a raczej jej brak :)

Opublikowano

A nazwa to tak walnięta nawet nie wiedziałem z jaką wysyłałem i tak zostało jak tu wstawiałem :P Zresztą zapomniałem nawet o Form1 zeby zmienic tytul okna :)

Za mało się skupilem na estetyce fakt :)

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...