Bei folgendem Code (geschrieben in PB 4.0 und unter Verwendung von Jilos Userlib^^):
Code: Alles auswählen
;-Include
DataSection
ico: IncludeBinary "homie.ico"
EndDataSection
CatchImage(0,?ico)
;-Procedures
Procedure.l Help(helpishere.l)
MessageRequester("Info","Die Tasten F6 - F12 sind mit Sonderfunktionen belegt,wobei gilt:" + Chr(10) + "F6 = YO" + Chr(10) + "F7 = BIATSCH" + Chr(10) + "F8 = HOMIE" + Chr(10) + "F9 = ALTAAAA (Anzahl der 'A's frei wählbar^^)" + Chr(10) + "F10 = NIGGA" + Chr(10) + "F11 = WIXAAAA (Anzahl der 'A's frei wählbar^^)" + Chr(10) + "F12 = TIGHT" + Chr(10) + "PS: Aus Sicherheits- und Spamtechnischen gründen ist die anzahl" + Chr(10) +"der AaA's bei WIXAA und ALTAA auf 50 begrenzt!^^" ,48)
MessageRequester("Info_2","Die 'Und So'-Funktion sorgt in aktiviertem Zustand dafür,dass" + Chr(10) + "vor jedem Punkt eine von 3 phatten Endungen kommt",48)
; MessageRequester("Info_3","Die 'Homie'-Funktion ersetzt einige Buchtaben mit phatten Alternativen^^",48)
EndProcedure
Procedure.l About(thisisabout.l)
MessageRequester("Info","Dieses HoMiEsPeEcH-Programm wurde nur zur Eigenbelustigung programmiert" + Chr(10) + "Jeglicher Missbrauch der Funktionen wird Zivil- und Strafrechtlich verfolgt xD" + Chr(10) + "Ach was^^ macht damit,was ihr wollt :-D" + Chr(10) + "MfG," + Chr(10) + Space(8) + "Faro",48)
EndProcedure
;-Window
MessageRequester("Info","Dieses Programm befindet sich von Anfang an im SysTray" +Chr(10) + "zum beenden Rechtsklicke einfach auf das Icon^^",48)
OpenWindow(0,0,0,10,10,"",#PB_Window_Invisible|#PB_Window_ScreenCentered)
CreatePopupMenu(0)
MenuItem(1,"About")
MenuItem(2,"Hilfe")
MenuItem(3,"'Und so'-Funktion")
MenuItem(4,"'Homie'-Funktion")
MenuBar()
MenuItem(5,"Beenden")
AddSysTrayIcon(0,WindowID(0),ImageID(0))
;-Menu
Repeat
EventID = WaitWindowEvent(2)
If EventID = #PB_Event_SysTray
If EventType() = #PB_EventType_RightClick
DisplayPopupMenu(0,WindowID(0))
EndIf
EndIf
If EventID = #PB_Event_Menu
Select EventMenu()
Case 1
CreateThread(@About(),0)
Case 2
CreateThread(@Help(),1)
Case 3
If GetMenuItemState(0,3) = 0
SetMenuItemState(0,3,1)
Else
SetMenuItemState(0,3,0)
EndIf
Case 4
If GetMenuItemState(0,4) = 0
SetMenuItemState(0,4,1)
Else
SetMenuItemState(0,4,0)
EndIf
Case 5
If GetKeyState_(#VK_CAPITAL)
JLSimKey(#VK_CAPITAL)
EndIf
End
EndSelect
EndIf
;-'Engine'
For vk = 65 To 90
GetAsyncKeyState_(vk)
If GetAsyncKeyState_(vk) Or GetAsyncKeyState_(#VK_BACK)
Delay(50)
JLSimKey(#VK_CAPITAL)
Delay(50)
EndIf
Next
For no = 48 To 57
GetAsyncKeyState_(no)
If GetAsyncKeyState_(no) And GetKeyState_(#VK_CAPITAL)
no_key = no
JLSimKey(#VK_BACK)
Delay(50)
JLSimKey(#VK_CAPITAL)
Delay(50)
JLSimKey(no_key)
EndIf
Next
;-Hotkeys
If GetAsyncKeyState_(#VK_F6)
JLSimKey(#VK_SPACE)
Delay(50)
JLSimKey(#VK_Y)
Delay(50)
JLSimKey(#VK_CAPITAL)
Delay(50)
JLSimKey(#VK_O)
EndIf
If GetAsyncKeyState_(#VK_F7)
JLSimKey(#VK_SPACE)
Delay(50)
JLSimKey(#VK_B)
Delay(50)
JLSimKey(#VK_CAPITAL)
Delay(50)
JLSimKey(#VK_I)
Delay(50)
JLSimKey(#VK_CAPITAL)
Delay(50)
JLSimKey(#VK_A)
Delay(50)
JLSimKey(#VK_CAPITAL)
Delay(50)
JLSimKey(#VK_T)
Delay(50)
JLSimKey(#VK_CAPITAL)
Delay(50)
JLSimKey(#VK_C)
Delay(50)
JLSimKey(#VK_CAPITAL)
Delay(50)
JLSimKey(#VK_H)
Delay(50)
JLSimKey(#VK_CAPITAL)
EndIf
If GetAsyncKeyState_(#VK_F8)
JLSimKey(#VK_SPACE)
Delay(50)
JLSimKey(#VK_H)
Delay(50)
JLSimKey(#VK_CAPITAL)
Delay(50)
JLSimKey(#VK_O)
Delay(50)
JLSimKey(#VK_CAPITAL)
Delay(50)
JLSimKey(#VK_M)
Delay(50)
JLSimKey(#VK_CAPITAL)
Delay(50)
JLSimKey(#VK_I)
Delay(50)
JLSimKey(#VK_CAPITAL)
Delay(50)
JLSimKey(#VK_E)
Delay(50)
JLSimKey(#VK_CAPITAL)
EndIf
If GetAsyncKeyState_(#VK_F9)
If GetKeyState_(#VK_CAPITAL)
JLSimKey(#VK_CAPITAL)
EndIf
groesser50:
input = ValF(InputRequester("AlTaAaAa^^","Bitte Anzahl der AaAaAa's eingeben",""))
If input <= 50
JLSimKey(#VK_SPACE)
Delay(50)
JLSimKey(#VK_A)
Delay(50)
JLSimKey(#VK_CAPITAL)
Delay(50)
JLSimKey(#VK_L)
Delay(50)
JLSimKey(#VK_CAPITAL)
Delay(50)
JLSimKey(#VK_T)
Delay(50)
JLSimKey(#VK_CAPITAL)
For a = 1 To input
Delay(50)
JLSimKey(#VK_A)
Delay(50)
JLSimKey(#VK_CAPITAL)
Next
Delay(50)
JLSimKey(#VK_CAPITAL)
Else
MessageRequester("Fehler","Bitte nicht mehr als 50 A's verwenden. Danke ;-)",16)
Goto groesser50:
EndIf
EndIf
If GetAsyncKeyState_(#VK_F10)
JLSimKey(#VK_SPACE)
Delay(50)
JLSimKey(#VK_N)
Delay(50)
JLSimKey(#VK_CAPITAL)
Delay(50)
JLSimKey(#VK_I)
Delay(50)
JLSimKey(#VK_CAPITAL)
Delay(50)
JLSimKey(#VK_G)
Delay(50)
JLSimKey(#VK_CAPITAL)
Delay(50)
JLSimKey(#VK_G)
Delay(50)
JLSimKey(#VK_CAPITAL)
Delay(50)
JLSimKey(#VK_A)
Delay(50)
JLSimKey(#VK_CAPITAL)
EndIf
If GetAsyncKeyState_(#VK_F11)
If GetKeyState_(#VK_CAPITAL)
JLSimKey(#VK_CAPITAL)
EndIf
groesser50_2:
input2 = ValF(InputRequester("WiXaAaAa^^","Bitte Anzahl der AaAaAa's eingeben",""))
If input2 <= 50
JLSimKey(#VK_SPACE)
Delay(50)
JLSimKey(#VK_W)
Delay(50)
JLSimKey(#VK_CAPITAL)
Delay(50)
JLSimKey(#VK_I)
Delay(50)
JLSimKey(#VK_CAPITAL)
Delay(50)
JLSimKey(#VK_X)
Delay(50)
JLSimKey(#VK_CAPITAL)
For a = 1 To input2
Delay(50)
JLSimKey(#VK_A)
Delay(50)
JLSimKey(#VK_CAPITAL)
Next
Delay(50)
JLSimKey(#VK_CAPITAL)
Else
MessageRequester("Fehler","Bitte nicht mehr als 50 A's verwenden. Danke ;-)",16)
Goto groesser50_2:
EndIf
EndIf
If GetAsyncKeyState_(#VK_F12)
JLSimKey(#VK_SPACE)
Delay(50)
JLSimKey(#VK_T)
Delay(50)
JLSimKey(#VK_CAPITAL)
Delay(50)
JLSimKey(#VK_I)
Delay(50)
JLSimKey(#VK_CAPITAL)
Delay(50)
JLSimKey(#VK_G)
Delay(50)
JLSimKey(#VK_CAPITAL)
Delay(50)
JLSimKey(#VK_H)
Delay(50)
JLSimKey(#VK_CAPITAL)
Delay(50)
JLSimKey(#VK_T)
Delay(50)
JLSimKey(#VK_CAPITAL)
EndIf
;-Optional Endings
If GetMenuItemState(0,3) = 1
If GetKeyState_($BE)
what = Random(2)+1
If what = 1
JLSimKey(#VK_BACK)
Delay(50)
JLSimKey(#VK_SPACE)
Delay(50)
JLSimKey(#VK_U)
Delay(50)
JLSimKey(#VK_CAPITAL)
Delay(50)
JLSimKey(#VK_N)
Delay(50)
JLSimKey(#VK_CAPITAL)
Delay(50)
JLSimKey(#VK_D)
Delay(50)
JLSimKey(#VK_CAPITAL)
Delay(50)
JLSimKey(#VK_SPACE)
Delay(50)
JLSimKey(#VK_S)
Delay(50)
JLSimKey(#VK_CAPITAL)
Delay(50)
JLSimKey(#VK_O)
Delay(50)
JLSimKey(#VK_CAPITAL)
Delay(50)
ElseIf what = 2
JLSimKey(#VK_BACK)
Delay(50)
JLSimKey(#VK_SPACE)
Delay(50)
JLSimKey(#VK_A)
Delay(50)
JLSimKey(#VK_CAPITAL)
Delay(50)
JLSimKey(#VK_L)
Delay(50)
JLSimKey(#VK_CAPITAL)
Delay(50)
JLSimKey(#VK_T)
Delay(50)
JLSimKey(#VK_CAPITAL)
Delay(50)
JLSimKey(#VK_A)
Delay(50)
JLSimKey(#VK_CAPITAL)
Delay(50)
JLSimKey(#VK_A)
Delay(50)
JLSimKey(#VK_CAPITAL)
Delay(50)
JLSimKey(#VK_A)
Delay(50)
JLSimKey(#VK_CAPITAL)
Delay(50)
ElseIf what = 3
JLSimKey(#VK_BACK)
Delay(50)
JLSimKey(#VK_SPACE)
Delay(50)
JLSimKey(#VK_H)
Delay(50)
JLSimKey(#VK_CAPITAL)
Delay(50)
JLSimKey(#VK_O)
Delay(50)
JLSimKey(#VK_CAPITAL)
Delay(50)
JLSimKey(#VK_M)
Delay(50)
JLSimKey(#VK_CAPITAL)
Delay(50)
JLSimKey(#VK_I)
Delay(50)
JLSimKey(#VK_CAPITAL)
Delay(50)
JLSimKey(#VK_E)
Delay(50)
JLSimKey(#VK_CAPITAL)
EndIf
If GetKeyState_(#VK_CAPITAL)
JLSimKey(#VK_CAPITAL)
EndIf
Delay(50)
JLSimKey($BE)
EndIf
EndIf
-------------------------------------------------------------------------------------
;-Replacement-code (not working)
If GetMenuItemState(0,4) = 1
If GetAsyncKeyState_(#VK_E)
keybd_event_(#VK_LMENU,0,0,0)
Delay(50)
JLSimKey(#VK_NUMPAD0)
Delay(50)
JLSimKey(#VK_NUMPAD1)
Delay(50)
JLSimKey(#VK_NUMPAD2)
Delay(50)
JLSimKey(#VK_NUMPAD8)
Delay(50)
keybd_event_(#VK_LMENU,0,#KEYEVENTF_KEYUP,0)
Delay(50)
; ElseIf GetAsyncKeyState_(#VK_A)
; JLSimKey(#VK_BACK)
; Delay(50)
; JLSimKey(#VK_Q)
; Delay(50)
; ElseIf GetAsyncKeyState_(#VK_S)
; JLSimKey(#VK_BACK)
; Delay(50)
; keybd_event_(#VK_SHIFT,0,0,0)
; Delay(50)
; JLSimKey(#VK_4)
; Delay(50)
; keybd_event_(#VK_SHIFT,0,#KEYEVENTF_KEYUP,0)
; Delay(50)
; ElseIf GetAsyncKeyState_(#VK_I)
; JLSimKey(#VK_BACK)
; Delay(50)
; JLSimKey(#VK_1)
; Delay(50)
EndIf
-------------------------------------------------------------------------------------
EndIf
ForEver
Code: Alles auswählen
keybd_event_(vk,0,0,0)
Delay(50)
keybd_event_(vk,0,#KEYEVENTF_KEYUP,0)
(Es geht um den abgetrennten Teil)
passiert abslout nix,wenn ich 'e' drücke, obwohl die Bedingung erfüllt ist und ich hab keine Ahnung warum...

Das Programm soll die (von mir so getaufte) 'HoMiEsPeEcH' simulieren und - wenn ein bestimmtes Menuitem aktiv- ist a durch @, e durch €, i durch 1 und s durch $ ersetzen, aber genau das will irgendwie nicht...
PS: bitte keine Kommentare zu meinem Code an sich^^.
Achja, der Teil für a, i und s kommt sobald das Problem gelöst ist.