v1.4.9,getProcessName2,getProcessFilePath2部分进程获取不到
xianyunleo opened this issue · 2 comments
xianyunleo commented
如:svchost.exe获取不到path
QQ.exe获取不到name
还有部分path是 \Device\HarddiskVolume4\ 开头
kihlh commented
Volume路径是已知问题 此问题已经修复 但是由于当前新版本改动过多 尚未确认安全性 所以并未发布
您可以通过此函数修复此问题
function formatVolumePath(path){
if(path&&path?.match(/^\\/)){
for (let Volume of hmc.getVolumeList()) {
if(path.indexOf(Volume.device)==0){
return path.replace(Volume.device,Volume.path+"\\").replace(/[\\/]+/,"\\");
}
if(path.indexOf(Volume.name)==0){
return path.replace(Volume.name,Volume.path+"\\").replace(/[\\/]+/,"\\");
}
}
}else return path;
}
这个问题 已经处理过了 目前是通过软件权限判断在对比系统程序特征匹配的 再强制获取会导致获取到的软件牛头不对马嘴,hmc始终不会考虑通过比内核 更高权限去获取
- 是否已经拥有管理权限
如:svchost.exe获取不到path
此问题我无法复现 getProcessName2 是通过多个方法获取的 您可以检查下是否有以下问题
- 在1.5.0 之前存在异步空间并发冲突问题 请检查是否同时并发 详情问题见 #45
- 是否已经拥有管理权限
- 其他低权限软件是否能够获取到此进程信息
QQ.exe获取不到name
xianyunleo commented
的确,使用for of代替Promise.all(list.map()) ,path和name都正常。
等1.5.0支持并发获取后,我再做测试。