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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Запуск скомпилированного скрипта

Ответить
Настройки темы
[решено] Запуск скомпилированного скрипта

Новый участник


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

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


Проблема в том, что скомпилированный скрипт запускается только через ярлык, или пункт "открыть" в контекстном меню. Если запускать сам скрипт "run script", то тоже всё ок. Суть проблемы: не могу запустить программу двойным нажатием ЛКМ. Сталкивался ли кто-нибудь?

Отправлено: 21:22, 21-11-2010

 

Аватара для Creat0R

Must AutoIt


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

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


Во-первых хотелось бы посмотреть на содержимое этого скрипта, а во-вторых, хотелось бы узнать ответ на возможно глупый вопрос: В других ситуациях двойное нажатие ЛКМ работает нормально?

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

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

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:20, 21-11-2010 | #2



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

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


Новый участник


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

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


Вот сам скрипт:

#NoTrayIcon
#include <SysTray_UDF.au3>



$Pid = ProcessExists("USBGuard.exe")

If Not $Pid Then
MsgBox(16, "Error", "This process not exists")
Exit
EndIf

$Index = _SysTrayIconIndex("USBGuard.exe")

If @error Then
MsgBox(16, "Error", "This process not have tray icon")
Exit
EndIf

_SysTrayIconClick($Index, "Left")

If @error Then
MsgBox(16, "Error", "There was an error to click on the icon")
Exit
EndIf
Exit
Func _SysTrayIconClick($iIndex, $sButton="Main")
Local $TrayIcon_Pos = _SysTrayIconPos($iIndex)
If Not IsArray($TrayIcon_Pos) Then Return SetError(1, 0, 0)

Local $Old_Mouse_Pos = MouseGetPos()
MouseClick($sButton, $TrayIcon_Pos[0], $TrayIcon_Pos[1], 1, 0)
MouseMove($Old_Mouse_Pos[0], $Old_Mouse_Pos[1], 0)
EndFunc



В других ситуациях ЛКМ нормально работает (по крайней мере в простейшем "Hello world")

Отправлено: 09:05, 22-11-2010 | #3


Аватара для Creat0R

Must AutoIt


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

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


Цитата ret52:
Вот сам скрипт »
Код нужно заключать в соответствующие теги.

И что именно не работает при двойном нажатий, сам скрипт запускается? проверить можно добавив в начало скрипта MsgBox(0, '', '').

Цитата ret52:
Если запускать сам скрипт "run script", то тоже всё ок »
Вот это путает, скрипт не работает после компиляций, или это не важно?

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

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

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


Отправлено: 14:49, 22-11-2010 | #4


Новый участник


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

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


Я наверное запутал. Sorry. Попробую ещё раз.
Не запускается именно скомпилированный скрипт, готовый exe файл. И то, не запускается только после двойного нажатия кнопкой мыши. Если сделать ярлык на программу, и запускать через него, то всё ок.
Так же, программа запускается после выбора в контекстном меню пункта "run script".

Отправлено: 21:04, 22-11-2010 | #5


Аватара для Creat0R

Must AutoIt


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

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


Цитата ret52:
программа запускается после выбора в контекстном меню пункта "run script". »
Не понимаю, откуда в меню этот пункт если скрипт скомпилирован?

Можно exe'шник выложить, попробую у себя.

P.S
Ответа на вопрос «что именно не работает при двойном нажатий, сам скрипт запускается?» я так и е получил, а это важно (см. выше как проверить).

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

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

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


Отправлено: 22:51, 22-11-2010 | #6


Новый участник


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

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


Пункт "run script" есть в меню не скомпилированного скрипта, и он работает отлично.
...
Хм... Сделал как Вы сказали: появляется пустое сообщение, затем выполняется основная часть кода. В принципе всё норм)
А почему же он не хочет работать без msgbox? Такое ощущение что припервом двойном нажатии он запустился и продолжает работать... Поэтому не реагирует на дальнейшие действия....

Отправлено: 08:56, 23-11-2010 | #7


Аватара для Creat0R

Must AutoIt


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

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


Цитата ret52:
почему же он не хочет работать без msgbox? »
Видимо оно как то связано с попыткой нажатия клавишы мышки сразу после запуска.

Обойти это можно примерно так:

Код: Выделить весь код
#NoTrayIcon

#include <Misc.au3>
#include <SysTray_UDF.au3>

While _IsPressed("01")
    Sleep(10)
WEnd

$Pid = ProcessExists("USBGuard.exe")

If Not $Pid Then
    MsgBox(16, "Error", "This process not exists")
    Exit
EndIf

$Index = _SysTrayIconIndex("USBGuard.exe")

If @error Then
    MsgBox(16, "Error", "This process not have tray icon")
    Exit
EndIf

_SysTrayIconClick($Index, "Left")

If @error Then
    MsgBox(16, "Error", "There was an error to click on the icon")
    Exit
EndIf

Func _SysTrayIconClick($iIndex, $sButton = "Main")
    Local $TrayIcon_Pos = _SysTrayIconPos($iIndex)
    If Not IsArray($TrayIcon_Pos) Then Return SetError(1, 0, 0)

    Local $Old_Mouse_Pos = MouseGetPos()
    MouseClick($sButton, $TrayIcon_Pos[0], $TrayIcon_Pos[1], 1, 0)
    MouseMove($Old_Mouse_Pos[0], $Old_Mouse_Pos[1], 0)
EndFunc

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

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

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


Отправлено: 14:31, 23-11-2010 | #8


Новый участник


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

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


Спасибо огромное, действительно помогло.

Отправлено: 21:55, 25-11-2010 | #9



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Запуск скомпилированного скрипта

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Запуск скрипта от имени определенного пользователя NewOLDi AutoIt 10 01-02-2010 12:33
Запуск vbs-скрипта в php Jonik-Mnimonik Вебмастеру 1 10-08-2009 11:43
FreeBSD - Запуск .sh скрипта из-под apache fantik Общий по FreeBSD 0 30-06-2009 10:28
Автоматический запуск скрипта по времени Non-Stop Общий по Linux 20 02-12-2006 15:17
Запуск скрипта при подключении к сети Neu-iskatell Сетевые технологии 7 31-10-2005 16:09




 
Переход