windows之查找软件的可执行程序路径 ---CLSID


一般软件的可执行程序文件一般在:

示例飞书:

计算机\HKEY_CURRENT_USER\SOFTWARE\Feishu 该路径下会有安装路径,以及产品名字。

 

但是也有这路径下找不到,比如photoshop,

 

这时候就可以用到CLSID了(一般大型的软件会写入CLSID,因为它的驱动,服务,组件比较多,小软件参考上面飞书

 

std::wstring wszSid = getAIPath(processPath, "HKEY_LOCAL_MACHINE\\SOFTWARE\\Classes\\Photoshop.IndexedConversionOptions\\CLSID");

if(wszSid.isEmpty())
  wszSid = getAIPath(processPath, "HKEY_LOCAL_MACHINE\\SOFTWARE\\Classes\\Photoshop.IndexedConversionOptions.150\\CLSID");

 

std::wstring  wszExePath = std::wstring.format("HKEY_CLASSES_ROOT\\CLSID\\%0\\LocalServer32").arg(clsid);

有可能写在两个地方去查找到photoshop对应的sid,在通过sid查找进程的路径。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM