Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.

Закрытая тема
Настройки темы
[Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.

(*.*)


Сообщения: 36561
Благодарности: 6694


Конфигурация

Профиль | Сайт | Отправить PM | Цитировать


Изменения
Автор: Vadikan
Дата: 21-01-2009
Описание: архив
Внимание!


В связи с созданием отдельного форума по AutoIt, эта тема переводится в архивное состояние. Если у вас есть вопрос, создайте новую тему или поднимите существующую, если в ней обсуждается аналогичная проблема.

Пожалуйста, не создавайте тем с названием "Помогите!" или "Нужна помощь по AutoIt". Это и так понятно Заголовок темы должен быть осмысленным.



Сайт программы
Русская справка
Коллекция AutoIt скриптов от Sanja Alone
Коллекция AutoIt скриптов от MSFN (могут быть устаревшие).


Справочник по командам rundll32 (команды запуска диалоговых окон и не только...)

AutoIt скрипты - введение и FAQ (статья содержит вводную информацию по AutoIt, а также ответы на ЧаВо).

Архивы старых тем по AutoIt или они же в 7z архиве (версии для печати) - 846 кб (настоятельно рекомендуется к прочтению/поиску)
(он же прикреплен в шапке)


Данная тема предназначена для общих вопросов по AutoIt. Вопросы по установке приложений при помощи AutoIt следует задавать в соответствии с правилами форума "Автоматическая установка приложений". Таким образом, если вы хотите узнать как установить Winamp 5.x при помощи AutoIt, то создайте тему [autoit] Winamp 5.х (если таковой еще нет на форуме). Проверить наличие тем можно при помощи поиска или фильтров.
Цитата Vadikan:
В теме уже свыше 500 сообщений и поиск нужной информации в ней усложняется. Есть предложение собрать все решения (скрипты) и разместить их на Wiki по принципу "один скрипт - одна статья wiki", добавляя статьи в категорию Autoit. Речь, в принципе, идет об общих решениях, а не о скриптах для установки конкретной программы. Название статьи, очевидно, должно отражать назначение скрипта. Затем можно в шапке просто разместить ссылки на статьи Wiki.

-------
Канал Windows 11, etc | Чат @winsiders

Это сообщение посчитали полезным следующие участники:

Отправлено: 00:02, 05-02-2006

 

Аватара для Maza Faka

Ветеран


Сообщения: 604
Благодарности: 133

Профиль | Отправить PM | Цитировать


Busel
Так?
Код: Выделить весь код
FileCreateShortcut(@ScriptDir & "\program.exe", @ScriptDir & "\MyProgram.lnk", @ScriptDir, "Setup.exe -uninstall")
Ты бы код запостил, что бы нам не гадать, какой параметр куда лепить

Babullika,
Цитата Babullika:
получается что все файлы копируются с одинаковыми префиксами »
И правильно получается, ты ведь функцию Random() один раз вызываешь
Попробуй так:
Код: Выделить весь код
$source = "C:\Temp2"
$dest = "C:\Temp3"

$hSearch = FileFindFirstFile($source & "\*.txt")
If $hSearch = -1 Then Exit

While 1
    $file = FileFindNextFile($hSearch)
    If @error Then ExitLoop

    Do
        $UnicFile = Random(-10, 10, 1) & ".txt"
    Until FileExists($dest & "\" & $UnicFile) = 0

    FileCopy($source & "\" & $file, $dest & "\" & $UnicFile, 9)
WEnd

FileClose($hSearch)
Если количество файлов будет превышать количество вариантов чисел возвращаемых Random(), то цикл Do... Until зациклится

Последний раз редактировалось Maza Faka, 03-11-2008 в 15:21. Причина: Предупреждение

Это сообщение посчитали полезным следующие участники:

Отправлено: 15:07, 03-11-2008 | #1061



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Creat0R

Цитата:
видимо не ту версию скачал (нужно ту что для 3.2.10.0) - Ведь если вызывать функции постоянно это уже и будет динамический »
вроде ту, хотя их там многовато... у тебя вроде одна CallBack-функция и регистрируется/удаляется она единожды, вот если бы функция обработки каждого нового контрола регистрировалась как отдельная CallBack-функция, пожалуй тогда бы это было динамическое создание/удаление хэндлов

Цитата:
проблема есть, и заключается она в том, что Аутоит "вылетает" когда от него это не ожидается »
ну это все-таки баг и не более... кроме того, как я понял - если обеспечить парность создания/закрытия хэндлов, то ошибки не будет?.. создание парных UDF создания/освобождения косвенно решает эту задачу

Цитата:
А как быть с LAST_HOVERED_ELEMENT? »
извиняюсь, глубоко не вдавался... действительно, WM_TIMER не способен передавать пользовательские данные (в отличие от других WM-сообщений), поэтому хистори придется хранить в глобальных данных, хотя это принципиально ничего не меняет кроме количества параметров в UDF

Цитата:
этого не будет достаточно если нужно чтобы обработка OnHover была и при не активном GUI
может быть... мне все же привязка к GUI кажется искусственной, хотя обобщить при желании не проблема

Отправлено: 17:30, 03-11-2008 | #1062


Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


amel27,
Цитата amel27:
у тебя вроде одна CallBack-функция и регистрируется/удаляется она единожды »
В том то и дело что нет, она регистрируется/удаляется каждый раз как нужно задать/убрать «OnHover» для элемента (если это первый или последний элемент в списке/в массиве). Я это продемонстрировал в примере ранее.

Цитата amel27:
если обеспечить парность создания/закрытия хэндлов, то ошибки не будет? »
Тут видимо проблема в том, что если регистрировать и освобождать CallBack в цикле (быстро), то процесс высвобождения не успевает завершиться (видимо он происходит на "уровне системы"), а в то время происходит попытка высвобождения хендла, который уже считается высвобождённым . Вот такая вот сомнительная теория .

Цитата amel27:
привязка к GUI кажется искусственной, хотя обобщить при желании не проблема »
Согласен. Ну, если народу сильно нужно будет, попробую усовершенствовать, добавив поддержку внешних элементов, а пока сей функционал никому (и мне в том числе) вроде не нужен.

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Отправлено: 23:33, 03-11-2008 | #1063


Аватара для morgan1991

Старожил


Сообщения: 398
Благодарности: 13

Профиль | Сайт | Отправить PM | Цитировать


Скажите пожалуйста можно ли вот это C++ реализовать в Autoit3:
Код: Выделить весь код
#include <windows.h>
#include <stdio.h>
#include <iostream>

using namespace std;
//hier werden alle Bytes definiert die wir brauchen 
//(sie werden spдter an die entsprechenden Speicherstellen geschrieben).

BYTE nametags1[6] = { 0x90, 0x90, 0x90, 0x90, 0x90, 0x90};
BYTE nametags2[2] = { 0x90, 0x90};

BYTE laser1[2] = { 0x75, 0x18};
BYTE laser2[2] = { 0x75, 0x0F};

BYTE UAV[4]= { 0xB0, 0x01, 0x90, 0xC3};

BYTE recoil[6] = { 0x0F, 0x85, 0xAA, 0x02, 0x00, 0x00}; 

int main()
{            
   
cout << "Call of Duty 4 MemoryHack\ncoded by root.\n";   
bool beenden=1;
while(beenden=1) //Diese Schleife lдuft so lange bis das Programm sich beendet, um Spaghetticode (goto x) zu verhidern.
{
                 
    cout << "Was willst du tun?\n0=‚л室 1=Џ®¤бўҐвЄ* *ЁЄ®ў 2=Laser 3=Radar 4=Verbugtes NoRecoil\n";
    int eingabe=0;
    cin>>eingabe;     
    if(eingabe==0)
    {
                  return 0;
    }
    cout << "Searching for Cod4... \n";
    HWND window = NULL;
    while(window == NULL)
    {
                  Sleep(100);
                  window = FindWindow(NULL, "Call of Duty 4"); //Finde das Call of Duty 4 Fenster (Danke an KN4CK3R fьr diesen Teil)
    }
    DWORD prozess;
    GetWindowThreadProcessId(window, &prozess);
    HANDLE handle;
    handle = OpenProcess(PROCESS_ALL_ACCESS, FALSE, prozess);
    DWORD puffer = NULL;
    cout << "Writing to Memory... \n"; //Jetzt ьberprьfen wir, was der Benutzer denn eigentlich will
         switch(eingabe)
    {
    case 1:
        WriteProcessMemory(handle,(void*)(0x42E1AC),&nametags1,6,&puffer);
        WriteProcessMemory(handle,(void*)(0x42E1CE),&nametags2,2,&puffer);
        break;
    case 2:
        WriteProcessMemory(handle,(void*)(0x456E5B),&laser1,2,&puffer);
        WriteProcessMemory(handle,(void*)(0x456E52),&laser2,2,&puffer);
        break;
    case 3:
        WriteProcessMemory(handle,(void*)(0x56B662),&UAV,4,&puffer);
        break;
    case 4:
        WriteProcessMemory(handle,(void*)(0x457C79),&recoil,6,&puffer);
        break;
    }     
    CloseHandle(handle);   //Und brav wieder schlieЯen
    
    
} 
return 0;   
}

-------
Хочу научиться писать драйвера на с++


Отправлено: 15:04, 04-11-2008 | #1064


Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


Цитата morgan1991:
можно ли вот это C++ реализовать в Autoit3 »
Думаю можно, см. в сторону этих функции:

Код: Выделить весь код
#include <WinAPI.au3>

_WinAPI_WriteProcessMemory()
_WinAPI_GetWindowThreadProcessId()
_WinAPI_OpenProcess()
_WinAPI_CloseHandle()

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community

Это сообщение посчитали полезным следующие участники:

Отправлено: 15:23, 04-11-2008 | #1065


Аватара для morgan1991

Старожил


Сообщения: 398
Благодарности: 13

Профиль | Сайт | Отправить PM | Цитировать


спс, только у меня autoit-v3.2.8.1, а внем такое есть?

-------
Хочу научиться писать драйвера на с++


Отправлено: 15:29, 04-11-2008 | #1066


Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


morgan1991,
Цитата morgan1991:
у меня autoit-v3.2.8.1, а внем такое есть? »
Нет, но раньше использовалась библиотека A3LLibrary для подобных целей, там это вроде есть. Остатки библиотеки можно поискать по оф. форуму, если не найдётся, то постараюсь найти у себя.

Но если есть возможность, лучше перейти на последнюю версию аутоита.

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Отправлено: 23:16, 04-11-2008 | #1067


Аватара для morgan1991

Старожил


Сообщения: 398
Благодарности: 13

Профиль | Сайт | Отправить PM | Цитировать


Не нету возможности, а на счёт библиотеки можно поподробнее?

-------
Хочу научиться писать драйвера на с++


Отправлено: 23:23, 04-11-2008 | #1068


Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


Цитата morgan1991:
можно поподробнее? »
WinAPI.zip (108 Kb) - Поместить содержимое в Папку\установки\AutoIt3\Include.

Правда при проверке синтаксиса ругается на параметры функции, это видимо только лишь ошибка синтакс чекера, сами функии вроде работают.

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community

Это сообщение посчитали полезным следующие участники:

Отправлено: 01:33, 05-11-2008 | #1069


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Creat0R
Цитата:
Я это продемонстрировал в примере ранее.
в упор не вижу в либе _GUICtrlUnSetOnHover ...а чем не устраивает, к примеру, такой вариант:
Код: Выделить весь код
#include <GuiConstants.au3>
#include <GUICtrlSetOnHover_UDF_For 3.2.10.0.au3>

$GUI = GUICreate("Test Script", 300, 200)

$Button = GUICtrlCreateButton("Button", 20, 40, 60, 20)

For $i = 1 To 10
    If Mod($i, 2) = 0 Then
        _GUICtrlOnHoverSet($Button, "Hover_Func", "Leave_Hover_Func")
    Else
        _GUICtrlOnHoverUnSet($Button)
    EndIf
Next

GUISetState(@SW_SHOW, $GUI)

_GUICtrlOnHoverStart()

While 1
    Switch GUIGetMsg()
        Case $GUI_EVENT_CLOSE
            ExitLoop
    EndSwitch
WEnd

_GUICtrlOnHoverStop()
morgan1991
Цитата:
у меня autoit-v3.2.8.1
у тебя консольный исходник и данные принимаются из StdIn, компиляция скрипта "в консоль" поддерживается только v3.2.12.0. Поэтому, либо обновляй версию, либо меняй источник данных - например, из файла

Отправлено: 04:12, 05-11-2008 | #1070



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[архив - Часть 2] AutoIt скрипты Vadikan AutoIt 985 21-01-2008 09:58
Вопрос - [Архив] Антивирусные программы - ОБЩИЕ ВОПРОСЫ FOX RED Защита компьютерных систем 67 21-11-2007 15:05
[Архив - Часть 1.3] AutoIt скрипты biork AutoIt 503 09-06-2007 11:27
[Архив - Часть 1.2] AutoIt скрипты Dirk Diggler AutoIt 505 02-12-2006 11:00
[Архив - Часть 1.1] AutoIt скрипты EgOrus AutoIt 335 04-02-2006 16:58




 
Переход