powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / cannot open ​clipboard отказано в доступе
18 сообщений из 18, страница 1 из 1
cannot open ​clipboard отказано в доступе
    #38398510
Ekklesiast
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выпадает ошибка cannot open ​clipboard отказано в доступе на buff := Clipboard.AsText;
EmptyClipboard не фурфчит
подскажите как быть ?


Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls,

  Clipbrd;

type
  TForm1 = class(TForm)
    Timer1: TTimer;
    procedure Timer1Timer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

// *****************************************************************************
procedure MouseMoveAndClick(x, y, ps: integer);
begin
  SetCursorPos(x, y);

  sleep(ps);

  Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTDOWN, x, y, 0, 0);
  Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTUP, x, y, 0, 0);
end;

// *****************************************************************************
procedure CopyToClipboard(aText: string);
begin
  Clipboard.Open;
  try
    Clipboard.AsText := aText;
  finally
    Clipboard.Close;
  end;
end;

// *****************************************************************************
procedure myFunc;
const
  E_X = 400;
  E_Y = 450;
var
  buff: string;
  x, y: integer;
  r: TRect;
begin

  buff := '12046';

  // Copy To Clipboard----------------------------------------------------------
  repeat
    CopyToClipboard(buff);

    sleep(100);

    if Trim(buff) = Trim(Clipboard.AsText) then
      break;
  until false;

  // ---------------------------------------------------------------------------

{
  Clipboard.Open;
  try
    EmptyClipboard;
  finally
    Clipboard.Close;
  end;

}

  // Click в область
  x := E_X + r.Left;
  y := E_Y + r.Top;
  MouseMoveAndClick(x, y, 200);

  // Ctrl+A
  sleep(200);
  keybd_event(VK_CONTROL, 0, 0, 0); // Down
  keybd_event($41, 0, 0, 0); // Down
  keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0); // Up
  keybd_event($41, 0, KEYEVENTF_KEYUP, 0); // Up

  // Ctrl+C (copy to Clipboard)
  sleep(200);
  keybd_event(VK_CONTROL, 0, 0, 0); // Down
  keybd_event($43, 0, 0, 0); // Down
  keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0); // Up
  keybd_event($43, 0, KEYEVENTF_KEYUP, 0); // Up

  // Get from Clipboard
  sleep(200);
  if Clipboard.HasFormat(CF_TEXT) then
    buff := Clipboard.AsText;
end;

// *****************************************************************************
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  if GetAsyncKeyState(VK_XBUTTON2) <> 0 then // VK_RBUTTON
  begin
    Timer1.Enabled := false;

    myFunc;

    Timer1.Enabled := true;
  end;
end;

// *****************************************************************************
end.

...
Рейтинг: 0 / 0
cannot open &#8203;clipboard отказано в доступе
    #38398547
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ekklesiast
Код: pascal
1.
2.
3.
4.
procedure CopyToClipboard(aText: string);
begin
    Clipboard.AsText := aText;
end;


И все.
...
Рейтинг: 0 / 0
cannot open &#8203;clipboard отказано в доступе
    #38398642
Ekklesiast
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadmanEkklesiast
Код: pascal
1.
2.
3.
4.
procedure CopyToClipboard(aText: string);
begin
    Clipboard.AsText := aText;
end;


И все.

так пробывал, ничё не изменилось
...
Рейтинг: 0 / 0
cannot open &#8203;clipboard отказано в доступе
    #38398663
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ekklesiastтак пробывал, ничё не изменилось
Значит то ПО (обычно это игрушки), для которого эта поделка пишется, блокирует буфер.
...
Рейтинг: 0 / 0
cannot open &#8203;clipboard отказано в доступе
    #38398683
Ekklesiast
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у меня в коде было

Код: pascal
1.
Clipboard.Clear;



как убрал, ошибка перестала выпадать
...
Рейтинг: 0 / 0
cannot open &#8203;clipboard отказано в доступе
    #38398947
Ekklesiast
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Рано радовался !
Не догоняю, почему если использую Ctrl+C , то ошибка на buff := Clipboard.AsText;

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
  // Ctrl+C (copy to Clipboard)
  sleep(200);
  keybd_event(VK_CONTROL, 0, 0, 0); // Down
  keybd_event($43, 0, 0, 0); // Down
  keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0); // Up
  keybd_event($43, 0, KEYEVENTF_KEYUP, 0); // Up

  // Get from Clipboard
  sleep(200);
  if Clipboard.HasFormat(CF_TEXT) then
    buff := Clipboard.AsText;
...
Рейтинг: 0 / 0
cannot open &#8203;clipboard отказано в доступе
    #38398996
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EkklesiastНе догоняю, почему если использую Ctrl+C , то ошибка
Телепаты придут, расскажут, что там за ошибка, посмотрим тогда.
...
Рейтинг: 0 / 0
cannot open &#8203;clipboard отказано в доступе
    #38399010
Ekklesiast
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadmanEkklesiastНе догоняю, почему если использую Ctrl+C , то ошибка
Телепаты придут, расскажут, что там за ошибка, посмотрим тогда.

авторcannot open ​clipboard отказано в доступе

первое сообщение в игнор ставите ?
D
...
Рейтинг: 0 / 0
cannot open &#8203;clipboard отказано в доступе
    #38399031
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ekklesiastпервое сообщение в игнор ставите ?
Не забывай, что тут в основном программисты и они догадываются, что за сменой кода приходят и другие ошибки.

Ekklesiast
Код: pascal
1.
sleep(200);


Поиграй с этим в сторону увеличения.
...
Рейтинг: 0 / 0
cannot open &#8203;clipboard отказано в доступе
    #38399065
Ekklesiast
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
умные люди подсказали решение:

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
  while true do
  begin
    bo := true;
    try
      buff := Clipboard.AsText;
    except
      bo := false;
    end;
    if bo then
      break;
    sleep(100);
    Application.ProcessMessages;
  end;
...
Рейтинг: 0 / 0
cannot open &#8203;clipboard отказано в доступе
    #38399073
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ekklesiast умные люди подсказали решение:
Ekklesiast
Код: pascal
1.
2.
sleep(100);
    Application.ProcessMessages;


!
...
Рейтинг: 0 / 0
cannot open &#8203;clipboard отказано в доступе
    #38399268
Ekklesiast
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadmanEkklesiast умные люди подсказали решение:
Ekklesiast
Код: pascal
1.
2.
sleep(100);
    Application.ProcessMessages;


!

что тебе не нравится ?
...
Рейтинг: 0 / 0
cannot open &#8203;clipboard отказано в доступе
    #38399274
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ekklesiastwadmanпропущено...

пропущено...

!

что тебе не нравится ?
Бесконечный неуправляемый цикл с ProcessMessages.
...
Рейтинг: 0 / 0
cannot open &#8203;clipboard отказано в доступе
    #38399324
Ekklesiast
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadmanБесконечный неуправляемый цикл с ProcessMessages.

возможно вы проглядели
Код: pascal
1.
break;

?

))))
...
Рейтинг: 0 / 0
cannot open &#8203;clipboard отказано в доступе
    #38399326
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ekklesiast, заметил.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
cannot open &#8203;clipboard отказано в доступе
    #39732533
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ekklesiastумные люди подсказали решение:

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
  while true do
  begin
    bo := true;
    try
      buff := Clipboard.AsText;
    except
      bo := false;
    end;
    if bo then
      break;
    sleep(100);
    Application.ProcessMessages;
  end;



почему этого умного решения нет с правке по Delphi до сих пор?
...
Рейтинг: 0 / 0
cannot open &#8203;clipboard отказано в доступе
    #39732634
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
13.11.2018 16:06, X11 пишет:
> почему этого умного решения нет с правке по Delphi до сих пор?

потому, что это черезжопное решение.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
cannot open &#8203;clipboard отказано в доступе
    #39732831
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Т.е. люди оказались неумными?
Какое тогда решение не черезжопное?
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / cannot open &#8203;clipboard отказано в доступе
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]