Что нового

Free Shooter - Программа для создания скриншотов

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
IMHO хорошо вовремя остановиться...
 

Redline

AutoIT Гуру
Сообщения
506
Репутация
375
sforce5 сказал(а):
---
Насчёт скрипта увеличалки x4:

Я что-то похожее нашёл, но не могу всё слепить так чтобы было удобно всё, вот код

Раз уж в "Полезняжках" мне постить пока нельзя :-\
выложу здесь свою увеличилку - может пригодится
Код:
#include <GDIPlus.au3>
#include <ScreenCapture.au3>
#include <GUIConstants.au3>
#include <WinAPI.au3>
#include <WindowsConstants.au3>

Dim $coord[2], $oldCoord[2], $pict, $hBit, $hGraph, $side = 60, $zoom = 2

$hGUI = GUICreate("Zoo-o-o-M", $side*$zoom + 2, $side*$zoom + 2, -1, -1, $WS_POPUP, $WS_EX_TOPMOST)

GUISetState()
_GDIPlus_Startup()
While GUIGetMsg() <> -3
	$coord = MouseGetPos()
	If $coord[0] <> $oldCoord[0] Or $coord[1] <> $oldCoord[1]  Then
		$oldCoord = $coord
		_GDIPlus_GraphicsDispose($hGraph)
		_GDIPlus_ImageDispose($hBit)
		_WinAPI_DeleteObject($pict)
		$pict = _ScreenCapture_Capture("", $coord[0] - $side/2, $coord[1] - $side/2, $coord[0] + $side/2, $coord[1] + $side/2)
		$hBit = _GDIPlus_BitmapCreateFromHBITMAP($pict)
		$hGraph = _GDIPlus_GraphicsCreateFromHWND($hGUI)
		_GDIPlus_GraphicsDrawImageRectRect($hGraph, $hBit, 0, 0, $side, $side, 1, 1, $side*$zoom, $side*$zoom)
		If $coord[0] > @DesktopWidth - $side*($zoom + 0.6) Then $coord[0] = $coord[0] - $side*$zoom - $side - 2
		If $coord[1] > @DesktopHeight - $side*($zoom + 0.6) Then $coord[1] = $coord[1] - $side*$zoom - $side - 2
		WinMove("Zoo-o-o-M", "", $coord[0] + $side/2 , $coord[1] + $side/2)
	EndIf
	Sleep(50)
WEnd
_GDIPlus_Shutdown()



Добавлено:
Сообщение автоматически объединено:

Замечен баг при открытии меню "Файл" --> "Открыть папку скриншотов" выдает ошибку - "программа уже запущена"
PS: а окно настроек у всех долго открывается?
 

Redline

AutoIT Гуру
Сообщения
506
Репутация
375
sforce5 сказал(а):
Что за баг, при каких обстоятельствах появляется?
при любых обстоятельствах если нажать "файл" --> "открыть папку скриншотов" - вылазит окно ошибки что программа уже запущена - вот скриншот :D
 

Redline

AutoIT Гуру
Сообщения
506
Репутация
375
sforce5 сказал(а):
Какая у тебя версия FS? Может у тебя неправильный путь задан в Input папки вывода?

Free Shooter 1.9.2
путь в Input - путь к самой программе: D:\Programs\Freeshooter
А вот если путь заменить на любой другой (например D:\Programs) или вручную переписать так --> D:\Programs\Freeshooter\, то папка успешно открывается :wacko:
 

Medic84

Омега
Команда форума
Администратор
Сообщения
1,590
Репутация
341
Да, есть такая проблема в AutoIT.... Советую разработчику что нибудь придумать :smile:
 

Medic84

Омега
Команда форума
Администратор
Сообщения
1,590
Репутация
341
Ну раз у некоторых возникает, значит проблема есть. У тебя какая операционная система?
 

SyDr

Сидра
Сообщения
651
Репутация
158
Хотите разгадку? :whistle:

Введите в путь C:\windows\system32\cmd (А лучше logoff :laugh:smile: и откройте папку скриншотов
Код:
ShellExecute(GuiCtrlRead($path_to_save))


Redline, какие экзешники в D:\Programs\ лежат? Неужто там ещё и копия?
 

Redline

AutoIT Гуру
Сообщения
506
Репутация
375
SyDr сказал(а):
Хотите разгадку? :whistle:

Введите в путь C:\windows\system32\cmd (А лучше logoff :laugh:smile: и откройте папку скриншотов
Код:
ShellExecute(GuiCtrlRead($path_to_save))


Redline, какие экзешники в D:\Programs\ лежат? Неужто там ещё и копия?

:shok: ты настоящий оракул - там и вправду лежат экзешники и в том числе старая версия FreeShootera :blink:
удалил этот файлик - помогло
 

SyDr

Сидра
Сообщения
651
Репутация
158
Всё равно не до конца исправил.
Если по указанному пути существует и папка, и исполняемый файл - путь пройдёт проверку, на существование и на то, папка ли это, но вместо открытия папки будет запущено приложение. К тому же, если папка не существует, почему бы её не создать?

Код:
Case $msg = $screen_folder_open_item
				Local $folder_path = GuiCtrlRead($path_to_save)
				If StringRight($folder_path, 1) <> '\' Then $folder_path &= '\'
				If FileExists($folder_path) Then
					ShellExecute($folder_path)
				Else
					DirCreate($folder_path)
					ShellExecute($folder_path)
				EndIf
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,673
Репутация
2,486
sforce5 [?]
Я так понял что из исходника что я запостил была вытянута только часть выделения и зума, хотя я там поправил и другие недочёты (например лишние вызовы WinAPI, или вызов системных диалогов, которые блокируют функций в GUI). Жаль конечно, что нет доверия :whistle:

P.S
В 3.3.2.0 скрипт не работает.
 
Автор
sforce5

sforce5

Олл фо ЛулзЪ
Сообщения
160
Репутация
41
CreatoR сказал(а):
Я так понял что из исходника что я запостил была вытянута только часть выделения и зума, хотя я там поправил и другие недочёты (например лишние вызовы WinAPI, или вызов системных диалогов, которые блокируют функций в GUI). Жаль конечно, что нет доверия :whistle:

Да, вытянул только зум, но только потому что ты все функции переставил, я путаюсь, не могу так, если бы все функции были по порядку (как и были) то оставил бы твою модификацию

С чегойто доверия нет? Есть!
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,673
Репутация
2,486
sforce5 [?]
только потому что ты все функции переставил, я путаюсь, не могу так, если бы все функции были по порядку
Это не я, это утилита Tidy, она у меня сортирует функций по алфавиту :smile:
 

joiner

Модератор
Локальный модератор
Сообщения
3,557
Репутация
628
я запускал эту програмку на ХР и на семерке. для создания скринов с видеоизображения. на ХР- черный скрин (нет изображения), а вот на семерке все получается.. почему? чего в ХР не хватает?
 

Medic84

Омега
Команда форума
Администратор
Сообщения
1,590
Репутация
341
Хорошо было бы в увеличивалке сделать большой крест, делящий окно на 4 части. Так просто понятнее где середина :smile:
 

joiner

Модератор
Локальный модератор
Сообщения
3,557
Репутация
628
скачал исходник из 34 поста..при использовании горячих клавиш появляется вот такая ошибка
---------------------------
AutoIt Error
Line 4312 (File "C:\Users\Alex\Downloads\Архивы\freeshooter.exe"):
Error: Unknown function name.
ОК
 
Автор
sforce5

sforce5

Олл фо ЛулзЪ
Сообщения
160
Репутация
41
Александр сказал(а):
скачал исходник из 34 поста..при использовании горячих клавиш появляется вот такая ошибка
---------------------------
AutoIt Error
Line 4312 (File "C:\Users\Alex\Downloads\Архивы\freeshooter.exe"):
Error: Unknown function name.
ОК

Какая у тебя версия AutoIt?

Попробуй запустить из исходника (freeshooter.au3), постарайся вызвать ошибку и сообщи мне точную строку ошибки
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
Вот тоже решил протестировать. Скачал исходники.

Первый запуск показал следующее:

- консоль ругается на 165 строку в UDF ScreenCapture.au3, говорит что нет такой функции:

Код:
\freeshooter_1.9.4_src\include\ScreenCapture.au3 (165) : ==> Unknown function name.:
$sExt = StringUpper(_GDIPlus_ExtractFileExt($sFileName))
$sExt = StringUpper(^ ERROR


Странно, но когда сравнил со своей UDF, оказалось, что у меня по этому адресу живёт вот такая строчка:

Код:
$sExt = StringUpper([__GDIPlus_ExtractFileExt($sFileName))


Исправил в вашей UDF, и всё заработало.

HotKey у меня отказались работать. Странно :(

Autoit 3.3.2.0
 
Автор
sforce5

sforce5

Олл фо ЛулзЪ
Сообщения
160
Репутация
41
Free Shooter 1.9.5

Скачать
Исходники

Free Shooter 1.9.5 (20.01.10)
--------------------------
Добавлено: Поддержка снятия скриншотов с окон Aero
Добавлено: Управление эффектом Aero (из меню Инструменты)
Добавлено: Создание папки скриншотов если её не существует
Исправлено: Ошибка при создании скриншота дочернего окна
Исправлено: Ошибка открытия папки скриншотов в Windows Vista/Seven
Исправлено: Отображение кнопки ОК в диалоге настроек в английской версии Windows
Исправлено: Ошибка переключения на вкладку горячих клавиш
 
Верх