我正在尝试在 Electron 中创建一个桌面启动器应用程序,它读取用户桌面中的文件数量并从找到的每个文件中收集信息。我正在收集文件并根据目录构建路径,但我能得到的只是文件名。我不确定如何存储文件本身并从中提取桌面图标。除了使用 AxtiveXobject 之外,我还没有看到很多解决方案,但是据说某些实现在最新的 nodejs 中不起作用。到目前为止,这是我的代码。
//requiring path and fs modules
const path = require('path');
const fs = require('fs');
//gets home directory
const homedir = require('os').homedir();
//specifies to desktop
const dir = `${homedir}/Desktop`;
var walk = require('walk');
var filepaths = [];
//storing desktop path
var desktopDir = dir;
console.log(desktopDir);
//gets the desktop files and paths
function getDesktopFiles(_dir){
//read directory
fs.readdir(_dir, (err, files) => {
if (err)
console.log(err);
else {
files.forEach(_file => {
//console.log(_file);
let _p = _dir + '/'+_file;
//changes slashing for file paths
let _path = _p.replace(/\\/g, "/");
filepaths.push(_path);
})
}
})
for(let p of filepaths){
console.log(p);
}
}
getDesktopFiles(desktopDir);
最佳答案
定义一个相同的函数:
function load(icon) {
if (cache[icon]) return cache[icon];
return cache[icon] = fs.readFileSync(__dirname + '/public/icons/' + icon, 'base64');
}
Here你可以得到同样的灵感。
关于javascript - 使用 NodeJs 获取桌面文件图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61788124/