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查找进程的路径。

posted on 2022-04-02 12:21  流若浅  阅读(922)  评论(0编辑  收藏  举报

导航