Недавние сообщения

Страницы: [1] 2 3 ... 10
1
Вообще столкнулся с проблемой. Нужно в окне клиента нарисовать линии красного цвета. Линии рисуются, но живут они не более 1 секунды. Задержку sleep, после рисования  _WinAPI_DrawLine ставить бесполезно, линии все равно пропадают.Вопрос, как сделать так, чтобы линии после рисования _WinAPI_DrawLine жили подольше. 




Код: AutoIt [Выделить]
func grafic($x,$y,$object)
   local $s=0,$d=0
local $bluhWnd = WinWaitActive("Blue", "", 5)
local $hDC = _WinAPI_GetWindowDC($bluhWnd) ; DC всего экрана (рабочего стола)
Local $pos = WinGetPos($bluhWnd) ; Возвращает размер окна (Не размер клиентской области, которая указывается в GUICreate)
Local  $width = $pos[2]
Local  $height = $pos[3]
local $rgn = _WinAPI_CreateRectRgn(0, 0, $width, $height)
_WinAPI_SetWindowRgn($hDC, $rgn)
Local  $object2 = _GDIPlus_BitmapCreateFromHBITMAP ($object)
Local $objectX = _GDIPlus_ImageGetWidth ($object2)
local $objectY = _GDIPlus_ImageGetHeight ($object2)
local $hPen = _WinAPI_CreatePen($PS_SOLID, 1, 0xFFFF0000)
local $obj_orig = _WinAPI_SelectObject($hDC, $hPen)
;MsgBox(0, "X и Y равны:", $objectX)
If $objectX = 1 Then
$d = Ceiling($objectY/2)
$s=1
EndIf
If $objectY = 1 Then
$s = Ceiling($objectX/2)
$d=1
EndIf
Select
case $s=1
 _WinAPI_DrawLine($hDC, $x, $y+$d, $x, $y-$d)
 case $d=1
    _WinAPI_DrawLine($hDC, $x+$s, $y, $x-$s, $y )
 EndSelect
 Sleep(2000)
 ;_WinAPI_RedrawWindow(_WinAPI_GetDesktopWindow(), 0, 0, $RDW_INVALIDATE + $RDW_ALLCHILDREN)
 _WinAPI_SelectObject($hDC, $obj_orig)
    _WinAPI_DeleteObject($hPen)
    _WinAPI_ReleaseDC(0, $hDC)

  EndFunc

2
Общие вопросы по AutoIt / _WinAPI_ReadProcessMemory не работает на Windows 10
« Последний ответ от prodampw Отправлен Сегодня в 10:48:57 »
Здравствуйте. Может кто сталкивался с такой проблемой: Код прекрасно работает на Win 7 x64, но почему то возвращает 0 на Win 10

Код: AutoIt [Выделить]
$hWnd = WinGetHandle("Program 1")
$iPid = WinGetProcess($hWnd)
$hProcess = _WinAPI_OpenProcess($PROCESS_ALL_ACCESS, 0, $iPid,1)
$iAddress=0x1462088D0
$BufferPointer=DllStructCreate("Int")
Local $read
_WinAPI_ReadProcessMemory($hProcess,$iAddress,DllStructGetPtr($BufferPointer),4,$read)
DllStructGetData($BufferPointer,1)
MsgBox(0,"",DllStructGetData($BufferPointer,1))

Что можно поменять чтобы заработало?
3
...подскажите, где искать ?
1) Правила
2) Раздел справки Описание языка
И тогда вам начнут помогать.

Здравствуйте - поправил, мануал изучаю по возможности... у ВСЕХ - времени не хватает. Крутимся - как угарелые .....
Ценю Ваше время - спасибо за всё.


Добавлено: Сегодня в 07:33:14
...подскажите, где искать ?
1) Правила
2) Раздел справки Описание языка
И тогда вам начнут помогать.


Вроде решил задачу - работает по двум часовым параметрам :

Если, что не так в скрипте - поправьте меня пожалуйста..

(нажмите для показа/скрытия)
4
Общение / Куда пропал Yashied?
« Последний ответ от sterro_sasha Отправлен Сегодня в 03:16:18 »
Собственно вопрос в заголовке.

Как вообще форум? Creator хотя бы.. не ушел?
5
Стол заказов / Re: альтернативный способ переключения окон в windows
« Последний ответ от Alexey Отправлен Сегодня в 02:55:34 »
OffTopicв рамках проводимой оптимизации и избавления от многих программ пытаюсь также уменьшить количество процессов, постоянно висящих в памяти

из скриптоподобного перенёс всё что смог в 1 процесс
так получается autohotkey-скрипт из нескольких сотен строк, уже заменивший некоторые программы, среди которых:

- keyman (4.28) (потрясающий портабельный клавиатурный помощник, много лет казавшийся мне абсолютно незаменимым)
- comfort keys (неплохой клавиатурный помощник, имеющий несколько плюсов по сравнению с программой keyman)
- wiz-mouse (прокрутка неактивных окон колесом мыши)
- screenshot captor
- pitaschio (заменена частично, позаимствован только такой функционал как "свернуть все окна при двойном клике на панели задач или на рабочем столе")
- clcl (полагаю, это лучший менеджер буфера обмена) (пока заменена частично, продолжаю искать нормальные варианты для полной замены)
- volumouse (на мой взгляд, лидер среди программ для удобнейшего регулирования звука) (правда, с ней пока попытки замены провалились)

по сути, единственное, что осталось - это полезнейший autoit-скрипт из данной темы

в настоящий момент не получается зарегистрироваться на autohotkey-форуме, поэтому попытаюсь приблизиться к решению вопроса здесь, на этом форуме

1) совсем не склонен так думать, но не может ли вдруг по-настоящему помочь вот это?: github.com/nimdahk/AU3toAHK
впрочем, мне пока не удались даже попытки попробовать в деле данный конвертер

2) реально ли подкорректировать весь функционал (вроде как однотипный) autoit-скрипта из данной темы, чтобы получился готовый и так же хорошо работающий autohotkey-скрипт?
3) или проще с самого начала создать autohotkeу-скрипт?
4) возможно ли вообще autohotkeу-средствами этот функционал воссоздать?
6
Общие вопросы по AutoIt / [Процессы] Поиск адреса базы по имени
« Последний ответ от roflror Отправлен Вчера в 20:56:26 »
Engine.dll хранит базу с именем _pNetwork
Можно ли найти адрес базы по имени?

Код: AutoIt [Выделить]
#include <nomadmemory.au3>
#include <MemoryModuleGetBaseAddress.au3>

$ProcessID = ProcessExists("PPP.exe")
$EngineDllAddress = _MemoryModuleGetBaseAddress($ProcessID, 'Engine.dll')
 

7
...подскажите, где искать ?
1) Правила
2) Раздел справки Описание языка
И тогда вам начнут помогать.
8
Цитировать
плохой макрос ??? - да Вы что...
Вы думаете Вас обманывают ? Не существует макроса "@HOUR2" есть только "@HOUR" , который возвращает системное значение часов и так со всеми макросами в этом условии !Почитай , очень пригодится https://autoit-script.ru/autoit3_docs/macros.htm

А как тогда ? встроить второе выполнение по времени ( я думал это тоже переменная, а это макрос - учусь, спасибо ) ?

Вот скрипт с одной задачей по времени :

Вторую задачу по времени, можно встроить в скрипт (добавить) ? подскажите, где искать ?

(нажмите для показа/скрытия)
9
Цитировать
плохой макрос ??? - да Вы что...
Вы думаете Вас обманывают ? Не существует макроса "@HOUR2" есть только "@HOUR" , который возвращает системное значение часов и так со всеми макросами в этом условии !Почитай , очень пригодится https://autoit-script.ru/autoit3_docs/macros.htm
10
макрос неправильный

плохой макрос ??? - да Вы что ??? - он только с ошибкой, - классный макрос !!!
уберу второе время - работает как часики :)  :ok:

Задача встроить второе выполнение по времени - пытался сам - да не шарю... ( начинающий )

Страницы: [1] 2 3 ... 10