Поискал тут по форуму, но не нашел решения. Много слов и в итоге много нерешенного! ;)
Делаю такое:
| Код | unit Main;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, Menus, CoolTrayIcon, Clipbrd, ShellAPI;
type TfrmMain = class(TForm) Timer1: TTimer; Button1: TButton; procedure Button1Click(Sender: TObject); procedure Timer1Timer(Sender: TObject); procedure FormCreate(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); private public MyMouse: TMouse; end; procedure PageUp; procedure PageDown; procedure MouseLeftClick; procedure MouseDoubleClick; procedure CtrlC; procedure GetMoneyCount;
var frmMain: TfrmMain;
implementation
{$R *.dfm}
procedure TfrmMain.Button1Click(Sender: TObject); begin Timer1.Enabled := True; end;
procedure PageUp; begin // PageUp keybd_event(VK_PRIOR, 0, 0, 0); keybd_event(VK_PRIOR, 0, KEYEVENTF_KEYUP, 0); end;
procedure PageDown; begin // PageUp keybd_event(VK_NEXT, 0, 0, 0); keybd_event(VK_NEXT, 0, KEYEVENTF_KEYUP, 0); end;
procedure MouseLeftClick; begin mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0); mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0); end;
procedure MouseDoubleClick; begin mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0); mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0); mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0); mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0); end;
procedure CtrlC; begin keybd_event(VK_CONTROL, 0, 0, 0); keybd_event(VK_INSERT, 0, 0, 0); Sleep(100); keybd_event(VK_INSERT, 0, KEYEVENTF_KEYUP, 0); keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0); end;
procedure GetMoneyCount; begin PageUp; PageUp; SetCursorPos(0, 0); SetCursorPos(480, 220); MouseDoubleClick; CtrlC; end;
procedure TfrmMain.Timer1Timer(Sender: TObject); begin GetMoneyCount; ShowMessage(clipboard.astext); // ни фига не работает ... такое ощущение, что во время работы проги, пока она в памяти, в буфер вообще нифего не копируется :((( timer1.Enabled := false; end;
procedure TfrmMain.FormCreate(Sender: TObject); begin Clipboard.Open; end;
procedure TfrmMain.FormClose(Sender: TObject; var Action: TCloseAction); begin Clipboard.Close; end;
end.
|
Добавлено через 9 минут и 51 секунду Ошибку нашел! Ужас....
| Код | Clipboard.Open Clipboard.Close
|
делать не надо! Горе от ума, называется! )) |