AutoHotkey Community
Let's help each other out
Skip to content
Post by fump2000 » 18 Mar 2016, 08:55
Post by HotKeyIt » 18 Mar 2016, 07:41
fump2000 wrote:Anders gefragt, sind alle AHK_L Scripts mit AHK_H v1 ausführbar?
Was bewirkt If 0?
Ich habe mir das Hilfe File angeschaut und für ahkgetvar, ahkLabel und ahkterminate würde ich so vorgehen:
Post by fump2000 » 18 Mar 2016, 06:29
Post by just me » 18 Mar 2016, 06:10
Code: Select all
#NoEnv #SingleInstance, force SetBatchLines,-1 s := "translate" MsgBox % s := translate_google(s,"de") Exitapp ; ================================================================================================================================== ; Originally released as "[H2] Google Translate API" by arcticir -> https://autohotkey.com/boards/viewtopic.php?f=6&t=14757 ; Modified by just me for AHK 1.1 ; ================================================================================================================================== translate_google(str, tl := "", sl := "", proxy := "") { ; ComObjError(False) Static http := ComObjCreate("WinHttp.WinHttpRequest.5.1") If (proxy) http.SetProxy(2, proxy) If !(tl) tl := "en" http.open("POST", "https://translate.google.com/translate_a/single?client=t" . "&sl=" . (sl ? sl : "auto") . "&tl=" . tl . "&hl=" . tl . "&dt=at&dt=bd&dt=ex&dt=ld&dt=md&dt=qca&dt=rw&dt=rm&dt=ss&dt=t&ie=UTF-8&oe=UTF-8&otf=1&ssel=3&tsel=3" . "&pc=1&kc=2&tk=" . translate_tl(str), 1) http.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=utf-8") http.SetRequestHeader("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0") http.send("q=" . Uri_Encode(str)) http.WaitForResponse(-1) If IsObject(Result := so(http.responsetext, 0)) && IsObject(Result.1) && Result.1.Length() For i, n in Result.1 text .= n.1 . " " Return text } ; ---------------------------------------------------------------------------------------------------------------------------------- so(s, n := ""){ Static JSON , JSONS , d , y := """" , j := """ `t" , m := {"\b": Chr(08), "\\": "\", "\t": "`t", "\n": "`n", "\f": Chr(12), "\r": "`r"} , gu := "āЁξ" If IsObject(s) { For i, n In s str .= (IsObject(i) ? so(i, 1) : i + 0 = "" ? (gu . i . gu) : i) . ":" . (IsObject(n) ? so(n, 1) : n + 0 = "" ? (gu . n . gu) : n) . "," If !(n) { str := StrReplace(str, "/", "\/") For c, z In m If InStr(str, z) str := StrReplace(str, z, c) str := StrReplace(str, y, "\" . y) str := StrReplace(str, gu, y) } Return "{" . RTrim(str, ",") . "}" } Else { f := [] i := 1 If (n) { b := StrLen(s) } Else { If !(s := Trim(s)) Or !RegExMatch(s, "[\[\{]") { Return s } If (JSON := (n = 0)) ; so(s,0) JSON { For c, z In m If InStr(s, c) s := StrReplace(s, c, z) s := StrReplace(s, "\/", "/") If (e := InStr(s, "\u")) { For e, n In StrSplit(SubStr(s, e+2), "\u") { If (n And !f[b := SubStr(n, 1, 4)]) { If (d := Abs("0x" . b)) s := StrReplace(s, "\u" . b, Chr(d)) f[b] := 1 } } } } f := [] , b := StrLen(s) , n := SubStr(s, i, 1) , d := 0 , JSONS := JSON ? "\" : "`" ; "``" } If (n = "{") { Loop { If (r = "}") or !(i) or !(i :=RegExMatch(s, "\S", n, i+1)) or (n = "}") Return f, d := i If InStr("[{",n) { k := so(SubStr(s, i), n) , i += d , i := RegExMatch(s, "\S", t, InStr(s, ":", , i) + 1) If InStr("[{", i ? t : "") { f[SO_JSON(k, JSON) ""] := so(SubStr(s, i), t) , i := RegExMatch(s, ",|\}", r, i+d) } Else { If (t = y) { p := InStr(s, y, , i+1) , p := RegExMatch(s, ",|\}", r, p) , z := Trim(SubStr(s, i+1, p-i-2)) } Else { p := RegExMatch(s, ",|\}", r, i) , z := Trim(SubStr(s, i, p-i)) , z := z+0 = "" ? SO_Try(z) : z+0 } soj := SO_JSON(k, JSON) , f[soj . ""] := soj , i := p } } Else { If (x := InStr(s, ":", , (n = y) ? InStr(s, y, , i, 2) : i)) { k := ((n = y) ? SubStr(s, i+1, x-i-2) : SubStr(s, i, x-i)) , k := (n = y ? Trim(k) : n = "(" ? SO_Try(Trim(k, "() `t")) : Trim(k)) , i := RegExMatch(s, "\S", t, x+1) If InStr("[{",i ? t : "") { f[SO_JSON(k, JSON) . ""] := so(SubStr(s, i) ,t) , i := RegExMatch(s, ",|\}", r, i+d) } Else { If (t = y) { p := so_InStr(s, i, JSONS) , p := RegExMatch(s, ",|\}", r, p) , z := Trim(SubStr(s, i+1, p-i-2)) } Else { p := RegExMatch(s, ",|\}", r, i) , z := Trim(SubStr(s, i, p-i)) , z := z + 0 = "" ? SO_Try(z) : z + 0 } f[SO_JSON(k, JSON) "" ]:= SO_JSON(z, JSON) , i := p } } Else { i := 0 } } } } If (n = "[") { Loop { If (r = "]") or !(i) or !(i := RegExMatch(s, "\S", n, i+1)) or (n = "]") Return f, d := i If InStr("[{", n) { f.Push(so(SubStr(s, i), n)) , i := RegExMatch(s, ",|\]", r, i+d) } Else { If (n = y) { p := so_InStr(s, i, JSONS) , p := RegExMatch(s, ",|\]", r, p) , z := Trim(SubStr(s, i+1, p-i-2)) } Else { p := RegExMatch(s, ",|\]", r, i) , z := Trim(SubStr(s, i, p-i)) , z := z + 0 = "" ? SO_Try(z) : z+0 , i := p } f.Push(SO_JSON(z, JSON)) } } } } } ; ---------------------------------------------------------------------------------------------------------------------------------- SO_JSON(s, JSON) { Static j := "\""" , p := """" Return JSON And InStr(s, j) ? StrReplace(s, j, p) : s } ; ---------------------------------------------------------------------------------------------------------------------------------- SO_InStr(s, i, JSONS) { While (p := InStr(s, """", , i+1)) And (SubStr(s, p-1, 1) = JSONS) i := p Return p } ; ---------------------------------------------------------------------------------------------------------------------------------- SO_Try(f) { Global Try Return (%f%) } ; ---------------------------------------------------------------------------------------------------------------------------------- Uri_Encode(str) { Static f := {0x30:1,0x31:1,0x32:1,0x33:1,0x34:1,0x35:1,0x36:1,0x37:1,0x38:1,0x39:1,0x41:1,0x42:1,0x43:1,0x44:1,0x45:1,0x46:1 ,0x47:1,0x48:1,0x49:1,0x50:1,0x51:1,0x52:1,0x53:1,0x54:1,0x55:1,0x56:1,0x57:1,0x58:1,0x59:1,0x61:1,0x62:1,0x63:1 ,0x64:1,0x65:1,0x66:1,0x67:1,0x68:1,0x69:1,0x70:1,0x71:1,0x72:1,0x73:1,0x74:1,0x75:1,0x76:1,0x77:1,0x78:1,0x79:1 ,0x2d:1,0x2e:1,0x4a:1,0x4b:1,0x4c:1,0x4d:1,0x4e:1,0x4f:1,0x5a:1,0x5f:1,0x6a:1,0x6b:1,0x6c:1,0x6d:1,0x6e:1,0x6f:1 ,0x7a:1,0x7e:1} VarSetCapacity(utf8, StrPut(str, "UTF-8"), 0) ; StrPutVar() Loop, % StrPut(str, &utf8, "UTF-8") - 1 Res .= f[r := NumGet(utf8, A_Index - 1, "UChar")] ? Chr(r) : Format("%{:02X}", r) Return Res } ; ---------------------------------------------------------------------------------------------------------------------------------- translate_tl(string) { a := A_NowUTC ; DateDiff() a -= 19700101, H b := a VarSetCapacity(utf8, StrPut(string, "UTF-8"), 0) ; StrPutVar() Loop, % StrPut(string, &utf8, "UTF-8") - 1 a := translate_rl(a + NumGet(utf8, A_Index - 1, "UChar"), "+-a^+6") a := Mod((0 > (a := translate_rl(a, "+-3^+b+-f"))) ? (a := (a & 2147483647) + 2147483648) : a, 10 ** 6) Return a "." (a ^ b) } ; ---------------------------------------------------------------------------------------------------------------------------------- translate_rl(a, b){ c := 0 While c < (StrLen(b) - 2) { d := SubStr(b, c+3, 1) , d := (d >= "a") ? Ord(d) - 87 : d + 0 , d := (SubStr(b, c+2, 1) = "+") ? a >> d : a << d , a := (SubStr(b, c+1, 1) = "+") ? (a + d & 4294967295) : a ^ d , c += 3 } VarSetCapacity(i, 4, 0) ; ToInt() NumPut(a, i, "Int") Return NumGet(i, "Int") }
Post by fump2000 » 18 Mar 2016, 02:22
If 0 { msgbox bin hier FileInstall,PWM_Translater.ahk,- ;Never extracted FileInstall,AutoHotkeyV2.dll,- } If A_IsCompiled { msgbox bin compiliert ResGet(Script,A_ScriptFullPath,"PWM_Translater.ahk",10) hDll:=ResourceLoadLibrary("AutoHotkeyV2.dll") DllCall(MemoryGetProcAddress(hDll,"ahktextdll"),"Str",StrGet(&Script+3,"UTF-8"),"Str","","Cdecl") } else { msgbox bin nicht compiliert FileRead,Script,PWM_Translater.ahk hDll:=MemoryLoadLibrary("AutoHotkeyV2.dll") DllCall(MemoryGetProcAddress(hDll,"ahktextdll"),"Str",Script,"Str","","Cdecl") }
ESC:: hDll.ahkterminate() Return F8:: dll_ScriptHwnd:=hDll.ahkgetvar("A_ScriptHwnd") msgbox % dll_ScriptHwnd ;PostMessage_(dll_ScriptHwnd,0x5555,2,1) hDll.ahkLabel.Start Return
Post by HotKeyIt » 17 Mar 2016, 11:24
fump2000 wrote:Mit AutoHotkey_H meinst du v2 oder?
Post by fump2000 » 17 Mar 2016, 01:57
Post by HotKeyIt » 16 Mar 2016, 11:06
If 0 { FileInstall,GoogleScript.ahk,- ;Never extracted FileInstall,AutoHotkeyV2.dll,- } If A_IsCompiled { ResGet(Script,A_ScriptFullPath,"GoogleScript.ahk",10) hDll:=ResourceLoadLibrary("AutoHotkeyV2.dll") DllCall(MemoryGetProcAddress(hDll,"ahktextdll"),"Str",StrGet(&Script+3,"UTF-8"),"Str","","Cdecl") } else { FileRead,Script,GoogleScript.ahk hDll:=MemoryLoadLibrary("AutoHotkeyV2.dll") DllCall(MemoryGetProcAddress(hDll,"ahktextdll"),"Str",Script,"Str","","Cdecl") } MsgBox end
Post by fump2000 » 16 Mar 2016, 09:18
Post by jNizM » 16 Mar 2016, 09:17
Post by fump2000 » 16 Mar 2016, 09:09
Post by HotKeyIt » 16 Mar 2016, 09:01
Post by fump2000 » 16 Mar 2016, 07:51
;============================================================================ ; Translate text using Google Translator in a GUI. ;============================================================================ #Persistent #SingleInstance ignore OnMessage(0x201, "WM_LBUTTONDOWN") ; Necessary for Guis without caption. OnMessage(0x5555, "Test") CoordMode, Mouse, Screen To:="en" Return ;============================================================================ ;============================================================================ ; Aufrufen ;============================================================================ Start: TransText:="" TextToT:=GetTextFromClipboard() If WinExist("PWM Translator") { GuiControl, GetText:,NewText,%TextToT% GoSub NewTranslate Return } GoSub StartTranslate Return ;---------------------------------------------------------------------------- ; Funktion um Inhalte zu kopieren. ;---------------------------------------------------------------------------- GetTextFromClipboard() { ClipSaved := ClipboardAll Clipboard := "" SendInput, ^c ClipWait, 0.5 If ErrorLevel { Clipboard := ClipSaved ClipSaved := "" Return } v := Clipboard Clipboard := ClipSaved ClipSaved := "" Return v } ;---------------------------------------------------------------------------- ; Wurde kein Inhalt kopiert wird nur die GUI aufgerufen. ;---------------------------------------------------------------------------- StartTranslate: To:="en" if (TextToT="") { GoSub GetText return } else GoSub translate Return ;---------------------------------------------------------------------------- ; Startet die Übersetzung ;---------------------------------------------------------------------------- translate: TransText:=translate_google(TextToT, To) StrReplace, TransText, %TransText%, `n, `n`r,,1 if (GuiOn=1) GuiControl, GetText:,NewTransText,%TransText% else { WithText:=1 Gosub GetText } Return translate_google(str,tl:="",sl:="",proxy:=""){ ComObjError(false) http := ComObjCreate("WinHttp.WinHttpRequest.5.1") proxy?http.SetProxy(2,proxy):"",tl?"":tl:="de" http.open("POST","https://translate.google.com/translate_a/single?client=t&sl=" (sl?sl:"auto") "&tl=" tl "&hl=" tl "&dt=at&dt=bd&dt=ex&dt=ld&dt=md&dt=qca&dt=rw&dt=rm&dt=ss&dt=t&ie=UTF-8&oe=UTF-8&otf=1&ssel=3&tsel=3&pc=1&kc=2&tk=" translate_tl(str),1) http.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=utf-8") http.SetRequestHeader("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0") http.send("q=" Uri_Encode(str)) http.WaitForResponse(-1) if IsObject(Result:=so(http.responsetext,0)) && IsObject(Result.1) && Result.1.Length() for i,n in Result.1 text.= n.1 " " Return text } ;---------------------------------------------------------------------------- ; Gui zum anzeigen von übersetzen Text oder zur Eingabe von neuem Text. ;---------------------------------------------------------------------------- GetText: MouseGetPos, TextX, TextY Gui, GetText:Color, AAAAAA Gui, GetText:+LastFound +AlwaysOnTop -Caption +ToolWindow +Border +HWNDh_GetText Gui, GetText:Font, s10 Gui, GetText:Add, Text, x0 y3 w350 h17 +Center, Text der Übersetzt werden soll: Gui, GetText:Add, Edit, x0 y20 w350 h80 cBlue vNewText +border gNewTranslate,%TextToT% Gui, GetText:Add, Text, x0 y104 w120 h17 +Center +ReadOnly, Übersetzung: Gui, GetText:Add, Text, x149 y104 w100 h17 , Sprachauswahl: Gui, GetText:Add, DropDownList, x250 y101 w100 h17 vLangChange gLangChange r5 +AltSubmit,Englisch||Deutsch|Italienisch|Französisch|Spanisch Gui, GetText:Add, Edit, x0 y125 w350 h80 cGreen +border vNewTransText,%TransText% Gui, GetText:Add, Text, x0 y207 w350 h17 vLine1, ESC = Schließen - Klicke ins Graue zum verschieben. Gui, GetText:Font Gui, GetText:Font, s8 Gui, GetText:Add, Text, x313 y207 w35 h16 +Border cWhite +Center gWithTextGuiClose, close if (WithText=1) GuiControl, GetText:Focus, Line1 else GuiControl, GetText:Focus, NewText Gui, GetText:Show, h224 w350 x%TextX% y%TextY%,PWM Translator Hotkey, Escape, WithTextGuiClose, on Return ;---------------------------------------------------------------------------- ; Ändern des Übersetzers von Google auf Bing oder umgekehrt. ;---------------------------------------------------------------------------- LangChange: GuiControlGet, LangChange if (LangChange=1) To:="en" if (LangChange=2) To:="de" if (LangChange=3) To:="it" if (LangChange=4) To:="fr" if (LangChange=5) To:="es" GoSub NewTranslate Return ;---------------------------------------------------------------------------- ; Bei der Eingabe von neuem Text wird direkt neu Übersetzt. ;---------------------------------------------------------------------------- NewTranslate: GuiControl, GetText:,NewTransText, GuiControlGet, NewText, GetText:, NewText if (NewText="") GuiControl, GetText:,NewTransText, GuiOn:=1 TextToT:=NewText TransText:="" GoSub translate Return ;---------------------------------------------------------------------------- ; Schließt die GUI und leert die Var's. ;---------------------------------------------------------------------------- WithTextGuiClose: GuiOn:=0 WithText:=0 TransText:="" Gui, GetText:Destroy Hotkey, Escape, WithTextGuiClose, off Return ;---------------------------------------------------------------------------- ;============================================================================ ; Funktionen für Google ;============================================================================ so(s,n:=""){ static JSON,JSONS,d,y:="`"",j:="`" `t",m:={"\b":Chr(08),"\\":"\","\t":"`t","\n":"`n","\f":Chr(12),"\r":"`r"},gu:="āЁξ" if (Type(s)="Object") { for i,n in s str.= (Type(i)="Object"?so(i,1):i+0=""?(gu i gu):i) ":" (Type(n)="Object"?so(n,1): n+0=""?(gu n gu):n) "," if !n { StrReplace, str, %str%,/,\/ for c,z in m IF InStr(str,z) StrReplace, str, %str%,% z,% c StrReplace, str, %str%,% y,% "\" y StrReplace, str, %str%,% gu,% y } Return "{" RTrim(str,",") "}" } if (Type(s)="string") { f:=[],i:=1 if n b:=StrLen(s) else { if !(s:=Trim(s)) or !regexmatch(s, "[\[\{]") Return s if JSON:=(n=0) ; so(s,0) JSON { for c,z in m if InStr(s,c) StrReplace,s,% s,% c,% z StrReplace, s, %s%,\/,/ if e:=InStr(s,"\u") for e,n in StrSplit(SubStr(s, e+2), "\u") IF n and !f[b:=SubStr(n, 1, 4)] { IF d := Abs("0x" b) StrReplace,s,% s,% "\u" b,% Chr(d) f[b]:=1 } } f:=[],b:=StrLen(s),n:=SubStr(s,i,1),d:=0,JSONS:=JSON?"\":"``" } if (n="{") loop { if ((r?r[0]:"") = "}") or !i or !( i:=RegExMatch(s,"\S",n,i+1) ) or ((n:=n[0]) = "}") Return d:=i,f if InStr("[{",n) (k:=so(SubStr(s,i),n),i+=d,i:=RegExMatch(s,"\S",t,InStr(s,":",,i)+1),(InStr("[{",t:=i?t[0]:"") ? (f[SO_JSON(K,JSON) ""]:=so(SubStr(s,i),t),i:=RegExMatch(s,",|\}",r,i+d)) : ( ((t=y) ? (p:=InStr(s,y,,i+1),p:=RegExMatch(s,",|\}",r,p),z:=Trim(SubStr(s,i+1,p-i-2))) : (p:=RegExMatch(s,",|\}",r,i),z:=Trim(SubStr(s,i,p-i)),z:=z+0=""?SO_Try(z):z+0)) ,f[SO_JSON(K,JSON) ""]:=SO_JSON(K,JSON),i:=p)) ) else (x:=InStr(s,":",,(n=y)?InStr(s,y,,i,2):i)) ? (k:= ((n=y)?SubStr(s,i+1,x-i-2):SubStr(s,i,x-i)) ,k:=(n=y ? Trim(k) : n="(" ? SO_Try(Trim(k,"() `t")):Trim(k)),i:=RegExMatch(s,"\S",t,x+1) ,InStr("[{",t:=i?t[0]:"") ? (f[SO_JSON(K,JSON) ""]:=so(SubStr(s,i),t),i:=RegExMatch(s,",|\}",r,i+d)) : ( ((t=y) ? (p:=so_InStr(s,i,JSONS),p:=RegExMatch(s,",|\}",r,p),z:=Trim(SubStr(s,i+1,p-i-2))) : (p:=RegExMatch(s,",|\}",r,i),z:=Trim(SubStr(s,i,p-i)),z:=z+0=""?SO_Try(z):z+0)) ,f[SO_JSON(K,JSON) ""]:=SO_JSON(Z,JSON),i:=p)) : i:=0 } if (n = "[") loop { if ((r?r[0]:"") = "]") or !i or !( i:=RegExMatch(s,"\S",n,i+1) ) or ((n:=n[0]) = "]") Return d:=i,f (InStr("[{",n) ? (f.Push(so(SubStr(s,i),n)),i:=RegExMatch(s,",|\]",r,i+d)) : ( (n=y) ? (p:=so_InStr(s,i,JSONS),p:=RegExMatch(s,",|\]",r,p),z:=Trim(SubStr(s,i+1,p-i-2))) : (p:=RegExMatch(s,",|\]",r,i),z:=Trim(SubStr(s,i,p-i)),z:=z+0=""?SO_Try(z):z+0),i:=p ,f.Push(SO_JSON(Z,JSON)))) } } } SO_JSON(s,JSON){ static J:="\`"",P:="`"" Return JSON AND InStr(s,J)?StrReplace(S,J,P):S } SO_InStr(s,i,JSONS){ while (p:=InStr(s,"`"",,i+1)) and (SubStr(s,p-1,1)=JSONS) i:=p Return p } SO_Try(f){ global Try Return (%f%) } Uri_Encode(str){ n := StrPutVar(str, UTF8, "UTF-8"),f:={"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"76":1,"77":1,"78":1,"79":1,"2d":1,"2e":1,"4a":1,"4b":1,"4c":1,"4d":1,"4e":1,"4f":1,"5a":1,"5f":1,"6a":1,"6b":1,"6c":1,"6d":1,"6e":1,"6f":1,"7a":1,"7e":1} loop, strlen(hex:=BintoHex(&UTF8,n))/2-1 Res .= f[r:=substr(hex, A_index*2-1,2)]?Chr("0x" r):"`%" r return Res } translate_tl(string){ a := b :=datediff(time?time:A_NowUTC,"19700101","hours") n:= StrPutVar(string,utf8,"UTF-8") loop, strlen(hex:=BintoHex(&UTF8, n))/2-1 a := translate_rl(a + ("0x" substr(hex, A_index*2-1,2)), "+-a^+6") a := Mod((0 > (a := translate_rl(a, "+-3^+b+-f"))) ? (a := (a & 2147483647) + 2147483648) : a,10 ** 6) return a "." (a ^ b) } translate_rl(a, b){ c := 0 while c < StrLen(b) - 2 { d := SubStr(b, c+3, 1),d := (d >= "a") ? Ord(d) - 87 : d+0 ,d := (SubStr(b, c+2, 1) == "+") ? a >> d : a << d ,a := (SubStr(b, c+1, 1) == "+") ? (a + d & 4294967295) : a ^ d ,c += 3 } return ToInt(a) } ToInt(ByRef num,buf:=0){ return num:=NumGet(getvar(buf:=num+0),"Int") } StrPutVar(Str, ByRef Var, Enc := "") { Len := StrPut(Str, Enc) * (Enc = "UTF-16" || Enc = "CP1200" ? 2 : 1) VarSetCapacity(Var, Len, 0) Return, StrPut(Str, &Var, Enc) } BinToHex(addr,len) { ; Thanks Laszo static b2h if !b2h b2h:=McodeH(A_PtrSize=8?"4C8BC94585C0744F458BD00F1F440000440FB6024983C10248FFC241C0E8044180E80A410FB6C0C0E805442AC04180C041458841FE0FB64AFF80E10F80E90A0FB6C1C0E8052AC880C14149FFCA418849FF75BD458811C3C60100C3":"558BEC578B7D1085FF74398B4D08568B750C8A06C0E8042C0A8AD0C0EA052AC2044188018A06240F2C0A8AD0C0EA052AC204418841014683C1024F75D55EC601005F5DC38B4508C600005F5DC3","i==ttui") VarSetCapacity(hex,2 * len + 1),b2h[&hex,addr,len] Return StrGet(&hex,"CP0") } MCodeH(h,def,p*){ static f,DynaCalls If !f f:={},DynaCalls:={} If DynaCalls.HasKey(h) return DynaCalls[h] f.Push(h),f.SetCapacity(f.Length(),len:=StrLen(h)//2) DllCall("VirtualProtect","PTR",addr:=f.GetAddress(f.Length()),"Uint",len,"UInt",64,"Uint*",0) Loop len NumPut("0x" SubStr(h,2*A_Index-1,2),addr,A_Index-1,"Char") if p.Length() Return DynaCalls[h]:=DynaCall(addr,def,p*) else Return DynaCalls[h]:=DynaCall(addr,def) } ;============================================================================ WM_LBUTTONDOWN() { if (A_Gui="GetText") { If (A_GuiControl = "") ; Klick auf den Hintergrund der GUI PostMessage, 0xA1, 2, 0 ; sehr sehr alter Trick von SKAN: 0xA1 = WM_NCLBUTTONDOWN } } Test(wParam, lParam) { If (wParam=2 && lParam=1) GoSub Start }
Post by HotKeyIt » 16 Mar 2016, 07:40
Post by fump2000 » 16 Mar 2016, 06:51
translate_google(str,tl:="",sl:="",proxy:=""){ ComObjError(false) http := ComObjCreate("WinHttp.WinHttpRequest.5.1") proxy?http.SetProxy(2,proxy):"",tl?"":tl:="de" http.open("POST","https://translate.google.com/translate_a/single?client=t&sl=" (sl?sl:"auto") "&tl=" tl "&hl=" tl "&dt=at&dt=bd&dt=ex&dt=ld&dt=md&dt=qca&dt=rw&dt=rm&dt=ss&dt=t&ie=UTF-8&oe=UTF-8&otf=1&ssel=3&tsel=3&pc=1&kc=2&tk=" translate_tl(str),1) http.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=utf-8") http.SetRequestHeader("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0") http.send("q=" Uri_Encode(str)) http.WaitForResponse(-1) if IsObject(Result:=so(http.responsetext,0)) && IsObject(Result.1) && Result.1.Length() for i,n in Result.1 text.= n.1 " " Return text }
Post by HotKeyIt » 16 Mar 2016, 06:37
Script:="MsgBox Hello World!" DllCall("LoadLibrary","Str",ahkdll:=A_ScriptDir "\AutoHotkey.dll") DllCall(ahkdll "\ahktextdll","Str",Script,"Str","","Cdecl") While DllCall(ahkdll "\ahkReady") Sleep 100
Post by fump2000 » 16 Mar 2016, 06:17
var:="Hello World!" DllCall("LoadLibrary","Str",ahkdll:=A_ScriptDir "\AutoHotkey.dll") DllCall(ahkdll "\ahktextdll","Str","Alias(var," getvar(var) ")`nMsgBox `% var","Str","","Cdecl") MsgBox end
Post by HotKeyIt » 16 Mar 2016, 06:09
obj:=CriticalObject(["A","B","C"]) FileRead,Script,A_ScriptDir "\Translater.ahk" DllCall("LoadLibrary","Str",ahkdll:=A_ScriptDir "\AutoHotkey.dll") DllCall(ahkdll "\ahktextdll","Str","obj:=CriticalObject(" (&obj) ")`nMsgBox `% obj.2`n" Script,"Str","") MsgBox End
F8:: Critical scr:=DllCall(ahkdll "\ahkgetvar","Str","A_ScriptHwnd","UInt",0,"Str") detecthiddenwindows,on settitlematchmode,2 PostMessage, 0x5555, 2,1,,% "ahk_id " scr detecthiddenwindows,off settitlematchmode,1 Return
var:="Hello World!" DllCall("LoadLibrary","Str",ahkdll:=A_AhkDir "\AutoHotkey.dll") DllCall(ahkdll "\ahktextdll","Str","Alias(var," getvar(var) ")`nMsgBox `% var","Str","","Cdecl") MsgBox end
Post by fump2000 » 16 Mar 2016, 02:25
F8:: Critical scr:=A_ScriptHwnd detecthiddenwindows,on settitlematchmode,2 PostMessage, 0x5555, 2,1,,% scr detecthiddenwindows,off settitlematchmode,1 Return
hModule:=DllCall("LoadLibrary","Str",ahkdll:=A_ScriptDir "\AutoHotkey.dll") DllCall(ahkdll "\ahkdll","Str",A_ScriptDir "\Translater.ahk","Str","")
Post by HotKeyIt » 15 Mar 2016, 12:18
#Persistent #SingleInstance force ahkdll:=AhkThread(" ( #Persistent #SingleInstance ignore OnMessage(0x5555, "Test") Return Test(wParam, lParam) { If (wParam=2 && lParam=1) msgbox } )") dll_ScriptHwnd:=ahkdll.ahkgetvar("A_ScriptHwnd") ESC:: ahkdll.ahkterminate() ExitApp Return F8::PostMessage_(dll_ScriptHwnd,0x5555,2,1)
Top