为什么Electron会杀死那些参数中带有冒号的Windows进程?
如果我启动了与结肠有参数的电子程序,则该程序立即退出. Process process = new Process(); process.StartInfo.FileName = "C:\\Program Files (x86)\\SomeElectronApp.exe"; process.StartInfo.Arguments = "ab:c d"; process.Start(); process.WaitForExit(); Console.WriteLine(1); // break point here 但是,如果我交换参数以使结肠的论点总是持续的,那么该程序就可以成功开始. 这是提到的在这里: [这]是针对古老的窗户缺陷的安全缓解 有人对这个缺陷有洞察力吗? 更新: 找到源代码功能CheckCommandLineArguments具有逻辑: else if (IsUrlArg(argv[i])) { block_args
4 2024-04-25
编程技术问答社区
不能在Electron应用程序中使用Discord OAuth2
我正在尝试使用Discord的OAuth2使用用户登录来创建一个电子应用(使用Electron.net和MVC).但是,在加载OAuth2页面时,Discord认为我正在使用不符合的不和谐安装.我认为这是因为Discord Desktop应用程序还使用电子.当不使用电子时,链接打开罚款. 到目前为止没有工作.有人知道我正在使用电子以及如何解决它的其他不和谐吗? ? 解决方案 我必须处理相同的问题,因此我启用了Load的DevTools.我在这里找到了这个脚本(authWindow = new BrowserWindow({ width: 800, height: 500, frame: false, webPreferences: { nodeIntegration: false } });
18 2024-04-17
编程技术问答社区
将Selenium与Electron框架连接起来(c#)。
我已经使用Selenium WebDriver在C#中编写了几行代码.当我的申请被转移到电子框架上时,一切都发生了变化,我现在不知道该如何应对. 您能向我澄清一下吗?我应该采取什么步骤来开始...我想继续在当前项目(硒,C#)中继续工作,但我不确定这是可能的,否则我应该使用其他语言和其他语言和框架? 我已经阅读了有关Spectron的信息,并检查了诸如Stackoverflow之类的Internet资源,但是我仍然处于不知情... 解决方案 带有摩卡咖啡的光谱应该更快. ,但仍然是您需要的.这是Java&Selenium. System.setProperty("webdriver.chrome.driver","C:\\electron-chromedriver\\bin\\chromedriver.exe"); ChromeOptions chromeOptions = new ChromeOptions(); chromeOptions.setBin
4 2024-04-12
编程技术问答社区
移动构建文件夹时,Electron应用程序出错
我目前正在使用将文件解压缩到选定目录的NPM进行电子应用程序.基本上是安装程序.现在,当我构建应用程序时,它仍然可以正常工作.我只需在我的windbacked文件夹中启动setup.exe,一切顺利进行.现在,当我将win-unpacked文件夹移动到另一个目录时,我的应用程序运行良好,但是当它启动解压缩过程时,会引发以下错误: 我注意到,显示的第一个文件路径(由于某些原因)不使用UTF8,但所有其他文件都在正确显示(应该是ä).另外,我已经尝试删除node_modules文件夹,然后运行npm i来重新安装它们.仍然有同样的问题. 以下是启动解压缩过程的代码: const path = require('path'); const ipcRenderer = require('electron').ipcRenderer; const Unzip = require('./unzip'); const os = require('os'); const fs = re
8 2024-04-05
编程技术问答社区
Electron JS Electron Builder Mac运行时构建空白的白屏,而使用NPM启动运行时可以完美地开发
我已经创建了Windows和Ubuntu内置的,应用程序运行正常.但是,当在Mac中构建时,该构建将成功创建,但仅显示白色空白屏幕没有HTML页面.当使用NPM启动运行时,它可以完美运行.我只有Mac Build 有问题 下面是软件包.JSON { "name": "collab", "version": "1.0.0", "description": "", "main": "app.js", "homepage": "someurl", "scripts": { "start": "electron .", "dist:linux": "electron-builder --linux", "dist:windows": "electron-builder --windows", "dist:mac": "electron-builder -m", "postinstall": "electron-builde
22 2024-04-05
编程技术问答社区
自定义字体在Electron + Vue应用程序上不显示
我正在使用 vue + electron ,并使用自定义字体面临问题.在Web模式下运行应用程序时,与自定义字体一起使用的图标显示OK.但是,当我使用电子构建器构建应用程序时,图标/自定义字体不会加载. 我在index.html Head标签中导入自定义字体,并且自定义字体位于src/Renderer/Assets/fonts文件夹中. 任何帮助 谢谢 解决方案 要确保字体包含在电子中,请尝试以下内容: 在您的渲染器main.js 中 import './scss/app.scss' 在您的'./scss/app.scss' 中 @font-face { font-family: 'Your Custom Font'; src: url('../assets/fonts/Your Custom Font.ttf'); } 这应该确保您的字体由WebPack包含在电子中.
14 2024-04-04
编程技术问答社区
电子,浏览器化后,fs.existsSync不是一个函数
我读了很多有关浏览和电子以及GUI浏览器问题的信息 然而,浏览器仍然存在问题,说" fs.existssync不是函数",而"未定义不定义" *完整的故事* 我用电子创建了简单的GUI, 有package.json文件,main.js和index.html文件 + 3,4 HTML文件,我想在其中创建与require requient requient 一起创建简单的"加载show show save save窗口" 该功能在index.html文件中起作用,但在load.html文件中无法正常工作,因此我用命令浏览main.js 在 var fs = require('electron') //console.log(require('fs').existsSync); var remote = require('electron').remote; // var remote = require('remote'); var dialog = requi
4 2024-04-04
编程技术问答社区
对于Electron来说,结合Node.js和Chromium的上下文意味着什么?
in 我知道,电子的含义是您可以使用Web技术构建跨平台桌面应用程序.我也理解我们能够写入文件系统的原因是因为电子已经烤了.不要认为这是作者在谈论的. 电子如何将节点和铬合并为"单个上下文"? 为什么不必再使用浏览器? 解决方案 Chromium 是带有V8 JavaScript引擎的基于WebKit的Web浏览器.它支持所有通常的浏览器和DOM API,因此非常适合制作网页,并且不擅长与基础系统进行交互. node.js 是通过剥离V8引擎,制作无头命令行应用程序并添加广泛的API来构建的等(您期望真正的脚本语言的事情. 电子以简化的方式是尝试用新的更通用的node.js的铬中使用的V8发动机.它向node.js暴露了一些额外的API,以允许打开铬窗口,也可以使用> 标签将用node.js引擎解释. 为什么电子? Chromium本身不能这样做的原因是因为它最初是设计为Web浏览器的,并且在Web浏览器中,由于文件通常为文件,因此闻所
12 2024-04-04
编程技术问答社区
用Electron在同一个BrowserWindow中拥有两个孤立的(在历史/cookies/本地存储方面)BrowserViews
假设我在相同的BrowserWindow中有两个BrowserView,一个UI按钮允许用户在显示bv1或bv2之间切换(例如Firefox,Chrome等浏览器中的" TAB"系统,允许您在不同页面之间切换): browserWindow = new BrowserWindow({ width: 1200, height: 600 }); let bv1 = new BrowserView({ webPreferences: { nodeIntegration: false }}); bv1.setBounds({ x: 0, y: 0, width: 1200, height: 600 }); bv1.webContents.loadURL('https://www.twitter.com'); let bv2 = new BrowserView({ webPreferences: { nodeIntegration: false }}); bv2.setBounds({
12 2024-04-03
编程技术问答社区
如何在Electron BrowserWindow和BrowserView中启用右键?
我在BrowserWindow内有A BrowserView(我确实都需要): const { app, BrowserWindow, BrowserView } = require('electron'); app.on('ready', () => { browserWindow = new BrowserWindow({ width: 800, height: 500, frame: false }); bv = new BrowserView({ webPreferences: { nodeIntegration: false }}); bv.setBounds({ x: 0, y: 30, width: 800, height: 470}); bv.webContents.loadURL('https://old.reddit.com'); browserWindow.setBrowserView(bv); }); 在网页上右
6 2024-04-03
编程技术问答社区
Bootstrap:未发现的类型错误。无法读取未定义的属性'fn'。
我正在尝试使用Bootstrap进行电子应用.我收到此错误消息: Uncaught TypeError: Cannot read property 'fn' of undefined at setTransitionEndSupport (bootstrap.js:122) at bootstrap.js:199 at bootstrap.js:201 at bootstrap.js:9 at bootstrap.js:10 我在软件包中的依赖项是: "dependencies": { "bootstrap": "^4.1.2", "electron": "^2.0.5", "jquery": "^3.3.1", "popper.js": "^1.14.3" } 我的index.html文件是: Release Man
6 2024-04-02
编程技术问答社区
如何检查我的Bokeh服务器应用程序是否已完全加载和渲染?
我想将我的散景服务器应用程序集成到电子中.因此,我所做的是使用python-shell像这样的 运行散乱服务器 mainWindow = new BrowserWindow({ width: 1000, height: 700, show: false, }) var PythonShell = require('python-shell'); var options = { mode: 'text', pythonPath: 'python3', pythonOptions: ['-m'], scriptPath: '', args: ['serve','bokeh_project/'] }; PythonShell.run('bokeh', options, function (err, results) { if (err) throw err; console.log('results: %j
8 2024-04-01
编程技术问答社区
Electron Web蓝牙API requestDevice()错误
我正在尝试开发与蓝牙低能设备通信的应用程序.我使用网络蓝牙API建立了一个工作的"网站".一切正常,所以我使用了电子框架来构建一个应用程序. 问题是已知的 - 如果您启动navigator.bluetooth.requestDevice(),您会收到此错误消息: User cancelled the requestDevice() chooser.. 这是由于铬中缺少的设备选择器而导致的.关于我发现的解决方案,有几个主题,但没有例子.这是我的第一个电子项目.也许有人解决了这个问题,可以给我一个提示: - ) 解决方案 这是一个代码示例,它将仅返回第一个设备,而不必实现设备选择器: mainWindow.webContents.on('select-bluetooth-device', (event, deviceList, callback) => { event.preventDefault(); console.log('Device l
100 2024-04-01
编程技术问答社区
将斑点音频保存在磁盘宽度电子
电子:在使用离线渲染器录制音频序列并在我的Renderer.js中创建blob(音频/wav)之后,如何将此斑点保存到main.js? 解决方案 解决! 我将其添加到 preload.js: saveAudio: (channel, ...args) => { // whitelist channels let validChannels = ["saveAudio"]; if (validChannels.includes(channel)) { ipcRenderer.send(channel,'saveAudio',...args) } } PRELOAD.JS: // preload.js const { contextBridge, ipcRenderer } = require('electron') //
10 2024-04-01
编程技术问答社区
如何将原始二进制数据转换为blob并在img标签中显示?
我正在在电子和Svelte中制作梦想期刊申请.我有一个自定义文件格式,其中包含标题,描述和一个或多个图像.请参阅: 程序输入 文件输出 当我需要时,我可以调用ipcRenderer.invoke()在主过程中读取文件,然后在渲染器过程中返回该文件(不用担心,我使用async await to确保我不仅得到诺言.另外,对于我的测试,我只是将图像的Uint8array代表寄回). 尝试显示图像并失败后,我决定检查一下我正在按预期收到信息.我将响应寄回了主过程,并将其写入文件.当我在油漆中打开文件时,它显示了. 因此,信息是正确的.这是我尝试显示图像的代码: let src; onMount(async () => { let a = await ipcRenderer.invoke("file-read"); console.log(a); let blob = new Blob(a, {type: 'image/png
8 2024-04-01
编程技术问答社区
从Electron应用程序将desktopCapturer保存为视频文件
基于实际上它几乎是在工作,因为它保存.Webm文件,但是保存的文件是空的,重量为0b ..我不知道我在这里缺少什么. 因此,由于文件为空,看起来它以某种方式无法正确录制. 编辑当脱发时,我发现录制可能正常工作,因为我主机日志的斑点在toArrayBuffer之后,我的斑点不再具有内部值. 代码是: (function () { 'use strict'; var fs = require('fs'); var { desktopCapturer } = require('electron'); var recorder, blobs = []; angular .module('app') .controller('loggedScreen', Controller); Controller.$inject = ['$scope']; function Controll
10 2024-04-01
编程技术问答社区
如何用javascript将位图转换为图像?
我正在构建一个电子应用.需要有一个彩色选择器,所以我想构建一个滴眼液样式的彩色选择器.我得到了一些提示,robot.js and Paper.js可能会有所帮助,因此我检查了它们.我想,有点将它们结合在一起.我使用robot.js以 的格式获取屏幕截图 bitmap { width: 2560, height: 1600, byteWidth: 10240, bitsPerPixel: 32, bytesPerPixel: 4, image: , colorAt: [Function] } 我想将此位图显示为图像(也许使用HTML
8 2024-03-31
编程技术问答社区
更新电子版本后无法定位绑定文件的异常情况
我正在努力从使用电子版本1.2.5更新我的项目 到现在为1.7.7的最新电子(至少是我下载它的时候).我的节点6.9.1. 使用这个新电子版本开始项目时,我遇到了一个问题, 通常,错误是"无法找到绑定文件. 我在项目中使用的Node-EtCD模块也有一些例外(版本5.0.3) 我在网上找到了一些有关此类异常的信息,但其中大多数说明了使用一些我不安静理解的NPM命令来重建某些节点模块的内容.我尝试在新文件夹中再次安装异步模块,然后在" Node模块"文件夹中替换它当前用于项目,但我仍然遇到相同的错误. 我正在脱机环境中工作,我不能将我的项目"淘汰"到具有Internet访问的计算机上,我只能将东西从网上带到我的项目(例如安装在某些文件夹中,然后将其复制到我的项目中),以便直接在我的工作计算机上直接可以使用任何需要Web连接的NPM或其他命令. (我只能在另一台计算机中使用它们,然后将结果复制到闪存驱动器并将其带到 这是两个错误的图片(对不起质量,这是我能得到的最好
10 2024-03-31
编程技术问答社区
从Electron主线程运行批处理文件
我正在尝试从我的电子应用程序运行一个简单的批处理文件.这是我的代码: globalShortcut.register('Control+B', () => { log.info('Batch File Triggered: ' + app.getAppPath() + '\\local\\print.bat') require('child_process').exec(app.getAppPath() + '\\local\\print.bat', function (err, stdout, stderr) { if (err) { // Ooops. // console.log(stderr); return console.log(err); } // Done. console.log(stdout); });
12 2024-03-29
编程技术问答社区
如何加载图像反应 babel
我在我的app.js 上加载图标 import bg from './icons/bg.png'; import br from './icons/br.png'; import rg from './icons/rg.png'; import ig from './icons/invert.png'; import bw from './icons/bw.png'; import by from './icons/by.png'; import gm from './icons/gm.png'; import rs from './icons/rs.png'; 当我运行默认react start脚本时,它们正常工作,但是当我尝试使用此WebPack进行编译时: const path = require('path'); module.exports = { mode: 'development', entry: './src/js/index.js', de
14 2024-03-26
编程技术问答社区