MyOwnWay - User hilft User

  • [Blockierte Grafik: http://www.abload.de/img/startup9s99q.jpg]

    MyOwnWay


    Die Vorgeschichte: Wer kennt das nicht? Man will was an Windows ändern und sucht das ganze Internet nach dem richtigen Lösungsweg ab :rofl: . Die Lösung: MyOwnWay. MOW ist eine Art "soziales Netzwerk", wo User ihre Tipps uploaden und andere sie anwenden können. Natürlich ohne Registry Kenntnisse. Der Ansatz: Man erstellt eine INI Datei mit den Informationen Beschreibung, Typ (AutoIt oder Batch) und ob ein Wiederherstellungspunkt notwendig ist. Danach fügt man den Script ein und uploaded es hoch. Das alles natürlich über mein Programm. Ich hoffe, es macht euch Spaß!
    Was ich noch machen will:
    Die MOW Dateien mit MyOwnWay öffnen (Wie funktioniert der Registry EIntrag?)
    Eine "modernes" User Interface

    ACHTUNG!!
    Wegen dem neuen Update muss man MOW installieren, da er ein URL Protokoll installiert!!

    Der Code:

    Spoiler anzeigen
    [autoit]

    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_Icon=Logo.ico
    #AutoIt3Wrapper_Outfile=Actions\MyOwnWay.exe
    #AutoIt3Wrapper_Res_Comment=Change your Windows System - on your way!
    #AutoIt3Wrapper_Res_Description=MyOwnWay
    #AutoIt3Wrapper_Res_Fileversion=1.0.1.0
    #AutoIt3Wrapper_Res_LegalCopyright=(C) LimeSoft Solutions
    #AutoIt3Wrapper_Res_requestedExecutionLevel=requireAdministrator
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <Misc.au3>
    #Include <File.au3>
    #include <FTPEx.au3>
    #include <ListViewConstants.au3>
    #include <ComboConstants.au3>
    #Include <Array.au3>
    FileInstall( "Startup.jpg", "Startup.jpg")
    FileInstall( "AutoIt3.exe", "AutoIt3.exe")
    If $Cmdline[0] = 1 Then
    _RunAction($Cmdline[1])
    Else
    MsgBox(16,"Error!", "Syntax error!")
    EndIf
    Global $File_Array[500]
    Global $_CommandCommand
    $SplashGUI = GUICreate( "MyOwnWay", 900,600,Default,Default,$WS_POPUPWINDOW, $WS_EX_CONTROLPARENT)
    GUICtrlCreatePic( 'Startup.jpg',0,0,900,600)
    GUICtrlCreateLabel("MyOwnWay 1.0.1", 0,0)
    GUISetState(@SW_SHOW,$SplashGUI)
    Sleep(3000)
    GUISetState(@SW_HIDE,$SplashGUI)
    _Fill_Listview()
    #Region ### START Koda GUI section ### Form=D:\Administrator\Documents\StevenX Media\MyOwnWay\GUI.kxf
    $Form1 = GUICreate("MyOwnWay", 608, 480, 192, 124)
    $Program = GUICtrlCreateMenu("Program")
    $About = GUICtrlCreateMenuItem("About MyOwnWay", $Program)
    $Submit = GUICtrlCreateMenuItem("Submit a command", $Program)
    $Refresh = GUICtrlCreateMenuItem("Refresh", $Program)
    $_CommandCommand = GUICtrlCreateCombo("Select a Command", 16, 56, 569, 21)
    $Label1 = GUICtrlCreateLabel("Select a command:", 16, 24, 95, 17)
    $Description = GUICtrlCreateEdit("Select a command to view the description", 16, 96, 569, 257)
    GUICtrlSetData(-1, "Description")
    $Run = GUICtrlCreateButton("Run", 16, 376, 75, 25)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    _Fill_Listview()
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Refresh
    _Fill_Listview()
    Case $Run
    _RunAction( GUICtrlRead( $_CommandCommand) & ".mow")
    Case $About
    MsgBox( 0, "About", "This is MyOwnWay Beta 1.0 Version Code: 1.0.1; By Stefan Blagojevic for LimeSoft Solutions; LimeSoft-Solutions.com")
    Case $Submit
    _Submit()
    Case $_CommandCommand
    InetGet( "http://myownway.lima-city.de/" & GUICtrlRead( $_CommandCommand)& ".mow", GUICtrlRead( $_CommandCommand) & ".mow",1)
    GUICtrlSetData( $Description, IniRead(GUICtrlRead( $_CommandCommand)& ".mow","Informations", "Description", "Could not load description"))
    EndSwitch
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func _Fill_Listview()
    GUICtrlSetData($_CommandCommand, "")
    $FTP_Open = _FTP_Open( "LimeCloud")
    $FTP_Connect = _FTP_Connect( $FTP_Open, "ftp.lima-city.de", "myownway","GELÖSCHT")
    If $FTP_Connect = 0 Then
    MsgBox(0,"", "Can not connect to Server!")
    Exit
    EndIf
    $FTP_List = _FTP_ListToArray( $FTP_Connect, 2)

    [/autoit] [autoit][/autoit] [autoit]

    If $FTP_List[0] = 0 Then
    MsgBox(0,"ERROR", "No entrys found!")
    Exit
    EndIf
    $Liste = ""
    For $i = 1 to $FTP_List[0]
    $Liste &= StringTrimRight($FTP_List[$i],4) & "|"
    Next
    $Liste = StringReplace( $Liste, "|upload", "")
    $Liste = StringReplace( $Liste, "|index","")
    $Liste = StringReplace( $Liste, "_"," ")
    GUICtrlSetData( $_CommandCommand, $Liste)
    EndFunc
    Func _RunAction($File)
    TrayTip( "MyOwnWay", "MyOwnWay runs now the Action. This may take a while. Please wait...",30,1)
    $Type = IniRead( $File, "Informations", "Type", "ERROR")
    $RestorePoint_Request = IniRead( $File, "Informations", "Restore_Point", "ERROR")
    _FileReadToArray( $File, $File_Array)
    _ArrayDelete( $File_Array, 1)
    _ArrayDelete( $File_Array, 1)
    _ArrayDelete( $File_Array, 1)
    _ArrayDelete( $File_Array, 1)
    FileDelete( $File)
    _FileWriteFromArray($File, $File_Array,1)
    If $RestorePoint_Request = "yes" Then
    _CreateRestorePoint("MyOwnWay File: " & $File)
    EndIf
    If $Type = "batch" Then
    $File = StringReplace( $File, "mow", "bat")
    Run( $File)
    ElseIf $Type = "autoit" Then
    ShellExecute( "AutoIt3.exe", $File)
    EndIf
    EndFunc
    Func _Submit()
    #Region ### START Koda GUI section ### Form=D:\Administrator\Documents\StevenX Media\MyOwnWay\Action_Submit_1.kxf
    $Form1 = GUICreate("Creating a Action", 643, 545, 284, 3)
    $Label1 = GUICtrlCreateLabel("Hello! Please fill in this informations:", 136, 16, 402, 31)
    GUICtrlSetFont(-1, 20, 400, 0, "Miriam")
    $Type = GUICtrlCreateCombo("Select Language", 8, 104, 601, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
    GUICtrlSetData( -1, "AutoIt|Batch")
    $Name = GUICtrlCreateInput("The name of your Action", 8, 72, 601, 21)
    $Description = GUICtrlCreateEdit("", 8, 136, 609, 113)
    GUICtrlSetData(-1, "Description")
    $Restore_Point = GUICtrlCreateCombo("Restore Point?", 8, 264, 609, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
    GUICtrlSetData(-1,"Yes|No")
    $Next = GUICtrlCreateButton("Upload", 8, 480, 171, 49)
    $Action_Edit = GUICtrlCreateEdit("", 8, 296, 609, 177)
    GUICtrlSetData(-1, "Now, enter your action")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    GUISetState( @SW_HIDE, $Form1)
    ExitLoop

    [/autoit] [autoit][/autoit] [autoit]

    Case $Next
    $File_Path = FileSaveDialog( "Where to save?", @ScriptDir, "MyOwnWay File (*.mow)")
    IniWrite( $File_Path, "Informations", "Restore_Point", GUICtrlRead( $Restore_Point))
    IniWrite( $File_Path, "Informations", "Description", GUICtrlRead( $Description))
    IniWrite( $File_Path, "Informations", "Type", GUICtrlRead( $Type))
    $Open = FileOpen( $File_Path,1)
    FileWrite( $Open, GUICtrlRead( $Action_Edit))
    MsgBox(0,"Finished", "Upload Site will now open! There, just select the MOW file!")
    ShellExecute( "http://myownway.lima-city.de")
    EndSwitch
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func _CreateRestorePoint($sRestorePointName)
    Local $objSystemRestore
    $objSystemRestore = ObjGet("winmgmts:{impersonationLevel=impersonate}!root/default:SystemRestore")
    If Not $objSystemRestore.createrestorepoint($sRestorePointName, 0, 100) = 0 Then SetError(1)
    EndFunc

    [/autoit]

    Für das Bild und CO die EXE: Klick!

    MFG und viel Spaß beim Coden :D

    StevenX

    Update #1:
    Verwendet nun php, welcher über Hyperlink an die MyOwnWayRunner.exe den Dateinamen übergibt.

    [Blockierte Grafik: http://stefan.blagojevic.at/loading.gif]

    Design, Modellbau, CAD <3
    AutoCAD, ArchiCAD, REVIT (ist ein Scheiss, habe aber das Zertifikat)

    Cinema 4D, RuckZuck Statik Programm

    Michael Bay als Architekt


    Da eine Glasfassade! Booom Sichtbeton! Laminiertes Bild auf Mosaiksteinchen! Granit! Granit! Granit! Sichtbetonwand mit 50° Neigung!
    Holzverkleidung erscheint da! Boooooom!

    2 Mal editiert, zuletzt von Stevenx (30. Juni 2012 um 22:49) aus folgendem Grund: Update

  • Gefällt mir sehr! Nur wird es nicht etwas unübersichtlich wenn die Listview mit tausenden von Möglichkeiten vollgepumpt wird und man sie nicht richtig durchsuchen kann etc? Bis jetzt sind nur ein paar Themen da, aber wer weiß ;)

    Und vllt noch eine Möglichkeit die Ergebnisse etc auf eine Website abzuloaden, damit man die auch ohne das Programm in die Einträge einsehen kann.

    PS: Ich weiß zwar nicht was für einen Server du benutzt aber am besten du schaust mal nach ob das von der AGB erlaubt ist... die haben da manchmal ihre Probleme mit, jenachdem wofür der Server eig gedacht ist...

    Gruß

  • Wollte eigentlich noch Kategorienübersicht einbauen und une Web-App erstellen...

    MFG

    [Blockierte Grafik: http://stefan.blagojevic.at/loading.gif]

    Design, Modellbau, CAD <3
    AutoCAD, ArchiCAD, REVIT (ist ein Scheiss, habe aber das Zertifikat)

    Cinema 4D, RuckZuck Statik Programm

    Michael Bay als Architekt


    Da eine Glasfassade! Booom Sichtbeton! Laminiertes Bild auf Mosaiksteinchen! Granit! Granit! Granit! Sichtbetonwand mit 50° Neigung!
    Holzverkleidung erscheint da! Boooooom!

  • VIelleicht solltest du das nicht mit den FTP funktionen machen damit da niemand einfach auf den FTP geht und alles löscht.

    Außerdem musst du die Autoit3.exe nicht mitliefern da jedes compiliertes Script auch so autoit code ausführen kann.

  • Ich hab das halbe Internt zerstöbert ubd ohne FTP geht es nicht. Und es soll ja gerade nicht kompiliert sein…

    MFG

    [Blockierte Grafik: http://stefan.blagojevic.at/loading.gif]

    Design, Modellbau, CAD <3
    AutoCAD, ArchiCAD, REVIT (ist ein Scheiss, habe aber das Zertifikat)

    Cinema 4D, RuckZuck Statik Programm

    Michael Bay als Architekt


    Da eine Glasfassade! Booom Sichtbeton! Laminiertes Bild auf Mosaiksteinchen! Granit! Granit! Granit! Sichtbetonwand mit 50° Neigung!
    Holzverkleidung erscheint da! Boooooom!

  • Ahh sorry verschrieben xDD Nachteil, wenn man am iPhone unterwegs ist…

    [Blockierte Grafik: http://stefan.blagojevic.at/loading.gif]

    Design, Modellbau, CAD <3
    AutoCAD, ArchiCAD, REVIT (ist ein Scheiss, habe aber das Zertifikat)

    Cinema 4D, RuckZuck Statik Programm

    Michael Bay als Architekt


    Da eine Glasfassade! Booom Sichtbeton! Laminiertes Bild auf Mosaiksteinchen! Granit! Granit! Granit! Sichtbetonwand mit 50° Neigung!
    Holzverkleidung erscheint da! Boooooom!

  • Natürlich geht es auch ohne FTP, musst dir dann aber was selber basteln. Einen Server schreiben (Am besten TCP, so wie FTP es auch nutzt), Port (z.B. 21, das war glaube ich auch der Port von FTP??) und dann dein eigenes Protokoll schreiben. Bis jetzt sind es ja nicht so viele Infos das es nicht übersichtlich ist. Titel und Inhalt.

    Und der Server müsste nichtmal mit AutoIt geschrieben werden, und für die Client Funktionen könntest du Dlls schreiben, also das sollte überhaupt kein Problem werden. Kannst dich ja an bereits bestehenden Protokollen orientieren (ich hab mir z.B. SMTP mal angeschaut, ich denke FTP ist sicherlich interessant und und und. Natürlich würden auch Game Protokolle gehen, aber die sind nicht ganz so einfach zu verstehen (Was auch der Sinn davon ist^^))

    Gruß

    EDIT: Siehe autoBert---Mit LimaCity kannst du ein eigenes Server Programm nicht hosten, musst dann wohl einen richtigen Anbieter finden...

  • Hallo Stevenx,

    du solltest dein Passwort aus dem Skript heraus edizieren.Aber auch in einer Autoit-EXE ist es nicht sicher. Die genannrten Vorschläge vom bösen Karnickel lassen sich auf LC nicht realisieren, du solltest dir also eine PHP-Schnittstele schreiben,

    mfg autoBert

  • Danke, "Gemeinschaft"!! Jemand hat sich eingeloggt und alles gelöscht! Vorfall it schon beim Hoster gemeldet!

    [Blockierte Grafik: http://stefan.blagojevic.at/loading.gif]

    Design, Modellbau, CAD <3
    AutoCAD, ArchiCAD, REVIT (ist ein Scheiss, habe aber das Zertifikat)

    Cinema 4D, RuckZuck Statik Programm

    Michael Bay als Architekt


    Da eine Glasfassade! Booom Sichtbeton! Laminiertes Bild auf Mosaiksteinchen! Granit! Granit! Granit! Sichtbetonwand mit 50° Neigung!
    Holzverkleidung erscheint da! Boooooom!

  • Das ist jetzt nicht dein Erst oder? Du postest deine Zugangsdaten im Klartext frei zugänglich für die ganze Welt und wunderst dich warum jemand deine Daten löscht? Zumal du ja sogar durch Andere auf eben genau diese Gefahr hingewiesen wurdest! Jetzt hier auf die User von Autoit.de los zugehen, nur weil du nicht glauben wolltest, was Andere die es offensichtlich besser wussten, dir geraten haben? :thumbdown:

    LG
    Christoph :)

  • Mich würde mal die Antwort deines Hosters interssieren :whistling: .
    Sorry, aber die Passwörter einfach ins Script zu packen, war einfach eine dumme Idee. Hast du ernsthaft geglaubt, das geht gut???
    Du vertraust praktisch allen Menschen mit Internetzugang dein Passwort an - und erwartest dann, dass es nicht missbrauch wird:pinch:.
    Bau dir - wie oben schon erwähnt - eine PHP Schnittstelle. Damit hast dann alleine du die kontrolle über den Server.

  • Mal was Anderes: Wie wird in diesem System denn dafür gesorgt, dass irgendwelche Menschen einfach Maleware in so eine Ini packen?

    Wohl gar nicht.

    Aber Stevenx, das mag jetzt alles sehr abwertend klingen, aber lass' dich nicht so schnell kleinkriegen. Die Idee hinter dem Programm finde ich sehr interesannt. Nur die Umsetztung ist eben lückenhaft. Aber das wird noch!

  • Danke, "Gemeinschaft"!! Jemand hat sich eingeloggt und alles gelöscht! Vorfall it schon beim Hoster gemeldet!

    Dir ist aber schon bewusst das man nichtmal hier angemeldet sein muss um hier zu lesen?

    Dein Hoster wird rein garnichts machen, siehe AGB:

    Zitat


    (1) Die Datensicherung obliegt dem Kunden.
    (4) lima-city übernimmt keine Haftung, sollten persönliche Daten von Kunden durch Unbefugte ausgelesen und/oder weitergegeben werden.

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • Cheater Dieter: hätt eine einfache, aber clevere Idee: Wenn kein index.html /.php festlegt, gibt der server ja normalerweise den Inhalt zurück. Dadurch könnte man die den Quelltext auslesen, das unnötige löschen und die Dateien rausfiltern.

    MFG

    [Blockierte Grafik: http://stefan.blagojevic.at/loading.gif]

    Design, Modellbau, CAD <3
    AutoCAD, ArchiCAD, REVIT (ist ein Scheiss, habe aber das Zertifikat)

    Cinema 4D, RuckZuck Statik Programm

    Michael Bay als Architekt


    Da eine Glasfassade! Booom Sichtbeton! Laminiertes Bild auf Mosaiksteinchen! Granit! Granit! Granit! Sichtbetonwand mit 50° Neigung!
    Holzverkleidung erscheint da! Boooooom!

  • Ahh noch was. Dadurch, dass andere Sprachen als AutoIt oder Batch nicht angenommen werden, haben Programmierer praktisch keine Chance. Zwar können meisten eh Batch, aber ich will dann bei Batch die Internetverbindung unterbinden. Mal zur Sicherheit :D

    MFG

    [Blockierte Grafik: http://stefan.blagojevic.at/loading.gif]

    Design, Modellbau, CAD <3
    AutoCAD, ArchiCAD, REVIT (ist ein Scheiss, habe aber das Zertifikat)

    Cinema 4D, RuckZuck Statik Programm

    Michael Bay als Architekt


    Da eine Glasfassade! Booom Sichtbeton! Laminiertes Bild auf Mosaiksteinchen! Granit! Granit! Granit! Sichtbetonwand mit 50° Neigung!
    Holzverkleidung erscheint da! Boooooom!

  • PHP wurde hier ja schon einige Male vorgeschlagen.
    Das einfachste wäre ein PHP-Skript, an dass du als GET-Parameter entweder den Suchbegriff oder eben auch die Skripte (mit allen anderen wichtigen Informationen) übergibst. Dann werden die Infos aus einer SQL-Datenbank geladen (oder eben in die Db geschrieben) und einige wichtige Daten (oder die Skripte) als Text ausgegeben.
    Dadurch reicht es im AutoIt-Skript INetRead zu benutzen und es besteht kein (großes) Sicherheitsrisiko.

    Btw, Ich finde die Idee auch sehr gut.

    MfG, James

  • Blöd, da ich kein PHP kann ^^ Aber ich schau mir ein paar tutorials an.

    [Blockierte Grafik: http://stefan.blagojevic.at/loading.gif]

    Design, Modellbau, CAD <3
    AutoCAD, ArchiCAD, REVIT (ist ein Scheiss, habe aber das Zertifikat)

    Cinema 4D, RuckZuck Statik Programm

    Michael Bay als Architekt


    Da eine Glasfassade! Booom Sichtbeton! Laminiertes Bild auf Mosaiksteinchen! Granit! Granit! Granit! Sichtbetonwand mit 50° Neigung!
    Holzverkleidung erscheint da! Boooooom!