Войти

Показать полную графическую версию : [решено] открыть изображение через cmd


Страниц : [1] 2

icq99999999
30-07-2013, 12:55
можно ли открыть изображение/анимацию и вывести на середину экрана ?

Iska
30-07-2013, 13:56
Нет. Только с помощью каких-либо приложений или утилит, встроенных, або сторонних. Можете сделать сие на PowerShell.

Цель глобальная какова?

icq99999999
30-07-2013, 14:07
Цель глобальная какова? »
просто нужно на несколько секунд показать картинку

Iska
30-07-2013, 14:57
icq99999999, я спрашивал про глобальную цель, а не частную. Зачем нужно показывать картинку на несколько секунд?

NibelungXXX
30-07-2013, 16:12
start /wait /b C:\1.jpg
timeout /t 05
taskkill /F /IM FSViewer.exe



C:\1.jpg - путь к файлу
timeout /t 05 - задержка, 5 секунд поставлена тут;
taskkill /F /IM FSViewer.exe - закрытие программы через которую запустилась картинка, у меня по умолчанию стоит программа FSViewer, через нее открывается, и через 5 секунд закрывается.


Или я тебя не понял и тебе надо, чтоб анимация по рабочему столу бегала твоя без всяких приложений? тогда это уже не батник тебе надо

Iska
30-07-2013, 16:22
Через которую открывалась у тебя можешь глянуть: свойство картинки-там сразу написано, через что по умолчанию открывается »
Например, через Adobe Photoshop :lol:.

NibelungXXX
30-07-2013, 16:35
Iska, так не понятно же что он хочет) и врятли через фотошоп открывается по умолчанию картинка))) но думаю он хочет чтоб у него картинка бегала его по рабочему столу))) делфи в помощь))

Как минимум Delphi 2007в нее входит модуль GifImg, который позволяет проигрывать Gif анимацию.

Ниже привожу пример его использования (Gif анимация в Delphi) :

На форме надо разместить компонент TImage и TButton и в папку с проектом скопировать Gif файл.

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, GifImg;

type
TForm1 = class(TForm)
Timer1: TTimer;
Image1: TImage;
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
Gif: TGifImage;

implementation

{$R *.dfm}

//При нажатии на кнопку загружаем анимацию в Image1
procedure TForm1.Button1Click(Sender: TObject);
begin
//создаем объект gif
Gif := TGifImage.Create;
//загружаем gif файл
Gif.LoadFromFile('имя файла.gif');
//включаем анимацию
Gif.Animate := True;
//задаем ширину и высоту объекта Image1 по размерам Gif
Image1.Width:=Gif.Width;
Image1.Height:=Gif.Height;
//Подключаем Image1 к Gif
Image1.Picture.Assign(Gif);
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
//освобождаем объект Gif
Gif.Free;
end;

end.


шаблон прикрепил, закрывается через диспетчер задач

Iska
30-07-2013, 16:42
Iska, так не понятно же что он хочет) »
В том-то и дело, что автор об этом молчит, как палестинский партизан.

icq99999999
30-07-2013, 17:01
Iska, так не понятно же что он хочет) »
что непонятно?
меня просто интересовала возможность открыть изображение через cmd
ну есле такой нет то ничего.

NibelungXXX
30-07-2013, 17:33
ну есле такой нет то ничего. »

Код:
start /wait /b C:\1.jpg
timeout /t 05
taskkill /F /IM FSViewer.exe »

angel_lyucifer
06-08-2013, 00:32
Этап 1 создаём скрипт.
Вот вам скрипт на HTA, который отображает анимацию в центре экрана.
Замените в скрипте вот эту строку logotip.gif на вашу анимацию...
Данный файл сохраняем с расширением HTA, назовём его например script.hta.



<html id="appHTA">
<head>
<meta charset="windows-1251">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<meta http-equiv="Content-Language" content="ru">
<title>application</title>
<hta:Application
Id="oHTA"
ApplicationName="application"
Border="none"
Caption="no"
ContextMenu="no"
InnerBorder="no"
MaximizeButton="no"
MinimizeButton="no"
Navigable="no"
Scroll="no"
ScrollFlat="no"
Selection="no"
ShowInTaskbar="yes"
SingleInstance="yes"
SysMenu="no"
Version="0.1"
WindowState="normal"/>
<style type="text/css">
BODY {
color: WindowText;
background-color: ButtonFace;
margin: 0em;}
</style>
<html>
<body id="tagBody">
<img id="Splash" width="100%" height="100%">
</body>
<script language="VBScript">
Option Explicit
Dim strImgSource
Dim objStdPicture
With CreateObject("Scripting.FileSystemObject")
strImgSource = .BuildPath(Replace(.GetParentFolderName(oHTA.commandLine), """", ""), "logotip.gif")
If .FileExists(strImgSource) Then
Set objStdPicture = LoadPicture(strImgSource)
Splash.src = "file://" & strImgSource

With window
.resizeTo Round(objStdPicture.Width / 26.47), Round(objStdPicture.Height / 26.47)
.moveTo (.screen.availWidth - tagBody.offsetWidth) \ 2, (.screen.availHeight - tagBody.offsetHeight) \ 2
End With
Else
MsgBox "Can't find path [" & strImgSource & "].", vbOKOnly & vbExclamation
End If
End With
</script>
</html>

Этап 2 создаём батник.
В батнике пишем


@echo off
start script.hta
ping -n 5 127.0.0.1 > nul
taskkill /f /IM mshta.exe > NUL
Exit

Данный файл сохраняем с расширением bat, назовём его например Start.bat.
Теперь запускаем файл Start.bat
P.S.
Все файлы Start.bat, script.hta, и анимация лежать должны в одной папке.

Iska
06-08-2013, 02:56
angel_lyucifer, при копировании кода лучше заботиться о наглядности, нежели о раскраске. Называть пакетные файлы именами внутренних или внешних команд — бомба замедленного действия. Тем паче, что пакетный файл — лишний. «ShowInTaskbar="no"»+«setTimeout "close", время в секундах * 1000»:
<html id="appHTA">
<head>
<meta charset="windows-1251">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<meta http-equiv="Content-Language" content="ru">
<title>My HTA application</title>
<hta:Application
Id="oHTA"
ApplicationName="My HTA application"
Border="none"
Caption="no"
ContextMenu="no"
InnerBorder="no"
MaximizeButton="no"
MinimizeButton="no"
Navigable="no"
Scroll="no"
ScrollFlat="no"
Selection="no"
ShowInTaskbar="no"
SingleInstance="yes"
SysMenu="no"
Version="0.1"
WindowState="normal"
/>
<style type="text/css">
BODY {
color: WindowText;
background-color: ButtonFace;
margin: 0em;
}
</style>
<html>

<body id="tagBody">
<img id="Splash" width="100%" height="100%">
</body>

<script language="VBScript">
Option Explicit

Dim strImgSource
Dim objStdPicture

With CreateObject("Scripting.FileSystemObject")
strImgSource = .BuildPath(Replace(.GetParentFolderName(oHTA.commandLine), """", ""), "My file.gif")

If .FileExists(strImgSource) Then
Set objStdPicture = LoadPicture(strImgSource)
Splash.src = "file://" & strImgSource

With window
.resizeTo Round(objStdPicture.Width / 26.47), Round(objStdPicture.Height / 26.47)
.moveTo (.screen.availWidth - tagBody.offsetWidth) \ 2, (.screen.availHeight - tagBody.offsetHeight) \ 2
End With
Else
MsgBox "Can't find path [" & strImgSource & "].", vbOKOnly & vbExclamation
End If
End With

setTimeout "close", 5 * 1000
</script>
</html>
P.S. Я примерно это и подразумевал, говоря ранее:
Нет. Только с помощью каких-либо приложений или утилит, встроенных, або сторонних. »

icq99999999
06-08-2013, 11:12
Цитата Iska:
Код: »
вот то, что мне было нужно, большое СПАСИБО!

Start
17-08-2014, 12:23
Iska,
Скажите, как сделать, что-бы изображение было поверх всех окон и во весь экран?
И где по этим командам справку можно посмотреть?

Iska
17-08-2014, 13:29
Iska,
Скажите, как сделать, что-бы изображение было поверх всех окон и во весь экран? »
А зачем?

И где по этим командам справку можно посмотреть? »
HTA Приложения для Internet Explorer (http://www.script-coding.com/HTA.html)
VBScript - MSDN - Microsoft (http://msdn.microsoft.com/en-us/library/t0aew7h6(v=vs.84).aspx), можно загрузить отдельно: Download Windows Script 5.6 Documentation from Official Microsoft Download Center (http://www.microsoft.com/en-us/download/details.aspx?id=2764) (перед употреблением разблокировать).

Start
17-08-2014, 14:08
Iska, спасибо
А зачем? »
Я думал так закрыть на несколько секунд видимые окна при выполнении бат-файлов, но наверное это лишнее.

Iska
17-08-2014, 14:23
Я думал так закрыть на несколько секунд видимые окна при выполнении бат-файлов, но наверное это лишнее. »
Угу, лишнее.

Скрытие консольных окон - OSzone .net (http://www.oszone.net/6156)
Скрываем консольные окна — OSZone.net wiki (http://web.archive.org/web/20131207131938/http://wiki.oszone.net/index.php/%D0%A1%D0%BA%D1%80%D1%8B%D0%B2%D0%B0%D0%B5%D0%BC_%D0%BA%D0%BE%D0%BD%D1%81%D0%BE%D0%BB%D1%8C%D0%BD%D1 %8B%D0%B5_%D0%BE%D0%BA%D0%BD%D0%B0)

Guman
22-02-2018, 07:31
все это конечно хорошо и работает самое главное. но вот подскажите как сделать так чтобы можно было выводить два изобрадения....
то есть нужно чтобы был фон(одно изображение) и на фоне анимированя картинка (втрое изображение), а еще была бы возможность вывести текст....

Patroklos
22-02-2018, 18:23
нужно чтобы был фон(одно изображение) и на фоне анимированя картинка (втрое изображение), »

http://www.dcmembers.com/skwire/download/frameless/

Guman
26-02-2018, 10:47
Patroklos хорошая идея, но есть проблемы и ограничения.. это не совсем то что мне надо... но есть функции по лучше сравнивая со скриптом.
вот недостатки самой утилиты
****- Щелчок правой кнопкой мыши по изображению вызовет небольшое контекстное меню.
****- Можно перемещать изображение вокруг, удерживая левый клик по нему.
****- Можно изменять размер изображений, как и в обычном окне Удерживая shift.
****- Изменение размера изображения (растягивание скажем на весь экран - не поддерживается) вернее поддерживается но не изображение растягивается, а рамки широкие выходят по бокам или снизу... смотря как растягивать..
****- так же при нажатии на пробел переключает на другие изображение находящиеся в папке программы

Моя задача такая. будет встраиваться это в сам процесс установки установочного образа Windows 7. чтобы поверх закрывало саму установку дополнительних программ.(может есть другое решение)

Мне нужно чтобы можно было вывести фоновое изображение поверх всех окон в режиме fullscreen, которую нельзя было бы закрыть ни как (как реализовано в Frameless, а именно чтобы отключить горячие клавиши типа Alt + F4, Escape и т.д.).. скрытие в *taskbar (нет кнопки на панели задач Windows).... Не позволяет изменять размер изображения или что то другое с помощью мыши! Чтобы не было ни каких лишних кнопок типо «Выход» или какие нибудь контекстные меню.

кроме этого нужно вывести по Центру всего этого значок загрузки (можно сделать вывод gif с альфа-призрачностью), а так же нужна возможность чтобы можно было вывести текст на все это.
было бы идеально если можно было выводит текст скажем с какого нить txt файла.
обьясну суть. будет запускаться bat файл который будет ставить программы и делать какие то иные веши... так вот во время этого можно реализовать так чтобы bat файл создавал txt файл и записывал туда какой нить текст .. а уже наш скрипт оттуда постоянно мониторил и выводил на экран текст с этого файла

помогите реализовать это пожалуйста




© OSzone.net 2001-2012