electron 如何从exe文件中提取图标

x6h2sr28  于 11个月前  发布在  Electron
关注(0)|答案(1)|浏览(166)

当我打开一个对话框窗口使用电子,选择一个文件,我需要得到这个文件的图标

ipcMain.on('open-file-dialog',  () => {
    dialog.showOpenDialog({
      properties: ['openFile'],
      filters: [{ name: 'All Files', extensions: ['exe','url'] }]
    }).then(result => {
      if (!result.canceled && result.filePaths.length > 0) {
        const filePath = result.filePaths[0];
        fs.readFile(filePath, async(err) => {
          if (!err) {
            /*get icon*/
          } else {
            console.error(err);
          }
        });
      }
    }).catch(err => {
      console.error(err);
    });
  });

字符串

pgvzfuti

pgvzfuti1#

你可以使用IconExtractor来实现。

ipcMain.on('open-file-dialog',  () => {
    dialog.showOpenDialog({
      properties: ['openFile'],
      filters: [{ name: 'All Files', extensions: ['exe','url'] }]
    }).then(result => {
      if (!result.canceled && result.filePaths.length > 0) {
        const filePath = result.filePaths[0];
        iconExtractor.getIcon('Context (what the icon is for, used in emitter)',filePath);
      }
    }).catch(err => {
      console.error(err);
    });
  });

iconExtractor.emitter.on('icon', data=()=>{
  console.log('Provided Context: ' + data.Context);
  console.log('Path: ' + data.Path);
  console.log('IMG: ' + data.Base64ImageData);
});

字符串

相关问题