Oder führe es in SciTE aus, dann zeigt er dir normalerweise an in welcher Datei der Fehler gefunden wurde...
Beiträge von name22
-
-
Zitat
Auserdem ging es in diesem Thread nicht um die Mausposition
Ich lese auch nicht einfach nur die Mausposition aus, sondern errechne die Mausposition relativ zum Desktop und ziehe die Koordinaten des Client Bereich des angegebenen Fensters davon ab. Und das ergibt die Koordinaten für den Client Bereich des Fensters... Ist ja jetzt auch egal, da das Problem gelöst zu sein scheint. -
Hier scheint ein Fehler zu liegen...
[autoit]
Func _SkinH_AttachRes($pShe, $dwSize, $Hue, $Sat, $Bri, $sPwd = "mhgd")
[/autoit]
Local $aRet = DllCall($__SkinH_DLL, "int", "SkinH_AttachRes", "BYTE*", $SkinFilePath, "dword", $dwSize, "str", $sPwd, "int", $Hue, "int", $Sat, "int", $Bri)
Return $aRet[0]
EndFunc ;==>_SkinH_AttachRes
(Zeile 87 - 90)
Edit: Abgesehen von der kurzen Zeit in der das Originalfenster sichtbar ist (nach dem Klick auf den Close Button), sieht das ganze recht nützlich aus :). Ich werde das bestimmt mal gebrauchen können. -
-
Zitat
aber was ist jetzt besser?
autoit oder .bat?
Das musst du selbst entscheiden, wobei in diesem Fall AutoIt wahrscheinlich praktischer ist...
-
Zitat
Gibts dafür noch eine Lösung?
[autoit]
Naja... Das hier macht so ziemlich das selbe.#include <WinAPI.au3>
[/autoit][autoit][/autoit][autoit]$hWnd = GUICreate("Test", 400, 400)
[/autoit][autoit][/autoit][autoit]
GUISetState()$tPoint = DllStructCreate($tagPOINT)
[/autoit][autoit][/autoit][autoit]
DllStructSetData($tPoint, "X", 0)
DllStructSetData($tPoint, "Y", 0)
_WinAPI_ClientToScreen($hWnd, $tPoint)MouseMove(DllStructGetData($tPoint, "X"), DllStructGetData($tPoint, "Y"))
[/autoit][autoit][/autoit][autoit]Sleep(1000)
[/autoit] -
Mach es doch so...
[autoit]$R = Random(1, 20, 1) * 16
[/autoit] -
Zitat
Der funktioniert auch so weit, aber als ich \Notepad.exe augetauscht habe hat er schon wieder nicht funktioniert...?
Das hängt vermutlich damit zusammen, dass sich die exe die du starten möchtest nicht im @WindowsDir befindet.
Wenn du den Pfad der exe nicht hast, dann musst du danach suchen (wie Alina schon gesagt hat). -
So. Jetzt habe ich eine 100%ig sichere Methode gebastelt.

Spoiler anzeigen
[autoit]#include <WinAPI.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <Timers.au3>$sTitle = "MsgBox Test"
[/autoit] [autoit][/autoit] [autoit]
$iCountTime = 5000
$fCheck = False$hWnd_Parent = GUICreate("")
[/autoit] [autoit][/autoit] [autoit]$iTimer = TimerInit()
[/autoit] [autoit][/autoit] [autoit]
_Timer_SetTimer($hWnd_Parent, 100, '_Wait')
MsgBox(64, $sTitle, "AutoIt Rulez!", Default, $hWnd_Parent)
_Timer_KillAllTimers($hWnd_Parent)Func _Wait($hWnd, $Msg, $iIDTimer, $dwTime)
[/autoit] [autoit][/autoit] [autoit]
If Not IsDeclared("hMsgBoxHandleTmp") Then Global $hMsgBoxHandleTmp = _MsgBox_GetHandle($sTitle, $hWnd_Parent)
If TimerDiff($iTimer) < $iCountTime Then
ControlSetText($hMsgBoxHandleTmp, '', '[CLASS:Button; INSTANCE:1]', Int($iCountTime / 1000) - Int(TimerDiff($iTimer) / 1000))
If Not $fCheck Then
$fCheck = True
ControlDisable($hMsgBoxHandleTmp, '', '[CLASS:Button; INSTANCE:1]')
EndIf
Else
ControlSetText($hMsgBoxHandleTmp, '', '[CLASS:Button; INSTANCE:1]', 'Ok')
If $fCheck Then
$fCheck = False
ControlEnable($hMsgBoxHandleTmp, '', '[CLASS:Button; INSTANCE:1]')
EndIf
EndIf
EndFuncFunc _MsgBox_GetHandle($sTitle, $hWnd_Parent)
[/autoit]
$aWinList = WinList("[CLASS:#32770;TITLE:" & $sTitle & "]")
For $i = 1 To $aWinList[0][0]
If _WinAPI_GetParent($aWinList[$i][1]) = $hWnd_Parent Then Return $aWinList[$i][1]
Next
Return 0
EndFunc -
Das hier ist zwar auch nicht hundertprozentig, aber es begrenzt die Suche auf alle MsgBox Fenster mit dem passenden Titel.
[autoit]$hWnd_MsgBox = WinGetHandle("[CLASS:#32770;TITLE:" & $sTitle & "]")
[/autoit] -
Du könntest es ja mit Child GUIs machen...
Spoiler anzeigen
[autoit]#include <WindowsConstants.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <GUIConstants.au3>
#include <WinAPI.au3>Opt("GUIOnEventMode", 1)
[/autoit] [autoit][/autoit] [autoit]$hWnd_Main = GUICreate("Main", 600, 400, Default, Default, BitOR($WS_MINIMIZEBOX, $WS_CAPTION, $WS_SYSMENU, $WS_CLIPCHILDREN))
[/autoit] [autoit][/autoit] [autoit]
$cButton_Main_Test = GUICtrlCreateButton("Main Test", 5, 5, 80, 25)
GUISetState()$hWnd_Child1 = GUICreate("Child 1", 200, 200, 50, 50, $WS_POPUP)
[/autoit] [autoit][/autoit] [autoit]
GUISetBkColor(0x5050FF, $hWnd_Child1)
$cButton_Child1_Test = GUICtrlCreateButton("Child 1 Test", 5, 5, 80, 25)$hWnd_Child2 = GUICreate("Child 2", 200, 200, 150, 150, $WS_POPUP)
[/autoit] [autoit][/autoit] [autoit]
GUISetBkColor(0xFFFF50, $hWnd_Child2)
$cButton_Child2_Test = GUICtrlCreateButton("Child 2 Test", 5, 5, 80, 25)$hWnd_Child3 = GUICreate("Child 3", 400, 300, 60, 40, $WS_POPUP)
[/autoit] [autoit][/autoit] [autoit]
GUISetBkColor(0xFF5050, $hWnd_Child3)
$cButton_Child3_Test = GUICtrlCreateButton("Child 3 Test", 50, 50, 80, 80)_SetParent($hWnd_Main, $hWnd_Child1)
[/autoit] [autoit][/autoit] [autoit]
_SetParent($hWnd_Main, $hWnd_Child2)
_SetParent($hWnd_Main, $hWnd_Child3)GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit", $hWnd_Main)
[/autoit] [autoit][/autoit] [autoit]
GUISetOnEvent($GUI_EVENT_CLOSE, "_CloseChild1", $hWnd_Child1)
GUISetOnEvent($GUI_EVENT_CLOSE, "_CloseChild2", $hWnd_Child2)
GUISetOnEvent($GUI_EVENT_CLOSE, "_CloseChild3", $hWnd_Child3)GUICtrlSetOnEvent($cButton_Main_Test, "_ButtonMain")
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetOnEvent($cButton_Child1_Test, "_ButtonChild1")
GUICtrlSetOnEvent($cButton_Child2_Test, "_ButtonChild2")
GUICtrlSetOnEvent($cButton_Child3_Test, "_ButtonChild3")GUISetState(@SW_SHOW, $hWnd_Child1)
[/autoit] [autoit][/autoit] [autoit]
GUISetState(@SW_SHOW, $hWnd_Child2)
GUISetState(@SW_SHOW, $hWnd_Child3)While Sleep(1000)
[/autoit] [autoit][/autoit] [autoit]
WEndFunc _SetParent($hWnd_Parent, $hWnd_Child)
[/autoit] [autoit][/autoit] [autoit]
$nExStyle = DllCall("user32.dll", "int", "GetWindowLong", "hwnd", $hWnd_Child, "int", 0xEC)
DllCall("user32.dll", "int", "SetWindowLong", "hwnd", $hWnd_Child, "int", 0xEC, "int", BitOR($nExStyle[0], $WS_EX_MDICHILD))
DllCall("user32.dll", "int", "SetParent", "hwnd", $hWnd_Child, "hwnd", $hWnd_Parent)GUISwitch($hWnd_Parent)
[/autoit] [autoit][/autoit] [autoit]
EndFuncFunc _Exit()
[/autoit] [autoit][/autoit] [autoit]
Exit
EndFuncFunc _ButtonMain()
[/autoit] [autoit][/autoit] [autoit]
MsgBox(64, "Button", "Main")
EndFuncFunc _ButtonChild1()
[/autoit] [autoit][/autoit] [autoit]
MsgBox(64, "Button", "Child 1")
EndFuncFunc _ButtonChild2()
[/autoit] [autoit][/autoit] [autoit]
MsgBox(64, "Button", "Child 2")
EndFuncFunc _ButtonChild3()
[/autoit] [autoit][/autoit] [autoit]
MsgBox(64, "Button", "Child 3")
EndFuncFunc _CloseChild1()
[/autoit] [autoit][/autoit] [autoit]
GUIDelete($hWnd_Child1)
EndFuncFunc _CloseChild2()
[/autoit] [autoit][/autoit] [autoit]
GUIDelete($hWnd_Child2)
EndFuncFunc _CloseChild3()
[/autoit]
GUIDelete($hWnd_Child3)
EndFunc -
Wo liegt jetzt das Problem?

-
Ich bin MattthiasG.'s Meinung. Man kann daran nicht 100%ig die Kompetenz oder das Engagement des Users erkennen, aber eine leichte Einschätzung ist möglich. Wer das als Wettbewerb betrachtet und deswegen unnötig postet könnte ja einfach eine Verwarnung o. so bekommen.
Die Mitglied des Monats Sache ist eigetnlich eine nette Idee, aber man kann nie garantieren das das jemand nicht zu Ernst nimmt (Besonders was diese "Anti-User" Sache betrifft)... -
Zitat
keine angst will keine illegalen Dateien runterladen oder so aber das max. Downloadlimit umgehen^^
Was den Filehoster noch viel mehr ankotzen wird...
-
Das ist entweder eine optische Täuschung, oder ich habe zu viel mit Radio Buttons gearbeitet :D.
-
Zitat
und wen ich das spiel zu einem clienten mache und die dateien auf meinem pc speichere und der dem spiel mdann immer die daten schickt ist es 100% prozent sicher oder?
Nein, aber es ist um einiges sicherer als die Daten in einer Ini zu speichern.
-
Zitat
wenn ich fertig bin stells ichs als .exe datei in script die ist doch sicher oder?
Nein, das lässt sich decompilen ;). Aber absolut sicher ist sowieso nichts... -
Beispiel aus der Hilfe
:Spoiler anzeigen
[autoit]#include <GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <EditConstants.au3>
#include <WindowsConstants.au3>
#include <Crypt.au3>
#include <WinAPI.au3>; Beispiel für eine RC4-Verschlüsselung in Echtzeit
[/autoit] [autoit][/autoit] [autoit]$hWnd=GUICreate("Echzeit Verschlüsselung",400,300,-1)
[/autoit] [autoit][/autoit] [autoit]
$hInputEdit=GUICtrlCreateEdit("",0,0,400,150,$ES_WANTRETURN)
$hOutputEdit=GUICtrlCreateEdit("",0,150,400,150,$ES_READONLY)
GUIRegisterMsg($WM_COMMAND,"WM_COMMAND")
GUISetState(@SW_SHOW); Um die Performance zu verbessern starten wir die Crypt-Library und erstellen einen Schlüssel
[/autoit] [autoit][/autoit] [autoit]
_Crypt_Startup()
$hKey=_Crypt_DeriveKey("EinPasswort",$CALG_RC4)Do
[/autoit] [autoit][/autoit] [autoit]
$msg=GUIGetMsg()
Until $msg=$GUI_EVENT_close_Crypt_DestroyKey($hKey)
[/autoit] [autoit][/autoit] [autoit]
_Crypt_Shutdown()Func WM_COMMAND($hWinHandle,$iMsg,$wParam,$lParam)
[/autoit]
; Wenn sich etwas in der InputBox ändert
If _WinAPI_HiWord($wParam)=$EN_CHANGE And _WINAPI_LoWord($wParam)=$hInputEdit Then
$bEncrypted=_Crypt_EncryptData(GUICtrlRead($hInputEdit),$hKey,$CALG_USERKEY)
GUICtrlSetData($hOutputEdit,$bEncrypted)
EndIf
EndFunc -
Ja das kannst du einfach überschreiben ;).
-
Mit der Crypt.au3 die Werte verschlüsseln ;).