folgende kleines Testprogramm:
Code: Alles auswählen
If OpenConsole()
EnableGraphicalConsole(1)
Repeat
a$ = Input()
If a$="."
Break
EndIf
Print (a$)
ForEver
EndIf

wie kann ich das verhindern ?
Code: Alles auswählen
If OpenConsole()
EnableGraphicalConsole(1)
Repeat
a$ = Input()
If a$="."
Break
EndIf
Print (a$)
ForEver
EndIf
Code: Alles auswählen
If OpenConsole()
SetConsoleCtrlHandler_(0, #True)
EnableGraphicalConsole(1)
Repeat
a$ = Input()
If a$="."
Break
EndIf
Print (a$)
ForEver
EndIf
Code: Alles auswählen
EnableExplicit
Define a$
Define ConsoleHandle
If OpenLibrary(0, "Kernel32.dll")
Prototype GetConsoleWindow()
Define GetConsoleWindow.GetConsoleWindow = GetFunction(0, "GetConsoleWindow")
CloseLibrary(0)
EndIf
If OpenConsole()
SetConsoleCtrlHandler_(0, #True)
ConsoleHandle = GetConsoleWindow()
EnableMenuItem_(GetSystemMenu_(ConsoleHandle, #False), #SC_CLOSE, #MF_DISABLED)
EnableGraphicalConsole(1)
Repeat
a$ = Input()
If a$="."
Break
EndIf
Print (a$)
ForEver
EndIf
Das sind WinAPIs und werden von Windows bereitgestellt. Diese haben mit PB nichts zu tun. WinAPIs werden am Ende des Funktionsnamens mit einem _ gekennzeichnet.Charly hat geschrieben:1. wo findet man diese info?, i hab in der Hilfe nicht gefunden ;(
Du kannst bei SetConsoleCtrlHandler_() im ersten Parameter eine Prozedur angeben:Charly hat geschrieben:2. wie bekommt mein Prg. mit das Strg+C gedrueckt wurde ? (brauch es fuer Copy & Past (ctrl+c / ctrl+v) )
Code: Alles auswählen
EnableExplicit
Define a$
Define ConsoleHandle
If OpenLibrary(0, "Kernel32.dll")
Prototype GetConsoleWindow()
Define GetConsoleWindow.GetConsoleWindow = GetFunction(0, "GetConsoleWindow")
CloseLibrary(0)
EndIf
Procedure ConsoleCtrlHandler()
Debug "Hier koennen noch wichtige Einstellungen gespeichert werden..."
Delay(2000)
Debug "Fertig, Ende."
EndProcedure
If OpenConsole()
SetConsoleCtrlHandler_(@ConsoleCtrlHandler(), #True)
ConsoleHandle = GetConsoleWindow()
EnableMenuItem_(GetSystemMenu_(ConsoleHandle, #False), #SC_CLOSE, #MF_DISABLED)
EnableGraphicalConsole(1)
Repeat
a$ = Input()
If a$="."
Break
EndIf
Print (a$)
ForEver
EndIf