Electron 实现以管理员权限自启动

Electron 其实提供的跨平台的通用开机自启动支持。

但是因为Windows系统的限制,如果您的Electron在运行时要使用管理员权限的话,这样设置的自启动会失效。

目前解决方法有两种,一种是服务,另一种是写注册表启动项

服务的方案,优点就是,在启动的时候不会弹出UAC,缺点是,需要额外的精力来维护这个服务支持组件。

所以,个人比较推荐使用写注册表的方式

缺点就是开机会弹UAC~ 不过无伤大雅

let cp = require('child_process');
// 获取可执行文件位置
const ex=process.execPath;

// 定义事件,渲染进程中直接使用

// 开启 开机自启动
ipcMain.on('openAutoStart',()=>{
    console.log('updateExe',ex)
        // 注释的是electron官方提供的自启方法
        // app.setLoginItemSettings({
        //     openAtLogin: true,//是否自启
        //     openAsHidden:false,//启动后是否显示窗体
        //     path: ex,//启动路径
        //     args: [] //启动时的参数
        // });
        cp.exec(`REG ADD HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run /v 这是写入的注册表项字段名 /t REG_SZ /d "${ex}" /f`,function(err){
            console.log(err);
        });
});
// 关闭 开机自启动
ipcMain.on('closeAutoStart',()=>{
        // 注释的是electron官方提供的自启方法
        // app.setLoginItemSettings({
        //     openAtLogin: false,//是否自启
        //     openAsHidden:false,//启动后是否显示窗体
        //     path: ex,//启动路径
        //     args: [] //启动时的参数
        // });
        cp.exec("REG DELETE HKLM\\Software\\Microsoft\\Windows\\CurrentVersion\\Run /v 这是写入的注册表项字段名 /f",function(err){
            console.log(err);
        });
})

//检查注册表项是否存在
ipcMain.handle('checkAutoStart',async ()=>{
    return await new Promise((resolve, reject)=>{
        cp.exec("REG QUERY HKLM\\Software\\Microsoft\\Windows\\CurrentVersion\\Run /v ClonBrowser",function(err,stdout,stderr){
            resolve(stdout);
            console.log(stderr);
            console.log(err);
        });
    })
})

VEGAS Pro 17.0 设置中文

VEGAS Pro 17.0 启用中文语言

最近准本剪个视频,系统挂了。以前的软件全没啦。正好试用一下Vegas Pro 17 ,但界面全是英文有点不适应。

中文vegas pro 17 界面中文vegas pro 17 界面

正好找到篇大佬的文章。

记录一下,如何为VEGAS Pro 17.0 启用中文语言。

Error:PS:VEGAS Pro 17.0 不支持Win7,我哭了

修改注册表

1. 首先,打开运行(win键+R),输入 regedit 打开注册表编辑器。

打开注册表编辑器打开注册表编辑器

2. 修改注册表

info:找到注册表 HKEY_LOCAL_MACHINE\SOFTWARE\Sony Creative Software\VEGAS Pro\17.0\Lang 下的 ULangID 项目

Vegas语言设置注册表项Vegas语言设置注册表项

info:修改 ULangID 的值为 804 (十六进制)

修改ULangID的值为 804修改ULangID的值为 804

info:PS:如果需要改回英文,修改值为 409 就ok了

配置WinSCP和PuTTY联动

配置WinSCP和PuTTY联动,在WinSCP可以直接打开PuTTY终端,免去输入用户名和密码。

WinSCP调用PuTTY终端WinSCP调用PuTTY终端


安装WinSCP及中文语言包

首先到下载地址(英文版)下载对应系统版本的安装包。

WinSCP下载页面WinSCP下载页面

然后访问翻译文件下载地址(英文页面),选择合适的语言包下载。

WinSCP翻译文件下载页面WinSCP翻译文件下载页面

最后,将下载的语言包解压到WinSCP安装目录。

应用WinSCP翻译文件应用WinSCP翻译文件


配置WinSCP和PuTTY联动

info:如果你在安装WinSCP之前就配置好了PuTTY的话,WinSCP在首次运行的时候会提示导入PuTTY的配置文件,并自动关联。

首先,打开WinSCP的设置(选项)页面。点击选项>选项。

打开WinSCP的设置页面打开WinSCP的设置页面

然后,选择集成>应用程序,在外部程序那里配置PuTTY的安装路径。

配置PuTTY的路径配置PuTTY的路径

Error:可以顺手勾上 记住密码并传递到PuTTY 的选项,但可能会降低安全性