ich umgeh ja eigentlich nichts, sondern wende nur die bestehenden möglichkeiten so an, wie diese genutzt werden müssen.
Beiträge von sc4ry
-
-
hmm, also das mit FreeCap klappt nicht. anscheinend ist das nur SOCKS kompatibel.
Ich brauche ein Tool, dass mich mit User/PW am Proxy anmeldet, und dann verschiedene Programme, die diese Einstellmöglichkeit nicht haben, darüber mit dem Internet verbindet.
Leider finde ich selber nicht wirklich was dazu ... kennt einer von euch sowas?Was ist denn mit Tight- und UltraVNC ... unterstützen die Proxy mit User/ Passwort?
Kann man mit den Viewern auf einen RealVNC-Server zugreifen? -
ich bin jetzt endlich auf eins der tools gestoßen, über die man sämtliche tools über nen proxy routen kann (FreeCAP, ganz schön schwer sowas zu finden, wenn fast alles geblockt wird *g*).
Leider geht das auch nicht =/ -
Hiho,
ich brauch mal eure Hilfe.
Hier auf der Arbeit wurde ein neuer Proxy aufgesetzt, der jede Menge Seiten sperrt.
Viel problematischer für mich ist jedoch, dass ich nun auf meinen RealVNC-Server nicht mehr komme.Am Proxy muss man sicher mit User/PW authentifizieren ... nur scheint meine RealVNC-Variante (obwohl Enterprise) dies nicht zu unterstützen.
ZitatAlles anzeigen---------------------------
VNC Viewer: Question:
---------------------------
The proxy requires a username and password. This is not supported by this version of VNC.
Do you wish to attempt to reconnect to u?
---------------------------
Ja Nein
---------------------------welche Version soll das denn unterstützen? Bzw. müsste das ja nur der Viewer sein, ... leider kann ich die RealVNC-Homepage auch nicht aufrufen, um dort nach Infos zu suchen.
Oder, gibt es Tools (bzw es gibt sie, aber ich weiss grad keinen namen mehr) ... wo man den proxy mit allen daten einstellt und dann daraus sämtliche programme startet, die über den proxy arbeiten? für die tools, die das nicht selber von haus aus unterstützen.
Oder, welches andere Remote-Tool unterstützt die Verbindung über Proxy mit User/PW?
Ich weiss das ich das nicht sollte, aber ich mache nichts schlimmes ... ich muss nur hin und wieder mal nach dem rechten sehen =)
-
also ich hatte das prob auch mal, ... eins meiner neueren script läuft aber auch, wenn der pc gesperrt ist, da es ControlClick und ControlSend verwendet.
vllt damit mal versuchen
-
jo, so meine ich auch, dass das ist.
aber wie genau sende ich nun daten, dass das gegenüber die auch in seinem irc-clienten sieht?
bzw wie sende ich überhaupt daten *g* -
Hey,
kann ich mit nem AutoIt-Script Daten über mIRC senden?
Also eigentlich werden die Daten in mIRC ja auch per TCP geschickt, nur das aushandeln, ob Daten geschickt werden (dürfen), geht per dcc, oder? hoffe ich habs noch richtig im kopf *g*ist es nun möglich, auf ein ereignis im IRC (soweit bin ich schon *g*), ein file zu senden?
-
hiho,
super geiles spiel, ist echt super gelungen.
habe soweit auch keine fehler feststellen können, einzig was nervt, dass sich das spiel immer beendet, wenn man kaputt ist.
aber das wird sicher noch anders werden =) -
Hiho,
noch ein kleines update. ab jetzt können auch direkt parameter mit übergeben werden.
aus dem grund kann aber leider die alte DB nicht mehr verwendet werden, da eine Spalte neu generiert wurde. -
wieso sollte er vom unteren PC NICHT überwacht werden können?
In jedem Fall würde ich auch HijackThis empfehlen und prüfen, welche Tools alle laufen. Am besten mit ner Live-CD oder im abgesicherten Modus, damit sich das Tool nicht evtl. im laufenden Betrieb versteckt und somit nicht gesehen werden kann. Es könnte sein, dass dir ein Server-Tool untergeschoben wurde und somit dein kompletter Desktop/ Screen und sonst noch alles an Daten abgefangen wird. Killst du den Server (und gibt es keine Backdoor), hast du ruhe.
Auch kann es einfach sein, dass eine Man-In-The-Middle-Attack auf dich läuft ... und der untere PC sich mit einem Tool (CuA) als kürzester Weg ins Internet ausgibt und die ganze Kommunikation über diesen läuft. Alles was nicht (SSL) verschlüsselt ist, kann dann im Klartext mit dem Tool mitgelesen werden. Wie du das allerdings rausfindest, weiss ich auch nicht.
-
ok, also leider keine alternative.
hmm ... was noch ne möglichkeit wäre, ist ein kontextmenüeintrag ... wobei ich das eigentich vermeiden wollte.kann man denn folgendes machen?
und zwar wähle ich die Datei über FileOpenDialog aus ... kann man das Fenster so modden, dass man dort Files reinziehen kann???
-
kleines update im 1. Post
- wenn Autostart aktiviert ist, wird dies nun auch im Systray mit Haken angezeigt (hatte da irgendwie ne Zeile Code vergessen *g*)
- nach Programmstart durch doppelklick wird da Fenster wieder versteckt
- beim beenden des Hauptprogramms werden auch alle laufenden _Run.exe-Instanzen geschlossenPS:
hab noch nen Fehler entdeckt und noch was zugefügt
- nach Programmstart durch doppelklick erscheint in der Statusbar, was gerade gestartet wurde (2sek), danach wird das Feld wieder geleert und das Fenster dann erst versteckt
- da ich nun immer die DB erst öffne, wenn ich sie brauche und danach wieder schließe, ist beim EXIT der fehler aufgetreten (da ich dort das SQLite_Open vergessen hatte), dass die Haken (Autostart) nicht gespeichert wurden. ist nun also wieder behoben. -
hey, um nochmal auf das thema zurückzukommen ... wieso sollte es nicht gehen, ein gui über das icon zu legen?
mich nervt gerade, immer zu der datei zu navigieren, darum ist das thema mit drag&drop auf das icon wieder aktuell *g*mein problem ist nur, entweder hab ich ein gui über dem icon und kann das traymenü nicht mehr nutzen (dafür drag&drop) oder umgekehrt (oder sehe ich das falsch)?
-
-
Hi,
ka wer noch die Probleme hat, aber mir geht es tierisch wohin, dass Vista nach jedem Furz-Update immer "ungefragt" neu startet. Ok, man wird gefragt und hat 10 Min. Zeit ... aber ich bin ja nicht den ganzen Tag am PC.
Es gibt nen RegHack, der das beheben soll, doch leider ergibt sich bei mir keine Änderung ... darum hier das Ultimative Script um das zu stoppen =)
Der Code mag zwar ausgesprochen lang und besonders kompliziert sein, aber, aber da müsst ihr durch
Spoiler anzeigen
[autoit]#NoTrayIcon
[/autoit] [autoit][/autoit] [autoit]$Flag = 0
[/autoit] [autoit][/autoit] [autoit]Do
[/autoit]
$WW = WinWait("Windows Update", "Später durchführen")
If Not @error Then ControlClick("Windows Update", "Später durchführen", "[CLASS:Button; INSTANCE:2]")
Until $Flag = 1 -
Hiho,
nachdem ich für die Arbeit ein Tool geschrieben habe, welche sich bei verschiedenen Programmen automatisch anmeldet, hatte ich eigentlich auch immer im Hinterkopf, ein Programm zu entwickeln, dass zum Autostart vom sämtlichen Programmen verwendet werden kann. Das habe ich nun endlich abgeschlossen.
Das Tool ermöglicht, nach der Konfiguration eines Programmes, dieses z. B. mit Login zu starten. Zusätzlich können aber auch alle anderen Dateitypen gestartet werden. Somit hätte man die Verknüpfungen hierzu nicht irgendwo auf dem Desktop, sondern in diesem Tool gebündelt. Es ist z. B. auch möglich, Passwortgeschützt Excel-Dokumente direkt öffnen zu lassen.
Die Daten werden in einer DB gepflegt und in einem ListView angezeigt. Das PW ist verschlüsselt. Um zu verhindern, dass es durch Fehler zu Verzögerungen kommt, werden die Dateien über eine 2. Datei aufgerufen. Damit der Login funktioniert, muss der User neben Name und Passwort, auch selber die Controls bestimmen. Daher sicherlich nur für versierte Benutzer zu empfehlen ... aber die können damit sicher was anfangen.
ZitatAlles anzeigen- Im Hauptfenster werden die Tools angezeigt, für die ein Eintrag über ADD angelegt wurde
- Die Spalten können neu/ anders sortiert und die größe verändert werden (wird bei Neustart übernommen) und die Einträge können jeweils mit einem Klick auf den Spaltennamen neu sortiert werden (wird noch nicht übernommen)
- Mit X und ESC (bei aktiven Fenster) wird das Fenster versteckt, Linksklick aufs Trayicon zeigt/ versteckt das Fenster
- Größe und Position des Fensters werden auch bei Neustart übernommen (wenn das Tool regulär beendet wird)
- Programm kann über das Traymenü beendet werden
- Autostart kann über das Traymenü aktiviert werden
- zur 1. Spalte im Hauptfenster (mit dem Kästchen): wenn das aktiviert ist, wird dieses Programm beim laden des Tools automatisch mitgestartet
- Einträge hinzufügen/ ändern/ löschen und/oder die ganze Liste löschen, über Kontextmenü (Rechtsklick in Hauptfenster) möglich
- Einträge können über einen Doppelklick ausgeführt werden
- Erklärung add/ change:
Name: Name, der im Hauptfenster angezeigt wird (falls das Feld leer ist, wird automatisch der Dateiname ohne Endung eingetragen)
Path: über das Ordnersymbol kann zur Datei, die ausgeführt werden soll, navigiert werden. Über den grünen Pfeil kann die Datei direkt gestartet werden (falls dies nötig ist, um z. B. die Login
Options zu füllen)
Im Dropdown-Feld neben dem Namen kann ausgewählt werden, in welchem Zustand das Fenster der Datei gestartet werden soll. Funktioniert aber nur, wenn das Fenster direkt aufgerufen wird, nicht, wenn z. B. ein Login-Fenster vorgeschaltet ist.
Start Options:
bei "Start after" können 1 - n Programme (getrennt mit
eingetragen werden, auf dessen Beendung gewartet werden soll, bevor die Datei gestartet wird
bei "wait" kann festgelegt werden, wie lange die Verzögerung sein soll, bis die Datei gestartet wird. Zusätzlich kann die Verzögerung mit "before" vor "Start after", oder mit "after" nach "Start after" ausgeführt werden
Login Options:
wenn die Login Options aktiviert werden, startet automatisch das AutoItInfo-Fenster (beim deaktivieren, Klick auf OK oder Cancel wird dies automatisch wieder geschlossen)
WICHTIG: wenn die Login Options aktiviert sind, MUSS ein TITLE angegeben werden
Erklärung der restlichen Felder:
vorne wird immer der Text eingetragen, der zu senden ist, dahinter an welches Control (aus AutoItInfo-Fenster. TIP: mit Doppelklick
)
Falls bei Submit kein Control eingetragen wurde, wird ENTER an das Password-Control geschicktTIP: wurden ein TITLE in den LOGIN OPTIONS gepflegt und existiert dieser TITLE schon, bevor die Datei ausgeführt wurde, wird dieser Fenster verwendet
Main-Programm:
Spoiler anzeigen
[autoit]#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
[/autoit] [autoit][/autoit] [autoit]
#AutoIt3Wrapper_icon=..\..\..\Icons\Feed.ico
#AutoIt3Wrapper_Compression=4
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <String.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <StaticConstants.au3>
#include <GuiTab.au3>
#include <StructureConstants.au3>
#include <Constants.au3>
#include <GuiListView.au3>
#include <GuiStatusBar.au3>
#include <GUIConstantsEx.au3>
#include <ListViewConstants.au3>
#include <StatusBarConstants.au3>
#include <TabConstants.au3>
#include <WindowsConstants.au3>
#include <SQLite.dll.au3>
#include <SQLite.au3>
#include <Process.au3>
#Include <Misc.au3>;Tooltips
[/autoit] [autoit][/autoit] [autoit]
;Reihenfolge der Sortierung im ListView speichern
;Statusbar-Infos;~ Opt("OnExitFunc","OnAutoItExit")
[/autoit] [autoit][/autoit] [autoit]
Opt("GUICloseOnESC", 0)
Opt("GUIOnEventMode", 1)
Opt("TrayAutoPause", 0) ;0=no pause, 1=Pause
Opt("TrayIconDebug", 0) ;0=no info, 1=debug line info
Opt("TrayMenuMode", 1) ;0=append, 1=no default menu, 2=no automatic check, 4=menuitemID not return
Opt("TrayOnEventMode", 1) ;0=disable, 1=enableTraySetClick(8)
[/autoit] [autoit][/autoit] [autoit]
TraySetOnEvent($TRAY_EVENT_PRIMARYDOWN, "_ToogleWindow")Global $ChangeToolFlag = False, $aRow, $Autostart = 0, $Autostart_On = False, $ShowGui = 0
[/autoit] [autoit][/autoit] [autoit]
$key = Log(986543568)$Debug_LV = False ; Check ClassName being passed to ListView functions, set to True and use a handle to another control to see it work
[/autoit] [autoit][/autoit] [autoit]Global $hListView, $B_DESCENDING
[/autoit] [autoit][/autoit] [autoit]Local $aParts[2] = [100, -1]
[/autoit] [autoit][/autoit] [autoit]
Local $aText[2] = [@TAB & "", @TAB & " © sc4ry "]If Not FileExists(@ScriptDir & "\_Run.exe") Then FileInstall("_Run.exe", "_Run.exe")
[/autoit] [autoit][/autoit] [autoit]$sSQliteDll = _SQLite_Startup()
[/autoit] [autoit][/autoit] [autoit]
If @error > 0 Then
MsgBox(16, "SQLite Error", "SQLite.dll Can't be Loaded!", 5)
Exit -1
EndIf#Region ### START Koda GUI section ### Form=
[/autoit] [autoit][/autoit] [autoit]
$Form1 = GUICreate("Run.Me V. 0.1", IniRead("Settings.ini", "Pos", "w", "171"), IniRead("Settings.ini", "Pos", "h", "371"), IniRead("Settings.ini", "Pos", "x", "-1"), IniRead("Settings.ini", "Pos", "y", "-1"), BitOR($WS_SIZEBOX, $WS_MINIMIZEBOX, $WS_CAPTION, $WS_POPUP, $WS_SYSMENU), BitOR($WS_EX_WINDOWEDGE, $WS_EX_TOOLWINDOW))
GUISetOnEvent($GUI_EVENT_CLOSE, "_ToogleHide")
;~ GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
$Tab1 = GUICtrlCreateTab(0, 0, IniRead("Settings.ini", "Pos", "w", "171") - 2, IniRead("Settings.ini", "Pos", "h", "371") - 18)
GUICtrlSetResizing(-1, $GUI_DOCKTOP + $GUI_DOCKLEFT + $GUI_DOCKRIGHT + $GUI_DOCKBOTTOM)
$TabSheet1 = GUICtrlCreateTabItem("Tools")
$ListView1 = GUICtrlCreateListView("", 4, 27, IniRead("Settings.ini", "Pos", "w", "171") - 10, IniRead("Settings.ini", "Pos", "h", "371") - 50)
_GUICtrlListView_AddColumn($ListView1, "", IniRead("Settings.ini", "ColumnWidth", "Column0", "25"))
_GUICtrlListView_AddColumn($ListView1, "ID", IniRead("Settings.ini", "ColumnWidth", "Column1", "30"))
_GUICtrlListView_AddColumn($ListView1, "Ext", IniRead("Settings.ini", "ColumnWidth", "Column2", "30"))
_GUICtrlListView_AddColumn($ListView1, "Name", IniRead("Settings.ini", "ColumnWidth", "Column3", "72"))
_GUICtrlListView_SetColumnOrder($ListView1, IniRead("Settings.ini", "ColumnOrder", "Order", "0|1|2|3"))
_GUICtrlListView_SetExtendedListViewStyle($ListView1, BitOR($LVS_EX_CHECKBOXES, $LVS_EX_FULLROWSELECT, $LVS_EX_GRIDLINES, $LVS_EX_HEADERDRAGDROP))
GUICtrlSetResizing(-1, $GUI_DOCKTOP + $GUI_DOCKLEFT + $GUI_DOCKRIGHT + $GUI_DOCKBOTTOM)
$CMenu1 = GUICtrlCreateContextMenu($ListView1)
$CMenu1_1 = GUICtrlCreateMenuItem("add", $CMenu1)
GUICtrlSetOnEvent(-1, "_Add_Tool")
$CMenu1_2 = GUICtrlCreateMenuItem("change", $CMenu1)
GUICtrlSetOnEvent(-1, "_Change_Tool")
$CMenu1_3 = GUICtrlCreateMenuItem("", $CMenu1)
$CMenu1_4 = GUICtrlCreateMenuItem("delete", $CMenu1)
GUICtrlSetOnEvent(-1, "_Del_Tool")
$CMenu1_5 = GUICtrlCreateMenuItem("", $CMenu1)
$CMenu1_6 = GUICtrlCreateMenuItem("clear", $CMenu1)
GUICtrlSetOnEvent(-1, "_Clear_Tool")
#cs
$TabSheet2 = GUICtrlCreateTabItem("Sites")
$ListView2 = GUICtrlCreateListView("", 4, 27, IniRead("Settings.ini", "Pos", "w", "171") - 10, IniRead("Settings.ini", "Pos", "h", "371") - 50)
_GUICtrlListView_AddColumn($ListView2, "", 20)
_GUICtrlListView_AddColumn($ListView2, "ID", 30)
_GUICtrlListView_AddColumn($ListView2, "Name", 107)
_GUICtrlListView_SetExtendedListViewStyle($ListView2, BitOR($LVS_EX_CHECKBOXES, $LVS_EX_FULLROWSELECT, $LVS_EX_GRIDLINES))
GUICtrlSetResizing(-1, $GUI_DOCKTOP + $GUI_DOCKLEFT + $GUI_DOCKRIGHT + $GUI_DOCKBOTTOM)
$CMenu2 = GUICtrlCreateContextMenu($ListView2)
$CMenu2_1 = GUICtrlCreateMenuItem("add", $CMenu2)
$CMenu2_2 = GUICtrlCreateMenuItem("change", $CMenu2)
$CMenu2_3 = GUICtrlCreateMenuItem("", $CMenu2)
$CMenu2_4 = GUICtrlCreateMenuItem("delete", $CMenu2)
$CMenu2_5 = GUICtrlCreateMenuItem("", $CMenu2)
$CMenu2_6 = GUICtrlCreateMenuItem("clear", $CMenu2)
#ce
GUICtrlCreateTabItem("")
$StatusBar1 = _GUICtrlStatusBar_Create($Form1, $aParts, $aText)
GUICtrlSetResizing(GUICtrlGetHandle($StatusBar1), $GUI_DOCKBOTTOM + $GUI_DOCKLEFT + $GUI_DOCKRIGHT + $GUI_DOCKHEIGHT)
_GUICtrlStatusBar_SetMinHeight($StatusBar1, 17)If Not FileExists(@ScriptDir & "\database") Then
[/autoit] [autoit][/autoit] [autoit]
$DB_File = _SQLite_Open(@ScriptDir & "\database")
_SQLite_Exec($DB_File, "Create Table Tools (Name, Path, Show, Start_After, Start_Wait, Title, User, User_F, Password, Password_F, Optional, Optional_F, Submit, Submit_F, Autostart, Parameter);")
$ShowGui = 1
Else
$DB_File = _SQLite_Open(@ScriptDir & "\database")
_SQLite_Exec($DB_File, "Select Autostart, Rowid, Path, Name From Tools", "_InsertTitle")
EndIf_SQLite_Close ()
[/autoit] [autoit][/autoit] [autoit]Func _InsertTitle($aRow)
[/autoit] [autoit][/autoit] [autoit]
Local $index = -1, $subItem = 0
For $s In $aRow
If $s = "Autostart" Then Return
If $index = -1 Then
$index = _GUICtrlListView_AddItem($ListView1, "")
If $s = 1 Then
_GUICtrlListView_SetItemChecked($ListView1, $index, True)
$Autostart_On = True
EndIf
Else
$subItem += 1
If $subItem = 2 Then
$Pathsplit = _PathSplit1($s)
If Not @error Then _GUICtrlListView_AddSubItem($ListView1, $index, $Pathsplit[7], $subItem)
Else
_GUICtrlListView_AddSubItem($ListView1, $index, $s, $subItem)
If $Autostart_On = True Then
ShellExecute("_Run.exe", $s, @ScriptDir);_RunDOS(@ScriptDir & "\_Run.exe " & $s)
$Autostart_On = False
EndIf
EndIf
EndIf
Next
EndFunc ;==>_InsertTitleIf $ShowGui = 1 Then GUISetState(@SW_SHOW)
[/autoit] [autoit][/autoit] [autoit]
#EndRegion ### END Koda GUI section ###WinSetOnTop($Form1, "", 1)
[/autoit] [autoit][/autoit] [autoit]
GUIRegisterMsg($WM_SIZE, "_ResizeStatusBar")
GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")Global $B_DESCENDING[_GUICtrlListView_GetColumnCount($ListView1)]
[/autoit] [autoit][/autoit] [autoit]
;~ Global $B_DESCENDING[_GUICtrlListView_GetColumnCount($ListView2)]$TP2 = TrayCreateItem("Autostart")
[/autoit] [autoit][/autoit] [autoit]
TrayItemSetOnEvent(-1, "_Autostart")
TrayCreateItem("")
TrayCreateItem("Exit")
TrayItemSetOnEvent(-1, "_Exit")_CheckAutostart()
[/autoit] [autoit][/autoit] [autoit]
If $Autostart = 1 Then TrayItemSetState($TP2, 1)
While 1
Sleep(100)
If _IsPressed("1B") And WinGetState($Form1) = 15 Then _ToogleHide()
WEnd;;;; TOOL_FUNCS
[/autoit] [autoit][/autoit] [autoit]Func _Add_Tool()
[/autoit] [autoit][/autoit] [autoit]Opt("GUIOnEventMode", 0)
[/autoit] [autoit][/autoit] [autoit]#Region ### START Koda GUI section ### Form=o:\autoit\autoit3_portable\scite\koda\forms\form1.kxf
[/autoit] [autoit][/autoit] [autoit]
$Form2_1 = GUICreate("Add Tool", 377, 355, Default, Default, Default, $WS_EX_ACCEPTFILES, $Form1)
$Group1 = GUICtrlCreateGroup("ID: ", 0, 0, 377, 65)
$Input1 = GUICtrlCreateInput("Name", 8, 16, 73, 21, BitOR($ES_CENTER, $ES_AUTOHSCROLL, $ES_READONLY, $WS_BORDER))
$Input2 = GUICtrlCreateInput("", 88, 16, 145, 21)
$Input3 = GUICtrlCreateInput("Path", 8, 40, 73, 21, BitOR($ES_CENTER, $ES_AUTOHSCROLL, $ES_READONLY, $WS_BORDER))
$Input4 = GUICtrlCreateInput("", 88, 40, 242, 21, Default)
$Combo1 = GUICtrlCreateCombo("", 240, 16, 129, 25)
$Button1 = GUICtrlCreateButton("", 331, 40, 20, 20, $BS_ICON)
GUICtrlSetImage(-1, "shell32.dll", -5, 0)
$Button4 = GUICtrlCreateButton("", 353, 40, 20, 20, BitOR($BS_CENTER, $BS_VCENTER, $BS_ICON))
GUICtrlSetState(-1, $GUI_DISABLE)
GUICtrlSetImage(-1, "shell32.dll", -177, 0)
$Checkbox1 = GUICtrlCreateCheckbox("Start Options", 3, 71, 361, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group2 = GUICtrlCreateGroup("", 0, 82, 377, 90)
$Input20 = GUICtrlCreateInput("Parameter", 8, 96, 73, 21, BitOR($ES_CENTER, $ES_AUTOHSCROLL, $ES_READONLY, $WS_BORDER))
$Input21 = GUICtrlCreateInput("", 88, 96, 281, 21)
$Checkbox2 = GUICtrlCreateCheckbox("Start after ...", 8, 122, 81, 17, BitOR($BS_CHECKBOX, $BS_AUTOCHECKBOX, $BS_CENTER, $WS_TABSTOP))
$Input5 = GUICtrlCreateInput("", 88, 119, 281, 21)
$Checkbox3 = GUICtrlCreateCheckbox("wait", 8, 146, 81, 17, BitOR($BS_CHECKBOX, $BS_AUTOCHECKBOX, $BS_CENTER, $WS_TABSTOP))
$Input6 = GUICtrlCreateInput("", 88, 142, 73, 21, BitOR($ES_NUMBER, $ES_LEFT, $ES_AUTOHSCROLL))
$Radio1 = GUICtrlCreateRadio("seconds", 169, 145, 65, 17, 0)
GUICtrlSetState(-1, $GUI_Checked)
$Radio2 = GUICtrlCreateRadio("minutes", 233, 145, 57, 17)
$Combo2 = GUICtrlCreateCombo("", 296, 142, 74, 17)
$GroupEnd2 = GUICtrlCreateDummy()
_SetGroupState($Group2, $GroupEnd2, $GUI_DISABLE)
$Checkbox4 = GUICtrlCreateCheckbox("Login Options", 4, 177, 361, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group3 = GUICtrlCreateGroup("", 0, 188, 377, 145)
$Input7 = GUICtrlCreateInput("Title", 8, 204, 73, 21, BitOR($ES_CENTER, $ES_AUTOHSCROLL, $ES_READONLY, $WS_BORDER))
$Input12 = GUICtrlCreateInput("", 88, 205, 281, 21)
$Input8 = GUICtrlCreateInput("User", 8, 228, 73, 21, BitOR($ES_CENTER, $ES_AUTOHSCROLL, $ES_READONLY, $WS_BORDER))
$Input13 = GUICtrlCreateInput("", 88, 229, 121, 21)
$Input14 = GUICtrlCreateInput("", 216, 229, 153, 21)
$Input9 = GUICtrlCreateInput("Password", 8, 252, 73, 21, BitOR($ES_CENTER, $ES_AUTOHSCROLL, $ES_READONLY, $WS_BORDER))
$Input15 = GUICtrlCreateInput("", 88, 253, 121, 21, BitOR($ES_PASSWORD, $ES_LEFT, $ES_AUTOHSCROLL))
$Input16 = GUICtrlCreateInput("", 216, 253, 153, 21)
$Input10 = GUICtrlCreateInput("Optional", 8, 276, 73, 21, BitOR($ES_CENTER, $ES_AUTOHSCROLL, $ES_READONLY, $WS_BORDER))
$Input17 = GUICtrlCreateInput("", 88, 277, 121, 21)
$Input18 = GUICtrlCreateInput("", 216, 277, 153, 21)
$Input11 = GUICtrlCreateInput("Submit", 8, 300, 73, 21, BitOR($ES_CENTER, $ES_AUTOHSCROLL, $ES_READONLY, $WS_BORDER))
$Combo3 = GUICtrlCreateCombo("", 88, 301, 121, 25)
$Input19 = GUICtrlCreateInput("", 216, 301, 153, 21)
$GroupEnd3 = GUICtrlCreateDummy()
_SetGroupState($Group3, $GroupEnd3, $GUI_DISABLE)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Button2 = GUICtrlCreateButton("Ok", 0, 337, 65, 17, 0)
$Button3 = GUICtrlCreateButton("Cancel", 312, 337, 65, 17, 0)If $ChangeToolFlag = True Then
[/autoit] [autoit][/autoit] [autoit]
$DB_File = _SQLite_Open(@ScriptDir & "\database")
_SQLite_QuerySingleRow($DB_File, "Select Rowid, * From Tools Where Rowid = '" & _GUICtrlListView_GetItemText(GUICtrlGetHandle($ListView1), _GUICtrlListView_GetSelectedIndices($ListView1), 1) & "' LIMIT 1;", $aRow)
If Not @error ThenGUICtrlSetData($Group1, "ID: " & $aRow[0])
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetData($Input2, $aRow[1])
GUICtrlSetData($Input4, $aRow[2])
GUICtrlSetState($Button4, $GUI_ENABLE)
GUICtrlSetData($Combo1, "Show|ShowDefault|Maximize|Minimize|Hide|ShowMaximized|ShowMinimized|ShowMinNoActive|ShowNa|ShowNoActive|ShowNormal", $aRow[3])GUICtrlSetData($Combo2, "before|after", "after")
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetData($Combo3, "Mouse|Enter", "Enter")If $aRow[4] <> "" Or $aRow[5] <> "" Or $aRow[16] <> "" Then
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetState($Checkbox1, 1)
_SetGroupState($Group2, $GroupEnd2, $GUI_ENABLE)
If $aRow[4] <> "" Then
GUICtrlSetState($Checkbox2, 1)
GUICtrlSetData($Input5, $aRow[4])
EndIf
If $aRow[5] <> "" Then
GUICtrlSetState($Checkbox3, 1)
$StringSplit = StringSplit($aRow[5], "%")
If Not @error Then
GUICtrlSetData($Input6, $StringSplit[1] / 1000)
GUICtrlSetData($Combo2, "")
GUICtrlSetData($Combo2, "before|after", $StringSplit[2])
EndIf
EndIf
If $aRow[16] <> "" Then GUICtrlSetData($Input21, $aRow[16])
EndIfIf $aRow[6] <> "" Or $aRow[7] <> "" Or $aRow[8] <> "" Or $aRow[9] <> "" Or $aRow[10] <> "" Or $aRow[11] <> "" Or $aRow[12] <> "" Or $aRow[14] <> "" Then
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetState($Checkbox4, 1)
_SetGroupState($Group3, $GroupEnd3, $GUI_ENABLE)
GUICtrlSetData($Input12, $aRow[6])
GUICtrlSetData($Input13, $aRow[7])
GUICtrlSetData($Input14, $aRow[8])
GUICtrlSetData($Input15, _StringEncrypt(0, $aRow[9], $key, 4))
GUICtrlSetData($Input16, $aRow[10])
GUICtrlSetData($Input17, $aRow[11])
GUICtrlSetData($Input18, $aRow[12])
GUICtrlSetData($Input19, $aRow[14])
GUICtrlSetData($Input21, $aRow[15])
GUICtrlSetData($Combo3, "")
GUICtrlSetData($Combo3, "Mouse|Enter", $aRow[13])
EndIf
EndIf
Else
GUICtrlSetData($Combo1, "Show|ShowDefault|Maximize|Minimize|Hide|ShowMaximized|ShowMinimized|ShowMinNoActive|ShowNa|ShowNoActive|ShowNormal", "ShowDefault")
GUICtrlSetData($Combo2, "before|after", "after")
GUICtrlSetData($Combo3, "Mouse|Enter", "Enter")
EndIf
_SQLite_Close ()
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###While 1
[/autoit] [autoit][/autoit] [autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
GUIDelete($Form2_1)
ProcessClose("Au3Info.exe")
ExitLoop
Case $Button3
GUIDelete($Form2_1)
ProcessClose("Au3Info.exe")
ExitLoop
Case $Button4
$PS = _PathSplit1(GUICtrlRead($Input4))
FileChangeDir($PS[2])
ShellExecute($PS[0])
FileChangeDir(@ScriptDir)
Case $Button1
$FileOpenDialog = FileOpenDialog("File", "", "All (*.*)", Default, Default, $Form2_1)
If $FileOpenDialog <> "" And Not @error Then
GUICtrlSetData($Input4, $FileOpenDialog)
GUICtrlSetState($Button4, $GUI_ENABLE)
If GUICtrlRead($Input2) = "" Then
$FileName = _PathSplit1($FileOpenDialog)
GUICtrlSetData($Input2, $FileName[6])
EndIf
EndIf
FileChangeDir(@ScriptDir)
Case $Checkbox1
If GUICtrlRead($Checkbox1) = 1 Then
_SetGroupState($Group2, $GroupEnd2, $GUI_ENABLE)
Else
_SetGroupState($Group2, $GroupEnd2, $GUI_DISABLE)
EndIf
Case $Checkbox4
If GUICtrlRead($Checkbox4) = 1 Then
_SetGroupState($Group3, $GroupEnd3, $GUI_ENABLE)
FileInstall("Au3Info.exe", "Au3Info.exe", 1)
Run("Au3Info.exe", @ScriptDir)
Else
_SetGroupState($Group3, $GroupEnd3, $GUI_DISABLE)
ProcessClose("Au3Info.exe")
EndIf
Case $Button2
If GUICtrlRead($Input2) = "" Or GUICtrlRead($Input4) = "" Then
MsgBox(16, "Data is missing", "Please enter a Name and a valid Path.", 5, $Form2_1)
ContinueLoop
EndIf
If GUICtrlRead($Checkbox4) = 1 And GUICtrlRead($Input12) = "" Then
MsgBox(16, "Data is missing", "Please enter a Title.", 5, $Form2_1)
ContinueLoop
EndIf
$Name = GUICtrlRead($Input2)
$Path = GUICtrlRead($Input4)
$Show = GUICtrlRead($Combo1)
If GUICtrlRead($Checkbox1) = 1 Then
If GUICtrlRead($Checkbox2) = 1 Then
$Start_After = GUICtrlRead($Input5)
Else
$Start_After = ""
EndIf
If GUICtrlRead($Checkbox3) = 1 Then
If GUICtrlRead($Radio2) = 1 Then
$Time = GUICtrlRead($Input6) * 60 * 1000
Else
$Time = GUICtrlRead($Input6) * 1000
EndIf
If $Time <= 0 Then
$Start_Wait = ""
Else
$Start_Wait = $Time & "%" & GUICtrlRead($Combo2)
EndIf
Else
$Start_Wait = ""
EndIf
If GUICtrlRead($Input21) <> "" Then $Parameter = GUICtrlRead($Input21)
Else
$Start_After = ""
$Start_Wait = ""
$Parameter = ""
EndIf
If GUICtrlRead($Checkbox4) = 1 Then
$Title = GUICtrlRead($Input12)
$User = GUICtrlRead($Input13)
$User_F = GUICtrlRead($Input14)
$Password = _StringEncrypt(1, GUICtrlRead($Input15), $key, 4)
$Password_F = GUICtrlRead($Input16)
$Optional = GUICtrlRead($Input17)
$Optional_F = GUICtrlRead($Input18)
$Submit = GUICtrlRead($Combo3)
$Submit_F = GUICtrlRead($Input19)
Else
$Title = ""
$User = ""
$User_F = ""
$Password = ""
$Password_F = ""
$Optional = ""
$Optional_F = ""
$Submit = ""
$Submit_F = ""
EndIf
$DB_File = _SQLite_Open(@ScriptDir & "\database")
If $ChangeToolFlag = True Then
_SQLite_Exec($DB_File, "Update Tools Set Name='" & $Name & "', Path='" & $Path & "', Show='" & $Show & "', Start_After='" & $Start_After & "', Start_Wait='" & $Start_Wait & "', Title='" & $Title & "', User='" & $User & "', User_F='" & $User_F & "', Password='" & $Password & "', Password_F='" & $Password_F & "', Optional='" & $Optional & "', Optional_F='" & $Optional_F & "', Submit='" & $Submit & "', Submit_F='" & $Submit_F & "', Parameter='" & $Parameter & "' Where rowid = " & StringTrimLeft(GUICtrlRead($Group1), 4) & ";")
$index = _GUICtrlListView_GetSelectedIndices($ListView1)
_GUICtrlListView_AddSubItem($ListView1, $index, StringTrimLeft(GUICtrlRead($Group1), 4), 1)
$Pathsplit = _PathSplit1($Path)
If Not @error Then _GUICtrlListView_AddSubItem($ListView1, $index, $Pathsplit[7], 2)
_GUICtrlListView_AddSubItem($ListView1, $index, $Name, 3)
Else
_SQLite_Exec($DB_File, "Insert into Tools values ('" & $Name & "','" & $Path & "','" & $Show & "','" & $Start_After & "','" & $Start_Wait & "','" & $Title & "', '" & $User & "', '" & $User_F & "', '" & $Password & "', '" & $Password_F & "', '" & $Optional & "', '" & $Optional_F & "', '" & $Submit & "', '" & $Submit_F & "', '', '" & $Parameter & "');")
$index = _GUICtrlListView_AddItem($ListView1, "")
_GUICtrlListView_AddSubItem($ListView1, $index, _SQLite_LastInsertRowID($DB_File), 1)
$Pathsplit = _PathSplit1($Path)
If Not @error Then _GUICtrlListView_AddSubItem($ListView1, $index, $Pathsplit[7], 2)
_GUICtrlListView_AddSubItem($ListView1, $index, $Name, 3)
EndIf
_SQLite_Close ()
GUIDelete($Form2_1)
ProcessClose("Au3Info.exe")
ExitLoop
EndSwitch
If _IsPressed("1B") Then
GUIDelete($Form2_1)
ProcessClose("Au3Info.exe")
ExitLoop
EndIf
WEndOpt("GUIOnEventMode", 1)
[/autoit] [autoit][/autoit] [autoit]EndFunc ;==>_Add_Tool
[/autoit] [autoit][/autoit] [autoit]Func _Change_Tool()
[/autoit] [autoit][/autoit] [autoit]
Global $ChangeToolFlag = True
_Add_Tool()
Global $ChangeToolFlag = False
EndFunc ;==>_Change_ToolFunc _Del_Tool()
[/autoit] [autoit][/autoit] [autoit]
$GetSelIndices = _GUICtrlListView_GetSelectedIndices($ListView1)
If Not @error Then
$MsgBox = MsgBox(33, "Delete Item?", "Do you really want to delete " & _GUICtrlListView_GetItemText(GUICtrlGetHandle($ListView1), $GetSelIndices, 3) & " ?", Default, $Form1)
If $MsgBox = 1 Then
$DB_File = _SQLite_Open(@ScriptDir & "\database")
$d = _SQLite_Exec(-1, "Delete From Tools Where rowid = '" & _GUICtrlListView_GetItemText(GUICtrlGetHandle($ListView1), $GetSelIndices, 1) & "'")
_SQLite_Close ()
_GUICtrlListView_DeleteItem(GUICtrlGetHandle($ListView1), $GetSelIndices)
EndIf
EndIf
EndFunc ;==>_Del_ToolFunc _Clear_Tool()
[/autoit] [autoit][/autoit] [autoit]
$MsgBox = MsgBox(17, "Delete All Items?", "Do you really want to delete all Items?", Default, $Form1)
If $MsgBox = 1 Then
_GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($ListView1))
$DB_File = _SQLite_Open(@ScriptDir & "\database")
_SQLite_Exec($DB_File, "Delete From Tools")
_SQLite_Close ()
EndIf
EndFunc ;==>_Clear_ToolFunc _SetGroupState($nIDStart, $nIDStop, $nState)
[/autoit] [autoit][/autoit] [autoit]
; Author: Prog@ndy
Local $i
For $i = $nIDStart To $nIDStop
GUICtrlSetState($i, $nState)
Next
EndFunc ;==>_SetGroupStateFunc _ToogleHide()
[/autoit] [autoit][/autoit] [autoit]
GUISetState(@SW_HIDE)
EndFunc ;==>_ToogleHideFunc _ToogleWindow()
[/autoit] [autoit][/autoit] [autoit]
$WinState = WinGetState($Form1)
If $WinState = 5 Then
GUISetState(@SW_SHOW)
Else
GUISetState(@SW_HIDE)
EndIf
EndFunc ;==>_ToogleWindowFunc _ResizeStatusBar()
[/autoit] [autoit][/autoit] [autoit]
_GUICtrlStatusBar_Resize($StatusBar1)
EndFunc ;==>_ResizeStatusBarFunc _Autostart()
[/autoit] [autoit][/autoit] [autoit]
_CheckAutostart()
If $Autostart = 1 Then
RegDelete("HKCU\Software\Microsoft\Windows\CurrentVersion\Run\", @ScriptName)
TrayItemSetState($TP2, 4)
Else
RegWrite("HKCU\Software\Microsoft\Windows\CurrentVersion\Run\", @ScriptName, "REG_SZ", @ScriptFullPath)
TrayItemSetState($TP2, 1)
EndIf
EndFunc ;==>_AutostartFunc _CheckAutostart()
[/autoit] [autoit][/autoit] [autoit]
$RegRead = RegRead("HKCU\Software\Microsoft\Windows\CurrentVersion\Run\", @ScriptName)
If Not @error Then
$Autostart = 1
Else
$Autostart = 0
EndIf
Return $Autostart
EndFunc ;==>_CheckAutostart;~ Func _Exit()
[/autoit] [autoit][/autoit] [autoit]
;~ Exit
;~ EndFunc ;==>_ExitFunc _Exit()
[/autoit] [autoit][/autoit] [autoit]
$WinGetPos = WinGetPos($Form1)
IniWrite("Settings.ini", "Pos", "x", $WinGetPos[0])
IniWrite("Settings.ini", "Pos", "y", $WinGetPos[1])
IniWrite("Settings.ini", "Pos", "w", $WinGetPos[2] -
IniWrite("Settings.ini", "Pos", "h", $WinGetPos[3] - 24)
For $i = 0 To 3
IniWrite("Settings.ini", "ColumnWidth", "Column" & $i, _GUICtrlListView_GetColumnWidth($ListView1, $i))
Next
IniWrite("Settings.ini", "ColumnOrder", "Order", _GUICtrlListView_GetColumnOrder($ListView1))
$DB_File = _SQLite_Open(@ScriptDir & "\database")
For $i = 0 To _GUICtrlListView_GetItemCount($ListView1) - 1
If _GUICtrlListView_GetItemChecked($ListView1, $i) = 1 Then
_SQLite_Exec($DB_File, "Update Tools Set Autostart='1' Where rowid = " & _GUICtrlListView_GetItemText($ListView1, $i, 1) & ";")
Else
_SQLite_Exec($DB_File, "Update Tools Set Autostart='""' Where rowid = " & _GUICtrlListView_GetItemText($ListView1, $i, 1) & ";")
EndIf
Next
_SQLite_Close ()
_SQLite_Shutdown ()
$ProcList = ProcessList("_Run.exe")
If Not @error Then
For $i = 1 To $ProcList[0][0]
ProcessClose($ProcList[$i][1])
Next
EndIf
Exit
EndFuncFunc WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam)
[/autoit] [autoit][/autoit] [autoit]
Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $hWndListView
$CurTab = _GUICtrlTab_GetCurSel($Tab1)
If $CurTab = 0 Then
$hListView = $ListView1
$CurCMenu = $CMenu1
ElseIf $CurTab = 1 Then
;~ $hListView = $ListView2
;~ $CurCMenu = $CMenu2
;~ $DESCENDING = $B_DESCENDING
EndIf
$hWndListView = $hListView ; ID des LV
If Not IsHWnd($hListView) Then $hWndListView = GUICtrlGetHandle($hListView) ; ID des LV
$tNMHDR = DllStructCreate($tagNMHDR, $ilParam)
$hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
$iIDFrom = DllStructGetData($tNMHDR, "IDFrom")
$iCode = DllStructGetData($tNMHDR, "Code")
Switch $hWndFrom
Case $hWndListView
Switch $iCode
Case $NM_DBLCLK
Local $tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)
Local $aInfo[5] = [$hWndFrom, $iIDFrom, $iCode, DllStructGetData($tInfo, "Index"), _
DllStructGetData($tInfo, "SubItem")]
If $CurTab = 0 Then
If _GUICtrlListView_GetSelectedIndices($hWndListView) <> "" Then
ShellExecute("_Run.exe", _GUICtrlListView_GetItemText(GUICtrlGetHandle($ListView1), _GUICtrlListView_GetSelectedIndices($ListView1), 1), @ScriptDir);_RunDOS(@ScriptDir & "\_Run.exe " & _GUICtrlListView_GetItemText(GUICtrlGetHandle($ListView1), _GUICtrlListView_GetSelectedIndices($ListView1), 1));ShellExecute("_Run.exe", _GUICtrlListView_GetItemText($ListView1, _GUICtrlListView_GetSelectedIndices($ListView1), 1), @ScriptDir, "open", @SW_HIDE)
_GUICtrlStatusBar_SetText($hWnd, _GUICtrlListView_GetItemText(GUICtrlGetHandle($ListView1), _GUICtrlListView_GetSelectedIndices($ListView1), 3))
Sleep(2000)
_GUICtrlStatusBar_SetText($hWnd, "")
Sleep(1000)
GUISetState(@SW_HIDE, $Form1)
EndIf
Else
EndIf
Case $LVN_COLUMNCLICK ; A column was clicked
$tInfo = DllStructCreate($tagNMLISTVIEW, $ilParam)
_GUICtrlListView_SimpleSort($hWndListView, $B_DESCENDING, DllStructGetData($tInfo, "SubItem"))
Case $NM_RCLICK ; Sent by a list-view control when the user clicks an item with the right mouse button
$tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)
If $CurTab = 0 Then
If _GUICtrlListView_GetItemCount($hWndListView) = 0 Then
GUICtrlSetState($CMenu1_6, $GUI_DISABLE)
Else
GUICtrlSetState($CMenu1_6, $GUI_ENABLE)
EndIf
If _GUICtrlListView_GetSelectedIndices($hWndListView) <> "" Then
GUICtrlSetState($CMenu1_2, $GUI_ENABLE)
GUICtrlSetState($CMenu1_4, $GUI_ENABLE)
Else
GUICtrlSetState($CMenu1_2, $GUI_DISABLE)
GUICtrlSetState($CMenu1_4, $GUI_DISABLE)
EndIf
Else
;~ If _GUICtrlListView_GetItemCount($hWndListView) = 0 Then
;~ GUICtrlSetState($CMenu2_6, $GUI_DISABLE)
;~ Else
;~ GUICtrlSetState($CMenu2_6, $GUI_ENABLE)
;~ EndIf
;~ If _GUICtrlListView_GetSelectedIndices($hWndListView) <> "" Then
;~ GUICtrlSetState($CMenu2_2, $GUI_ENABLE)
;~ GUICtrlSetState($CMenu2_4, $GUI_ENABLE)
;~ Else
;~ GUICtrlSetState($CMenu2_2, $GUI_DISABLE)
;~ GUICtrlSetState($CMenu2_4, $GUI_DISABLE)
;~ EndIf
EndIf
EndSwitch
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc ;==>WM_NOTIFY;===============================================================================
[/autoit] [autoit][/autoit] [autoit]
; Function Name: _PathSplit1()
; Description: Split the path to 8 elements.
; Parameter(s): $sPath - Path to split.
; Requirement(s): AutoIt 3.2.2.0.
; Return Value(s): On seccess - Array $RetArray that contain 8 elements:
; $RetArray[0] = Full path ($sPath)
; $RetArray[1] = Drive letter
; $RetArray[2] = Path without FileName and extension
; $RetArray[3] = Full path without File Extension
; $RetArray[4] = Full path without drive letter
; $RetArray[5] = FileName and extension
; $RetArray[6] = Just Filename
; $RetArray[7] = Just Extension of a file
;
; On failure - If $sPath not include correct path (the path is not splitable),
; then $sPath returned.
; If $sPath not include needed delimiters, or it's emty,
; then @error set to 1, and returned -1.
;
; Note(s): The path can include backslash as well (exmp: C:/test/test.zip).
;
; Author(s): G.Sandler a.k.a CreatoR (MsCreatoR) - Thanks to amel27 for help with RegExp
;===============================================================================Func _PathSplit1($sPath)
[/autoit]
If $sPath = "" Or StringRegExp($sPath, ('.*\\.*\/')) Then Return SetError(1, 0, -1)
Local $RetArray[8], $pDelim = ""
If StringRegExp($sPath, '^(?i)([A-Z]:|\\)(\\[^\\]+)+$') Then $pDelim = "\"
If StringRegExp($sPath, '(?i)(^.*:/)(/[^/]+)+$') Then $pDelim = "//"
If $pDelim = "" Then $pDelim = "/"
If Not StringInStr($sPath, $pDelim) Then Return $sPath
If $pDelim = "\" Then $pDelim &= "\"
$RetArray[0] = $sPath
$RetArray[1] = StringRegExpReplace($sPath, $pDelim & '.*', $pDelim)
$RetArray[2] = StringRegExpReplace($sPath, $pDelim & '[^' & $pDelim & ']*$', '')
$RetArray[3] = StringRegExpReplace($sPath, '\.[^.]*$', '')
$RetArray[4] = StringRegExpReplace($sPath, '(?i)([A-Z]:' & $pDelim & ')', '')
$RetArray[5] = StringRegExpReplace($sPath, '^.*' & $pDelim, '')
$RetArray[6] = StringRegExpReplace($RetArray[5], '\.[^.]*$', '')
$RetArray[7] = StringRegExpReplace($sPath, '^.*\.', '')
Return $RetArray
EndFunc ;==>_PathSplit1Programm was zum ausführen benötigt wird:
Spoiler anzeigen
[autoit]#NoTrayIcon
[/autoit] [autoit][/autoit] [autoit]
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_icon=..\..\..\Icons\shell32.ico
#AutoIt3Wrapper_Compression=4
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <SQLite.dll.au3>
#include <SQLite.au3>
#include <String.au3>Opt("TrayIconDebug", 0) ;0=no info, 1=debug line info
[/autoit] [autoit][/autoit] [autoit]If $CmdLine[0] <> 1 Then
[/autoit] [autoit][/autoit] [autoit]
Exit MsgBox(16, "Error", "No CMD-Parameter set", 5)
EndIf$key = Log(986543568)
[/autoit] [autoit][/autoit] [autoit]Global $aRow
[/autoit] [autoit][/autoit] [autoit]$sSQliteDll = _SQLite_Startup()
[/autoit] [autoit][/autoit] [autoit]
If @error > 0 Then
MsgBox(16, "SQLite Error", "SQLite.dll Can't be Loaded!", 5)
Exit -1
EndIf$DB_File = _SQLite_Open(@ScriptDir & "\database")
[/autoit] [autoit][/autoit] [autoit]_SQLite_QuerySingleRow($DB_File, "Select * From Tools Where Rowid = " & $CmdLine[1] & " LIMIT 1;", $aRow)
[/autoit] [autoit][/autoit] [autoit]
If @error Then Exit MsgBox(16, "Error", "Parameter must be a valid Number.", 5)_SQLite_Close()
[/autoit] [autoit][/autoit] [autoit]
_SQLite_Shutdown()If $aRow[3] <> "" Then
[/autoit] [autoit][/autoit] [autoit]
If $aRow[4] <> "" Then
$StringSplit = StringSplit($aRow[4], "%")
If Not @error Then
$Time = $StringSplit[1]
$Time2 = $StringSplit[2]
If $Time2 = "before" Then
Sleep($Time)
If $aRow[3] <> "" Then
$StringSplit = StringSplit($aRow[3], ";")
If Not @error Then
For $i = 1 To $StringSplit[0]
ProcessWaitClose($StringSplit[$i])
Next
Else
ProcessWaitClose($aRow[3])
EndIf
EndIf
Else
$StringSplit = StringSplit($aRow[3], ";")
If Not @error Then
For $i = 1 To $StringSplit[0]
ProcessWaitClose($StringSplit[$i])
Next
Else
ProcessWaitClose($aRow[3])
EndIf
Sleep($Time)
EndIf
EndIf
EndIf
Else
If $aRow[4] <> "" Then
$StringSplit = StringSplit($aRow[4], "%")
If Not @error Then
$Time = $StringSplit[1]
$Time2 = $StringSplit[2]
Sleep($Time)
EndIf
EndIf
EndIf$PS = _PathSplit1($aRow[1])
[/autoit] [autoit][/autoit] [autoit]
FileChangeDir($PS[2])If $aRow[5] = "" Then
[/autoit] [autoit][/autoit] [autoit]
ShellExecute($PS[0], $aRow[15])
If @error Then Exit MsgBox(16, "Error", "Failure occured." & @CRLF & "Error-Code:" & @error)
Else
If Not WinExists($aRow[5]) Then
ShellExecute($PS[0], $aRow[15])
If @error Then Exit MsgBox(16, "Error", "Failure occured." & @CRLF & "Error-Code:" & @error)
If $aRow[5] <> "" Then
WinWait($aRow[5], "", 60)
If @error Then Exit MsgBox(16, "Error", "Timelimit exceeded.")
EndIf
EndIf
EndIfSleep(500)
[/autoit] [autoit][/autoit] [autoit]
If $aRow[6] <> "" Then ControlSend($aRow[5], "", $aRow[7], $aRow[6], 1)
Sleep(500)
If $aRow[8] <> "" Then ControlSend($aRow[5], "", $aRow[9], _StringEncrypt(0, $aRow[8], $key, 4), 1)
Sleep(500)
If $aRow[10] <> "" Then ControlSend($aRow[5], "", $aRow[11], $aRow[10], 1)
Sleep(500)
If $aRow[13] <> "" Then
If $aRow[12] = "Mouse" Then
ControlClick($aRow[5], "", $aRow[13], "left", 1)
Else
ControlSend($aRow[5], "", $aRow[13], "{Enter}")
EndIf
Else
ControlSend($aRow[5], "", $aRow[9], "{Enter}")
EndIfFunc _PathSplit1($sPath)
[/autoit]
If $sPath = "" Or StringRegExp($sPath, ('.*\\.*\/')) Then Return SetError(1, 0, -1)
Local $RetArray[8], $pDelim = ""
If StringRegExp($sPath, '^(?i)([A-Z]:|\\)(\\[^\\]+)+$') Then $pDelim = "\"
If StringRegExp($sPath, '(?i)(^.*:/)(/[^/]+)+$') Then $pDelim = "//"
If $pDelim = "" Then $pDelim = "/"
If Not StringInStr($sPath, $pDelim) Then Return $sPath
If $pDelim = "\" Then $pDelim &= "\"
$RetArray[0] = $sPath
$RetArray[1] = StringRegExpReplace($sPath, $pDelim & '.*', $pDelim)
$RetArray[2] = StringRegExpReplace($sPath, $pDelim & '[^' & $pDelim & ']*$', '')
$RetArray[3] = StringRegExpReplace($sPath, '\.[^.]*$', '')
$RetArray[4] = StringRegExpReplace($sPath, '(?i)([A-Z]:' & $pDelim & ')', '')
$RetArray[5] = StringRegExpReplace($sPath, '^.*' & $pDelim, '')
$RetArray[6] = StringRegExpReplace($RetArray[5], '\.[^.]*$', '')
$RetArray[7] = StringRegExpReplace($sPath, '^.*\.', '')
Return $RetArray
EndFunc ;==>_PathSplit1 -
Hi,
kurze Frage:
ich habe ein "Hauptool", dass verschiedene Daten in einer DB verwaltet ... während dieses Tool läuft, greift teilweise ein weiteres Tool ebenfalls auf die DB zu.
Kann es dabei zu Problemen kommen, wenn in beiden Tools parallel die DB geöffnet wird/ist?
-
hmm, also irgendwie hat das bei exe und bat nicht so funktioniert, ... auch wenn ich "workingdir" gepflegt habe.
aber wenn ich vorher FileChangeDir mache, sieht das ganze besser aus ... ich muss noch was testen =) -
Hiho,
ich arbeite an einem Tool, welches als Multi-Starter verwendet werden soll.
Man soll hierrüber also alle möglichen Dateien starten können (exe, bat, jpg, pdf) ... doch leider erweist sich der Aufruf von diesen Dateien als komplizierter als Gedacht.Ich habe zur Ausführung den kompletten Pfad.
Ich hatte es so, aber das funktioniert auch nicht überall:
[autoit]If $PS[7] = "exe" Then
[/autoit]
Run($PS[0], "")
Else
ShellExecute($PS[0])
EndIfHat jmd ne Idee, wie man das generell für alle Dateien sicherstellen kann (vorausgesetzt natürlich, bei pdf, jpg usw sind programme mit der Dateiendung verknüpft?
-
ok, dann mach ich es direkt so:
[autoit]While 1
[/autoit]
Sleep(100)
If _IsPressed("1B") And WinGetState($Form1) = 15 Then _ToogleHide()
WEndwäre noch Frage 2 zum ListView offen =)