C# Компилятор на лету
Цитата: Никита от 30.05.2022, 13:32Всем привет!
Сделал маленький runtime компилятор.
Суть работы: в textBox пишите код С# который Вам нужен и жмёте на кнопку Compile.
После чего на рабочем столе появляется сгенерированный .exe который будет исполнять именно тот код, который вы написали в textBox.
[spoiler title="Скрин"][/spoiler]
[spoiler title="Видео, как это работает"]https://www.youtube.com/watch?v=C-kOK2cWEA4[/spoiler]
Скачать компилятор
Всем привет!
Сделал маленький runtime компилятор.
Суть работы: в textBox пишите код С# который Вам нужен и жмёте на кнопку Compile.
После чего на рабочем столе появляется сгенерированный .exe который будет исполнять именно тот код, который вы написали в textBox.

Скачать компилятор
Цитата: QZMTCH от 04.01.2024, 02:21Приветствую.
А ссылки не осталось на эту программулину? И нет ли исходников на неё? Вижу что Portable Creator сделан из этого, мне интересен сам принцип, ну и хочется из него сделать прогу маленькую для работы с браузером. Типа для передачи ссылки в проги, например в yt-dlp или potplayer (понятно что есть уже подобные, но они либо на node, python, либо если на с#, то кривые, как вот этот вариант https://extpose.com/ext/561 там внутри есть лаунчер, в установщике можно вытащить посмотреть.)
https://developer.chrome.com/docs/extensions/reference/api/runtime#method-sendNativeMessage
https://developer.chrome.com/docs/apps/nativeMessaging/
https://github.com/acandylevey/NativeMessaging вот и библа есть готовая
Приветствую.
А ссылки не осталось на эту программулину? И нет ли исходников на неё? Вижу что Portable Creator сделан из этого, мне интересен сам принцип, ну и хочется из него сделать прогу маленькую для работы с браузером. Типа для передачи ссылки в проги, например в yt-dlp или potplayer (понятно что есть уже подобные, но они либо на node, python, либо если на с#, то кривые, как вот этот вариант https://extpose.com/ext/561 там внутри есть лаунчер, в установщике можно вытащить посмотреть.)
https://developer.chrome.com/docs/extensions/reference/api/runtime#method-sendNativeMessage
https://developer.chrome.com/docs/apps/nativeMessaging/
https://github.com/acandylevey/NativeMessaging вот и библа есть готовая
Цитата: QZMTCH от 04.01.2024, 15:51ну или если исходники не хочешь выкладывать, может сам сделаешь маленький nativeApp? самое главное это из расширений отправка сообщения, отправляет
chrome.runtime.sendNativeMessage( application: string, message: object, callback?: function, )и в nativeApp чтобы правильно эту строку сообщения отправляло в cmd. Т.е. если в строке есть текст в двойных кавычках, чтобы этот текст так вместе с кавычками и отправлялся в cmd
вот тестовая расширка https://chromium.googlesource.com/chromium/src.git/+/62.0.3178.1/chrome/common/extensions/docs/examples/api/nativeMessaging/app/
https://developer.chrome.com/docs/extensions/develop/concepts/native-messaging а вот инфа как прописать json и в реестр чтобы браузер его запускал
ну или если исходники не хочешь выкладывать, может сам сделаешь маленький nativeApp? самое главное это из расширений отправка сообщения, отправляет
chrome.runtime.sendNativeMessage( application: string, message: object, callback?: function, )
и в nativeApp чтобы правильно эту строку сообщения отправляло в cmd. Т.е. если в строке есть текст в двойных кавычках, чтобы этот текст так вместе с кавычками и отправлялся в cmd
вот тестовая расширка https://chromium.googlesource.com/chromium/src.git/+/62.0.3178.1/chrome/common/extensions/docs/examples/api/nativeMessaging/app/
https://developer.chrome.com/docs/extensions/develop/concepts/native-messaging а вот инфа как прописать json и в реестр чтобы браузер его запускал
Цитата: QZMTCH от 27.01.2024, 13:30Пардон, там же этого всего не нужно, надо было у гугла или ютуба спросить 😉
Пардон, там же этого всего не нужно, надо было у гугла или ютуба спросить 😉
Цитата: Viсtor от 06.02.2024, 19:23QZMTCH, Привет.
Цитата: QZMTCH от 04.01.2024, 02:21Типа для передачи ссылки в проги, например в yt-dlp или potplayer...
Мне интересно, у тебя задача какая? Если просто вставить быстро ссылки, то это проще скриптом, через свои "shortcuts". Просто у меня уже есть готовые. Достаточно скопировать строку в системный буфер обмена. Затем свои горячие клавиши, какие удобно. Если задача просто ускорить этот процесс.
QZMTCH, Привет.
Цитата: QZMTCH от 04.01.2024, 02:21Типа для передачи ссылки в проги, например в yt-dlp или potplayer...
Мне интересно, у тебя задача какая? Если просто вставить быстро ссылки, то это проще скриптом, через свои "shortcuts". Просто у меня уже есть готовые. Достаточно скопировать строку в системный буфер обмена. Затем свои горячие клавиши, какие удобно. Если задача просто ускорить этот процесс.
Цитата: QZMTCH от 15.02.2024, 03:42Цитата: Viсtor от 06.02.2024, 19:23QZMTCH, Привет.
Цитата: QZMTCH от 04.01.2024, 02:21Типа для передачи ссылки в проги, например в yt-dlp или potplayer...
Мне интересно, у тебя задача какая? Если просто вставить быстро ссылки, то это проще скриптом, через свои "shortcuts". Просто у меня уже есть готовые. Достаточно скопировать строку в системный буфер обмена. Затем свои горячие клавиши, какие удобно. Если задача просто ускорить этот процесс.
Привет. Задача такая как выше написал, передавать ссылку в прогу, которая будет вызывать другие проги, типа как эта https://extpose.com/ext/561 У этого варианта косяк с отправкой какой то. С ней норм только если только ссылку отправлять и всё, без доп инфы, ключей запуска например для проги. На батничек можно путь в расширении прописать, и уже там всё обрабатывать.
Типа такогоyt-dlp.exe --no-part -f "bestvideo[ext=mp4]+bestaudio[ext=m4a]/best" -P temp:"C:\\Temp" -P home:"D:\\video\\yt-dlp" -o "%%(title)s.%%(ext)s" %* pause
Но надо всё таки своё как нибудь написать, да всё времени нет
В расширении просто можно написать дополнительно свои парсеры чего нибудь. Типа названия, описания, картинки, или ещё чего, и не только для yt-dlp, а для любой проги
Цитата: Viсtor от 06.02.2024, 19:23QZMTCH, Привет.
Цитата: QZMTCH от 04.01.2024, 02:21Типа для передачи ссылки в проги, например в yt-dlp или potplayer...
Мне интересно, у тебя задача какая? Если просто вставить быстро ссылки, то это проще скриптом, через свои "shortcuts". Просто у меня уже есть готовые. Достаточно скопировать строку в системный буфер обмена. Затем свои горячие клавиши, какие удобно. Если задача просто ускорить этот процесс.
Привет. Задача такая как выше написал, передавать ссылку в прогу, которая будет вызывать другие проги, типа как эта https://extpose.com/ext/561 У этого варианта косяк с отправкой какой то. С ней норм только если только ссылку отправлять и всё, без доп инфы, ключей запуска например для проги. На батничек можно путь в расширении прописать, и уже там всё обрабатывать.
Типа такого
yt-dlp.exe --no-part -f "bestvideo[ext=mp4]+bestaudio[ext=m4a]/best" -P temp:"C:\\Temp" -P home:"D:\\video\\yt-dlp" -o "%%(title)s.%%(ext)s" %* pause
Но надо всё таки своё как нибудь написать, да всё времени нет
В расширении просто можно написать дополнительно свои парсеры чего нибудь. Типа названия, описания, картинки, или ещё чего, и не только для yt-dlp, а для любой проги
Цитата: Viсtor от 15.02.2024, 05:45QZMTCH, 👋 Если тебе нужен конвейер, тебе придется разбираться в API браузера. Тут к сожалению не помогу. А вот если надо максимально упростить себе задачу с тем же yt-dlp или Potplayer это не сложно. Я тут оставлю свой вариант, возможно пригодится кому-нибудь.
Я пользуюсь "своими" горячими клавишами. Напомню это те, что можно установить на созданном ярлыке. Ярлыки работают, для клавиш на рабочем столе, в подпапках рабочего стола, и некоторых других директориях. Например у меня это находится в C:\Users\Vikto\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\MyShortcuts . В ней находится папка yt-dlpData, собственно сама программа. В ней еще 3 папки script,ffmpeg(туда скачен),downloads. А также в этой папке создан файл конфигурации Config.cnf в нем указал
--ffmpeg-location ./ffmpeg/bin/ffmpeg.exe --output ./downloads/%(title)s.%(ext)s --format bestvideo*+bestaudio/best --concurrent-fragments 16 // на любителя можно и без этого --http-chunk-size 8M // на любителя можно и без этогоДальше нужно зайти в пустую папку script и создать сам скрипт у меня называется yt-dlpClipboard.vbs вот содержимое:
If InStr(1, WScript.FullName, "wscript.exe", vbTextCompare) > 0 Then With CreateObject("WScript.Shell") WScript.Quit .Run("cscript.exe """ & WScript.ScriptFullName & """", 0, True) End With End If Set objShell = CreateObject("WScript.Shell") strURL = objShell.Exec("powershell.exe -command ""Get-Clipboard""").StdOut.ReadAll Dim regEx Set regEx = New RegExp regEx.Pattern = "^\s+$" If Len(strURL) > 0 And Not regEx.Test(strURL) Then objShell.Run """C:\Users\Vikto\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\MyShortcuts\yt-dlpData\yt-dlp.exe"" " & strURL & " --config-location Config.cnf", 1, False End IfЯ VBS не знаю, собрал "на коленке". Кратко по скрипту:
- Первый абзац отвечает за перезапуск скрипта в скрытом режиме. Необходимо чтобы всякие окна консоли не мелькали на панели задач.
- Просто получаю строку из буфера обмена, через Shell через поток вывода.
- Далее абзац связан с тем у меня не получилось из за кодировки просто проверить длину, да и не важно.
- Дальше проверяется что строка входящая не пустая.
- В конце идет вызов через objShell.Run собственно программы с передачей аргументов. Единица в конце строки отвечает за то чтобы окно консоли yt-dlp не было скрыто.
Логика простоая заходиш на странцу с видео копируешь в буфер обмено строку. Потом вызываешь скрипт "Сочитанием горячих клавиш".
Чтобы это сделать нужно создать ярылык на этот скрипт. Я для удобства сортировки поместл его в корневую папку "MyShortcuts". Заходиш в свойста ярлыка, нажимаешь на поле быстрый вызов, выстваляешь свои горячие клавиши. У меня например это Shift + Alt + Num(это плюс на лампад клавиатуре).То же подход и для potplayer.
If InStr(1, WScript.FullName, "wscript.exe", vbTextCompare) > 0 Then With CreateObject("WScript.Shell") WScript.Quit .Run("cscript.exe """ & WScript.ScriptFullName & """", 0, True) End With End If Set objShell = CreateObject("WScript.Shell") strURL = objShell.Exec("powershell.exe -command ""Get-Clipboard""").StdOut.ReadAll Dim regEx Set regEx = New RegExp regEx.Pattern = "^\s+$" If Len(strURL) > 0 And Not regEx.Test(strURL) Then objShell.Run """C:\Program Files\DAUM\PotPlayer\PotPlayerMini64.exe"" " & strURL & " /clipboard", 0, False End IfРазница только в цире 0 в конце objShell.Run, и в это раз показ консоли не интересен. Логика как в первом случаи.
[spoiler title="Пару скринов"]
[/spoiler]
QZMTCH, 👋 Если тебе нужен конвейер, тебе придется разбираться в API браузера. Тут к сожалению не помогу. А вот если надо максимально упростить себе задачу с тем же yt-dlp или Potplayer это не сложно. Я тут оставлю свой вариант, возможно пригодится кому-нибудь.
Я пользуюсь "своими" горячими клавишами. Напомню это те, что можно установить на созданном ярлыке. Ярлыки работают, для клавиш на рабочем столе, в подпапках рабочего стола, и некоторых других директориях. Например у меня это находится в C:\Users\Vikto\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\MyShortcuts . В ней находится папка yt-dlpData, собственно сама программа. В ней еще 3 папки script,ffmpeg(туда скачен),downloads. А также в этой папке создан файл конфигурации Config.cnf в нем указал
--ffmpeg-location ./ffmpeg/bin/ffmpeg.exe --output ./downloads/%(title)s.%(ext)s --format bestvideo*+bestaudio/best --concurrent-fragments 16 // на любителя можно и без этого --http-chunk-size 8M // на любителя можно и без этого
Дальше нужно зайти в пустую папку script и создать сам скрипт у меня называется yt-dlpClipboard.vbs вот содержимое:
If InStr(1, WScript.FullName, "wscript.exe", vbTextCompare) > 0 Then
With CreateObject("WScript.Shell")
WScript.Quit .Run("cscript.exe """ & WScript.ScriptFullName & """", 0, True)
End With
End If
Set objShell = CreateObject("WScript.Shell")
strURL = objShell.Exec("powershell.exe -command ""Get-Clipboard""").StdOut.ReadAll
Dim regEx
Set regEx = New RegExp
regEx.Pattern = "^\s+$"
If Len(strURL) > 0 And Not regEx.Test(strURL) Then
objShell.Run """C:\Users\Vikto\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\MyShortcuts\yt-dlpData\yt-dlp.exe"" " & strURL & " --config-location Config.cnf", 1, False
End If
Я VBS не знаю, собрал "на коленке". Кратко по скрипту:
- Первый абзац отвечает за перезапуск скрипта в скрытом режиме. Необходимо чтобы всякие окна консоли не мелькали на панели задач.
- Просто получаю строку из буфера обмена, через Shell через поток вывода.
- Далее абзац связан с тем у меня не получилось из за кодировки просто проверить длину, да и не важно.
- Дальше проверяется что строка входящая не пустая.
- В конце идет вызов через objShell.Run собственно программы с передачей аргументов. Единица в конце строки отвечает за то чтобы окно консоли yt-dlp не было скрыто.
Логика простоая заходиш на странцу с видео копируешь в буфер обмено строку. Потом вызываешь скрипт "Сочитанием горячих клавиш".
Чтобы это сделать нужно создать ярылык на этот скрипт. Я для удобства сортировки поместл его в корневую папку "MyShortcuts". Заходиш в свойста ярлыка, нажимаешь на поле быстрый вызов, выстваляешь свои горячие клавиши. У меня например это Shift + Alt + Num(это плюс на лампад клавиатуре).
То же подход и для potplayer.
If InStr(1, WScript.FullName, "wscript.exe", vbTextCompare) > 0 Then
With CreateObject("WScript.Shell")
WScript.Quit .Run("cscript.exe """ & WScript.ScriptFullName & """", 0, True)
End With
End If
Set objShell = CreateObject("WScript.Shell")
strURL = objShell.Exec("powershell.exe -command ""Get-Clipboard""").StdOut.ReadAll
Dim regEx
Set regEx = New RegExp
regEx.Pattern = "^\s+$"
If Len(strURL) > 0 And Not regEx.Test(strURL) Then
objShell.Run """C:\Program Files\DAUM\PotPlayer\PotPlayerMini64.exe"" " & strURL & " /clipboard", 0, False
End If
Разница только в цире 0 в конце objShell.Run, и в это раз показ консоли не интересен. Логика как в первом случаи.
Цитата: QZMTCH от 15.02.2024, 15:49очень много лишнего, у меня в центе так стоит скрин. Батник запускается просто потому что не получилось прописать команду с powershell, почему то название не раскрывается, не с запуска из cmd /c или /k ни просто powershell, ни кавычки, всё перепробовал не получилось короче написать. И через mshta в одну строку закладки не прописать правильно чтобы заработало. А батник работает, конфиг рядом или внутрь ключи и норм
https://www.centbrowser.net/en/showthread.php?tid=1449
ps а ну и батник самfor /f "delims=" %%i in ('mshta "javascript:var x=clipboardData.getData('text');if(x) new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(x);close();"') do yt-dlp.exe -o "C:\Users\qzmtch\Desktop\%%(title)s.%%(ext)s" %%i pause
очень много лишнего, у меня в центе так стоит скрин. Батник запускается просто потому что не получилось прописать команду с powershell, почему то название не раскрывается, не с запуска из cmd /c или /k ни просто powershell, ни кавычки, всё перепробовал не получилось короче написать. И через mshta в одну строку закладки не прописать правильно чтобы заработало. А батник работает, конфиг рядом или внутрь ключи и норм
https://www.centbrowser.net/en/showthread.php?tid=1449
ps а ну и батник сам
for /f "delims=" %%i in ('mshta "javascript:var x=clipboardData.getData('text');if(x) new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(x);close();"') do yt-dlp.exe -o "C:\Users\qzmtch\Desktop\%%(title)s.%%(ext)s" %%i
pause
Цитата: QZMTCH от 15.02.2024, 15:54pss а нафига тебе vbs если ты из буфера в powershell берёшь ссылку, и потом больше ничего особо не делаешь в vbs? можно же просто бат тогда написать
pss а нафига тебе vbs если ты из буфера в powershell берёшь ссылку, и потом больше ничего особо не делаешь в vbs? можно же просто бат тогда написать
Цитата: Viсtor от 15.02.2024, 18:58QZMTCH, Пока разобрался о чём речь 😀. Как я понял тебе почему-то интересна фича, которая позволяет запускать cmd из закладки Сent browser. Насколько я понял, это только в Сent и работает. У меня более универсальный подход. Достаточно поместить нужную строку в буфер обмена. Формат .bat не используется по очевидным причинам - зачем мне на экране, или на панели задач мелькающие окна. Мне не известно способа запуска самих .bat в таком режиме "штатными" средствами. С mshta пока не доводилось сталкиваться. Тут просто демонстрация, что подход рабочий - https://youtu.be/DT6Jx8JvFkY
QZMTCH, Пока разобрался о чём речь 😀. Как я понял тебе почему-то интересна фича, которая позволяет запускать cmd из закладки Сent browser. Насколько я понял, это только в Сent и работает. У меня более универсальный подход. Достаточно поместить нужную строку в буфер обмена. Формат .bat не используется по очевидным причинам - зачем мне на экране, или на панели задач мелькающие окна. Мне не известно способа запуска самих .bat в таком режиме "штатными" средствами. С mshta пока не доводилось сталкиваться. Тут просто демонстрация, что подход рабочий - https://youtu.be/DT6Jx8JvFkY
Цитата: QZMTCH от 16.02.2024, 02:55Цитата: Viсtor от 15.02.2024, 18:58QZMTCH, Пока разобрался о чём речь
. Как я понял тебе почему-то интересна фича, которая позволяет запускать cmd из закладки Сent browser. Насколько я понял, это только в Сent и работает. У меня более универсальный подход. Достаточно поместить нужную строку в буфер обмена. Формат .bat не используется по очевидным причинам - зачем мне на экране, или на панели задач мелькающие окна. Мне не известно способа запуска самих .bat в таком режиме "штатными" средствами. С mshta пока не доводилось сталкиваться. Тут просто демонстрация, что подход рабочий - https://youtu.be/DT6Jx8JvFkY
Вот и я хочу более универсальный, но без буфера, потому что расширением можно передавать сразу и ссылку и какое нибудь название, описание, картинку или ещё чего нибудь. У меня есть и вариант для всех
просто создаёшь протокол
такойWindows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\ytdlp] "URL Protocol"="" [HKEY_CLASSES_ROOT\ytdlp\DefaultIcon] @="\"C:\\Windows\\yt-dlp.exe,0\"" [HKEY_CLASSES_ROOT\ytdlp\shell] [HKEY_CLASSES_ROOT\ytdlp\shell\open] [HKEY_CLASSES_ROOT\ytdlp\shell\open\command] @="\"C:\\Windows\\yt-dlp.exe\" \"%1\""или такой
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\ytdlp] "URL Protocol"="" [HKEY_CLASSES_ROOT\ytdlp\DefaultIcon] @="\"C:\\Windows\\yt-dlp.exe\"" [HKEY_CLASSES_ROOT\ytdlp\shell] [HKEY_CLASSES_ROOT\ytdlp\shell\open] [HKEY_CLASSES_ROOT\ytdlp\shell\open\command] @="\"C:\\Users\\QZMTCH\\Desktop\\d.cmd\" \"%1\""второй поудобней
потом batchcp 65001 set "arg="%*" set "arg=%arg:~10%" set "arg=%arg:~,-1%" "C:\Windows\yt-dlp.exe" -o "C:\Users\qzmtch\Desktop\%%(title)s.%%(ext)s" "%arg%" pauseи так же букмарклет в закладки
javascript:location.href='ytdlp://'+location.href
Но хочется расширение. Чтобы в нативное приложение передавало то, что хочется, и запускало то, что хочется. С разными вариантами. Можно конечно батниками это всё порешать разными. Или в один напихать всё и с аргументами просто вызывать его, но это не то.
Цитата: Viсtor от 15.02.2024, 18:58QZMTCH, Пока разобрался о чём речь
. Как я понял тебе почему-то интересна фича, которая позволяет запускать cmd из закладки Сent browser. Насколько я понял, это только в Сent и работает. У меня более универсальный подход. Достаточно поместить нужную строку в буфер обмена. Формат .bat не используется по очевидным причинам - зачем мне на экране, или на панели задач мелькающие окна. Мне не известно способа запуска самих .bat в таком режиме "штатными" средствами. С mshta пока не доводилось сталкиваться. Тут просто демонстрация, что подход рабочий - https://youtu.be/DT6Jx8JvFkY
Вот и я хочу более универсальный, но без буфера, потому что расширением можно передавать сразу и ссылку и какое нибудь название, описание, картинку или ещё чего нибудь. У меня есть и вариант для всех
просто создаёшь протокол
такой
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\ytdlp] "URL Protocol"="" [HKEY_CLASSES_ROOT\ytdlp\DefaultIcon] @="\"C:\\Windows\\yt-dlp.exe,0\"" [HKEY_CLASSES_ROOT\ytdlp\shell] [HKEY_CLASSES_ROOT\ytdlp\shell\open] [HKEY_CLASSES_ROOT\ytdlp\shell\open\command] @="\"C:\\Windows\\yt-dlp.exe\" \"%1\""
или такой
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\ytdlp] "URL Protocol"="" [HKEY_CLASSES_ROOT\ytdlp\DefaultIcon] @="\"C:\\Windows\\yt-dlp.exe\"" [HKEY_CLASSES_ROOT\ytdlp\shell] [HKEY_CLASSES_ROOT\ytdlp\shell\open] [HKEY_CLASSES_ROOT\ytdlp\shell\open\command] @="\"C:\\Users\\QZMTCH\\Desktop\\d.cmd\" \"%1\""
второй поудобней
потом bat
chcp 65001 set "arg="%*" set "arg=%arg:~10%" set "arg=%arg:~,-1%" "C:\Windows\yt-dlp.exe" -o "C:\Users\qzmtch\Desktop\%%(title)s.%%(ext)s" "%arg%" pause
и так же букмарклет в закладки
Скопированоjavascript:location.href='ytdlp://'+location.href
Но хочется расширение. Чтобы в нативное приложение передавало то, что хочется, и запускало то, что хочется. С разными вариантами. Можно конечно батниками это всё порешать разными. Или в один напихать всё и с аргументами просто вызывать его, но это не то.
Цитата: Viсtor от 16.02.2024, 07:25К сожалению создавать закладки, с чем-то помимо стандартных протоколов нельзя в большинстве браузеров, т.е может быть где-то и можно, но из отсутствия возможности использования скрипта, не получится снабдить строку динамической полезной нагрузкой. Мне кажется наиболее разумный подход, это создание расширения для браузера, как ты ранее упоминал. После совещания с СhatGPT =), прояснил для себя следующее. Нужно зарегистрировать нативное приложение в
Native Messaging Host, указав путь для запуска, и там же указать либо протокол, либо идентификатор. В обоих подходах данные передаются вStdin, например то же Json, но в варианте с протоколом, строка самого протокола, куда можно поместить полезную нагрузку, так же передаётся, как входной аргумент. Могу ошибаться. Вычитываются сStdout. Завершение процесса сигнализирует о конце полезной нагрузки, и результат возвращается, как обратный вызов метода. Вариант удобен тем, что обеспечивает обратную связь с расширением штатным образом. Данный подход интересен тем, что позволяет интерактивно в браузере выбрать, то что ты хочешь извлечь. В ином случаи, я бы выбрал простой парсинг через приложение.
К сожалению создавать закладки, с чем-то помимо стандартных протоколов нельзя в большинстве браузеров, т.е может быть где-то и можно, но из отсутствия возможности использования скрипта, не получится снабдить строку динамической полезной нагрузкой. Мне кажется наиболее разумный подход, это создание расширения для браузера, как ты ранее упоминал. После совещания с СhatGPT =), прояснил для себя следующее. Нужно зарегистрировать нативное приложение в СкопированоNative Messaging Host, указав путь для запуска, и там же указать либо протокол, либо идентификатор. В обоих подходах данные передаются в СкопированоStdin, например то же Json, но в варианте с протоколом, строка самого протокола, куда можно поместить полезную нагрузку, так же передаётся, как входной аргумент. Могу ошибаться. Вычитываются с СкопированоStdout. Завершение процесса сигнализирует о конце полезной нагрузки, и результат возвращается, как обратный вызов метода. Вариант удобен тем, что обеспечивает обратную связь с расширением штатным образом. Данный подход интересен тем, что позволяет интерактивно в браузере выбрать, то что ты хочешь извлечь. В ином случаи, я бы выбрал простой парсинг через приложение.
Цитата: QZMTCH от 17.02.2024, 02:22Цитата: Viсtor от 16.02.2024, 07:25К сожалению создавать закладки, с чем-то помимо стандартных протоколов нельзя в большинстве браузеров
Буркмарклеты такие везде работают с древних времён, нет такого что не работает этот вариант
Нужно зарегистрировать нативное приложение в
Native Messaging Host, указав путь для запуска, и там же указать либо протокол, либо идентификатор. В обоих подходах данные передаются вStdin, например то же Json, но в варианте с протоколом, строка самого протокола, куда можно поместить полезную нагрузку, так же передаётся, как входной аргумент. Могу ошибаться. Вычитываются сStdout. Завершение процесса сигнализирует о конце полезной нагрузки, и результат возвращается, как обратный вызов метода. Вариант удобен тем, что обеспечивает обратную связь с расширением штатным образом. Данный подход интересен тем, что позволяет интерактивно в браузере выбрать, то что ты хочешь извлечь. В ином случаи, я бы выбрал простой парсинг через приложение.Так и я про тоже, я это всё уже знаю, и ссылки выше же есть на документацию. Это всё я понял и без чатов. Просто времени нет разобраться. Варианты на С# есть, так же есть и расширение. Можно даже тоже самое использовать, или по своему его переписать, но времени нет. Хотя знающему человеку чтобы написать его (нативное приложение, которое будет то что пришло от расширения отправлять в cmd) надо пару минут, а если дополнить своими if для разных прог с разными ключами запуска пару десятков минут. Ну как время появится пойду пробовать 😉
Цитата: Viсtor от 16.02.2024, 07:25К сожалению создавать закладки, с чем-то помимо стандартных протоколов нельзя в большинстве браузеров
Буркмарклеты такие везде работают с древних времён, нет такого что не работает этот вариант
Нужно зарегистрировать нативное приложение в
СкопированоNative Messaging Host, указав путь для запуска, и там же указать либо протокол, либо идентификатор. В обоих подходах данные передаются вСкопированоStdin, например то же Json, но в варианте с протоколом, строка самого протокола, куда можно поместить полезную нагрузку, так же передаётся, как входной аргумент. Могу ошибаться. Вычитываются сСкопированоStdout. Завершение процесса сигнализирует о конце полезной нагрузки, и результат возвращается, как обратный вызов метода. Вариант удобен тем, что обеспечивает обратную связь с расширением штатным образом. Данный подход интересен тем, что позволяет интерактивно в браузере выбрать, то что ты хочешь извлечь. В ином случаи, я бы выбрал простой парсинг через приложение.
Так и я про тоже, я это всё уже знаю, и ссылки выше же есть на документацию. Это всё я понял и без чатов. Просто времени нет разобраться. Варианты на С# есть, так же есть и расширение. Можно даже тоже самое использовать, или по своему его переписать, но времени нет. Хотя знающему человеку чтобы написать его (нативное приложение, которое будет то что пришло от расширения отправлять в cmd) надо пару минут, а если дополнить своими if для разных прог с разными ключами запуска пару десятков минут. Ну как время появится пойду пробовать 😉
Цитата: OnePunchMan от 07.12.2024, 23:25Здравствуйте.
Замечательная программа, спасибо, что делитесь вашим творчеством.
Жаль ссылка для скачивания не работает. Если не сложно перезалейте пожалуйста🙏
Здравствуйте.
Замечательная программа, спасибо, что делитесь вашим творчеством.
Жаль ссылка для скачивания не работает. Если не сложно перезалейте пожалуйста🙏


