Отправляет email-рассылки с помощью сервиса Sendsay

За 2017-06-28

[prg] Re[2]: c#: Запуск файлов на сервере из программы на локальном компьютере

Приветствую всех!
> Теоретически, нужно определить какая программа ассоциирована с данным
типом
> файлов и передать ей ссылку на него.

Есть, как минимум, две особенности у такого подхода. Во-первых, это не путь
к файлу, а url, поэтому прежде всего проверяется ассоциация протокола (т.е.
http://). Наиболее вероятно, что этот протокол ассоциирован с браузером по
умолчанию.
А уже браузер, получив информацию от http-сервера о типе передаваемых
данных, решает, что делать с файлом (плюс настройки пользователя). Вторая
особенность: не все программы поддерживают работу с url в качестве
параметра, поэтому, чтобы гарантировать работоспособность, файл можно
загрузить на локальную машину в каталог временных файлов и работать уже с
ним.
Все нужное для этого есть в .Net .

Успехов. Анатолий.

   "i_chay" 2017-06-28 22:35:46 (#3503614)

[prg] AW: Re: c#: Запуск файлов на сервере из программы на локальном компьютере

Здравствуйте Константин,
Спасибо за подсказку и ссылки. Посмотрю в этом направлении.
С уважением
Владимир

   vkon@f*****.de 2017-06-28 20:27:11 (#3503600)

[prg] Re: c#: Запуск файлов на сервере из программы на локальном компьютере

Здравствуйте.

Теоретически, нужно определить какая программа ассоциирована с данным типом
файлов и передать ей ссылку на него.
Поиск ассоциированного приложения реализуется с помощью win32api функции
FindExecutable:
https://msdn.microsoft.com/ru-ru/library/windows/desktop/bb776419(v=vs.85).aspx
Прежде, чем использовать эту функцию в c#, её нужно импортировать:
https://stackoverflow.com/questions/9540051/is-an-application-associated-with-a-given-extension/9540278#9540278

С уважением, Константин.

   2017-06-28 17:28:26 (#3503560)

[prg] c#: Запуск файлов на сервере из программы на локальном компьютере

Всем привет,

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

Необходимо запускать их программами по умолчанию.

Если я пытаюсь запустить, например, аудио-файл таким образом:

System.Diagnostics.Process.Start("http://mysite.com/myfiles/audio.mp3");

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

К сожалению, Google не помог :-(. Может вы поможете :-)

Заранее всем спасибо

С уважением

Владимир

   vkon@f*****.de 2017-06-28 12:03:19 (#3503491)

[prg] Re: Как озвучить программу с помощью QAccessibleInterface

Здравствуйте.

Вот же, вроде бы все об этом:
http://doc.qt.io/qt-5/accessible.html

С уважением, Константин.

   2017-06-28 10:10:48 (#3503478)

[prg] Как озвучить программу с помощью QAccessibleInterface

Здравствуйте.

Пытаюсь найти под Python оптимальную библиотеку для создания графического
интерфейса. Сейчас изучаю возможности PyQt. Судя по всему - еруда будет, ибо
JAWS такой интерфейс вряд ли будет нормально читать. Но все же хотелось бы
посмотреть повнимательнее... У QT есть специальный класс
QAccessibleInterface, который как раз и обеспечивает взаимодействие
интерфейса программы и скринридера. К сожалению, не удалось найти ничего,
где бы объяснялось хотя бы как в принципе нужно работать с данным
инструментом.

В конце письма скинул код небольшой тестовой программы. Она выводит окошко с
кнопкой и меткой. Кнопка озвучивается, заголовок окна тоже получить можно. А
вот метку не видно ничем. JAWS-курсор, кстати, окошка программы не видит
вообще никак.

Любопытно, как можно сделать такой интерфейс доступным. Ну включить
jaws-курсор - это, наверное, фантастика, но уж как-то заставить jaws видеть
текст метки, думаю, возможно...

Ну и за ссылочки на документацию и другие полезные материалы тоже буду
благодарен. Понимаю, что нет совершенства в нашем мире, и на русском оно
вряд ли будет, но хоть по-английски...

Тестовая программа.

# -*- coding: utf-8 -*-
from PyQt5 import QtWidgets
import sys

app = QtWidgets.QApplication(sys.argv)
window = QtWidgets.QWidget()
window.setWindowTitle("Первая программа на PyQt")
window.resize(300, 70)
label = QtWidgets.QLabel("<center>Привет, мир!</center>")
btnQuit = QtWidgets.QPushButton("&Закрыть окно")
vbox = QtWidgets.QVBoxLayout()
vbox.addWidget(label)
vbox.addWidget(btnQuit)
window.setLayout(vbox)
btnQuit.clicked.connect(app.quit)
window.show()
sys.exit(app.exec_())

   2017-06-28 06:42:34 (#3503459)