Автор Тема: Запуск из папки случайного фотофайла  (Прочитано 479 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Онлайн Alofa [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 1104
  • Репутация: 153
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
Re: Запуск из папки случайного фотофайла
« Ответ #15, Отправлен: Август 13, 2017, 02:02:01 »
... Зачем нам процессы, если есть окна...
Когда я осознал то, о чем писал выше именно так и сделал. Ну а затем переключил ОС на Win10 и получил другое окно. Оно конечно можно сделать проверку версии ОС и подстроиться под любую, но зачем?

Ах да, на счет сторонних просмотрщиков. Сам пользую FastStone Image Viewer на весь экран. Так вот скрипт-то конечно масштабирует окно, но это не надолго - при очередной перерисовке Viewer самовосстанавливается.
В общем тут тоже геморрой, который нужно героически побеждать.

Русское сообщество AutoIt

Re: Запуск из папки случайного фотофайла
« Ответ #15 Отправлен: Август 13, 2017, 02:02:01 »

Оффлайн Grell [?]

  • Новичок
  • *
  • Сообщений: 20

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Запуск из папки случайного фотофайла
« Ответ #16, Отправлен: Август 13, 2017, 07:03:31 »
Alofa , все работает.
Огромное спасибо.


Добавлено: Август 13, 2017, 07:06:19
InnI , ваш скрипт тоже работает, но выхватывает только один файл 1.jpg - вместо любого случайного файла jpg из папки C:\1\

Онлайн Alofa [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 1104
  • Репутация: 153
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
Re: Запуск из папки случайного фотофайла
« Ответ #17, Отправлен: Август 13, 2017, 14:38:40 »
Grell, вот скрипт InnI, как вам нужно:
Код: AutoIt [Выделить]
#include <File.au3>

Local $sDir = 'C:\1' ; Папка
Local $sFileType = '*.bmp;*.jpg' ; Расширения файлов для поиска
Local $aPos[4] = [100, 20, 300, 300] ; Координаты окна плеера
Local $hGUI, $aFiles, $sRunFile, $hActive, $hWnd

$aFiles = _FileListToArrayRec($sDir, $sFileType, $FLTA_FILES, $FLTAR_NORECUR, $FLTAR_NOSORT, $FLTAR_FULLPATH)
If @error Then Exit 2
$sRunFile = $aFiles[0] > 1 ? $aFiles[Random(1, $aFiles[0], 1)] : $aFiles[1]

$hActive = WinGetHandle("")
ShellExecute($sRunFile)
Do
  $hWnd = WinGetHandle("")
Until $hWnd <> $hActive
WinSetState($hWnd, '', @SW_RESTORE)
WinMove($hWnd, "", $aPos[0], $aPos[1], $aPos[2], $aPos[3])
 

Но учтите, если во время выполнения ShellExecute() вы активируете какое-нибудь иное окно, то масштабироваться будет именно оно.

Онлайн InnI [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 3391
  • Репутация: 891
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Запуск из папки случайного фотофайла
« Ответ #18, Отправлен: Август 13, 2017, 14:59:20 »
Grell
Цитировать
скрипт тоже работает, но выхватывает только один файл 1.jpg
Я знаю. Это был просто пример.

Alofa
Цитировать
если во время выполнения ShellExecute() вы активируете какое-нибудь иное окно
Хотел бы я посмотреть на того, кто успеет это сделать с помощью мыши и клавиатуры.

Русское сообщество AutoIt

Re: Запуск из папки случайного фотофайла
« Ответ #18 Отправлен: Август 13, 2017, 14:59:20 »

Онлайн Alofa [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 1104
  • Репутация: 153
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
Re: Запуск из папки случайного фотофайла
« Ответ #19, Отправлен: Август 13, 2017, 15:06:13 »
OffTopic
... Хотел бы я посмотреть на того, кто успеет это сделать с помощью мыши и клавиатуры.
Я успел. Сам удивился. Вероятность мала, но она есть.
Кроме того после ShellExecute() притормозить может антивирус, UAC, или сама запускаемая программа, или...

Оффлайн Grell [?]

  • Новичок
  • *
  • Сообщений: 20

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Запуск из папки случайного фотофайла
« Ответ #20, Отправлен: Август 13, 2017, 15:13:06 »
Alofa, спасибо.

Русское сообщество AutoIt

Re: Запуск из папки случайного фотофайла
« Ответ #20 Отправлен: Август 13, 2017, 15:13:06 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
6 Ответов
3342 Просмотров
Последний ответ Сентябрь 15, 2011, 15:10:06
от Zaramot
13 Ответов
5387 Просмотров
Последний ответ Февраль 28, 2012, 10:26:24
от AZJIO
1 Ответов
2338 Просмотров
Последний ответ Май 01, 2012, 23:46:34
от Medic84
2 Ответов
2101 Просмотров
Последний ответ Декабрь 31, 2012, 09:24:00
от madmasles
3 Ответов
1626 Просмотров
Последний ответ Июнь 28, 2013, 00:25:40
от ArgoNaft
0 Ответов
865 Просмотров
Последний ответ Август 15, 2014, 07:30:06
от citav
4 Ответов
5504 Просмотров
Последний ответ Сентябрь 21, 2015, 08:37:26
от ulan44
1 Ответов
1197 Просмотров
Последний ответ Май 06, 2016, 19:17:41
от FazZzuR
4 Ответов
377 Просмотров
Последний ответ Июль 10, 2017, 11:21:22
от perven1
16 Ответов
724 Просмотров
Последний ответ Июль 12, 2017, 20:32:53
от joiner