Hallo!
Ich habe mal mit McPoldy's großartiger Vorlage (Twitter API) einen mini TinyURL Client geschrieben!
Er ist klein, fix und immer schnell da wenn man eine kurze URL braucht
http://img.lenwo.de/show/1000/urlshortener.jpg
Es sind ein paar neue Features dazugekommen:
Traymenü:
http://img.lenwo.de/show/1000/urlshortenertraymenu.jpg
- Wenn die Option im Traymenu aktiviert ist, überprüft er nun auch die Zwischenablage und schreibt sie, falls es ein Korrekter Link ist in die GUI.
- Außerdem kann man jetzt auch bequem übers Tray Menü die Zwischen ablage kürzen!
- Noch etwas kleines: Bei bedarf kann man das Fenster verstecken und nur die Zwischen ablage Funktion benutzen!
- Der Exit Button im Traymenü ist auch neu! Das war es auch schon!
- Wenn jemand noch Anregungen, Kritik oder sonstiges los werden will, würde ich mich sehr freuen!
------------------------------------------------------------------------------------------------------------------------------------
Spoiler anzeigen
Opt("TrayMenuMode", 1)
[/autoit] [autoit][/autoit] [autoit]#include <IE.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
HotKeySet("{ESC}", "_Exit")
[/autoit] [autoit][/autoit] [autoit]Const $GETShortened = "http://tinyurl.com/api-create.php?url="
[/autoit] [autoit][/autoit] [autoit]$TinyGUI = GUICreate("Tinyurl!", 258, 51, 192, 268, BitOR($WS_POPUP, $WS_BORDER, $WS_CLIPSIBLINGS), BitOR($WS_EX_TOOLWINDOW, $WS_EX_WINDOWEDGE))
GUISetBkColor(0x525252)
$Input1 = GUICtrlCreateInput("", 8, 24, 177, 21, BitOR($ES_AUTOHSCROLL, $WS_BORDER), 0)
GUICtrlSetFont(-1, 10, 400, 0, "Arial")
$Label2 = GUICtrlCreateLabel("Tell me the URL you want to get shortened!", 0, 0, 258, 17, $SS_CENTER, $GUI_WS_EX_PARENTDRAG)
GUICtrlSetFont(-1, 9, 400, 0, "Arial")
GUICtrlSetBkColor(-1, 0xFFFFFF)
$Button1 = GUICtrlCreateButton("Shorten It!", 192, 24, 59, 21, $WS_GROUP)
#Region TrayMenu
$TrayShortClip = TrayCreateItem("Shorten Clipboard!")
$TrayShowHide = TrayCreateItem("Show / Hide Window")
$TrayAutoClip = TrayCreateItem("Check Clip automatically [x]")
TrayCreateItem("")
$TrayExit = TrayCreateItem("Exit!")
#EndRegion TrayMenu
GUISetState(@SW_SHOW)
[/autoit] [autoit][/autoit] [autoit]$winState = 1
$lastClip = ""
$clipCorrect = 0
$autoClip = 1
WinSetOnTop($TinyGUI, "", 1)
[/autoit] [autoit][/autoit] [autoit]While 1
#Region Window Dock!
If $winState = 1 Then
$WinPos = WinGetPos($TinyGUI)
If $WinPos[0] <= 30 Then
$WinPos[0] = 0
WinMove($TinyGUI, "", $WinPos[0], $WinPos[1])
ElseIf $WinPos[0] >= @DesktopWidth - $WinPos[2] - 30 Then
$WinPos[0] = @DesktopWidth - $WinPos[2]
WinMove($TinyGUI, "", $WinPos[0], $WinPos[1])
EndIf
If $WinPos[1] <= 30 Then
$WinPos[1] = 0
WinMove($TinyGUI, "", $WinPos[0], $WinPos[1])
ElseIf $WinPos[1] >= @DesktopHeight - $WinPos[3] - 30 Then
$WinPos[1] = @DesktopHeight - $WinPos[3]
WinMove($TinyGUI, "", $WinPos[0], $WinPos[1])
EndIf
EndIf
#EndRegion Window Dock!
#Region Clip Check!
If $autoClip = 1 Then
$sClip = ClipGet()
If $sClip <> $lastClip Then
If StringLeft($sClip, 7) = "http://" Or StringLeft($sClip, = "https://" Or StringLeft($sClip, 4) = "www." Then
GUICtrlSetData($Input1, $sClip)
$clipCorrect = 1
Else
$clipCorrect = 0
EndIf
$lastClip = $sClip
EndIf
EndIf
#EndRegion Clip Check!
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
#Region But1 Action
$sURL = GUICtrlRead($Input1)
If $sURL = "" Then
MsgBox(64, "Error", "Please fill the gap :)")
Else
If StringLeft($sURL, 7) <> "http://" And StringLeft($sURL, <> "https://" Then $sURL = "http://" & $sURL
GUICtrlSetData($Input1, _TinyQuery($GETShortened & $sURL))
EndIf
#EndRegion But1 Action
EndSwitch
$trayMsg = TrayGetMsg()
Select
Case $trayMsg = 0
ContinueLoop
Case $trayMsg = $TrayExit
Exit
Case $trayMsg = $TrayShortClip
If $clipCorrect Then
$shortURL = _TinyQuery($GETShortened & $sClip)
ClipPut($shortURL)
$lastClip = $shortURL
ToolTip("Finish!")
Sleep(1000)
ToolTip("")
Else
ToolTip("Incorrect URL")
Sleep(1000)
ToolTip("")
EndIf
Case $trayMsg = $TrayShowHide
If $winState = 1 Then
GUISetState(@SW_HIDE)
WinSetOnTop($TinyGUI, "", 0)
$winState = 0
ElseIf $winState = 0 Then
GUISetState(@SW_SHOW)
WinSetOnTop($TinyGUI, "", 1)
$winState = 1
EndIf
Case $trayMsg = $TrayAutoClip
If $autoClip = 1 Then
$autoClip = 0
TrayItemSetText($TrayAutoClip, "Check Clip automatically [ ]")
ElseIf $autoClip = 0 Then
$autoClip = 1
TrayItemSetText($TrayAutoClip, "Check Clip automatically [x]")
EndIf
EndSelect
WEnd
Func _Exit()
Exit
EndFunc ;==>_Exit
Func _TinyQuery($sURL)
$oHTTP = ObjCreate("Microsoft.XMLHTTP")
$oHTTP.open("GET", $sURL, False)
$oHTTP.send("")
$HTTPPost = $oHTTP.responseText
Return ($HTTPPost)
EndFunc ;==>_TinyQuery
autoit.de/wcf/attachment/5908/
Beste Grüße und vielen Dank im Voraus,
Lenny!