Hi,
das Skript stürzt nach dem starten direkt ohne Fehlermeldung ab.
Unter 32bit funktioniert es.
Der Fehler scheint in der Funktion "_MyWindowProc" aufzutreten. Weiß leider nicht warum
C
#AutoIt3Wrapper_UseX64=Y
#Region ;************ Includes ************
#Include <EditConstants.au3>
#Include <WinAPISysWin.au3>
#Include <WindowsConstants.au3>
#include <GuiMenu.au3>
#EndRegion ;************ Includes ************
Opt("MustDeclareVars", 1) ; 0=nein, 1=erfordert Deklaration
;Notiz: Größe und Lage
Global $iNotiz_x = 500
Global $iNotiz_y = 200
Global $iNotiz_breite = 200
Global $iNotiz_hoehe = 300
;Notiz erstellen
Global $sNotiz_inhalt = ""
Global $hGui_notizen = GUICreate("", $iNotiz_breite, $iNotiz_hoehe, $iNotiz_x, $iNotiz_y, BitOR($WS_SIZEBOX, $WS_CLIPCHILDREN, $WS_CLIPSIBLINGS), $WS_EX_TOOLWINDOW)
Global $idEdit_notiz = GUICtrlCreateEdit($sNotiz_inhalt, 0, 0, $iNotiz_breite - 2, $iNotiz_hoehe - 20, BitOR($ES_MULTILINE, $ES_WANTRETURN, $WS_VSCROLL, $ES_AUTOVSCROLL))
;Kontextmenü - benutzerdefiniert
Global $w_editBoxProcNew = DllCallbackRegister("_MyWindowProc", "ptr", "hwnd;uint;long;ptr")
Global $w_editBoxProcOld = _WinAPI_SetWindowLong(GUICtrlGetHandle($idEdit_notiz), $GWL_WNDPROC, DllCallbackGetPtr($w_editBoxProcNew))
_WinAPI_SetWindowLong(GUICtrlGetHandle($idEdit_notiz), $GWL_WNDPROC, DllCallbackGetPtr($w_editBoxProcNew))
;Kontextmenü Editfeld
Global $idContext_notiz = GUICtrlCreateContextMenu()
Global $idMenuitem_notizen_beenden = GUICtrlCreateMenuItem("Test", $idContext_notiz)
GUISetState(@SW_SHOW, $hGui_notizen)
While 1
Sleep(10)
WEnd
Func _MyWindowProc($hWnd, $uiMsg, $wParam, $lParam)
Switch $uiMsg
Case $WM_CONTEXTMENU
If $hWnd = GUICtrlGetHandle($idEdit_notiz) Then
; show our context menu
Local $iSelected = _GUICtrlMenu_TrackPopupMenu(GUICtrlGetHandle($idContext_notiz), $hWnd, -1, -1, 1, 1, 2)
Return 0
EndIf
EndSwitch
;pass the unhandled messages to default WindowProc
Return _WinAPI_CallWindowProc($w_editBoxProcOld, $hWnd, $uiMsg, $wParam, $lParam)
EndFunc ;==>_MyWindowProc
Func _beenden()
Exit
EndFunc ;==>_beenden
Alles anzeigen